USP_DATAFORMTEMPLATE_PROSPECTREPLACEPROSPECTMANAGER_EDITLOAD

The load procedure used by the edit dataform template "Prospect Replace Prospect 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_PROSPECTREPLACEPROSPECTMANAGER_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 = PROSPECT.TSLONG,
              @PREVIOUSMANAGERID = PROSPECT.PROSPECTMANAGERFUNDRAISERID,
              @PREVIOUSMANAGERNAME = NF.NAME,
              @PREVIOUSMANAGERSTARTDATE = PROSPECT.PROSPECTMANAGERSTARTDATE,
              @PREVIOUSMANAGERENDDATE = PROSPECT.PROSPECTMANAGERENDDATE
            from dbo.PROSPECT
              outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(PROSPECT.PROSPECTMANAGERFUNDRAISERID) NF
            where PROSPECT.ID = @ID;

            if exists (select ID from dbo.PROSPECTMANAGERHISTORY where PROSPECTID = @ID)
              set @PREVIOUSMANAGERSTARTDATEREQUIRED = 1
            else
              set @PREVIOUSMANAGERSTARTDATEREQUIRED = 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;