USP_DATAFORMTEMPLATE_VIEW_REVENUEPAYMENTDETAILS

The load procedure used by the view dataform template "Revenue Payment Details View 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.
@PAYMENTMETHOD nvarchar(15) INOUT Payment method
@PAYMENTMETHODCODE tinyint INOUT Payment method code
@AUTOPAY bit INOUT Automatic payment
@CARDHOLDERNAME nvarchar(255) INOUT Name on card
@CREDITCARDNUMBER nvarchar(4) INOUT Credit card number
@CREDITTYPE nvarchar(100) INOUT Card type
@EXPIRESON UDT_FUZZYDATE INOUT Expires on
@REFERENCEDATE UDT_FUZZYDATE INOUT Reference date
@REFERENCENUMBER nvarchar(20) INOUT Reference number
@ACCOUNT nvarchar(100) INOUT Account
@TYPECODE tinyint INOUT Type code
@STANDINGORDERSETUP bit INOUT Standing order setup
@STANDINGORDERSETUPDATE datetime INOUT Setup on

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_REVENUEPAYMENTDETAILS 
                (
                    @ID uniqueidentifier,    
                    @DATALOADED bit = 0 output,
                    @PAYMENTMETHOD nvarchar(15) = null output,
                    @PAYMENTMETHODCODE tinyint = null output,
                    @AUTOPAY bit = null output,
                    @CARDHOLDERNAME nvarchar(255) = null output,
                    @CREDITCARDNUMBER nvarchar(4) = null output,
                    @CREDITTYPE nvarchar(100) = null output,
                    @EXPIRESON dbo.UDT_FUZZYDATE = null output,
                    @REFERENCEDATE dbo.UDT_FUZZYDATE = null output,
                    @REFERENCENUMBER nvarchar(20) = null output,
                    @ACCOUNT nvarchar(100) = null output,
                    @TYPECODE tinyint = null output,
                    @STANDINGORDERSETUP bit = null output,
                    @STANDINGORDERSETUPDATE datetime = null output
                )
                as
                    set nocount on;

                    set @DATALOADED = 0;

                    select 
                        @DATALOADED = 1,
                        @PAYMENTMETHOD = REVENUEPAYMENTMETHOD.PAYMENTMETHOD,
                        @PAYMENTMETHODCODE = REVENUEPAYMENTMETHOD.PAYMENTMETHODCODE,
                        @CARDHOLDERNAME = [CARD].CARDHOLDERNAME,
                        @CREDITCARDNUMBER = [CARD].CREDITCARDPARTIALNUMBER,
                        @CREDITTYPE = dbo.UFN_CREDITTYPECODE_GETDESCRIPTION([CARD].CREDITTYPECODEID),
                        @EXPIRESON = [CARD].EXPIRESON,
                        @TYPECODE = REVENUE.TRANSACTIONTYPECODE                        
                    from dbo.REVENUE                 
                    inner join dbo.REVENUEPAYMENTMETHOD on REVENUEPAYMENTMETHOD.REVENUEID = REVENUE.ID
                    left join dbo.REVENUESCHEDULE on REVENUESCHEDULE.ID = REVENUE.ID
                    left join dbo.CREDITCARD as [CARD] on [CARD].ID = REVENUESCHEDULE.CREDITCARDID
                    where REVENUE.ID = @ID

                    if @PAYMENTMETHODCODE = 3 --Direct Debit

                        select 
                            @REFERENCEDATE = REFERENCEDATE,
                            @REFERENCENUMBER = REFERENCENUMBER,
                            @ACCOUNT = dbo.UFN_CONSTITUENTACCOUNT_GETDESCRIPTION(CONSTITUENTACCOUNTID)
                        from dbo.REVENUESCHEDULEDIRECTDEBITPAYMENT
                        where ID = @ID

                    if @PAYMENTMETHODCODE = 11 --Standing order

                        select 
                            @REFERENCEDATE = REFERENCEDATE,
                            @REFERENCENUMBER = case when @TYPECODE = 2 or @TYPECODE = 3 then dbo.UFN_STANDINGORDER_REFERENCENUMBER_FORDISPLAY(@ID) else N'' end,
                            @ACCOUNT = dbo.UFN_CONSTITUENTACCOUNT_GETDESCRIPTION(CONSTITUENTACCOUNTID),
                            @STANDINGORDERSETUP = STANDINGORDERSETUP,
                            @STANDINGORDERSETUPDATE = STANDINGORDERSETUPDATE
                        from dbo.REVENUESCHEDULESTANDINGORDERPAYMENT
                        where ID = @ID

                    if @PAYMENTMETHODCODE = 9 
                        set @AUTOPAY = 0
                    else
                        set @AUTOPAY = 1

                    return 0