USP_DATAFORMTEMPLATE_EDITLOAD_PLEDGEADJUST

The load procedure used by the edit dataform template "Posted Pledge 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.
@CONSTITUENTID uniqueidentifier INOUT Constituent ID
@CONSTITUENTNAME nvarchar(255) INOUT
@DATE datetime INOUT Date
@AMOUNT money INOUT Amount
@POSTSTATUSCODE tinyint INOUT Post status
@POSTDATE datetime INOUT Post date
@SENDPLEDGEREMINDER bit INOUT Send pledge reminders
@SPLITS xml INOUT Designations
@FREQUENCYCODE tinyint INOUT Frequency
@NUMBEROFINSTALLMENTS int INOUT No. installments
@STARTDATE datetime INOUT Starting on
@AMOUNTPAID money INOUT Amount paid
@INSTALLMENTS xml INOUT
@ADJUSTMENTDATE datetime INOUT Adjusted Date
@ADJUSTMENTPOSTDATE datetime INOUT Adjusted Post Date
@ADJUSTMENTPOSTSTATUSCODE tinyint INOUT Post Status Code
@ADJUSTMENTREASON nvarchar(300) INOUT Adjustment reason
@FINDERNUMBER bigint INOUT Finder number
@SOURCECODE nvarchar(50) INOUT Source code
@APPEALID uniqueidentifier INOUT Appeal
@BENEFITS xml INOUT Benefits
@BENEFITSWAIVED bit INOUT Benefits waived
@GIVENANONYMOUSLY bit INOUT Pledge is anonymous
@MAILINGID uniqueidentifier INOUT Mailing
@CHANNELCODEID uniqueidentifier INOUT Channel
@DONOTACKNOWLEDGE bit INOUT Do not acknowledge
@PLEDGESUBTYPEID uniqueidentifier INOUT Subtype
@MAXSOFTCREDITAMOUNT money INOUT Max soft credit amount
@MAXSOLICITORAMOUNT money INOUT Max solicitor amount
@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.
@SINGLEDESIGNATIONID uniqueidentifier INOUT Designation
@FINDERNUMBERVALID bit INOUT FINDERNUMBERVALID
@MAXSOLICITORSPLITAMOUNTS xml INOUT Max solicitor split amounts

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_PLEDGEADJUST
                    (
                        @ID uniqueidentifier,
                        @DATALOADED bit = 0 output,
                        @CONSTITUENTID uniqueidentifier = null output,
                        @CONSTITUENTNAME nvarchar(255) = null output,
                        @DATE datetime = null output,
                        @AMOUNT money = null output,
                        @POSTSTATUSCODE tinyint = null output,
                        @POSTDATE datetime = null output,
                        @SENDPLEDGEREMINDER bit = null output,
                        @SPLITS xml = null output,
                        @FREQUENCYCODE tinyint = null output,
                        @NUMBEROFINSTALLMENTS int = null output,
                        @STARTDATE datetime = null output,
                        @AMOUNTPAID money = null output,
                        @INSTALLMENTS xml = null output,
                        @ADJUSTMENTDATE datetime = null output,
                        @ADJUSTMENTPOSTDATE datetime = null output,
                        @ADJUSTMENTPOSTSTATUSCODE tinyint = null output,
                        @ADJUSTMENTREASON nvarchar(300) = null output,
                        @FINDERNUMBER bigint = 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,
                        @DONOTACKNOWLEDGE bit = null output,
                        @PLEDGESUBTYPEID uniqueidentifier = null output,
                        @MAXSOFTCREDITAMOUNT money = null output,
                        @MAXSOLICITORAMOUNT money = null output,
                        @TSLONG bigint = 0 output,
                        @SINGLEDESIGNATIONID uniqueidentifier = null output,
                        @FINDERNUMBERVALID bit = null output,
                        @MAXSOLICITORSPLITAMOUNTS xml = null output
                    )
                    as
                    set nocount on;

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

                    declare @REVENUEID uniqueidentifier;
                    declare @LASTINSTALLMENT uniqueidentifier;

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

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

                    select 
                        @DATALOADED = 1,
                        @CONSTITUENTID = CONSTITUENT.ID,
                        @CONSTITUENTNAME = CONSTITUENT.NAME,
                        @DATE = REVENUE.DATE,
                        @AMOUNT = REVENUE.AMOUNT,
                        @POSTSTATUSCODE = case when REVENUE.DONOTPOST = 1 then 2 when REVENUEPOSTED.ID is not null then 0 else 1 end,
                        @MAXSOFTCREDITAMOUNT = 0,
                        @MAXSOLICITORAMOUNT = 0,
                        @POSTDATE = REVENUE.POSTDATE,
                        @SENDPLEDGEREMINDER = REVENUESCHEDULE.SENDPLEDGEREMINDER,
                        @FREQUENCYCODE = REVENUESCHEDULE.FREQUENCYCODE,
                        @NUMBEROFINSTALLMENTS = REVENUESCHEDULE.NUMBEROFINSTALLMENTS,
                        @STARTDATE = REVENUESCHEDULE.STARTDATE,
                        @TSLONG = REVENUE.TSLONG,
                        @REVENUEID = REVENUE.ID,
                        @FINDERNUMBER = FINDERNUMBER,
                        @SOURCECODE = SOURCECODE,
                        @APPEALID = APPEALID,
                        @BENEFITSWAIVED = BENEFITSWAIVED,
                        @GIVENANONYMOUSLY = GIVENANONYMOUSLY,
                        @MAILINGID = MAILINGID,
                        @CHANNELCODEID = CHANNELCODEID,
                        @DONOTACKNOWLEDGE = DONOTACKNOWLEDGE,
                        @PLEDGESUBTYPEID = PLEDGESUBTYPEID,
                        @MAXSOLICITORSPLITAMOUNTS = dbo.UFN_REVENUEDETAIL_GETMAXSOLICITORSPLITAMOUNTS_TOITEMLISTXML(@ID)
                    from
                        dbo.REVENUE
                    left join
                        dbo.REVENUEPOSTED on REVENUEPOSTED.ID = REVENUE.ID
                    inner join
                        dbo.REVENUESCHEDULE on REVENUE.ID = REVENUESCHEDULE.ID
                    inner join
                        dbo.CONSTITUENT on REVENUE.CONSTITUENTID = CONSTITUENT.ID
                    where
                        REVENUE.ID = @ID and REVENUE.TRANSACTIONTYPECODE = 1;

                    if @DATALOADED = 1
                        set @AMOUNTPAID = @AMOUNT - dbo.UFN_PLEDGE_GETBALANCE(@REVENUEID);

                    set @SPLITS = dbo.UFN_REVENUE_GETSPLITS_TOITEMLISTXML(@REVENUEID);
                    set @INSTALLMENTS = dbo.UFN_INSTALLMENT_GETINSTALLMENTS_TOITEMLISTXML(@REVENUEID);
                    set @BENEFITS = dbo.UFN_REVENUE_GETBENEFITS_TOITEMLISTXML(@REVENUEID);

                    if @FINDERNUMBER = 0 
                        set @FINDERNUMBER = null;

                    if (not @FINDERNUMBER is null)
                        set @FINDERNUMBERVALID = 1;
                    else
                        set @FINDERNUMBERVALID = 0;

                    return 0;