USP_DATAFORMTEMPLATE_EDITLOAD_TRANSACTIONSELLPROPERTYADJUST

The load procedure used by the edit dataform template "Revenue Transaction Posted Sold Property 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.
@UNSOLDAMOUNT money INOUT Unsold amount
@SALEDATE datetime INOUT Date of sale
@SALEAMOUNT money INOUT Sale amount
@BROKERFEE money INOUT Fees
@POSTSTATUSCODE tinyint INOUT GL post status
@POSTDATE datetime INOUT GL post date
@ALREADYSOLD bit INOUT Already sold
@ADJUSTMENTDATE datetime INOUT Adjusted Date
@ADJUSTMENTPOSTDATE datetime INOUT Adjusted Post Date
@ADJUSTMENTPOSTSTATUSCODE tinyint INOUT Post Status Code
@ADJUSTMENTREASON nvarchar(300) INOUT Adjustment reason
@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.

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_TRANSACTIONSELLPROPERTYADJUST (
                    @ID uniqueidentifier,
                    @DATALOADED bit = 0 output,
                    @UNSOLDAMOUNT money = null output,
                    @SALEDATE datetime = null output,
                    @SALEAMOUNT money = null output,
                    @BROKERFEE money = null output,
                    @POSTSTATUSCODE tinyint = null output,
                    @POSTDATE datetime = null output,
                    @ALREADYSOLD bit = null output,
                    @ADJUSTMENTDATE datetime = null output,
                    @ADJUSTMENTPOSTDATE datetime = null output,
                    @ADJUSTMENTPOSTSTATUSCODE tinyint = null output,
                    @ADJUSTMENTREASON nvarchar(300) = null output,
                    @TSLONG bigint = 0 output
                )
                as                
                set nocount on;

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

                select  @ADJUSTMENTDATE = getdate(),
                        @ADJUSTMENTPOSTDATE = getdate(),
                        @ADJUSTMENTPOSTSTATUSCODE = 0;

                -- if adjustment already exists for this sold property detail

                select top 1
                    @ADJUSTMENTDATE = DATE,
                    @ADJUSTMENTPOSTDATE = POSTDATE,
                    @ADJUSTMENTPOSTSTATUSCODE = 1,
                    @ADJUSTMENTREASON = REASON
                from dbo.PROPERTYDETAILADJUSTMENT
                where PROPERTYDETAILID in (select REVENUEPAYMENTMETHOD.ID from dbo.REVENUEPAYMENTMETHOD where REVENUEPAYMENTMETHOD.REVENUEID = @ID) and POSTSTATUSCODE = 1;

                select top 1
                    @DATALOADED = 1,
                    @SALEDATE = PROPERTYDETAIL.[SALEDATE],
                    @SALEAMOUNT = PROPERTYDETAIL.[SALEAMOUNT],
                    @BROKERFEE = PROPERTYDETAIL.[BROKERFEE],
                    @POSTSTATUSCODE = PROPERTYDETAIL.[SALEPOSTSTATUSCODE],
                    @POSTDATE = PROPERTYDETAIL.[SALEPOSTDATE],
                    @ALREADYSOLD = case when [REVENUEPAYMENTMETHOD].PAYMENTMETHODCODE = 5 and PROPERTYDETAIL.ISSOLD = 1 then 1 else 0 end,
                    @TSLONG = PROPERTYDETAIL.[TSLONG]
                from
                    dbo.[REVENUE] 
                inner join dbo.[REVENUEPAYMENTMETHOD] on [REVENUEPAYMENTMETHOD].REVENUEID = REVENUE.ID
                inner join dbo.[PROPERTYDETAIL] on REVENUEPAYMENTMETHOD.ID = PROPERTYDETAIL.ID                    
                where
                    [REVENUE].[ID] = @ID and [REVENUEPAYMENTMETHOD].[PAYMENTMETHODCODE] = 5 --Property


                select 
                    @UNSOLDAMOUNT = sum(REVENUE.AMOUNT)
                from
                    dbo.[REVENUE]
                where
                    [REVENUE].[ID] = @ID;

                return 0;