USP_DATAFORMTEMPLATE_EDITLOAD_PAYMENTADJUST2

The load procedure used by the edit dataform template "Posted Payment 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.
@CONSTITUENTID uniqueidentifier INOUT
@CONSTITUENTNAME nvarchar(255) INOUT Constituent
@DATE datetime INOUT Date
@AMOUNT money INOUT Amount
@APPLICATIONCODE tinyint INOUT Application
@RECEIPTAMOUNT money INOUT Receipt amount
@REVENUESTREAMS xml INOUT Revenue streams
@SOURCECODE nvarchar(50) INOUT Source code
@APPEALID uniqueidentifier INOUT Appeal
@BENEFITS xml INOUT Benefits
@BENEFITSWAIVED bit INOUT Benefits waived
@GIVENANONYMOUSLY bit INOUT Payment is anonymous
@MAILINGID uniqueidentifier INOUT Mailing
@CHANNELCODEID uniqueidentifier INOUT Channel
@DONOTRECEIPT bit INOUT Do not receipt
@DONOTACKNOWLEDGE bit INOUT Do not acknowledge
@REFERENCE nvarchar(255) INOUT Reference
@POSTSTATUSCODE tinyint INOUT Post status
@POSTDATE datetime INOUT Post date
@CANHAVEUNAPPLIEDMG bit INOUT
@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
@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.
@PAYMENTMETHODCODE tinyint INOUT Payment method
@OTHERPAYMENTMETHODCODEID uniqueidentifier INOUT Other 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 Name on card
@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
@DIRECTDEBITRESULTCODE nvarchar(10) INOUT Result code
@LOWPRICE decimal(19, 4) INOUT Low price
@HIGHPRICE decimal(19, 4) INOUT High price
@HASPOSTEDSOLDSTOCK bit INOUT Has sold stock
@HASSOLDSTOCK bit INOUT Has sold stock
@HASSOLDPROPERTY bit INOUT Has sold property

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_PAYMENTADJUST2
                    (
                        @ID uniqueidentifier,
                        @DATALOADED bit = 0 output,
                        @CONSTITUENTID uniqueidentifier = null output,    
                        @CONSTITUENTNAME nvarchar(255) = null output,
                        @DATE datetime = null output,
                        @AMOUNT money = null output,
                        @APPLICATIONCODE tinyint = null output,
                        @RECEIPTAMOUNT money = null output,
                        @REVENUESTREAMS xml = null output,
                        @SOURCECODE nvarchar(50) = null output,
                        @APPEALID uniqueidentifier = null output,
                        @BENEFITS xml = null output,
                        @BENEFITSWAIVED bit = null output,
                        @GIVENANONYMOUSLY bit = null output,
                        @MAILINGID uniqueidentifier = null output,
                        @CHANNELCODEID uniqueidentifier = null output,
                        @DONOTRECEIPT bit = null output,
                        @DONOTACKNOWLEDGE bit = null output,
                        @REFERENCE nvarchar(255) = null output,
                        @POSTSTATUSCODE tinyint = null output,
                        @POSTDATE datetime = null output,
                        @CANHAVEUNAPPLIEDMG bit = null output,
                        @ADJUSTMENTDATE datetime = null output,
                        @ADJUSTMENTPOSTDATE datetime = null output,
                        @ADJUSTMENTPOSTSTATUSCODE tinyint = null output,
                        @ADJUSTMENTREASON nvarchar(300) = null output,
                        @PENDINGADJUSTMENTCODE tinyint = null output,
                        @TSLONG bigint = 0 output,
                        @PAYMENTMETHODCODE tinyint = null output,
                        @OTHERPAYMENTMETHODCODEID uniqueidentifier = 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,
                        @DIRECTDEBITRESULTCODE nvarchar(10) = null output,
                        @LOWPRICE decimal(19,4) = null output,
                        @HIGHPRICE decimal(19,4) = null output,
                        @HASPOSTEDSOLDSTOCK bit = null output,
                        @HASSOLDSTOCK bit = null output,
                        @HASSOLDPROPERTY bit = null 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_PAYMENT_LOAD 
                        @ID, @DATALOADED output, @CONSTITUENTID output,    @CONSTITUENTNAME output,
                        @DATE output, @AMOUNT output, @APPLICATIONCODE output, @RECEIPTAMOUNT output
                        @REVENUESTREAMS output, @SOURCECODE output, @POSTSTATUSCODE output, @POSTDATE output,
                        @APPEALID output, @BENEFITS output, @BENEFITSWAIVED output
                        @GIVENANONYMOUSLY output, @MAILINGID output, @CHANNELCODEID output
                        @DONOTRECEIPT output, @REFERENCE output, @TSLONG output, @DONOTACKNOWLEDGE output

                    exec dbo.USP_REVENUE_GETPAYMENTDETAILS
                        @REVENUEID = @ID,
                        @PAYMENTMETHODCODE = @PAYMENTMETHODCODE output,
                        @CHECKDATE = @CHECKDATE output,
                        @CHECKNUMBER = @CHECKNUMBER output,
                        @REFERENCEDATE = @REFERENCEDATE output,
                        @REFERENCENUMBER = @REFERENCENUMBER output,                    
                        @CARDHOLDERNAME = @CARDHOLDERNAME output,
                        @CREDITCARDNUMBER = @CREDITCARDNUMBER output,
                        @CREDITTYPECODEID = @CREDITTYPECODEID output,
                        @AUTHORIZATIONCODE = @AUTHORIZATIONCODE output,
                        @EXPIRESON = @EXPIRESON output,
                        @ISSUER = @ISSUER output,
                        @NUMBEROFUNITS = @NUMBEROFUNITS output,
                        @SYMBOL = @SYMBOL output,
                        @MEDIANPRICE = @MEDIANPRICE output,
                        @GIFTINKINDSUBTYPECODEID = @GIFTINKINDSUBTYPECODEID output,
                        @PROPERTYSUBTYPECODEID = @PROPERTYSUBTYPECODEID output,                    
                        @CONSTITUENTACCOUNTID = @CONSTITUENTACCOUNTID output,
                        @OTHERPAYMENTMETHODCODEID = @OTHERPAYMENTMETHODCODEID output,
                        @DIRECTDEBITRESULTCODE = @DIRECTDEBITRESULTCODE output,
                        @LOWPRICE = @LOWPRICE output,
                        @HIGHPRICE = @HIGHPRICE output

                    select @CANHAVEUNAPPLIEDMG = ISORGANIZATION
                    from dbo.CONSTITUENT
                    where ID = @CONSTITUENTID;

                    declare @REVENUEPAYMENTMETHODID uniqueidentifier
                    select @REVENUEPAYMENTMETHODID = ID
                    from dbo.REVENUEPAYMENTMETHOD
                    where REVENUEID = @ID

                    set @PENDINGADJUSTMENTCODE = 0;

                    if @PENDINGADJUSTMENTCODE = 0
                        begin
                            if ((select count(STOCKSALEADJUSTMENT.ID) from dbo.STOCKSALEADJUSTMENT
                                    inner join dbo.STOCKSALE on STOCKSALEADJUSTMENT.STOCKSALEID = STOCKSALE.ID
                                    where STOCKSALE.STOCKDETAILID = @REVENUEPAYMENTMETHODID and STOCKSALEADJUSTMENT.POSTSTATUSCODE <> 0) > 0)
                                set @PENDINGADJUSTMENTCODE = 1;    
                        end
                    if @PENDINGADJUSTMENTCODE = 0
                        begin
                            if ((select count(PROPERTYDETAILADJUSTMENT.ID) from dbo.PROPERTYDETAILADJUSTMENT 
                                    where PROPERTYDETAILADJUSTMENT.PROPERTYDETAILID = @REVENUEPAYMENTMETHODID and PROPERTYDETAILADJUSTMENT.POSTSTATUSCODE <> 0) > 0)
                                set @PENDINGADJUSTMENTCODE = 1;    
                        end

                    set @HASPOSTEDSOLDSTOCK = 0
                    if exists (select 1 from dbo.STOCKSALE where STOCKDETAILID = @REVENUEPAYMENTMETHODID and SALEPOSTSTATUSCODE = 0)
                        set @HASPOSTEDSOLDSTOCK = 1

                    set @HASSOLDSTOCK = 0
                    if @PAYMENTMETHODCODE = 4
                    begin
                        if exists (    select 1 from dbo.STOCKSALE 
                                    inner join dbo.REVENUEPAYMENTMETHOD on STOCKSALE.STOCKDETAILID = REVENUEPAYMENTMETHOD.ID
                                    where REVENUEPAYMENTMETHOD.REVENUEID = @ID)
                            set @HASSOLDSTOCK = 1
                    end

                    set @HASSOLDPROPERTY = 0
                    if @PAYMENTMETHODCODE = 5
                    begin
                        if exists ( select 1 from dbo.PROPERTYDETAIL 
                                    inner join dbo.REVENUEPAYMENTMETHOD on PROPERTYDETAIL.ID = REVENUEPAYMENTMETHOD.ID
                                    where ISSOLD = 1 and REVENUEPAYMENTMETHOD.REVENUEID = @ID)
                            set @HASSOLDPROPERTY = 1
                    end