USP_DATAFORMTEMPLATE_EDITLOAD_ADJUSTPROPERTYDETAILGLDISTRIBUTION_2

The load procedure used by the edit dataform template "Posted Sold Property GL Distribution Edit Form 2"

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 Sold Property 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 PROPERTY Or Property
@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_ADJUSTPROPERTYDETAILGLDISTRIBUTION_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,
                    @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;

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

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


                    -- if adjustment already exists for this sold PROPERTY detail

                    select top 1
                        @ADJUSTMENTDATE = PROPERTYDETAILADJUSTMENT.DATE,
                        @ADJUSTMENTPOSTDATE = PROPERTYDETAILADJUSTMENT.POSTDATE,
                        @ADJUSTMENTPOSTSTATUSCODE = 1,
                        @ADJUSTMENTREASON = PROPERTYDETAILADJUSTMENT.REASON,
                        @ADJUSTMENTREASONCODEID = PROPERTYDETAILADJUSTMENT.REASONCODEID
                    from dbo.PROPERTYDETAILADJUSTMENT
                        inner join dbo.REVENUEPAYMENTMETHOD on PROPERTYDETAILADJUSTMENT.PROPERTYDETAILID = REVENUEPAYMENTMETHOD.ID
                    where REVENUEPAYMENTMETHOD.ID = @ID and POSTSTATUSCODE = 1;

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

                            select 
                                @TSLONG = max(PROPERTYDETAILGLDISTRIBUTION.TSLONG),
                                @TRANSACTIONCURRENCYID = PROPERTYDETAILGLDISTRIBUTION.TRANSACTIONCURRENCYID,
                                @DEFAULTGLPAYMENTMETHODREVENUETYPEMAPPINGID = PROPERTYDETAILGLDISTRIBUTION.GLPAYMENTMETHODREVENUETYPEMAPPINGID
                            from dbo.PROPERTYDETAILGLDISTRIBUTION 
                                inner join dbo.REVENUEPAYMENTMETHOD on PROPERTYDETAILGLDISTRIBUTION.PROPERTYDETAILID = REVENUEPAYMENTMETHOD.ID
                            where REVENUEPAYMENTMETHOD.ID = @ID
                            group by PROPERTYDETAILGLDISTRIBUTION.TRANSACTIONCURRENCYID, PROPERTYDETAILGLDISTRIBUTION.GLPAYMENTMETHODREVENUETYPEMAPPINGID;
                        end

                    return 0;                    
                end