USP_REPORT_DEPOSITACCOUNTDISTRIBUTION
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@DEPOSITID | uniqueidentifier | IN |
Definition
Copy
create procedure dbo.USP_REPORT_DEPOSITACCOUNTDISTRIBUTION
(
@DEPOSITID as uniqueidentifier
)
with execute as owner
as
begin
set nocount on;
declare @BASECURRENCYID uniqueidentifier;
declare @BASEISO4217 nvarchar(3);
declare @BASECURRENCYSYMBOL nvarchar(5);
declare @BASEDECIMALDIGITS tinyint;
declare @BASESYMBOLDISPLAYSETTINGCODE tinyint;
declare @ORGISO4217 nvarchar(3);
declare @ORGCURRENCYSYMBOL nvarchar(5);
declare @ORGDECIMALDIGITS tinyint;
declare @ORGSYMBOLDISPLAYSETTINGCODE tinyint;
select @BASECURRENCYID = BAT.BASECURRENCYID
from dbo.BANKACCOUNTTRANSACTION BAT
where BAT.ID = @DEPOSITID;
select
@BASEISO4217 = CURRENCYPROPERTIES.ISO4217,
@BASECURRENCYSYMBOL = CURRENCYPROPERTIES.CURRENCYSYMBOL,
@BASEDECIMALDIGITS = CURRENCYPROPERTIES.DECIMALDIGITS,
@BASESYMBOLDISPLAYSETTINGCODE = CURRENCYPROPERTIES.SYMBOLDISPLAYSETTINGCODE
from
dbo.UFN_CURRENCY_GETPROPERTIES(@BASECURRENCYID) CURRENCYPROPERTIES
select
@ORGISO4217 = CURRENCY.ISO4217,
@ORGCURRENCYSYMBOL = CURRENCY.CURRENCYSYMBOL,
@ORGDECIMALDIGITS = CURRENCY.DECIMALDIGITS,
@ORGSYMBOLDISPLAYSETTINGCODE = CURRENCY.SYMBOLDISPLAYSETTINGCODE
from dbo.CURRENCY
where CURRENCY.ISORGANIZATIONCURRENCY = 1;
select ID, TYPECODE, GLDISTRIBUTIONID, DESCRIPTION, TRANSACTIONTYPE, ACCOUNT, PROJECT, AMOUNT, REFERENCE, TRANSACTIONAMOUNT, BASEAMOUNT, ORGANIZATIONAMOUNT, TRANSACTIONCURRENCYID, BASECURRENCYID, ACCOUNTALIAS,ISO4217,CURRENCYSYMBOL,SYMBOLDISPLAYSETTINGCODE,DECIMALDIGITS,TRANSACTIONDEBITAMOUNT,TRANSACTIONCREDITAMOUNT,ORGANIZATIONDEBITAMOUNT,ORGANIZATIONCREDITAMOUNT,BASEDEBITAMOUNT,BASECREDITAMOUNT,BASEISO4217,BASECURRENCYSYMBOL,BASESYMBOLDISPLAYSETTINGCODE,BASEDECIMALDIGITS,ORGISO4217,ORGCURRENCYSYMBOL,ORGSYMBOLDISPLAYSETTINGCODE,ORGDECIMALDIGITS
from (
select
BANKACCOUNTDEPOSITPAYMENT.ID
,1 as [TYPECODE]
,isnull(JEX.DISTRIBUTIONTABLEID, JE.ID) as GLDISTRIBUTIONID
,MAP.DESCRIPTION
,JE.TRANSACTIONTYPE
,coalesce(GLACCOUNT.ACCOUNTNUMBER,JEX.ACCOUNT,'') ACCOUNT
,JEX.PROJECT
,JE.BASEAMOUNT AMOUNT
,JE.COMMENT REFERENCE
,case when JE.TRANSACTIONCURRENCYID is null then nullif(JE.TRANSACTIONAMOUNT, 0) else JE.TRANSACTIONAMOUNT end [TRANSACTIONAMOUNT]
,case when JE.TRANSACTIONCURRENCYID is null then nullif(JE.BASEAMOUNT, 0) else JE.BASEAMOUNT end [BASEAMOUNT]
,case when JE.TRANSACTIONCURRENCYID is null then nullif(JE.ORGAMOUNT, 0) else JE.ORGAMOUNT end [ORGANIZATIONAMOUNT]
,JE.TRANSACTIONCURRENCYID
,@BASECURRENCYID [BASECURRENCYID]
,GLACCOUNT.ACCOUNTALIAS
,CURRENCYPROPERTIES.ISO4217
,CURRENCYPROPERTIES.CURRENCYSYMBOL
,CURRENCYPROPERTIES.SYMBOLDISPLAYSETTINGCODE
,CURRENCYPROPERTIES.DECIMALDIGITS
,case JE.TRANSACTIONTYPECODE when 0 then JE.TRANSACTIONAMOUNT else 0 end as TRANSACTIONDEBITAMOUNT
,case JE.TRANSACTIONTYPECODE when 1 then JE.TRANSACTIONAMOUNT else 0 end as TRANSACTIONCREDITAMOUNT
,case JE.TRANSACTIONTYPECODE when 0 then JE.ORGAMOUNT else 0 end as ORGANIZATIONDEBITAMOUNT
,case JE.TRANSACTIONTYPECODE when 1 then JE.ORGAMOUNT else 0 end as ORGANIZATIONCREDITAMOUNT
,case JE.TRANSACTIONTYPECODE when 0 then JE.BASEAMOUNT else 0 end as BASEDEBITAMOUNT
,case JE.TRANSACTIONTYPECODE when 1 then JE.BASEAMOUNT else 0 end as BASECREDITAMOUNT
,@BASEISO4217 as BASEISO4217
,@BASECURRENCYSYMBOL as BASECURRENCYSYMBOL
,@BASESYMBOLDISPLAYSETTINGCODE as BASESYMBOLDISPLAYSETTINGCODE
,@BASEDECIMALDIGITS as BASEDECIMALDIGITS
,@ORGISO4217 as ORGISO4217
,@ORGCURRENCYSYMBOL as ORGCURRENCYSYMBOL
,@ORGSYMBOLDISPLAYSETTINGCODE as ORGSYMBOLDISPLAYSETTINGCODE
,@ORGDECIMALDIGITS as ORGDECIMALDIGITS
from dbo.BANKACCOUNTDEPOSITPAYMENT
inner join dbo.FINANCIALTRANSACTIONLINEITEM LI on BANKACCOUNTDEPOSITPAYMENT.ID = LI.FINANCIALTRANSACTIONID
inner join dbo.JOURNALENTRY JE on LI.ID = JE.FINANCIALTRANSACTIONLINEITEMID
inner join dbo.JOURNALENTRY_EXT JEX on JEX.ID = JE.ID
inner join dbo.GLACCOUNT on GLACCOUNT.ID = JE.GLACCOUNTID
left join dbo.JOURNALENTRY_EXT ADJX on ADJX.REVERSEDGLTRANSACTIONID = JE.ID
left join dbo.JOURNALENTRY ADJ on ADJ.ID = ADJX.ID
left join dbo.FINANCIALTRANSACTIONLINEITEM ADJ_LI on ADJ_LI.ID = ADJ.FINANCIALTRANSACTIONLINEITEMID
inner join dbo.GLPAYMENTMETHODREVENUETYPEMAPPING as MAP on JEX.GLPAYMENTMETHODREVENUETYPEMAPPINGID = MAP.ID
outer apply dbo.UFN_CURRENCY_GETPROPERTIES(JE.TRANSACTIONCURRENCYID) CURRENCYPROPERTIES
where BANKACCOUNTDEPOSITPAYMENT.DEPOSITID = @DEPOSITID
and (JEX.OUTDATED = 0 or (JEX.OUTDATED = 1 and ADJ_LI.POSTSTATUSCODE = 3))
and JEX.TABLENAMECODE in (1, 2)
union all
select
FT.ID
,2 as [TYPECODE]
,isnull(JEX.DISTRIBUTIONTABLEID, JE.ID) as GLDISTRIBUTIONID
,'' as [DESCRIPTION]
,JE.TRANSACTIONTYPE
,GLACCOUNT.ACCOUNTNUMBER ACCOUNT
,JEX.PROJECT
,JE.BASEAMOUNT AMOUNT
,JE.COMMENT REFERENCE
,case when JE.TRANSACTIONCURRENCYID is null then nullif(JE.TRANSACTIONAMOUNT, 0) else JE.TRANSACTIONAMOUNT end
,case when JE.TRANSACTIONCURRENCYID is null then nullif(JE.BASEAMOUNT, 0) else JE.BASEAMOUNT end
,case when JE.TRANSACTIONCURRENCYID is null then nullif(JE.ORGAMOUNT, 0) else JE.ORGAMOUNT end
,JE.TRANSACTIONCURRENCYID
,@BASECURRENCYID
,GLACCOUNT.ACCOUNTALIAS
,CURRENCYPROPERTIES.ISO4217 as ISOCURRENCYCODE
,CURRENCYPROPERTIES.CURRENCYSYMBOL
,CURRENCYPROPERTIES.SYMBOLDISPLAYSETTINGCODE
,CURRENCYPROPERTIES.DECIMALDIGITS
,case JE.TRANSACTIONTYPECODE when 0 then JE.TRANSACTIONAMOUNT else 0 end as TRANSACTIONDEBITAMOUNT
,case JE.TRANSACTIONTYPECODE when 1 then JE.TRANSACTIONAMOUNT else 0 end as TRANSACTIONCREDITAMOUNT
,case JE.TRANSACTIONTYPECODE when 0 then JE.ORGAMOUNT else 0 end as ORGANIZATIONDEBITAMOUNT
,case JE.TRANSACTIONTYPECODE when 1 then JE.ORGAMOUNT else 0 end as ORGANIZATIONCREDITAMOUNT
,case JE.TRANSACTIONTYPECODE when 0 then JE.BASEAMOUNT else 0 end as BASEDEBITAMOUNT
,case JE.TRANSACTIONTYPECODE when 1 then JE.BASEAMOUNT else 0 end as BASECREDITAMOUNT
,@BASEISO4217 as BASEISO4217
,@BASECURRENCYSYMBOL as BASECURRENCYSYMBOL
,@BASESYMBOLDISPLAYSETTINGCODE as BASESYMBOLDISPLAYSETTINGCODE
,@BASEDECIMALDIGITS as BASEDECIMALDIGITS
,@ORGISO4217 as ORGISO4217
,@ORGCURRENCYSYMBOL as ORGCURRENCYSYMBOL
,@ORGSYMBOLDISPLAYSETTINGCODE as ORGSYMBOLDISPLAYSETTINGCODE
,@ORGDECIMALDIGITS as ORGDECIMALDIGITS
from dbo.BANKACCOUNTDEPOSITCORRECTION_EXT
inner join dbo.FINANCIALTRANSACTION FT on BANKACCOUNTDEPOSITCORRECTION_EXT.ID = FT.ID
inner join dbo.FINANCIALTRANSACTIONLINEITEM LI on FT.ID = LI.FINANCIALTRANSACTIONID
inner join dbo.JOURNALENTRY JE on LI.ID = JE.FINANCIALTRANSACTIONLINEITEMID
inner join dbo.JOURNALENTRY_EXT JEX on JEX.ID = JE.ID
inner join dbo.GLACCOUNT on GLACCOUNT.ID = JE.GLACCOUNTID
outer apply dbo.UFN_CURRENCY_GETPROPERTIES(JE.TRANSACTIONCURRENCYID) CURRENCYPROPERTIES
where FT.PARENTID = @DEPOSITID and FT.TYPECODE in (24,25)
union all
select
CREDITITEM.CREDITID as ID
,3 as [TYPECODE]
,isnull(JEX.DISTRIBUTIONTABLEID, JE.ID) as GLDISTRIBUTIONID
,'' as [DESCRIPTION]
,JE.TRANSACTIONTYPE
,isnull(GLACCOUNT.ACCOUNTNUMBER,'') as ACCOUNT
,''
,JE.BASEAMOUNT AMOUNT
,isnull(convert(nvarchar(255),JE.COMMENT),'') REFERENCE
,nullif(JE.TRANSACTIONAMOUNT, 0)
,nullif(JE.TRANSACTIONAMOUNT, 0)
,nullif(JE.TRANSACTIONAMOUNT, 0)
,@BASECURRENCYID
,@BASECURRENCYID
,GLACCOUNT.ACCOUNTALIAS
,CURRENCYPROPERTIES.ISO4217 as ISOCURRENCYCODE
,CURRENCYPROPERTIES.CURRENCYSYMBOL
,CURRENCYPROPERTIES.SYMBOLDISPLAYSETTINGCODE
,CURRENCYPROPERTIES.DECIMALDIGITS
,case JE.TRANSACTIONTYPECODE when 0 then JE.TRANSACTIONAMOUNT else 0 end as TRANSACTIONDEBITAMOUNT
,case JE.TRANSACTIONTYPECODE when 1 then JE.TRANSACTIONAMOUNT else 0 end as TRANSACTIONCREDITAMOUNT
,case JE.TRANSACTIONTYPECODE when 0 then JE.ORGAMOUNT else 0 end as ORGANIZATIONDEBITAMOUNT
,case JE.TRANSACTIONTYPECODE when 1 then JE.ORGAMOUNT else 0 end as ORGANIZATIONCREDITAMOUNT
,case JE.TRANSACTIONTYPECODE when 0 then JE.BASEAMOUNT else 0 end as BASEDEBITAMOUNT
,case JE.TRANSACTIONTYPECODE when 1 then JE.BASEAMOUNT else 0 end as BASECREDITAMOUNT
,@BASEISO4217 as BASEISO4217
,@BASECURRENCYSYMBOL as BASECURRENCYSYMBOL
,@BASESYMBOLDISPLAYSETTINGCODE as BASESYMBOLDISPLAYSETTINGCODE
,@BASEDECIMALDIGITS as BASEDECIMALDIGITS
,@ORGISO4217 as ORGISO4217
,@ORGCURRENCYSYMBOL as ORGCURRENCYSYMBOL
,@ORGSYMBOLDISPLAYSETTINGCODE as ORGSYMBOLDISPLAYSETTINGCODE
,@ORGDECIMALDIGITS as ORGDECIMALDIGITS
from dbo.CREDITITEM_EXT CREDITITEM
inner join dbo.FINANCIALTRANSACTIONLINEITEM LI on CREDITITEM.ID = LI.ID
inner join dbo.JOURNALENTRY JE on LI.ID = JE.FINANCIALTRANSACTIONLINEITEMID
inner join dbo.JOURNALENTRY_EXT JEX on JEX.ID = JE.ID
inner join dbo.BANKACCOUNTDEPOSITCREDITPAYMENT on JEX.CREDITPAYMENTID = BANKACCOUNTDEPOSITCREDITPAYMENT.ID
inner join dbo.GLACCOUNT on GLACCOUNT.ID = JE.GLACCOUNTID
outer apply dbo.UFN_CURRENCY_GETPROPERTIES(isnull(JE.TRANSACTIONCURRENCYID, @BASECURRENCYID)) CURRENCYPROPERTIES
where BANKACCOUNTDEPOSITCREDITPAYMENT.DEPOSITID = @DEPOSITID) T
order by TRANSACTIONTYPE desc, ACCOUNT asc;
end;