USP_DATAFORMTEMPLATE_EDITLOAD_GIFTAIDGLDISTRIBUTIONADJUST_2

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@DATALOADED bit INOUT
@GLDISTRIBUTION xml INOUT
@ADJUSTMENTDATE datetime INOUT
@ADJUSTMENTPOSTDATE datetime INOUT
@ADJUSTMENTPOSTSTATUSCODE tinyint INOUT
@ADJUSTMENTREASON nvarchar(300) INOUT
@ADJUSTMENTREASONCODEID uniqueidentifier INOUT
@TSLONG bigint INOUT

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_GIFTAIDGLDISTRIBUTIONADJUST_2
                    (
                        @ID uniqueidentifier,
                        @DATALOADED bit = 0 output,
                        @GLDISTRIBUTION xml = null output,
                        @ADJUSTMENTDATE datetime = null output,
                        @ADJUSTMENTPOSTDATE datetime = null output,
                        @ADJUSTMENTPOSTSTATUSCODE tinyint = null output,
                        @ADJUSTMENTREASON nvarchar(300) = null output,
                        @ADJUSTMENTREASONCODEID uniqueidentifier = null output,
                        @TSLONG bigint = 0 output
                    )
                    as

                        set nocount on;

                        set @DATALOADED = 0
                        set @TSLONG = 0

                        -- 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
                            from 
                                dbo.UFN_REVENUESPLITGIFTAID_GETGLDISTRIBUTION(@ID) GLDISTRIBUTION
                            for xml raw('ITEM'),type,elements,root('GLDISTRIBUTION'),BINARY BASE64
                        );

                        if @GLDISTRIBUTION is not null 
                        begin                          
                            set @DATALOADED = 1;    
                            select 
                                @TSLONG = max(GIFTAIDGLDISTRIBUTION.TSLONG) 
                            from 
                                dbo.GIFTAIDGLDISTRIBUTION 
                            where 
                                GIFTAIDGLDISTRIBUTION.REVENUESPLITGIFTAIDID = @ID;
                        end

                        set @ADJUSTMENTDATE = dbo.UFN_DATE_GETEARLIESTTIME(getdate());
                        set @ADJUSTMENTPOSTDATE = dbo.UFN_DATE_GETEARLIESTTIME(getdate());
                        set @ADJUSTMENTPOSTSTATUSCODE = 0;

                        -- if adjustment already exists for this

                        select top 1
                            @ADJUSTMENTDATE = LIA.DATE,
                            @ADJUSTMENTPOSTDATE = cast(GETDATE() as DATE),
                            @ADJUSTMENTPOSTSTATUSCODE = 1,
                            @ADJUSTMENTREASON = LIA.REASON,
                            @ADJUSTMENTREASONCODEID = LIA.ADJUSTMENTREASONCODEID
                        from dbo.FINANCIALTRANSACTIONLINEITEMADJUSTMENT LIA
                        inner join dbo.FINANCIALTRANSACTIONLINEITEM LI on LIA.ID = LI.FINANCIALTRANSACTIONLINEITEMADJUSTMENTID
                        inner join dbo.JOURNALENTRY JE on JE.FINANCIALTRANSACTIONLINEITEMID = LI.ID
                        inner join dbo.JOURNALENTRY_EXT JEX on JEX.ID = JE.ID
                        where JEX.REVENUESPLITGIFTAIDID = @ID and LI.POSTSTATUSCODE = 1
                        and LIA.ADJUSTMENTREASONCODEID is not null;

                        return 0;