UFN_REVENUE_GETWRITEOFFGLDISTRIBUTION

Gets a table of write-off GL distribution (Actual or Projected).

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@WRITEOFFID uniqueidentifier IN

Definition

Copy


            CREATE function dbo.UFN_REVENUE_GETWRITEOFFGLDISTRIBUTION(@WRITEOFFID uniqueidentifier) 
            returns @WRITEOFFGLDISTRIBUTION table
            (
                ID uniqueidentifier null,
                GLPAYMENTMETHODREVENUETYPEMAPPINGID uniqueidentifier not null,
                TRANSACTIONTYPECODE tinyint not null,
                DEBITCREDIT nvarchar(50) not null,
                ACCOUNT nvarchar(100) not null,
                PROJECT nvarchar(100) null,
                AMOUNT money not null,
                REFERENCE nvarchar(255) not null,
                TRANSACTIONAMOUNT money not null,
                ORGANIZATIONAMOUNT money not null,
                TRANSACTIONCURRENCYID uniqueidentifier,
                BASECURRENCYID uniqueidentifier,
                BASEEXCHANGERATEID uniqueidentifier,
                ORGANIZATIONEXCHANGERATEID uniqueidentifier,
                FINANCIALTRANSACTIONLINEITEMID uniqueidentifier
            )
            as
            begin
                insert into @WRITEOFFGLDISTRIBUTION
                    (ID, GLPAYMENTMETHODREVENUETYPEMAPPINGID, TRANSACTIONTYPECODE, DEBITCREDIT, ACCOUNT, PROJECT, AMOUNT, REFERENCE, TRANSACTIONAMOUNT, ORGANIZATIONAMOUNT, TRANSACTIONCURRENCYID, BASECURRENCYID, BASEEXCHANGERATEID, ORGANIZATIONEXCHANGERATEID,FINANCIALTRANSACTIONLINEITEMID)
                  select
                      JE.ID,
                      isnull(JE_X.GLPAYMENTMETHODREVENUETYPEMAPPINGID,'00000000-0000-0000-0000-000000000000') as GLPAYMENTMETHODREVENUETYPEMAPPINGID,
                      JE.TRANSACTIONTYPECODE,
                      JE.TRANSACTIONTYPE as DEBITCREDIT,
                      isnull(coalesce(GLA.ACCOUNTNUMBER,JE_X.ACCOUNT,''),'') as ACCOUNT,
                      JE_X.PROJECT,
                      JE.BASEAMOUNT AMOUNT,
                      JE.COMMENT REFERENCE,
                      JE.TRANSACTIONAMOUNT,
                      JE.ORGAMOUNT  ORGANIZATIONAMOUNT,
                      JE.TRANSACTIONCURRENCYID,
                      case when CURRENCYSET.BASECURRENCYID = '00000000-0000-0000-0000-000000000000' then null else CURRENCYSET.BASECURRENCYID end BASECURRENCYID,
                      FT.BASEEXCHANGERATEID,
                      FT.ORGEXCHANGERATEID ORGANIZATIONEXCHANGERATEID,
                      JE.FINANCIALTRANSACTIONLINEITEMID
                  from
                      FINANCIALTRANSACTION FT
                      inner join FINANCIALTRANSACTIONLINEITEM FTLI on FTLI.FINANCIALTRANSACTIONID = FT.ID
                      inner join JOURNALENTRY JE on JE.FINANCIALTRANSACTIONLINEITEMID = FTLI.ID
                      inner join JOURNALENTRY_EXT JE_X on JE.ID = JE_X.ID
                      left outer join GLACCOUNT GLA on GLA.ID = JE.GLACCOUNTID
                      inner join dbo.PDACCOUNTSYSTEM on FT.PDACCOUNTSYSTEMID = PDACCOUNTSYSTEM.ID
                      inner join dbo.CURRENCYSET on PDACCOUNTSYSTEM.CURRENCYSETID = CURRENCYSET.ID

                  where 
                      FT.ID = @WRITEOFFID
                      and JE_X.OUTDATED = 0
                      order by JE.FINANCIALTRANSACTIONLINEITEMID,JE.TRANSACTIONTYPECODE;

                return
            end