USP_DATAFORMTEMPLATE_EDITLOAD_REVENUESPLITDETAILSADJUST_4

The load procedure used by the edit dataform template "Revenue Split Details Adjust Form 4"

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.
@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.
@APPLICATIONCODE tinyint INOUT Application code
@APPLICATION nvarchar(18) INOUT Application
@CONSTITUENTID uniqueidentifier INOUT Constituent
@APPEALID uniqueidentifier INOUT Appeal
@DESIGNATIONID uniqueidentifier INOUT Designation
@CATEGORYCODEID uniqueidentifier INOUT Revenue category
@OTHERTYPECODEID uniqueidentifier INOUT Other type
@OPPORTUNITYID uniqueidentifier INOUT Opportunity
@ADJUSTMENTPOSTDATE datetime INOUT Adjustment post date
@ADJUSTMENTDATE datetime INOUT Adjustment date
@ADJUSTMENTREASON nvarchar(300) INOUT Adjustment details
@ADJUSTMENTPOSTSTATUSCODE tinyint INOUT Adjustment status code
@CONSTITUENTTYPE tinyint INOUT Constituent type
@DECLINESGIFTAID bit INOUT Constituent declines Gift Aid for this application
@ADJUSTMENTREASONCODEID uniqueidentifier INOUT Adjustment reason
@GIFTAIDCOMMITTED bit INOUT Gift Aid committed
@ISGIFTAIDSPONSORSHIP bit INOUT Gift Aid sponsorship
@ALLOWGLDISTRIBUTIONS bit INOUT
@DEPOSITID uniqueidentifier INOUT
@POSTDATE date INOUT
@REQUIREDEPOSIT bit INOUT

Definition

