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;