USP_DATAFORMTEMPLATE_EDITLOAD_ADDPROSPECTPLANSPROCESS

The load procedure used by the edit dataform template "Add Prospect Plans Process Edit Form"

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.
@NAME nvarchar(100) INOUT Name
@DESCRIPTION nvarchar(255) INOUT Description
@IDSETREGISTERID uniqueidentifier INOUT Constituent selection
@PROSPECTMANAGERFUNDRAISERID uniqueidentifier INOUT Manager for new prospects
@RECORDTYPEID uniqueidentifier INOUT
@PROSPECTPLANNAME nvarchar(100) INOUT Plan name
@PROSPECTPLANTYPECODEID uniqueidentifier INOUT Plan type
@NARRATIVE nvarchar(1000) INOUT Narrative
@PLANOUTLINEID uniqueidentifier INOUT Plan outline
@STARTDATETYPECODE tinyint INOUT Plan start date
@STARTDATE date INOUT
@DAYSBEFOREORAFTER int INOUT
@PRIMARYMANAGERFUNDRAISERID uniqueidentifier INOUT Primary manager
@SECONDARYMANAGERFUNDRAISERID uniqueidentifier INOUT Secondary manager
@SECONDARYFUNDRAISERS xml INOUT Secondary solicitors
@SITES xml INOUT Sites
@OPPORTUNITYTYPECODEID uniqueidentifier INOUT Opportunity type
@EXPECTEDASKAMOUNT money INOUT Expected ask amount
@OPPORTUNITYDESIGNATIONS xml INOUT Designations
@PROSPECTPLANCURRENCYSETID uniqueidentifier INOUT Plan base currency
@OPPORTUNITYTRANSACTIONCURRENCYID uniqueidentifier INOUT Opportunity transaction currency
@OPPORTUNITYSTATUSCODE tinyint INOUT Opportunity status
@PLANSTEPS xml INOUT
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@SITEREQUIRED bit INOUT Site required

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_ADDPROSPECTPLANSPROCESS(
    @ID uniqueidentifier,
    @DATALOADED bit = 0 output,
    @TSLONG bigint = 0 output,
    @NAME nvarchar(100) = null output,
    @DESCRIPTION nvarchar(255) = null output,
    @IDSETREGISTERID uniqueidentifier = null output,
    @PROSPECTMANAGERFUNDRAISERID uniqueidentifier = null output,
    @RECORDTYPEID uniqueidentifier = null output,
    @PROSPECTPLANNAME nvarchar(100) = null output,
    @PROSPECTPLANTYPECODEID uniqueidentifier = null output,
    @NARRATIVE nvarchar(1000) = null output,
    @PLANOUTLINEID uniqueidentifier = null output,
    @STARTDATETYPECODE tinyint = null output,
    @STARTDATE date = null output,
    @DAYSBEFOREORAFTER int = null output,
    @PRIMARYMANAGERFUNDRAISERID uniqueidentifier = null output,
    @SECONDARYMANAGERFUNDRAISERID uniqueidentifier = null output,
    @SECONDARYFUNDRAISERS xml = null output,
    @SITES xml = null output,
    @OPPORTUNITYTYPECODEID uniqueidentifier = null output,
    @EXPECTEDASKAMOUNT money = null output,
    @OPPORTUNITYDESIGNATIONS xml = null output,
    @PROSPECTPLANCURRENCYSETID uniqueidentifier = null output,
    @OPPORTUNITYTRANSACTIONCURRENCYID uniqueidentifier = null output,
    @OPPORTUNITYSTATUSCODE tinyint = null output,
    @PLANSTEPS xml = null output,
    @CURRENTAPPUSERID uniqueidentifier = null,
    @SITEREQUIRED bit = null output
)
as

    set nocount on;

    set @DATALOADED = 0
    set @TSLONG = 0

    declare @DESIGNATIONTSLONG bigint = 0

    select
        @DATALOADED = 1,
        @TSLONG = TSLONG,
        @NAME = NAME,
        @DESCRIPTION = DESCRIPTION,
        @IDSETREGISTERID = IDSETREGISTERID,
        @PROSPECTMANAGERFUNDRAISERID = PROSPECTMANAGERFUNDRAISERID,
        @PROSPECTPLANNAME = PROSPECTPLANNAME,
        @PROSPECTPLANTYPECODEID = PROSPECTPLANTYPECODEID,
        @NARRATIVE = NARRATIVE,
    --this value is no longer stored in the DB; it's for adding steps on the fly

        --@PLANOUTLINEID = PLANOUTLINEID,

        @STARTDATETYPECODE = STARTDATETYPECODE,
        @STARTDATE = STARTDATE,
        @DAYSBEFOREORAFTER = case when STARTDATETYPECODE in(2,3) then DAYSBEFOREORAFTER else 1 end,
        @PRIMARYMANAGERFUNDRAISERID = PRIMARYMANAGERFUNDRAISERID,
        @SECONDARYMANAGERFUNDRAISERID = SECONDARYMANAGERFUNDRAISERID,
        @SECONDARYFUNDRAISERS = dbo.UFN_ADDPROSPECTPLANSPROCESS_SECONDARYFUNDRAISERS_TOITEMLISTXML(@ID),
        @SITES = dbo.UFN_ADDPROSPECTPLANSPROCESS_SITES_TOITEMLISTXML(@ID),
        @OPPORTUNITYTYPECODEID = OPPORTUNITYTYPECODEID,
        @EXPECTEDASKAMOUNT = EXPECTEDASKAMOUNT,
        @OPPORTUNITYDESIGNATIONS = dbo.UFN_ADDPROSPECTPLANSPROCESS_OPPORTUNITYDESIGNATIONS_2_TOITEMLISTXML(@ID),
        @PROSPECTPLANCURRENCYSETID = PROSPECTPLANCURRENCYSETID,
        @OPPORTUNITYTRANSACTIONCURRENCYID = OPPORTUNITYTRANSACTIONCURRENCYID,
        @OPPORTUNITYSTATUSCODE = OPPORTUNITYSTATUSCODE,
        @SITEREQUIRED = dbo.UFN_SITEREQUIREDFORUSER(@CURRENTAPPUSERID),
        @PLANSTEPS = PLANSTEPS,
        @DESIGNATIONTSLONG = coalesce((select max(TSLONG) from dbo.ADDPROSPECTPLANSPROCESSOPPORTUNITYDESIGNATION where ADDPROSPECTPLANSPROCESSID = @ID), 0)


    from dbo.ADDPROSPECTPLANSPROCESS
    where ID = @ID;

    select @RECORDTYPEID = ID
    from dbo.RECORDTYPE 
    where NAME = 'Constituent';

    if @DESIGNATIONTSLONG > @TSLONG
        set @TSLONG = @DESIGNATIONTSLONG;

    return 0;