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