USP_DATAFORMTEMPLATE_EDIT_ADDPROSPECTPLANSPROCESS_3
The save 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 indicating the ID of the record being edited. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@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_EDIT_ADDPROSPECTPLANSPROCESS_3 (
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@NAME nvarchar(100),
@DESCRIPTION nvarchar(255),
@IDSETREGISTERID uniqueidentifier,
@PROSPECTMANAGERFUNDRAISERID uniqueidentifier,
@PROSPECTPLANNAME nvarchar(100),
@PROSPECTPLANTYPECODEID uniqueidentifier,
@NARRATIVE nvarchar(1000),
@PLANOUTLINEID uniqueidentifier,
@STARTDATETYPECODE tinyint,
@STARTDATE date,
@DAYSBEFOREORAFTER int,
@PRIMARYMANAGERFUNDRAISERID uniqueidentifier,
@SECONDARYMANAGERFUNDRAISERID uniqueidentifier,
@SECONDARYFUNDRAISERS xml,
@SITES xml,
@OPPORTUNITYTYPECODEID uniqueidentifier,
@EXPECTEDASKAMOUNT money,
@OPPORTUNITYDESIGNATIONS xml,
@PROSPECTPLANCURRENCYSETID uniqueidentifier,
@OPPORTUNITYTRANSACTIONCURRENCYID uniqueidentifier,
@OPPORTUNITYSTATUSCODE tinyint,
@PLANSTEPS xml
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
declare @CREATEOPPORTUNITIES bit
declare @OPPORTUNITYDESIGNATIONCOUNT int
--JamesWill 2011-04-15 Apply fix for 128750 to the edit form as well as the add form.
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;
update dbo.ADDPROSPECTPLANSPROCESS set
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 = case @STARTDATETYPECODE when 1 then @STARTDATE end,
DAYSBEFOREORAFTER = case when @STARTDATETYPECODE in (2,3) then @DAYSBEFOREORAFTER else 0 end,
PRIMARYMANAGERFUNDRAISERID = @PRIMARYMANAGERFUNDRAISERID,
SECONDARYMANAGERFUNDRAISERID = @SECONDARYMANAGERFUNDRAISERID,
CREATEOPPORTUNITIES = @CREATEOPPORTUNITIES,
OPPORTUNITYTYPECODEID = @OPPORTUNITYTYPECODEID,
EXPECTEDASKAMOUNT = @EXPECTEDASKAMOUNT,
PROSPECTPLANCURRENCYSETID = @PROSPECTPLANCURRENCYSETID,
OPPORTUNITYTRANSACTIONCURRENCYID = @OPPORTUNITYTRANSACTIONCURRENCYID,
OPPORTUNITYSTATUSCODE = @OPPORTUNITYSTATUSCODE,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE,
PLANSTEPS = @PLANSTEPS
where ID = @ID;
exec dbo.USP_ADDPROSPECTPLANSPROCESS_SECONDARYFUNDRAISERS_UPDATEFROMXML @ID, @SECONDARYFUNDRAISERS, @CHANGEAGENTID, @CURRENTDATE;
exec dbo.USP_ADDPROSPECTPLANSPROCESS_SITES_UPDATEFROMXML @ID, @SITES, @CHANGEAGENTID, @CURRENTDATE;
exec dbo.USP_ADDPROSPECTPLANSPROCESS_OPPORTUNITYDESIGNATIONS_UPDATEFROMXML_ALWAYSADD @ID, @OPPORTUNITYDESIGNATIONS, @CHANGEAGENTID, @CURRENTDATE;
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0;