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