USP_DATAFORMTEMPLATE_EDITLOAD_ADJUSTAUCTIONPURCHASEGLDISTRIBUTION

The load procedure used by the edit dataform template "Auction Purchase GL Distribution Adjust Data 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 Auction purchase GL distribution
@ADJUSTMENTDATE datetime INOUT Adjustment date
@ADJUSTMENTPOSTDATE datetime INOUT Adjustment post date
@ADJUSTMENTPOSTSTATUSCODE tinyint INOUT Post Status Code
@ADJUSTMENTREASON nvarchar(300) INOUT Adjustment details
@CAPTION nvarchar(10) INOUT Auction purchase
@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.
@ADJUSTMENTREASONCODEID uniqueidentifier INOUT Adjustment reason
@TRANSACTIONCURRENCYID uniqueidentifier INOUT Transaction currency ID
@DEFAULTGLPAYMENTMETHODREVENUETYPEMAPPINGID uniqueidentifier INOUT Default mapping type

Definition

Copy

                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_ADJUSTAUCTIONPURCHASEGLDISTRIBUTION
                    (
                        @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,
                        @CAPTION nvarchar(10) = null output,
                        @TSLONG bigint = 0 output,
                        @ADJUSTMENTREASONCODEID uniqueidentifier = null output,
                        @TRANSACTIONCURRENCYID uniqueidentifier = null output,
                        @DEFAULTGLPAYMENTMETHODREVENUETYPEMAPPINGID uniqueidentifier = null output
                    )
                    as
                    begin
                        set nocount on;

                        set @DATALOADED = 0;
                        set @TSLONG = 0;

                        --select @GLDISTRIBUTION = dbo.UFN_REVENUE_GETAUCTIONPURCHASEGLDISTRIBUTION_TOITEMLISTXML(@ID),
                        --       @CAPTION = 'AUCTION PURCHASE',
                        --       @ADJUSTMENTDATE = getdate(),
                        --       @ADJUSTMENTPOSTDATE = getdate(),
                        --       @ADJUSTMENTPOSTSTATUSCODE = 0;

                        set @GLDISTRIBUTION = (
                            select
                                ACCOUNT, 
                                TRANSACTIONAMOUNT AMOUNT, 
                                GLPAYMENTMETHODREVENUETYPEMAPPINGID, 
                                ID,  
                                PROJECT, 
                                REFERENCE, 
                                TRANSACTIONCURRENCYID, 
                                TRANSACTIONTYPECODE
                            from dbo.UFN_REVENUE_GETAUCTIONPURCHASEGLDISTRIBUTION(@ID)
                            for xml raw('ITEM'),type,elements,root('GLDISTRIBUTION'),BINARY BASE64
                        );

                        set @CAPTION = 'AUCTION PURCHASE';
                        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 = AUCTIONPURCHASEADJUSTMENT.DATE,
                            @ADJUSTMENTPOSTDATE = AUCTIONPURCHASEADJUSTMENT.POSTDATE,
                            @ADJUSTMENTPOSTSTATUSCODE = 1,
                            @ADJUSTMENTREASON = AUCTIONPURCHASEADJUSTMENT.REASON,
                            @ADJUSTMENTREASONCODEID = AUCTIONPURCHASEADJUSTMENT.REASONCODEID
                        from dbo.AUCTIONPURCHASEADJUSTMENT
                        where REVENUEID = @ID and POSTSTATUSCODE = 1;

                        if @GLDISTRIBUTION is not null 
                            begin                          
                                set @DATALOADED = 1;        

                                select 
                                    @TSLONG = max(AUCTIONPURCHASEGLDISTRIBUTION.TSLONG),
                                    @TRANSACTIONCURRENCYID = AUCTIONPURCHASEGLDISTRIBUTION.TRANSACTIONCURRENCYID
                                from dbo.AUCTIONPURCHASEGLDISTRIBUTION 
                                where AUCTIONPURCHASEGLDISTRIBUTION.REVENUEID = @ID
                                group by AUCTIONPURCHASEGLDISTRIBUTION.TRANSACTIONCURRENCYID;
                            end

                        return 0;                    
                    end