USP_DATAFORMTEMPLATE_EDIT_REVENUE_SPLIT
Saves splits for a revenue detail within a revenue context.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter indicating the ID of the record being edited. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@REVENUEAMOUNT | money | IN | Total amount |
@SPLITS | xml | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_REVENUE_SPLIT
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@REVENUEAMOUNT money,
@SPLITS xml
)
as
set nocount on;
declare @CONSTITUENTISINDIVIDUAL bit = null;
exec dbo.[USP_DATAFORMTEMPLATE_EDITLOAD_REVENUE_SPLIT] @ID = @ID;
exec dbo.[USP_DATAFORMTEMPLATE_EDIT_REVENUE_SPLIT_2] @ID=@ID, @CHANGEAGENTID=@CHANGEAGENTID, @REVENUEAMOUNT=@REVENUEAMOUNT, @SPLITS=@SPLITS, @CONSTITUENTISINDIVIDUAL=@CONSTITUENTISINDIVIDUAL;
--declare @TRANSACTIONTYPECODE tinyint;
--declare @CHANGEDATE datetime;
--set @CHANGEDATE = getdate();
--select @TRANSACTIONTYPECODE = TRANSACTIONTYPECODE from dbo.REVENUE where REVENUE.ID = @ID;
--if @TRANSACTIONTYPECODE = 1
--raiserror('NOTVALIDFORPLEDGE',13,1)
--if @TRANSACTIONTYPECODE = 3
--raiserror('NOTVALIDFORMGPLEDGE',13,1)
--declare @SPLITSCHANGED bit
--set @SPLITSCHANGED = dbo.UFN_CHECKDETAIL_SPLITSCHANGED(@ID, @SPLITS)
---- if the designations have changed, clear any user-defined gl distributions for this revenue record
--if exists (select ID from dbo.REVENUEGLDISTRIBUTION where REVENUEID = @ID) or
--exists (select ID from dbo.STOCKSALEGLDISTRIBUTION where REVENUEID = @ID) or
--exists (select ID from dbo.PROPERTYDETAILGLDISTRIBUTION where PROPERTYDETAILID = @ID) or
--exists (select GL.ID from dbo.WRITEOFFGLDISTRIBUTION GL inner join dbo.WRITEOFF on GL.WRITEOFFID = WRITEOFF.ID where WRITEOFF.REVENUEID = @ID)
--begin
---- check to see if designations have changed
--if @SPLITSCHANGED = 1
---- clear the user-defined gl distributions
--begin
----Cache CONTEXT INFO
--declare @contextCache varbinary(128);
--set @contextCache = CONTEXT_INFO();
--if not @CHANGEAGENTID is null
--set CONTEXT_INFO @CHANGEAGENTID;
--delete from dbo.REVENUEGLDISTRIBUTION where REVENUEID = @ID;
--if @TRANSACTIONTYPECODE = 1
--delete from dbo.WRITEOFFGLDISTRIBUTION where WRITEOFFID in (select WO.ID from dbo.WRITEOFF WO where WO.REVENUEID = @ID);
--else
--begin
--delete from dbo.STOCKSALEGLDISTRIBUTION where REVENUEID = @ID;
--delete from dbo.PROPERTYDETAILGLDISTRIBUTION where PROPERTYDETAILID = @ID;
--end
----Restore CONTEXT_INFO
--if not @contextCache is null
--set CONTEXT_INFO @contextCache;
--end
--end
---- check to see if the revenue record needs to be re-acknowledged
--if (coalesce((select top 1 REACKNOWLEDGEREVENUE from dbo.ACKNOWLEDGEMENTPREFERENCE), 0)) = 1
--begin
---- if designations have changed, mark the revenue letters for this record out of date, if necessary
--if dbo.UFN_CHECKDETAIL_SPLITSCHANGED(@ID, @SPLITS) = 1
--exec dbo.USP_REVENUELETTER_SETREACKNOWLEDGEMENTS @ID, @CHANGEAGENTID;
--end
---- Set the IDs for any blank entries in the splits XML so that it can associate the declines with gift aid
---- flag with the generated splits. Also, pull in the existing value for declines gift aid if it wasn't passed
---- in the xml.
--set @SPLITS = ( select
--case when SPLITS.[ID] is null or SPLITS.[ID] = '00000000-0000-0000-0000-000000000000' then newid() else SPLITS.[ID] end [ID],
--SPLITS.[AMOUNT],
--SPLITS.[APPLICATIONCODE],
--SPLITS.[DESIGNATIONID],
--SPLITS.[TYPECODE],
--case when SPLITS.[DECLINESGIFTAID] is null then REVENUESPLITGIFTAID.DECLINESGIFTAID else SPLITS.DECLINESGIFTAID end DECLINESGIFTAID
--from dbo.UFN_REVENUE_GETSPLITS_FROMITEMLISTXML(@SPLITS) SPLITS
--left join dbo.REVENUESPLITGIFTAID on SPLITS.ID = REVENUESPLITGIFTAID.ID
--for xml raw('ITEM'),type,elements,root('SPLITS'),BINARY BASE64)
--exec dbo.USP_REVENUE_SPLIT_EDIT_SAVE @ID, @CHANGEAGENTID, @CHANGEDATE, @REVENUEAMOUNT, @SPLITS;
--if @TRANSACTIONTYPECODE = 1
--exec dbo.USP_PLEDGE_FIXDEPENDENTSPLITS @ID, @CHANGEAGENTID, @CHANGEDATE;
--if @SPLITSCHANGED = 1
--begin
--exec dbo.USP_REVENUE_CLEARANDADDCAMPAIGNS @REVENUEID = @ID,
--@CHANGEAGENTID = @CHANGEAGENTID,
--@CHANGEDATE = @CHANGEDATE
--end
----Gift Aid is for UK only
--if dbo.UFN_INSTALLEDPRODUCTS_PRODUCTIS('9568A6C2-F7AA-45fd-8F54-21FE9654EE2D') = 1
--begin
--declare @DATE datetime, @APPEALID uniqueidentifier, @PAYMENTMETHODCODE tinyint;
--declare @CREDITTYPECODEID uniqueidentifier;
--select
--@DATE = REVENUE.DATE,
--@APPEALID = REVENUE.APPEALID,
--@PAYMENTMETHODCODE = REVENUEPAYMENTMETHOD.PAYMENTMETHODCODE
--from dbo.REVENUE
--inner join dbo.REVENUEPAYMENTMETHOD on REVENUE.ID = REVENUEPAYMENTMETHOD.REVENUEID
--where REVENUE.ID = @ID;
--if @PAYMENTMETHODCODE = 2
--select @CREDITTYPECODEID = CREDITCARD.CREDITTYPECODEID
--from dbo.REVENUE
--inner join dbo.REVENUEPAYMENTMETHOD on REVENUE.ID = REVENUEPAYMENTMETHOD.REVENUEID
--left join dbo.REVENUESCHEDULE on REVENUE.ID = REVENUESCHEDULE.ID
--left join dbo.CREDITCARD on CREDITCARD.ID = REVENUESCHEDULE.CREDITCARDID
--where REVENUE.ID = @ID;
--declare @SPLITSDECLININGGIFTAID xml
--set @SPLITSDECLININGGIFTAID = ( select
--ID as REVENUESPLITID
--from dbo.UFN_REVENUE_GETSPLITS_FROMITEMLISTXML(@SPLITS)
--where DECLINESGIFTAID = 1
--for xml raw('ITEM'),type,elements,root('SPLITSDECLININGGIFTAID'),BINARY BASE64)
--exec dbo.USP_GIFTAIDREVENUESPLIT_ADDUPDATESPLITS @ID, @APPEALID, @PAYMENTMETHODCODE, @CREDITTYPECODEID, @CHANGEAGENTID, @DATE, @TRANSACTIONTYPECODE, @SPLITSDECLININGGIFTAID
--end
return 0;