USP_DATAFORMTEMPLATE_ADD_ASSIGNLETTERCODESPROCESS_2

The save procedure used by the add dataform template "Assign 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
@LETTERCODES xml IN
@CREATEOUTPUTIDSET bit IN Create selection from results
@OUTPUTIDSETNAME nvarchar(100) IN Selection name
@OVERWRITEOUTPUTIDSET bit IN Overwrite existing Selection
@ASSIGNALLLETTERCODES bit IN Assign all letters
@USEDATEFILTER bit IN Only consider revenue or recognition credit added since last run
@OUTPUTIDSETRECORDTYPEID uniqueidentifier IN Selection type
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@INCLUDEDONORASACKNOWLEDGEE bit IN Include donor
@INCLUDERECOGNITIONRECIPIENTSASACKNOWLEDGEE bit IN Include recognition recipients
@SITEID uniqueidentifier IN Site

Definition

Copy


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

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

                        if coalesce(@INCLUDEDONORASACKNOWLEDGEE, 0) = 0 and 
                            coalesce(@INCLUDERECOGNITIONRECIPIENTSASACKNOWLEDGEE, 0) = 0
                        begin
                            raiserror('MUST_INCLUDE_ACKNOWLEDGEES', 13, 1)
                            return 1
                        end

                        begin try
                            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_ASSIGNLETTERCODESPROCESS_GETLETTERCODES_FROMITEMLISTXML(@LETTERCODES)) = 0
                                    raiserror('Please enter at least one letter.', 13, 1);

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

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

                            if @ASSIGNALLLETTERCODES = 0
                                exec dbo.USP_ASSIGNLETTERCODESPROCESS_GETLETTERCODES_UPDATEFROMXML @ID, @LETTERCODES, @CHANGEAGENTID, @CURRENTDATE;

                            exec dbo.USP_BUSINESSPROCESSINSTANCE_ADD @CHANGEAGENTID = @CHANGEAGENTID
                                                                    @BUSINESSPROCESSCATALOGID = 'a3a2d937-b5ff-4b2e-8a1b-640f895c2183'
                                                                    @BUSINESSPROCESSPARAMETERSETID = @ID
                                                                    @OWNERID = @CURRENTAPPUSERID, @SITEID = @SITEID;
                        end try

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

                        return 0;