USP_DATAFORMTEMPLATE_EDITLOAD_GIFTFEEGLDISTRIBUTION
The load procedure used by the edit dataform template "Gift Fee GL Distribution Edit Form"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter used to load the fields defined on the form. |
@DATALOADED | bit | INOUT | Output parameter indicating whether or not data was actually loaded. |
@GLDISTRIBUTION | xml | INOUT | Gift fee GL distribution |
@TSLONG | bigint | INOUT | Output parameter indicating the TSLONG value of the record being edited. This is used to manage multi-user concurrency issues when multiple users access the same record. |
@TOTALGIFTFEES | money | INOUT | Total gift fees |
@TRANSACTIONCURRENCYID | uniqueidentifier | INOUT | Transaction currency |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_GIFTFEEGLDISTRIBUTION
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@GLDISTRIBUTION xml = null output,
@TSLONG bigint = 0 output,
@TOTALGIFTFEES money = null output,
@TRANSACTIONCURRENCYID uniqueidentifier = null output
)
as
begin
set nocount on;
set @DATALOADED = 0;
set @TSLONG = 0;
-- Rename the TRANSACTIONAMOUNT field to AMOUNT
set @GLDISTRIBUTION = (
select
GIFTFEEGLDISTRIBUTION.ID,
GIFTFEEGLDISTRIBUTION.TRANSACTIONTYPECODE,
GIFTFEEGLDISTRIBUTION.ACCOUNT,
GIFTFEEGLDISTRIBUTION.TRANSACTIONAMOUNT AMOUNT,
GIFTFEEGLDISTRIBUTION.REFERENCE,
GIFTFEEGLDISTRIBUTION.TRANSACTIONCURRENCYID
from
dbo.UFN_REVENUE_GETGIFTFEEGLDISTRIBUTION(@ID) GIFTFEEGLDISTRIBUTION
inner join dbo.GLPAYMENTMETHODREVENUETYPEMAPPING as MAP on GIFTFEEGLDISTRIBUTION.GLPAYMENTMETHODREVENUETYPEMAPPINGID = MAP.ID
order by
MAP.DESCRIPTION,
GIFTFEEGLDISTRIBUTION.DEBITCREDIT desc
for xml raw('ITEM'),type,elements,root('GLDISTRIBUTION'),BINARY BASE64
);
select
@TSLONG = max(tslong)
from dbo.GIFTFEEGLDISTRIBUTION
where REVENUEID = @ID
select
@TOTALGIFTFEES = coalesce(sum(REVENUESPLITGIFTFEE.TRANSACTIONAMOUNT), 0),
@TRANSACTIONCURRENCYID = REVENUESPLITGIFTFEE.TRANSACTIONCURRENCYID
from dbo.REVENUESPLITGIFTFEE
inner join dbo.REVENUESPLIT on REVENUESPLITGIFTFEE.ID = REVENUESPLIT.ID
where
REVENUESPLIT.REVENUEID = @ID
group by
REVENUESPLITGIFTFEE.TRANSACTIONCURRENCYID;
if @TSLONG is not null
set @DATALOADED = 1;
return 0;
end