USP_DATAFORMTEMPLATE_ADD_MOBILE_STEWARDSHIPPLANCOMPLETEDSTEPS
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@STEWARDSHIPPLANID | uniqueidentifier | IN | |
@ID | uniqueidentifier | INOUT | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@STEPS | xml | IN |
Definition
Copy
create procedure dbo.USP_DATAFORMTEMPLATE_ADD_MOBILE_STEWARDSHIPPLANCOMPLETEDSTEPS
(
@STEWARDSHIPPLANID uniqueidentifier,
@ID uniqueidentifier output,
@CHANGEAGENTID uniqueidentifier = null,
@STEPS xml = null
) as begin
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @CHANGEDATE datetime;
set @CHANGEDATE = getdate();
begin try
if (select count(*) from dbo.UFN_STEWARDSHIPPLAN_STEPSWITHCHILDREN_FROMITEMLISTXML(@STEPS)) = 0
raiserror('BB_ERR_ZEROROWCOUNT',13,1)
set @STEPS=(
select
-- Set the ID to a value known in this SP so the additional fundraisers can be inserted/updated as well
newID() as ID,
@STEWARDSHIPPLANID as PLANID,
CATEGORYCODEID,
OBJECTIVE,
ACTUALDATE as TARGETDATE,
DATELOCKED,
ACTUALDATE,
ACTUALDATE as STARTDATE,
ENDDATE,
CONTACTMETHODCODEID,
CONSTITUENTID,
case when ASSOCIATEDPLANS is null then null else ASSOCIATEDPLANS.query('(ASSOCIATEDPLANS/ITEM)') end as ASSOCIATEDPLANS,
coalesce(TEMPLATE, '') as TEMPLATE,
RECURSCODE,
1 as STATUSCODE,
NEXTTARGETDATE,
coalesce(ACTUALSTARTTIME, '') as ACTUALSTARTTIME,
coalesce(ACTUALENDTIME, '') as ACTUALENDTIME,
case when LINKTYPECODE is null or LINKTYPECODE = 0 then BENEFITID else null end as BENEFITID,
case when LINKTYPECODE is null or LINKTYPECODE = 1 then EVENTID else null end as EVENTID,
case when LINKTYPECODE is null or LINKTYPECODE = 2 then MAILINGID else null end as MAILINGID,
case when STEPPARTICIPANTS is null then null else STEPPARTICIPANTS.query('(STEPPARTICIPANTS/ITEM)') end as STEPPARTICIPANTS,
coalesce(ACTUALSTARTTIME, '') as TARGETSTARTTIME,
coalesce(ACTUALENDTIME, '') as TARGETENDTIME,
TIMEZONEENTRYID,
ISALLDAYEVENT
from
dbo.UFN_STEWARDSHIPPLAN_STEPSWITHCHILDREN_FROMITEMLISTXML(@STEPS)
for xml raw('ITEM'), type, elements, root('STEPS'), binary base64
)
exec dbo.USP_STEWARDSHIPPLAN_STEPSWITHCHILDREN_ADDFROMXML @STEWARDSHIPPLANID, @STEPS, @CHANGEAGENTID, @CHANGEDATE;
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;
end;