USP_DATAFORMTEMPLATE_EDITLOAD_WRITEOFFGLDISTRIBUTION

The load procedure used by the edit dataform template "Write-off 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 Revenue GL distribution
@WRITEOFFAMOUNT money INOUT Write-off amount
@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.
@TRANSACTIONCURRENCYID uniqueidentifier INOUT Transaction currency ID
@DEFAULTGLPAYMENTMETHODREVENUETYPEMAPPINGID uniqueidentifier INOUT Default mapping type

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_WRITEOFFGLDISTRIBUTION
                    (
                        @ID uniqueidentifier,
                        @DATALOADED bit = 0 output,
                        @GLDISTRIBUTION xml = null output,
                        @WRITEOFFAMOUNT money = null output,
                        @TSLONG bigint = 0 output,
                        @TRANSACTIONCURRENCYID uniqueidentifier = null output,
                        @DEFAULTGLPAYMENTMETHODREVENUETYPEMAPPINGID uniqueidentifier = null output
                    )
                    as
                    begin

                        set nocount on;

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

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

                        select @WRITEOFFAMOUNT = sum(TRANSACTIONAMOUNT) from dbo.WRITEOFFSPLIT where WRITEOFFID = @ID

                        if @WRITEOFFAMOUNT is not null 
                            begin                          
                                select 
                                    @DATALOADED = 1
                                    @TSLONG = max(tslong),
                                    @TRANSACTIONCURRENCYID = WRITEOFFGLDISTRIBUTION.TRANSACTIONCURRENCYID,
                                    @DEFAULTGLPAYMENTMETHODREVENUETYPEMAPPINGID = WRITEOFFGLDISTRIBUTION.GLPAYMENTMETHODREVENUETYPEMAPPINGID
                                from dbo.WRITEOFFGLDISTRIBUTION 
                                where WRITEOFFID = @ID
                                group by WRITEOFFGLDISTRIBUTION.TRANSACTIONCURRENCYID, WRITEOFFGLDISTRIBUTION.GLPAYMENTMETHODREVENUETYPEMAPPINGID;
                            end

                        return 0;                    
                    end