USP_BUSINESSPROCESSSTATUS_SAVELABELTEMPLATE

Parameters

Parameter Parameter Type Mode Description
@WORDTEMPLATETABLENAME nvarchar(255) IN
@WORDTEMPLATECOLUMNNAME nvarchar(255) IN
@WORDTEMPLATEID uniqueidentifier IN
@STATUSID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy

            create proc dbo.USP_BUSINESSPROCESSSTATUS_SAVELABELTEMPLATE
                    @WORDTEMPLATETABLENAME nvarchar(255),
                    @WORDTEMPLATECOLUMNNAME nvarchar(255),
                    @WORDTEMPLATEID uniqueidentifier,
                    @STATUSID uniqueidentifier, 
                    @CHANGEAGENTID uniqueidentifier
            with execute as caller
            as
                set nocount on;
                declare @FILE varbinary(max);
                declare @SQL nvarchar(1024);

                declare @EXISTS bit;
                set @EXISTS = 0;

                set @SQL = 'if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME=@TABLENAME) set @DYN_EXISTS = 1;';
                exec sp_executesql @SQL, N'@TABLENAME nvarchar(255), @DYN_EXISTS bit output', @TABLENAME = @WORDTEMPLATETABLENAME, @DYN_EXISTS = @EXISTS output;
                if @EXISTS = 0 
                    begin
                        raiserror(N'%s is not a valid table name.', 16, 1, @WORDTEMPLATETABLENAME);
                        return 1;
                    end

                set @EXISTS = 0;
                set @SQL = 'if exists (select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME=@TABLENAME and COLUMN_NAME=@COLUMNNAME) set @DYN_EXISTS = 1;';
                exec sp_executesql @SQL, N'@TABLENAME nvarchar(255), @COLUMNNAME nvarchar(255), @DYN_EXISTS bit output', @TABLENAME = @WORDTEMPLATETABLENAME, @COLUMNNAME = @WORDTEMPLATECOLUMNNAME, @DYN_EXISTS = @EXISTS output;
                if @EXISTS = 0 
                    begin
                        raiserror(N'%s is not a valid column name.', 16, 1, @WORDTEMPLATECOLUMNNAME);
                        return 1;
                    end

                set @SQL = 'select @DYN_FILE = [' + @WORDTEMPLATECOLUMNNAME + '] from ' + @WORDTEMPLATETABLENAME + ' where ID = @DYN_WORDTEMPLATEID;'
                exec sp_executesql @SQL, N'@DYN_WORDTEMPLATEID uniqueidentifier, @DYN_FILE varbinary(max) output',
                                            @DYN_WORDTEMPLATEID = @WORDTEMPLATEID,
                                            @DYN_FILE = @FILE output;                    

                update dbo.BUSINESSPROCESSSTATUS
                    set LABELTEMPLATE = @FILE, DATECHANGED = getdate(), CHANGEDBYID = @CHANGEAGENTID
                    where ID = @STATUSID;