USP_DATAFORMTEMPLATE_ADD_ASSIGNPLANNEDGIFTLETTERCODESPROCESS_2

The save procedure used by the add dataform template "Assign Planned Gift Letters Process Add Form 2".

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.
@NAME nvarchar(100) IN Name
@DESCRIPTION nvarchar(255) IN Description
@IDSETREGISTERID uniqueidentifier IN Selection
@PLANNEDGIFTLETTERCODES xml IN
@CREATEOUTPUTIDSET bit IN Create output selection
@OUTPUTIDSETNAME nvarchar(100) IN Selection name
@OVERWRITEOUTPUTIDSET bit IN Overwrite existing selection
@ASSIGNALLLETTERCODES bit IN Assign all letter codes
@USEDATEFILTER bit IN Only consider planned gifts added since last run
@OUTPUTIDSETRECORDTYPEID uniqueidentifier IN Selection type
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@SITEID uniqueidentifier IN Site

Definition

Copy


          CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_ASSIGNPLANNEDGIFTLETTERCODESPROCESS_2
          (
            @ID uniqueidentifier = null output,                        
            @CHANGEAGENTID uniqueidentifier = null,    
            @NAME nvarchar(100), 
            @DESCRIPTION nvarchar(255) = null
            @IDSETREGISTERID uniqueidentifier = null,
            @PLANNEDGIFTLETTERCODES xml = null,
            @CREATEOUTPUTIDSET bit = 0,
            @OUTPUTIDSETNAME nvarchar(100) = null
            @OVERWRITEOUTPUTIDSET bit = 0,
            @ASSIGNALLLETTERCODES bit = 1,
            @USEDATEFILTER bit = null,
            @OUTPUTIDSETRECORDTYPEID uniqueidentifier = null,
            @CURRENTAPPUSERID uniqueidentifier,
            @SITEID uniqueidentifier = null
          )
          as
            set nocount on;

            declare @CURRENTDATE datetime;
            set @CURRENTDATE = getdate();

            begin try
              if (@SITEID is not null
              begin
                if dbo.UFN_SITEALLOWEDFORUSER(@CURRENTAPPUSERID, @SITEID) = 0 begin
                  raiserror ('ERR_SITE_NOACCESS',13,1);
                  return 1;
                end
              end

              if @ID is null
                set @ID = NewID();

              if @CHANGEAGENTID is null  
                exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

              if @ASSIGNALLLETTERCODES = 0
                if (select count(*) from dbo.UFN_ASSIGNPLANNEDGIFTLETTERCODESPROCESS_GETLETTERCODES_FROMITEMLISTXML(@PLANNEDGIFTLETTERCODES)) = 0
                  raiserror('Please enter at least one letter code.', 13, 1);

              insert into dbo.ASSIGNPLANNEDGIFTLETTERCODESPROCESS
                (ID,NAME,DESCRIPTION,IDSETREGISTERID,CREATEOUTPUTIDSET,OUTPUTIDSETRECORDTYPEID,OUTPUTIDSETNAME,OVERWRITEOUTPUTIDSET,ASSIGNALLLETTERCODES,USEDATEFILTER,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
              values
                (@ID,@NAME,@DESCRIPTION,@IDSETREGISTERID,@CREATEOUTPUTIDSET,@OUTPUTIDSETRECORDTYPEID,@OUTPUTIDSETNAME,@OVERWRITEOUTPUTIDSET,@ASSIGNALLLETTERCODES,@USEDATEFILTER,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE);

              exec dbo.USP_BUSINESSPROCESSINSTANCE_ADD @CHANGEAGENTID = @CHANGEAGENTID
                                  @BUSINESSPROCESSCATALOGID = '37910A93-C849-4B83-8664-BB22BD12EAFC'
                                  @BUSINESSPROCESSPARAMETERSETID = @ID
                                  @OWNERID = @CURRENTAPPUSERID, @SITEID = @SITEID;

              if @ASSIGNALLLETTERCODES = 0
                exec dbo.USP_ASSIGNPLANNEDGIFTLETTERCODESPROCESS_GETLETTERCODES_UPDATEFROMXML @ID, @PLANNEDGIFTLETTERCODES, @CHANGEAGENTID, @CURRENTDATE;

            end try

            begin catch
              exec dbo.USP_RAISE_ERROR;
              return 1;
            end catch

            return 0;