USP_DATAFORMTEMPLATE_PROSPECTPLANSECONDARYMANAGER_EDITLOAD
The load procedure used by the edit dataform template "Prospect Plan Secondary Manager Edit"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter used to load the fields defined on the form. |
@DATALOADED | bit | INOUT | Output parameter indicating whether or not data was actually loaded. |
@TSLONG | bigint | INOUT | Output parameter indicating the TSLONG value of the record being edited. This is used to manage multi-user concurrency issues when multiple users access the same record. |
@SECONDARYMANAGERID | uniqueidentifier | INOUT | Secondary manager |
@SECONDARYMANAGERSTARTDATE | datetime | INOUT | Start date |
@SECONDARYMANAGERENDDATE | datetime | INOUT | End date |
@SECONDARYMANAGERSTARTDATEREQUIRED | bit | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_PROSPECTPLANSECONDARYMANAGER_EDITLOAD
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@TSLONG bigint = 0 output,
@SECONDARYMANAGERID uniqueidentifier = null output,
@SECONDARYMANAGERSTARTDATE datetime = null output,
@SECONDARYMANAGERENDDATE datetime = null output,
@SECONDARYMANAGERSTARTDATEREQUIRED bit = null output
) as
set nocount on;
set @DATALOADED = 0;
set @TSLONG = 0;
declare @CURRENTDATEEARLIESTTIME datetime;
set @CURRENTDATEEARLIESTTIME = dbo.UFN_DATE_GETEARLIESTTIME(getdate());
select
@DATALOADED = 1,
@TSLONG = PROSPECTPLAN.TSLONG,
@SECONDARYMANAGERID = case when PROSPECTPLAN.SECONDARYMANAGERENDDATE < @CURRENTDATEEARLIESTTIME then null else PROSPECTPLAN.SECONDARYMANAGERFUNDRAISERID end,
@SECONDARYMANAGERSTARTDATE = case when PROSPECTPLAN.SECONDARYMANAGERENDDATE < @CURRENTDATEEARLIESTTIME then null else PROSPECTPLAN.SECONDARYMANAGERSTARTDATE end,
@SECONDARYMANAGERENDDATE = case when PROSPECTPLAN.SECONDARYMANAGERENDDATE < @CURRENTDATEEARLIESTTIME then null else PROSPECTPLAN.SECONDARYMANAGERENDDATE end
from
dbo.PROSPECTPLAN
where
PROSPECTPLAN.ID = @ID;
if exists (select ID from dbo.PROSPECTPLANMANAGERHISTORY where PROSPECTPLANID = @ID and ISPRIMARYMANAGER = 0)
set @SECONDARYMANAGERSTARTDATEREQUIRED = 1
else
set @SECONDARYMANAGERSTARTDATEREQUIRED = 0
declare @STEPTSLONG bigint;
select
@STEPTSLONG = max(TSLONG)
from
dbo.INTERACTION
where
PROSPECTPLANID = @ID;
if @STEPTSLONG > @TSLONG
set @TSLONG = @STEPTSLONG
return 0;