USP_LOAD_BENEFIT_JOURNALENTRIES
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@TRANSACTIONID | uniqueidentifier | IN | |
@BENEFITTYPECODE | tinyint | IN | |
@DATALOADED | bit | INOUT | |
@GLDISTRIBUTION | xml | INOUT | |
@REVENUEAMOUNT | money | INOUT | |
@ADJUSTMENTDATE | datetime | INOUT | |
@ADJUSTMENTPOSTDATE | datetime | INOUT | |
@ADJUSTMENTPOSTSTATUSCODE | tinyint | INOUT | |
@ADJUSTMENTREASON | nvarchar(300) | INOUT | |
@TSLONG | bigint | INOUT | |
@ADJUSTMENTREASONCODEID | uniqueidentifier | INOUT | |
@DEFAULTGLPAYMENTMETHODREVENUETYPEMAPPINGID | uniqueidentifier | INOUT | |
@TRANSACTIONCURRENCYID | uniqueidentifier | INOUT |
Definition
Copy
create procedure dbo.USP_LOAD_BENEFIT_JOURNALENTRIES
(
@TRANSACTIONID uniqueidentifier,
@BENEFITTYPECODE tinyint,
@DATALOADED bit = 0 output,
@GLDISTRIBUTION xml = null output,
@REVENUEAMOUNT money = null output,
@ADJUSTMENTDATE datetime = null output,
@ADJUSTMENTPOSTDATE datetime = null output,
@ADJUSTMENTPOSTSTATUSCODE tinyint = null output,
@ADJUSTMENTREASON nvarchar(300) = null output,
@TSLONG bigint = 0 output,
@ADJUSTMENTREASONCODEID uniqueidentifier = null output,
@DEFAULTGLPAYMENTMETHODREVENUETYPEMAPPINGID uniqueidentifier = null output,
@TRANSACTIONCURRENCYID uniqueidentifier = null output
)
as
begin
select @ADJUSTMENTDATE = dbo.UFN_DATE_GETEARLIESTTIME(getdate()),
@ADJUSTMENTPOSTDATE = dbo.UFN_DATE_GETEARLIESTTIME(getdate()),
@ADJUSTMENTPOSTSTATUSCODE = 0;
select
@ADJUSTMENTDATE = BENEFITADJUSTMENT.DATE,
@ADJUSTMENTPOSTDATE = BENEFITADJUSTMENT.POSTDATE,
@ADJUSTMENTPOSTSTATUSCODE = 1,
@ADJUSTMENTREASON = REASON,
@ADJUSTMENTREASONCODEID = REASONCODEID
from
dbo.BENEFITADJUSTMENT
where
REVENUEID = @TRANSACTIONID
and BENEFITADJUSTMENT.POSTSTATUSCODE = 1
and BENEFITADJUSTMENT.BENEFITTYPECODE = 1
-- Rename the TRANSACTIONAMOUNT field to AMOUNT.
set @GLDISTRIBUTION = (
select
GLDISTRIBUTION.ID,
GLDISTRIBUTION.TRANSACTIONTYPECODE,
GLDISTRIBUTION.TRANSACTIONAMOUNT AMOUNT,
GLDISTRIBUTION.GLPAYMENTMETHODREVENUETYPEMAPPINGID,
GLDISTRIBUTION.ACCOUNT,
GLDISTRIBUTION.PROJECT,
GLDISTRIBUTION.REFERENCE,
GLDISTRIBUTION.TRANSACTIONCURRENCYID,
RBX.ID as REVENUEBENEFITID
from
dbo.FINANCIALTRANSACTIONLINEITEM LI
inner join dbo.REVENUEBENEFIT_EXT RBX on RBX.ID = LI.ID
cross apply dbo.UFN_FINANCIALTRANSACTIONLINEITEM_GETJOURNALENTRIES(LI.ID) GLDISTRIBUTION
where
LI.FINANCIALTRANSACTIONID = @TRANSACTIONID
and RBX.BENEFITTYPECODE = @BENEFITTYPECODE
for xml raw('ITEM'),type,elements,root('GLDISTRIBUTION'),BINARY BASE64
);
select
@REVENUEAMOUNT = LI.TRANSACTIONAMOUNT
from
dbo.FINANCIALTRANSACTIONLINEITEM LI
inner join dbo.REVENUEBENEFIT_EXT RBX on RBX.ID = LI.ID
where
LI.FINANCIALTRANSACTIONID = @TRANSACTIONID
and RBX.BENEFITTYPECODE = @BENEFITTYPECODE;
select
@TRANSACTIONCURRENCYID = FT.TRANSACTIONCURRENCYID
from
dbo.FINANCIALTRANSACTION FT
where
FT.ID = @TRANSACTIONID;
select TOP 1
@DEFAULTGLPAYMENTMETHODREVENUETYPEMAPPINGID = GLPAYMENTMETHODREVENUETYPEMAPPINGID
from
dbo.UFN_FINANCIALTRANSACTIONLINEITEM_GETJOURNALENTRIES_FROMITEMLISTXML(@GLDISTRIBUTION);
if @REVENUEAMOUNT is not null
begin
set @DATALOADED = 1
select
@TSLONG = max(JE.TSLONG)
from
dbo.FINANCIALTRANSACTIONLINEITEM LI
inner join dbo.JOURNALENTRY JE on JE.FINANCIALTRANSACTIONLINEITEMID = LI.ID
where
LI.FINANCIALTRANSACTIONID = @TRANSACTIONID
end
end