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