USP_DATAFORMTEMPLATE_ADD_ADDPROSPECTPLANSPROCESS
The save procedure used by the add dataform template "Add Prospect Plans Process Add Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | The output parameter indicating the ID of the record added. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@NAME | nvarchar(100) | IN | Name |
@DESCRIPTION | nvarchar(255) | IN | Description |
@IDSETREGISTERID | uniqueidentifier | IN | Constituent selection |
@PROSPECTMANAGERFUNDRAISERID | uniqueidentifier | IN | Manager for new prospects |
@PROSPECTPLANNAME | nvarchar(100) | IN | Plan name |
@PROSPECTPLANTYPECODEID | uniqueidentifier | IN | Plan type |
@NARRATIVE | nvarchar(1000) | IN | Narrative |
@PLANOUTLINEID | uniqueidentifier | IN | Plan outline |
@STARTDATETYPECODE | tinyint | IN | Plan start date |
@STARTDATE | date | IN | |
@DAYSBEFOREORAFTER | int | IN | |
@PRIMARYMANAGERFUNDRAISERID | uniqueidentifier | IN | Primary manager |
@SECONDARYMANAGERFUNDRAISERID | uniqueidentifier | IN | Secondary manager |
@SECONDARYFUNDRAISERS | xml | IN | Secondary solicitors |
@SITES | xml | IN | Sites |
@OPPORTUNITYTYPECODEID | uniqueidentifier | IN | Opportunity type |
@EXPECTEDASKAMOUNT | money | IN | Expected ask amount |
@OPPORTUNITYDESIGNATIONS | xml | IN | Designations |
@PROSPECTPLANCURRENCYSETID | uniqueidentifier | IN | Plan base currency |
@OPPORTUNITYTRANSACTIONCURRENCYID | uniqueidentifier | IN | Opportunity transaction currency |
@OPPORTUNITYSTATUSCODE | tinyint | IN | Opportunity status |
@PLANSTEPS | xml | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_ADDPROSPECTPLANSPROCESS
(
@ID uniqueidentifier = null output,
@CHANGEAGENTID uniqueidentifier = null,
@CURRENTAPPUSERID uniqueidentifier = null,
@NAME nvarchar(100) = null,
@DESCRIPTION nvarchar(255) = null,
@IDSETREGISTERID uniqueidentifier = null,
@PROSPECTMANAGERFUNDRAISERID uniqueidentifier = null,
@PROSPECTPLANNAME nvarchar(100) = null,
@PROSPECTPLANTYPECODEID uniqueidentifier = null,
@NARRATIVE nvarchar(1000) = null,
@PLANOUTLINEID uniqueidentifier = null,
@STARTDATETYPECODE tinyint = 0,
@STARTDATE date = null,
@DAYSBEFOREORAFTER int = 1,
@PRIMARYMANAGERFUNDRAISERID uniqueidentifier = null,
@SECONDARYMANAGERFUNDRAISERID uniqueidentifier = null,
@SECONDARYFUNDRAISERS xml = null,
@SITES xml = null,
@OPPORTUNITYTYPECODEID uniqueidentifier = null,
@EXPECTEDASKAMOUNT money = 0,
@OPPORTUNITYDESIGNATIONS xml = null,
@PROSPECTPLANCURRENCYSETID uniqueidentifier = null,
@OPPORTUNITYTRANSACTIONCURRENCYID uniqueidentifier = null,
@OPPORTUNITYSTATUSCODE tinyint = 0,
@PLANSTEPS xml = null
)
as
set nocount on;
if @ID is null
set @ID = newid()
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
declare @CREATEOPPORTUNITIES bit
declare @OPPORTUNITYDESIGNATIONCOUNT int
select @OPPORTUNITYDESIGNATIONCOUNT=COUNT(*) FROM @OPPORTUNITYDESIGNATIONS.nodes('/DESIGNATION/ITEM') T(c)
if (@EXPECTEDASKAMOUNT > 0) or (@OPPORTUNITYDESIGNATIONCOUNT > 1)
set @CREATEOPPORTUNITIES = 1
else
set @CREATEOPPORTUNITIES = 0
begin try
exec dbo.USP_OPPORTUNITY_VALIDATEDESIGNATIONS @OPPORTUNITYDESIGNATIONS;
insert into dbo.ADDPROSPECTPLANSPROCESS
(ID,
NAME,
DESCRIPTION,
IDSETREGISTERID,
PROSPECTMANAGERFUNDRAISERID,
PROSPECTPLANNAME,
PROSPECTPLANTYPECODEID,
NARRATIVE,
--this value is no longer stored in the DB; it's for adding steps on the fly
--PLANOUTLINEID,
STARTDATETYPECODE,
STARTDATE,
DAYSBEFOREORAFTER,
PRIMARYMANAGERFUNDRAISERID,
SECONDARYMANAGERFUNDRAISERID,
CREATEOPPORTUNITIES,
OPPORTUNITYTYPECODEID,
EXPECTEDASKAMOUNT,
PROSPECTPLANCURRENCYSETID,
OPPORTUNITYTRANSACTIONCURRENCYID,
OPPORTUNITYSTATUSCODE,
ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED, PLANSTEPS)
values
(@ID,
@NAME,
@DESCRIPTION,
@IDSETREGISTERID,
@PROSPECTMANAGERFUNDRAISERID,
@PROSPECTPLANNAME,
@PROSPECTPLANTYPECODEID,
@NARRATIVE,
--@PLANOUTLINEID,
@STARTDATETYPECODE,
case @STARTDATETYPECODE when 1 then @STARTDATE end,
case when @STARTDATETYPECODE in (2,3) then @DAYSBEFOREORAFTER else 0 end,
@PRIMARYMANAGERFUNDRAISERID,
@SECONDARYMANAGERFUNDRAISERID,
@CREATEOPPORTUNITIES,
@OPPORTUNITYTYPECODEID,
@EXPECTEDASKAMOUNT,
@PROSPECTPLANCURRENCYSETID,
@OPPORTUNITYTRANSACTIONCURRENCYID,
@OPPORTUNITYSTATUSCODE,
@CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE, @PLANSTEPS)
exec dbo.USP_ADDPROSPECTPLANSPROCESS_SECONDARYFUNDRAISERS_ADDFROMXML @ID, @SECONDARYFUNDRAISERS, @CHANGEAGENTID, @CURRENTDATE;
exec dbo.USP_ADDPROSPECTPLANSPROCESS_SITES_ADDFROMXML @ID, @SITES, @CHANGEAGENTID, @CURRENTDATE;
exec dbo.USP_ADDPROSPECTPLANSPROCESS_OPPORTUNITYDESIGNATIONS_2_ADDFROMXML @ID, @OPPORTUNITYDESIGNATIONS, @CHANGEAGENTID, @CURRENTDATE;
exec dbo.USP_BUSINESSPROCESSINSTANCE_ADD
@CHANGEAGENTID = @CHANGEAGENTID,
@BUSINESSPROCESSCATALOGID = '59ba0c29-3410-4c65-adf8-25242a005ebc',
@BUSINESSPROCESSPARAMETERSETID = @ID,
@OWNERID = @CURRENTAPPUSERID;
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0