USP_DATAFORMTEMPLATE_EDITLOAD_RECURRINGGIFTPAYMENTDETAILS

The load procedure used by the edit dataform template "Recurring Gift Payment Details 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.
@PAYMENTMETHODCODE tinyint INOUT Payment method
@CARDHOLDERNAME nvarchar(255) INOUT Cardholder name
@CREDITCARDNUMBER nvarchar(20) INOUT Card number
@CREDITTYPECODEID uniqueidentifier INOUT Card type
@EXPIRESON UDT_FUZZYDATE INOUT Expires on
@REFERENCEDATE UDT_FUZZYDATE INOUT Reference date
@REFERENCENUMBER nvarchar(20) INOUT Reference number
@ACCOUNTID uniqueidentifier INOUT Account
@CONSTITUENTID uniqueidentifier INOUT Constituent
@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.
@CREDITCARDTOKEN uniqueidentifier INOUT Card token

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_RECURRINGGIFTPAYMENTDETAILS
                    (
                        @ID uniqueidentifier,
                        @DATALOADED bit = 0 output,
                        @PAYMENTMETHODCODE tinyint = null output,
                        @CARDHOLDERNAME nvarchar(255) = null output,
                        @CREDITCARDNUMBER nvarchar(20) = null output,
                        @CREDITTYPECODEID uniqueidentifier = null output,
                        @EXPIRESON dbo.UDT_FUZZYDATE = null output,
                        @REFERENCEDATE dbo.UDT_FUZZYDATE = null output,
                        @REFERENCENUMBER nvarchar(20) = null output,
                        @ACCOUNTID uniqueidentifier = null output,
                        @CONSTITUENTID uniqueidentifier = null output,
                        @TSLONG bigint = 0 output,
                        @CREDITCARDTOKEN uniqueidentifier = null output
                    )
                    as
                    set nocount on;

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

                    select 
                        @DATALOADED = 1,
                        @PAYMENTMETHODCODE = REVENUEPAYMENTMETHOD.PAYMENTMETHODCODE,
                        @CARDHOLDERNAME = [CARD].CARDHOLDERNAME,
                        @CREDITCARDNUMBER = [CARD].CREDITCARDPARTIALNUMBER,
                        @CREDITTYPECODEID = [CARD].CREDITTYPECODEID,
                        @EXPIRESON = [CARD].EXPIRESON,
                        @CONSTITUENTID = REVENUE.CONSTITUENTID,
                        @TSLONG = REVENUE.TSLONG,
                        @CREDITCARDTOKEN = [CARD].CREDITCARDTOKEN
                    from dbo.REVENUE
                    inner join dbo.REVENUEPAYMENTMETHOD on REVENUE.ID = REVENUEPAYMENTMETHOD.REVENUEID
                    left join dbo.REVENUESCHEDULE on REVENUESCHEDULE.ID = REVENUE.ID
                    left join dbo.CREDITCARD as [CARD] on [CARD].ID = REVENUESCHEDULE.CREDITCARDID
                    where REVENUE.ID = @ID and REVENUE.TRANSACTIONTYPECODE = 2

                    if @PAYMENTMETHODCODE = 3 --Direct Debit

                        select 
                            @REFERENCEDATE = REFERENCEDATE,
                            @REFERENCENUMBER = REFERENCENUMBER,
                            @ACCOUNTID = CONSTITUENTACCOUNTID
                        from dbo.REVENUESCHEDULEDIRECTDEBITPAYMENT
                        where ID = @ID

                    return 0