USP_REVENUEOPPORTUNITY_UPDATEOPPORTUNITY
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@REVENUEID | uniqueidentifier | IN | |
@OPPORTUNITYID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_REVENUEOPPORTUNITY_UPDATEOPPORTUNITY
(
@REVENUEID uniqueidentifier,
@OPPORTUNITYID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null
)
as
begin
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @CURRENTDATE datetime = getdate();
update REVENUEOPPORTUNITY set
OPPORTUNITYID = @OPPORTUNITYID,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
from dbo.REVENUEOPPORTUNITY
where
REVENUEOPPORTUNITY.ID in
(
select
FINANCIALTRANSACTIONLINEITEM.ID
from dbo.FINANCIALTRANSACTIONLINEITEM
where FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = @REVENUEID
union all
select
FINANCIALTRANSACTIONLINEITEM.ID
from dbo.FINANCIALTRANSACTIONLINEITEM
left join dbo.FINANCIALTRANSACTIONLINEITEM SOURCE on SOURCE.ID = FINANCIALTRANSACTIONLINEITEM.SOURCELINEITEMID
where
FINANCIALTRANSACTIONLINEITEM.SOURCELINEITEMID = SOURCE.ID and
SOURCE.FINANCIALTRANSACTIONID = @REVENUEID
);
-- Add missing mappings, if any
insert into dbo.REVENUEOPPORTUNITY
(
ID,
OPPORTUNITYID,
ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED
)
select
FTLI.ID,
@OPPORTUNITYID,
@CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE
from
dbo.FINANCIALTRANSACTIONLINEITEM FTLI
left join dbo.REVENUEOPPORTUNITY RO on RO.ID = FTLI.ID
where
FTLI.FINANCIALTRANSACTIONID = @REVENUEID
and FTLI.DELETEDON is null
and RO.ID is null;
end