USP_DATAFORMTEMPLATE_PROSPECTPLANPRIMARYMANAGER_EDITLOAD
The load procedure used by the edit dataform template "Prospect Plan Primary 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. |
@PRIMARYMANAGERID | uniqueidentifier | INOUT | Primary manager |
@PRIMARYMANAGERSTARTDATE | datetime | INOUT | Start date |
@PRIMARYMANAGERENDDATE | datetime | INOUT | End date |
@PRIMARYMANAGERSTARTDATEREQUIRED | bit | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_PROSPECTPLANPRIMARYMANAGER_EDITLOAD
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@TSLONG bigint = 0 output,
@PRIMARYMANAGERID uniqueidentifier = null output,
@PRIMARYMANAGERSTARTDATE datetime = null output,
@PRIMARYMANAGERENDDATE datetime = null output,
@PRIMARYMANAGERSTARTDATEREQUIRED bit = null output
) as
set nocount on;
declare @CURRENTDATEEARLIESTTIME datetime;
set @CURRENTDATEEARLIESTTIME = dbo.UFN_DATE_GETEARLIESTTIME(getdate());
set @DATALOADED = 0;
set @TSLONG = 0;
select
@DATALOADED = 1,
@TSLONG = PROSPECTPLAN.TSLONG,
@PRIMARYMANAGERID = case when PROSPECTPLAN.PRIMARYMANAGERENDDATE < @CURRENTDATEEARLIESTTIME then null else PROSPECTPLAN.PRIMARYMANAGERFUNDRAISERID end,
@PRIMARYMANAGERSTARTDATE = case when PROSPECTPLAN.PRIMARYMANAGERENDDATE < @CURRENTDATEEARLIESTTIME then null else PROSPECTPLAN.PRIMARYMANAGERSTARTDATE end,
@PRIMARYMANAGERENDDATE = case when PROSPECTPLAN.PRIMARYMANAGERENDDATE < @CURRENTDATEEARLIESTTIME then null else PROSPECTPLAN.PRIMARYMANAGERENDDATE end
from
dbo.PROSPECTPLAN
where
PROSPECTPLAN.ID = @ID;
if exists (select ID from dbo.PROSPECTPLANMANAGERHISTORY where PROSPECTPLANID = @ID and ISPRIMARYMANAGER = 1)
set @PRIMARYMANAGERSTARTDATEREQUIRED = 1
else
set @PRIMARYMANAGERSTARTDATEREQUIRED = 0
declare @STEPTSLONG bigint;
select
@STEPTSLONG = max(TSLONG)
from
dbo.INTERACTION
where
PROSPECTPLANID = @ID;
if @STEPTSLONG > @TSLONG
set @TSLONG = @STEPTSLONG;
return 0;