USP_DATAFORMTEMPLATE_ADD_STEWARDSHIPPLANCOMPLETEDSTEPS_GROUPORG

The save procedure used by the add dataform template "Organization or Group Stewardship Plan Completed Steps Add Form".

Parameters

Parameter Parameter Type Mode Description
@STEWARDSHIPPLANID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@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.
@STEPS xml IN

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_STEWARDSHIPPLANCOMPLETEDSTEPS_GROUPORG
(
  @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    

    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,
        CATEGORYCODEID,
        OBJECTIVE,
        ACTUALDATE as TARGETDATE,
        DATELOCKED,
        ACTUALDATE,
        ACTUALDATE as STARTDATE,
        ENDDATE,
        CONTACTPERSONID,
        CONTACTMETHODCODEID,
        CONSTITUENTID,
        ASSOCIATEDPLANS,
        --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;