USP_GET_INTERCURRENCY_BALANCINGACCOUNT
Return the account number and account ID of the inter currency balancing account
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@PDACCOUNTSYSTEMID | uniqueidentifier | IN | |
@CURRENCYACCOUNTID | uniqueidentifier | INOUT | |
@CURRENCYACCOUNTSEGMENTVALUEID | uniqueidentifier | INOUT | |
@ERRORMESSAGE | nvarchar(255) | INOUT | |
@MAPPINGVALUES | xml | INOUT |
Definition
Copy
CREATE procedure dbo.USP_GET_INTERCURRENCY_BALANCINGACCOUNT
(
@PDACCOUNTSYSTEMID uniqueidentifier
,@CURRENCYACCOUNTID uniqueidentifier = null output
,@CURRENCYACCOUNTSEGMENTVALUEID uniqueidentifier = null output
,@ERRORMESSAGE nvarchar(255) = null output
,@MAPPINGVALUES XML = null output
)
as
set nocount on;
select @CURRENCYACCOUNTID = CREDITGLACCOUNTID
,@CURRENCYACCOUNTSEGMENTVALUEID = CREDITPDACCOUNTSEGMENTVALUEID
from dbo.PDACCOUNTCODEMAPPING
where OFFICEID = 18 and PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID
if @CURRENCYACCOUNTSEGMENTVALUEID is null and @CURRENCYACCOUNTID is null
begin
declare @OFFICENAME nvarchar(100);
declare @AccountSystem nvarchar(50);
select @OFFICENAME = NAME from dbo.PDACCOUNTCODEMAPOFFICE where OFFICEID = 18;
select @AccountSystem = NAME, @CURRENCYACCOUNTID = DEFAULTGLACCOUNTID from dbo.PDACCOUNTSYSTEM where ID = @PDACCOUNTSYSTEMID
set @ERRORMESSAGE = 'In account system "' + @AccountSystem + '", a mapping does not exist for Office: ' + @OFFICENAME
set @MAPPINGVALUES = (select tv1.*, @ERRORMESSAGE as ERRORMESSAGE, 1 as ERRORCODE from dbo.UFN_GETGENERICACCOUNTMAPPINGSTRUCTURE(@PDACCOUNTSYSTEMID, 18, null, null, null, null) tv1 for XML raw('ROW'), type, elements, root('MAPPEDVALUES'), BINARY BASE64)
if @CURRENCYACCOUNTID is null
begin
raiserror(@ERRORMESSAGE, 13, 1)
set @CURRENCYACCOUNTID = null
end
end