USP_DATAFORMTEMPLATE_ADJUSTLOAD_REVENUEPAYMENT

The load procedure used by the edit dataform template "Revenue Payment Adjust 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.
@CONSTITUENTID uniqueidentifier INOUT Constituent
@DATE datetime INOUT Date
@AMOUNT money INOUT Amount
@PAYMENTMETHODCODE tinyint INOUT Payment method
@CHECKDATE UDT_FUZZYDATE INOUT Check date
@CHECKNUMBER nvarchar(20) INOUT Check number
@REFERENCEDATE UDT_FUZZYDATE INOUT Reference date
@REFERENCENUMBER nvarchar(20) INOUT Reference number
@CARDHOLDERNAME nvarchar(255) INOUT Cardholder name
@CREDITCARDNUMBER nvarchar(4) INOUT Card number
@CREDITTYPECODEID uniqueidentifier INOUT Card type
@AUTHORIZATIONCODE nvarchar(20) INOUT Authorization code
@EXPIRESON UDT_FUZZYDATE INOUT Expires on
@ISSUER nvarchar(100) INOUT Issuer
@NUMBEROFUNITS decimal(20, 3) INOUT Number of units
@SYMBOL nvarchar(25) INOUT Symbol
@MEDIANPRICE decimal(19, 4) INOUT Median price
@GIFTINKINDSUBTYPECODEID uniqueidentifier INOUT Subtype
@PROPERTYSUBTYPECODEID uniqueidentifier INOUT Subtype
@CONSTITUENTACCOUNTID uniqueidentifier INOUT Account
@POSTSTATUSCODE tinyint INOUT Post status
@POSTDATE datetime INOUT Post date
@FINDERNUMBER bigint INOUT Finder number
@GIVENANONYMOUSLY bit INOUT Payment is anonymous
@DONOTRECEIPT bit INOUT Do not receipt
@ADJUSTMENTDATE datetime INOUT Adjustment date
@ADJUSTMENTPOSTDATE datetime INOUT Adjustment post date
@ADJUSTMENTPOSTSTATUSCODE tinyint INOUT Post Status Code
@ADJUSTMENTREASON nvarchar(300) INOUT Adjustment reason
@PENDINGADJUSTMENTCODE tinyint INOUT
@RECEIPTGENERATED bit INOUT Receipt generated
@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_ADJUSTLOAD_REVENUEPAYMENT
                    (
                        @ID uniqueidentifier,
                        @DATALOADED bit = 0 output,
                        @CONSTITUENTID uniqueidentifier = null output,    
                        @DATE datetime = null output,
                        @AMOUNT money = null output,
                        @PAYMENTMETHODCODE tinyint = null output,
                        @CHECKDATE dbo.UDT_FUZZYDATE = null output,
                        @CHECKNUMBER nvarchar(20) = null output,
                        @REFERENCEDATE dbo.UDT_FUZZYDATE = null output,
                        @REFERENCENUMBER nvarchar(20) = null output,                    
                        @CARDHOLDERNAME nvarchar(255) = null output,
                        @CREDITCARDNUMBER nvarchar(4) = null output,
                        @CREDITTYPECODEID uniqueidentifier = null output,
                        @AUTHORIZATIONCODE nvarchar(20) = null output,
                        @EXPIRESON dbo.UDT_FUZZYDATE = null output,
                        @ISSUER nvarchar(100) = null output,
                        @NUMBEROFUNITS decimal(20, 3) = null output,
                        @SYMBOL nvarchar(25) = null output,
                        @MEDIANPRICE decimal(19,4) = null output,
                        @GIFTINKINDSUBTYPECODEID uniqueidentifier = null output,
                        @PROPERTYSUBTYPECODEID uniqueidentifier = null output,                    
                        @CONSTITUENTACCOUNTID uniqueidentifier = null output,
                        @POSTSTATUSCODE tinyint = null output,
                        @POSTDATE datetime = null output,
                        @FINDERNUMBER bigint = null output,
                        @GIVENANONYMOUSLY bit = null output,
                        @DONOTRECEIPT bit = null output,
                        @ADJUSTMENTDATE datetime = null output,
                        @ADJUSTMENTPOSTDATE datetime = null output,
                        @ADJUSTMENTPOSTSTATUSCODE tinyint = null output,
                        @ADJUSTMENTREASON nvarchar(300) = null output,
                        @PENDINGADJUSTMENTCODE tinyint = null output,
                        @RECEIPTGENERATED bit = null output,
                        @TSLONG bigint = 0 output
                    )
                    as
                    set nocount on;

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

                    select top 1
                        @ADJUSTMENTDATE = ADJUSTMENT.DATE,
                        @ADJUSTMENTPOSTDATE = ADJUSTMENT.POSTDATE,
                        @ADJUSTMENTPOSTSTATUSCODE = 1,
                        @ADJUSTMENTREASON = ADJUSTMENT.REASON
                    from dbo.ADJUSTMENT
                    where ADJUSTMENT.REVENUEID = @ID and ADJUSTMENT.POSTSTATUSCODE = 1;

                    exec dbo.USP_REVENUEPAYMENT_LOAD @ID, @DATALOADED output, @CONSTITUENTID output, @DATE output, @AMOUNT output
                            @PAYMENTMETHODCODE output, @CHECKDATE output, @CHECKNUMBER output, @REFERENCEDATE output
                            @REFERENCENUMBER output, @CARDHOLDERNAME output, @CREDITCARDNUMBER output, @CREDITTYPECODEID output
                            @AUTHORIZATIONCODE output, @EXPIRESON output, @ISSUER output, @NUMBEROFUNITS output, @SYMBOL output,
                            @MEDIANPRICE output, @GIFTINKINDSUBTYPECODEID output, @PROPERTYSUBTYPECODEID output, @CONSTITUENTACCOUNTID output
                            @POSTSTATUSCODE output, @POSTDATE output, @FINDERNUMBER output, @GIVENANONYMOUSLY output
                            @DONOTRECEIPT output, @RECEIPTGENERATED output, @TSLONG output;

                    set @PENDINGADJUSTMENTCODE = 0;

                    if @PAYMENTMETHODCODE = 4 and exists (    select 1 from dbo.STOCKSALE 
                                                            inner join dbo.REVENUEPAYMENTMETHOD on STOCKSALE.STOCKDETAILID = REVENUEPAYMENTMETHOD.ID
                                                            where REVENUEPAYMENTMETHOD.REVENUEID = @ID)
                        begin
                            if exists (    select 1 from dbo.STOCKSALEADJUSTMENT
                                        inner join dbo.STOCKSALE on STOCKSALEADJUSTMENT.STOCKSALEID = STOCKSALE.ID
                                        inner join dbo.REVENUEPAYMENTMETHOD on STOCKSALE.STOCKDETAILID = REVENUEPAYMENTMETHOD.ID
                                        where REVENUEPAYMENTMETHOD.REVENUEID = @ID and POSTSTATUSCODE <> 0)
                                set @PENDINGADJUSTMENTCODE = 1;    
                        end
                    else if @PAYMENTMETHODCODE = 5
                        begin
                            if ((select count(ID) from dbo.PROPERTYDETAILADJUSTMENT where PROPERTYDETAILID = @ID and POSTSTATUSCODE <> 0) > 0)
                                set @PENDINGADJUSTMENTCODE = 2;    
                        end

                    return 0;