USP_DATAFORMTEMPLATE_EDIT_REVENUESPLIT_BUSINESSUNIT
The save procedure used by the edit dataform template "Revenue Split Business Unit Edit Data Form".
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. |
@BUSINESSUNITS | xml | IN | Business units |
@OVERRIDEBUSINESSUNITS | bit | IN | Override business units |
@REASON | uniqueidentifier | IN | Reason |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_REVENUESPLIT_BUSINESSUNIT
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@BUSINESSUNITS xml,
@OVERRIDEBUSINESSUNITS bit,
@REASON uniqueidentifier
)
as
set nocount on;
begin try
declare @CONTEXTCACHE varbinary(128);
set @CONTEXTCACHE = context_info();
set context_info @CHANGEAGENTID;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @CURRENTDATE as datetime = getdate();
declare @BASECURRENCYID uniqueidentifier;
declare @ORGANIZATIONEXCHANGERATEID uniqueidentifier;
if @OVERRIDEBUSINESSUNITS = 1
begin
--exec dbo.USP_REVENUESPLITBUSINESSUNIT_GETBUSINESSUNITS_UPDATEFROMXML @ID, @BUSINESSUNITS, @CHANGEAGENTID;
set @BUSINESSUNITS = dbo.UFN_REVENUESPLITBUSINESSUNIT_CONVERTAMOUNTSINXML(@BUSINESSUNITS,@BASECURRENCYID,@ORGANIZATIONEXCHANGERATEID)
exec dbo.USP_REVENUESPLIT_GETBUSINESSSUNIT_UPDATEFROMXML @ID, @BUSINESSUNITS, @CHANGEAGENTID;
update dbo.FINANCIALTRANSACTIONLINEITEM set
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where
ID = @ID;
update dbo.REVENUESPLIT_EXT set
OVERRIDEBUSINESSUNITS = 1,
REVENUESPLITBUSINESSUNITOVERRIDECODEID = @REASON
where
ID = @ID;
end
else
begin
delete from dbo.REVENUESPLITBUSINESSUNIT where REVENUESPLITID = @ID
update dbo.REVENUESPLIT_EXT set
OVERRIDEBUSINESSUNITS = 0,
REVENUESPLITBUSINESSUNITOVERRIDECODEID = null
where
ID = @ID;
update dbo.FINANCIALTRANSACTIONLINEITEM set
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where
ID = @ID;
declare @REVENUEID uniqueidentifier;
select @REVENUEID = FINANCIALTRANSACTIONID from dbo.FINANCIALTRANSACTIONLINEITEM inner join dbo.REVENUESPLIT_EXT on FINANCIALTRANSACTIONLINEITEM.ID = REVENUESPLIT_EXT.ID where FINANCIALTRANSACTIONLINEITEM.ID = @ID and FINANCIALTRANSACTIONLINEITEM.DELETEDON is null and FINANCIALTRANSACTIONLINEITEM.TYPECODE <> 1
exec dbo.USP_REVENUESPLIT_APPLYBUSINESSUNITS @REVENUEID, @CHANGEAGENTID, @CURRENTDATE;
end
if not @CONTEXTCACHE is null
set context_info @CONTEXTCACHE;
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;