USP_PROSPECT_ADDCONSTITUENCY
Executes the "Prospect Constituency: Add" record operation.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | Input parameter indicating the ID of the record being updated. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the update. |
Definition
Copy
CREATE procedure dbo.USP_PROSPECT_ADDCONSTITUENCY (
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null
) as begin
set nocount on;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
declare @CURRENTDATEEARLIESTTIME datetime;
set @CURRENTDATEEARLIESTTIME = dbo.UFN_DATE_GETEARLIESTTIME(@CURRENTDATE);
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @contextCache varbinary(128);
/* cache current context information */
set @contextCache = CONTEXT_INFO();
/* set CONTEXT_INFO to @CHANGEAGENTID */
if not @CHANGEAGENTID is null
set CONTEXT_INFO @CHANGEAGENTID
delete
dbo.PROSPECTDATERANGE
where
CONSTITUENTID = @ID and
(DATEFROM >= @CURRENTDATEEARLIESTTIME or DATETO is null);
/* reset CONTEXT_INFO to previous value */
if not @contextCache is null
set CONTEXT_INFO @contextCache
insert into dbo.PROSPECTDATERANGE
(
CONSTITUENTID,
DATEFROM,
DATETO,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values
(
@ID,
@CURRENTDATEEARLIESTTIME,
null,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
if not exists (select 1 from dbo.PROSPECT where ID=@ID)
insert into dbo.PROSPECT
(
ID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values
(
@ID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
return 0;
end;