USP_REVENUECATEGORY_UPDATESPLITS
Inserts or updates rows in REVENUECATEGORY for every revenue split associated with the given revenue.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@REVENUEID | uniqueidentifier | IN | |
@CATEGORYCODEID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@CURRENTDATE | datetime | IN |
Definition
Copy
CREATE procedure dbo.USP_REVENUECATEGORY_UPDATESPLITS
(
@REVENUEID uniqueidentifier,
@CATEGORYCODEID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier,
@CURRENTDATE datetime
)
as
set nocount on
if @CATEGORYCODEID is not null
begin
update dbo.REVENUECATEGORY set
GLREVENUECATEGORYMAPPINGID = @CATEGORYCODEID,
DATECHANGED = @CURRENTDATE,
CHANGEDBYID = @CHANGEAGENTID
where ID in (select ID from dbo.FINANCIALTRANSACTIONLINEITEM where FINANCIALTRANSACTIONID = @REVENUEID and DELETEDON is null)
insert into dbo.REVENUECATEGORY (ID, GLREVENUECATEGORYMAPPINGID, DATEADDED, DATECHANGED, ADDEDBYID, CHANGEDBYID)
select
FINANCIALTRANSACTIONLINEITEM.ID,
@CATEGORYCODEID,
@CURRENTDATE, @CURRENTDATE, @CHANGEAGENTID, @CHANGEAGENTID
from dbo.FINANCIALTRANSACTIONLINEITEM
where
FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = @REVENUEID and
FINANCIALTRANSACTIONLINEITEM.DELETEDON is null and
not exists (select 1 from dbo.REVENUECATEGORY where ID = FINANCIALTRANSACTIONLINEITEM.ID)
end
else
begin
declare @contextCache varbinary(128);
--cache current context information
set @contextCache = CONTEXT_INFO();
--set CONTEXT_INFO to @CHANGEAGENTID
set CONTEXT_INFO @CHANGEAGENTID;
delete from dbo.REVENUECATEGORY
where ID in (select ID from dbo.FINANCIALTRANSACTIONLINEITEM where FINANCIALTRANSACTIONID = @REVENUEID and DELETEDON is null)
--reset CONTEXT_INFO to previous value
if not @contextCache is null
set CONTEXT_INFO @contextCache;
end