USP_BUSINESSPROCESSOUTPUTLETTERTEMPLATE_DATALIST_2
Displays a list of letter templates associated with a business process output.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@BUSINESSPROCESSSTATUSID | uniqueidentifier | IN | Business process status ID |
@BUSINESSPROCESSOUTPUTTABLEKEY | nvarchar(255) | IN | Table key |
Definition
Copy
CREATE procedure dbo.[USP_BUSINESSPROCESSOUTPUTLETTERTEMPLATE_DATALIST_2]
(
@BUSINESSPROCESSSTATUSID uniqueidentifier,
@BUSINESSPROCESSOUTPUTTABLEKEY nvarchar(255)
)
with execute as owner
as
set nocount on;
declare @ID uniqueidentifier;
declare @WORDTEMPLATEID uniqueidentifier;
declare @OUTPUTTABLE nvarchar(128);
declare @SQL nvarchar(max);
declare @RECORDS integer;
declare @TEMPLATES table ([ID] uniqueidentifier, [WORDTEMPLATEID] uniqueidentifier, [LETTERTEMPLATENAME] nvarchar(255), [RECORDS] integer);
create table #TEMPLETTERTEMPLATEDATA([ID] uniqueidentifier, [WORDTEMPLATEID] uniqueidentifier, [LETTERTEMPLATENAME] nvarchar(255), [RECORDS] integer,[LETTERTEMPLATE] varbinary(max))
insert into #TEMPLETTERTEMPLATEDATA
(
[ID],
[WORDTEMPLATEID],
[LETTERTEMPLATENAME],
[LETTERTEMPLATE]
)
select
[ID],
[WORDTEMPLATEID],
[LETTERTEMPLATENAME],
[LETTERTEMPLATE]
from dbo.[BUSINESSPROCESSOUTPUTTEMPLATE]
where [BUSINESSPROCESSSTATUSID] = @BUSINESSPROCESSSTATUSID and
[BUSINESSPROCESSOUTPUTTABLEKEY] = @BUSINESSPROCESSOUTPUTTABLEKEY
insert into @TEMPLATES
(
[ID],
[WORDTEMPLATEID],
[LETTERTEMPLATENAME]
)
select
[ID],
[WORDTEMPLATEID],
[LETTERTEMPLATENAME]
from #TEMPLETTERTEMPLATEDATA
where LETTERTEMPLATE is not null
select @OUTPUTTABLE = [TABLENAME] from dbo.[BUSINESSPROCESSOUTPUT] where [BUSINESSPROCESSSTATUSID] = @BUSINESSPROCESSSTATUSID and [TABLEKEY] = @BUSINESSPROCESSOUTPUTTABLEKEY;
set @SQL = 'select @RECORDS = count(*) from dbo.[' + @OUTPUTTABLE + '] where [WORDTEMPLATEID] = @WORDTEMPLATEID;';
declare TEMP cursor local fast_forward for
select [ID], [WORDTEMPLATEID] from @TEMPLATES;
open TEMP;
fetch next from TEMP into @ID, @WORDTEMPLATEID;
while (@@FETCH_STATUS = 0)
begin
exec sp_executesql @SQL, N'@RECORDS integer output, @WORDTEMPLATEID uniqueidentifier', @RECORDS = @RECORDS output, @WORDTEMPLATEID = @WORDTEMPLATEID;
update @TEMPLATES set [RECORDS] = @RECORDS where [ID] = @ID;
fetch next from TEMP into @ID, @WORDTEMPLATEID;
end
close TEMP;
deallocate TEMP;
select
[ID],
[WORDTEMPLATEID],
[LETTERTEMPLATENAME],
[RECORDS]
from @TEMPLATES
order by [LETTERTEMPLATENAME];
IF OBJECT_ID('tempdb..#TEMPLETTERTEMPLATEDATA') IS NOT NULL drop table #TEMPLETTERTEMPLATEDATA
return 0;