USP_DATAFORMTEMPLATE_PROSPECTPLANREPLACEPRIMARYMANAGER_EDITLOAD

The load procedure used by the edit dataform template "Prospect Plan Replace 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.
@PREVIOUSMANAGERID uniqueidentifier INOUT Current manager
@PREVIOUSMANAGERNAME nvarchar(700) INOUT Current manager
@PREVIOUSMANAGERSTARTDATE datetime INOUT Start date
@PREVIOUSMANAGERENDDATE datetime INOUT End date
@NEWMANAGERID uniqueidentifier INOUT New manager
@NEWMANAGERSTARTDATE datetime INOUT Start date
@NEWMANAGERENDDATE datetime INOUT End date
@PREVIOUSMANAGERSTARTDATEREQUIRED bit INOUT

Definition

Copy

          CREATE procedure dbo.USP_DATAFORMTEMPLATE_PROSPECTPLANREPLACEPRIMARYMANAGER_EDITLOAD 
          (
            @ID uniqueidentifier,
            @DATALOADED bit = 0 output,
            @TSLONG bigint = 0 output,
            @PREVIOUSMANAGERID uniqueidentifier = null output,
            @PREVIOUSMANAGERNAME nvarchar(700) = null output,
            @PREVIOUSMANAGERSTARTDATE datetime = null output,
            @PREVIOUSMANAGERENDDATE datetime = null output,
            @NEWMANAGERID uniqueidentifier = null output,
            @NEWMANAGERSTARTDATE datetime = null output,
            @NEWMANAGERENDDATE datetime = null output,
            @PREVIOUSMANAGERSTARTDATEREQUIRED bit = null output
          ) as
            set nocount on;

            set @DATALOADED = 0;
            set @TSLONG = 0;

            select
              @DATALOADED = 1,
              @TSLONG = PROSPECTPLAN.TSLONG,
              @PREVIOUSMANAGERID = PROSPECTPLAN.PRIMARYMANAGERFUNDRAISERID,
              @PREVIOUSMANAGERNAME = NF.NAME,
              @PREVIOUSMANAGERSTARTDATE = PROSPECTPLAN.PRIMARYMANAGERSTARTDATE,
              @PREVIOUSMANAGERENDDATE = PROSPECTPLAN.PRIMARYMANAGERENDDATE
            from
              dbo.PROSPECTPLAN
              outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(PROSPECTPLAN.PRIMARYMANAGERFUNDRAISERID) NF
            where
              PROSPECTPLAN.ID = @ID;

            if exists (select ID from dbo.PROSPECTPLANMANAGERHISTORY where PROSPECTPLANID = @ID and ISPRIMARYMANAGER = 1)
              set @PREVIOUSMANAGERSTARTDATEREQUIRED = 1
            else
              set @PREVIOUSMANAGERSTARTDATEREQUIRED = 0

            declare @STEPTSLONG bigint;
            select 
              @STEPTSLONG = max(TSLONG) 
            from 
              dbo.INTERACTION 
            where 
              PROSPECTPLANID = @ID;

            if @STEPTSLONG > @TSLONG 
              set @TSLONG = @STEPTSLONG;

            return 0;