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;