USP_REVENUE_ADDORIGIN
Adds campaigns to a revenue transaction.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@REVENUEID | uniqueidentifier | IN | |
@CONSTITUENTID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@CHANGEDATE | datetime | IN | |
@ORIGINCODE | tinyint | IN |
Definition
Copy
CREATE procedure dbo.USP_REVENUE_ADDORIGIN
(
@REVENUEID uniqueidentifier,
@CONSTITUENTID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@CHANGEDATE datetime = null,
@ORIGINCODE tinyint = 0
)
as
set nocount on
--If there is no constituent or revenueid then exit
if (@CONSTITUENTID is null or @REVENUEID is null)
return 0;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
if @CHANGEDATE is null
set @CHANGEDATE = getdate();
set @ORIGINCODE = coalesce(@ORIGINCODE, 0);
declare @SOURCECODEID uniqueidentifier;
if @ORIGINCODE = 0
set @SOURCECODEID = dbo.UFN_ORIGINATIONSETTING_GETREVENUESOURCECODEID();
merge
dbo.CONSTITUENTORIGINATION as TARGET
using
(select @CONSTITUENTID as ID) as [SOURCE]
on
TARGET.ID = [SOURCE].ID
when matched and
TARGET.INFOSOURCECODEID is null and
TARGET.REVENUEID is null and
coalesce(TARGET.ORIGINCODE, 0) = 0 then
update set
INFOSOURCECODEID = @SOURCECODEID,
REVENUEID = @REVENUEID,
ORIGINCODE = @ORIGINCODE,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CHANGEDATE
when not matched by TARGET then
insert(ID, INFOSOURCECODEID, REVENUEID, ORIGINCODE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values(@CONSTITUENTID, @SOURCECODEID, @REVENUEID, @ORIGINCODE, @CHANGEAGENTID, @CHANGEAGENTID, @CHANGEDATE, @CHANGEDATE);