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;