Copy


          CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_REVENUESPLITDETAILSADJUST_4
          (
            @ID uniqueidentifier,
            @DATALOADED bit = 0 output,
            @TSLONG bigint = 0 output,
            @APPLICATIONCODE tinyint = null output,
            @APPLICATION nvarchar(18) = null output,
            @CONSTITUENTID uniqueidentifier = null output,
            @APPEALID uniqueidentifier = null output,
            @DESIGNATIONID uniqueidentifier = null output,
            @CATEGORYCODEID uniqueidentifier = null output,
            @OTHERTYPECODEID uniqueidentifier = null output,
            @OPPORTUNITYID uniqueidentifier = null output,
            @ADJUSTMENTPOSTDATE datetime = null output,
            @ADJUSTMENTDATE datetime = null output,
            @ADJUSTMENTREASON nvarchar(300) = null output,
            @ADJUSTMENTPOSTSTATUSCODE tinyint = null output,
            @CONSTITUENTTYPE tinyint = null output,
            @DECLINESGIFTAID bit = null output,
            @ADJUSTMENTREASONCODEID uniqueidentifier = null output,
            @GIFTAIDCOMMITTED bit = null output,
            @ISGIFTAIDSPONSORSHIP bit = null output,
            @ALLOWGLDISTRIBUTIONS bit = null output,
            @DEPOSITID uniqueidentifier = null output,
            @POSTDATE date = null output,
            @REQUIREDEPOSIT bit = null output
          )
          as
            set nocount on

            declare @REVENUEID uniqueidentifier
            select
              @DATALOADED = 1,
              @TSLONG = REVENUESPLIT.TSLONG,
              @APPLICATIONCODE = REVENUESPLIT_EXT.APPLICATIONCODE,
              @APPLICATION = REVENUESPLIT_EXT.APPLICATION,
              @CONSTITUENTID = REVENUE.CONSTITUENTID,
              @DESIGNATIONID = REVENUESPLIT_EXT.DESIGNATIONID,
              @CATEGORYCODEID = REVENUECATEGORY.GLREVENUECATEGORYMAPPINGID,
              @OTHERTYPECODEID = REVENUESPLITOTHER.OTHERTYPECODEID,
              @REVENUEID = REVENUESPLIT.FINANCIALTRANSACTIONID,
              @OPPORTUNITYID = REVENUEOPPORTUNITY.OPPORTUNITYID,
              @CONSTITUENTTYPE = case
                when CONSTITUENT.ISORGANIZATION = 0 and CONSTITUENT.ISGROUP = 0 then 0
                when CONSTITUENT.ISORGANIZATION = 1 then 1
                when CONSTITUENT.ISGROUP = 1 and GROUPDATA.GROUPTYPECODE = 0 then 2
                else 3
              end,
              @DECLINESGIFTAID = REVENUESPLITGIFTAID.DECLINESGIFTAID,
              @GIFTAIDCOMMITTED = case when REVENUESPLITGIFTAID.TAXCLAIMNUMBER <> '' then 1 else 0 end,
              @ISGIFTAIDSPONSORSHIP = REVENUESPLITGIFTAID.ISSPONSORSHIP,
              @DEPOSITID = BADP.DEPOSITID,
              @POSTDATE = REVENUE.POSTDATE
            from dbo.FINANCIALTRANSACTIONLINEITEM REVENUESPLIT
            inner join dbo.REVENUESPLIT_EXT on REVENUESPLIT.ID = REVENUESPLIT_EXT.ID
            inner join dbo.FINANCIALTRANSACTION REVENUE on REVENUE.ID = REVENUESPLIT.FINANCIALTRANSACTIONID
            inner join dbo.CONSTITUENT on REVENUE.CONSTITUENTID = CONSTITUENT.ID
            left join dbo.REVENUECATEGORY on REVENUESPLIT.ID = REVENUECATEGORY.ID
            left join dbo.REVENUESPLITOTHER on REVENUESPLIT.ID = REVENUESPLITOTHER.ID
            left join dbo.REVENUEOPPORTUNITY on REVENUESPLIT.ID = REVENUEOPPORTUNITY.ID
            left join dbo.REVENUESPLITGIFTAID on REVENUESPLIT.ID = REVENUESPLITGIFTAID.ID
            left join dbo.GROUPDATA on CONSTITUENT.ID = GROUPDATA.ID
            left join dbo.BANKACCOUNTDEPOSITPAYMENT BADP on REVENUE.ID = BADP.ID
            where
              REVENUESPLIT.ID = @ID
              and REVENUESPLIT.TYPECODE <> 1
              and REVENUESPLIT.DELETEDON is null
              and REVENUE.DELETEDON is null

            select
              @APPEALID = REVENUE_EXT.APPEALID
            from dbo.REVENUE_EXT
            where REVENUE_EXT.ID = @REVENUEID

            select
              @ADJUSTMENTDATE = dbo.UFN_DATE_GETEARLIESTTIME(getdate()),
              @ADJUSTMENTPOSTDATE = dbo.UFN_DATE_GETEARLIESTTIME(getdate()),
              @ADJUSTMENTPOSTSTATUSCODE = 0

            if not @DEPOSITID is null
              select @ADJUSTMENTPOSTDATE = POSTDATE 
              from dbo.BANKACCOUNTDEPOSITPAYMENT 
              inner join dbo.BANKACCOUNTDEPOSIT on BANKACCOUNTDEPOSITPAYMENT.DEPOSITID = BANKACCOUNTDEPOSIT.ID
              inner join dbo.BANKACCOUNTTRANSACTION on BANKACCOUNTDEPOSIT.ID = BANKACCOUNTTRANSACTION.ID
              where BANKACCOUNTDEPOSITPAYMENT.ID = @REVENUEID;

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

            -- Check GL business rule for this account system and set to 'Do not post' if needed.

            declare @PDACCOUNTSYSTEMID uniqueidentifier;
            select @PDACCOUNTSYSTEMID = PDACCOUNTSYSTEMID,
            @REQUIREDEPOSIT = PDACCOUNTSYSTEM.REQUIREDPOSIT
            from dbo.PDACCOUNTSYSTEMFORREVENUE
            inner join dbo.PDACCOUNTSYSTEM on PDACCOUNTSYSTEMFORREVENUE.PDACCOUNTSYSTEMID = PDACCOUNTSYSTEM.ID
            where PDACCOUNTSYSTEMFORREVENUE.ID = @REVENUEID;
            set @ALLOWGLDISTRIBUTIONS = dbo.UFN_PDACCOUNTSYSTEM_ALLOWGLDISTRIBUTIONS(@PDACCOUNTSYSTEMID);
            if @ALLOWGLDISTRIBUTIONS = 0
              set @ADJUSTMENTPOSTDATE = null;