USP_DATAFORMTEMPLATE_PROSPECTMANAGER2_EDITLOAD
The load procedure used by the edit dataform template "Prospect Manager Edit Form 2"
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. |
@PROSPECTMANAGERFUNDRAISERID | uniqueidentifier | INOUT | Prospect manager |
@PROSPECTMANAGERSTARTDATE | date | INOUT | Start date |
@PROSPECTMANAGERENDDATE | date | INOUT | End date |
@PROSPECTMANAGERSTARTDATEREQUIRED | bit | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_PROSPECTMANAGER2_EDITLOAD (
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@TSLONG bigint = 0 output,
@PROSPECTMANAGERFUNDRAISERID uniqueidentifier = null output,
@PROSPECTMANAGERSTARTDATE date = null output,
@PROSPECTMANAGERENDDATE date = null output,
@PROSPECTMANAGERSTARTDATEREQUIRED bit = null output
) as
set nocount on;
set @DATALOADED = 0;
set @TSLONG = 0;
declare @CURRENTDATEEARLIESTTIME datetime;
set @CURRENTDATEEARLIESTTIME = dbo.UFN_DATE_GETEARLIESTTIME(getdate());
-- Select blank managers details if it is with an expired end date
select
@DATALOADED = 1,
@TSLONG = P.TSLONG,
@PROSPECTMANAGERFUNDRAISERID = case when P.PROSPECTMANAGERENDDATE < @CURRENTDATEEARLIESTTIME then null else P.PROSPECTMANAGERFUNDRAISERID end,
@PROSPECTMANAGERSTARTDATE = case when P.PROSPECTMANAGERENDDATE < @CURRENTDATEEARLIESTTIME then null else P.PROSPECTMANAGERSTARTDATE end,
@PROSPECTMANAGERENDDATE = case when P.PROSPECTMANAGERENDDATE < @CURRENTDATEEARLIESTTIME then null else P.PROSPECTMANAGERENDDATE end
from
dbo.CONSTITUENT C
left outer join dbo.PROSPECT P on P.ID = C.ID
where
C.ID = @ID;
if exists (select ID from dbo.PROSPECTMANAGERHISTORY where PROSPECTID = @ID)
set @PROSPECTMANAGERSTARTDATEREQUIRED = 1
else
set @PROSPECTMANAGERSTARTDATEREQUIRED = 0
declare @STEPTSLONG bigint;
select
@STEPTSLONG = max(INTERACTION.TSLONG)
from
dbo.INTERACTION
inner join dbo.PROSPECTPLAN on PROSPECTPLAN.ID = INTERACTION.PROSPECTPLANID
where
PROSPECTPLAN.PROSPECTID = @ID;
if @STEPTSLONG > @TSLONG
set @TSLONG = @STEPTSLONG;
return 0;