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;