USP_DATAFORMTEMPLATE_EDIT_PRINTMEMBERSHIPCARDSPROCESS_4

The save procedure used by the edit dataform template "Print Membership Cards 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
@MEMBERSHIPPROGRAMID uniqueidentifier IN Membership program
@MEMBERSHIPLEVELID uniqueidentifier IN Level
@IDSETREGISTERID uniqueidentifier IN Selection
@MEMBERSHIPCARDFORMAT nvarchar(255) IN Card format to use
@CREATEOUTPUTIDSET bit IN Create constituent selection from results
@OUTPUTIDSETNAME nvarchar(100) IN Selection name
@OVERWRITEOUTPUTIDSET bit IN Overwrite existing selection
@LETTERTEMPLATEID uniqueidentifier IN Letter template to use
@REPORTCATALOGID uniqueidentifier IN Report to use
@LIMITTO int IN
@LIMITMEMBERS bit IN Limit to

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_PRINTMEMBERSHIPCARDSPROCESS_4
                    (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @NAME nvarchar(100),
                        @DESCRIPTION nvarchar(255),
                        @MEMBERSHIPPROGRAMID uniqueidentifier,
                        @MEMBERSHIPLEVELID uniqueidentifier,
                        @IDSETREGISTERID uniqueidentifier,
                        @MEMBERSHIPCARDFORMAT nvarchar(255),
                        @CREATEOUTPUTIDSET bit,
                        @OUTPUTIDSETNAME nvarchar(100),
                        @OVERWRITEOUTPUTIDSET bit,
                        @LETTERTEMPLATEID uniqueidentifier,
                        @REPORTCATALOGID uniqueidentifier,
                        @LIMITTO int,
                        @LIMITMEMBERS bit
                    )
                    as
                        set nocount on;

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

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

                        if @LIMITMEMBERS = 0
                            set @LIMITTO = 0

                        if (coalesce(@MEMBERSHIPCARDFORMAT, '') <> '') and @LETTERTEMPLATEID is null
                            begin
                                declare @CARDCATALOGID uniqueidentifier

                                select top 1 @CARDCATALOGID = ID from dbo.REPORTCATALOG where NAME = @MEMBERSHIPCARDFORMAT

                                if not @CARDCATALOGID is null
                                    set @REPORTCATALOGID = @CARDCATALOGID                                    
                            end
                        else
                            begin
                                set @REPORTCATALOGID = null
                                set @MEMBERSHIPCARDFORMAT = ''
                            end

                        begin try
                            update
                                dbo.PRINTMEMBERSHIPCARDSPROCESS
                            set
                                [NAME] = @NAME,
                                [DESCRIPTION] = @DESCRIPTION,
                                MEMBERSHIPPROGRAMID = @MEMBERSHIPPROGRAMID,
                                MEMBERSHIPLEVELID = @MEMBERSHIPLEVELID,
                                IDSETREGISTERID = @IDSETREGISTERID,
                                MEMBERSHIPCARDFORMAT = @MEMBERSHIPCARDFORMAT,
                                CREATEOUTPUTIDSET = @CREATEOUTPUTIDSET,
                                OUTPUTIDSETNAME = @OUTPUTIDSETNAME,
                                OVERWRITEOUTPUTIDSET = @OVERWRITEOUTPUTIDSET,
                                LETTERTEMPLATEID = @LETTERTEMPLATEID,
                                REPORTCATALOGID = @REPORTCATALOGID,
                                [LIMITTO] = @LIMITTO,
                                CHANGEDBYID = @CHANGEAGENTID,
                                DATECHANGED = @CURRENTDATE
                            where
                                ID = @ID
                        end try

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

                        return 0;