USP_SIMPLEDATALIST_MEMBERSHIPCARDFORMATLETTERTEMPLATE
Lists all card formats available as SQL reports and Word templates
Definition
Copy
CREATE procedure dbo.USP_SIMPLEDATALIST_MEMBERSHIPCARDFORMATLETTERTEMPLATE as
declare @INSTALLED table (ID uniqueidentifier, NAME nvarchar(100));
insert into @INSTALLED exec dbo.USP_INSTALLEDPRODUCTS_GETLIST
declare @REPORTS table (
ID uniqueidentifier,
LABEL nvarchar(100),
VALUE nvarchar(38)
);
with PRELIMINARY_CTE as (
select
ID,
'0-' + cast(ID as nvarchar(36)) as VALUE,
NAME as LABEL,
REPORTSPECXML
from dbo.REPORTCATALOG
where
convert(nvarchar(255),REPORTSPECXML.query('/*:ReportSpec/*:Folder')) like '%System Reports\Membership\Card Formats%'
)
insert into @REPORTS(ID, VALUE, LABEL)
select distinct
ID,
VALUE,
LABEL
from PRELIMINARY_CTE
cross apply REPORTSPECXML.nodes('/*:ReportSpec/*:InstalledProductList/*:InstalledProduct') as T(C)
where C.value('(./@ID)', 'uniqueidentifier') in (select ID from @INSTALLED)
union all
select
ID,
'1-' + cast(ID as nvarchar(36)) as VALUE,
NAME as LABEL
from dbo.LETTERTEMPLATE
where LETTERTEMPLATETYPECODE = 8
if exists (select 1 from @INSTALLED where ID = 'BB1C17BC-9E0B-4683-B490-EE40D511FA05') -- if Altru
delete from @REPORTS
where ID = '37255d28-6c4b-46c5-a32b-7c39ef35c86d' -- The original 3 per sheet report
select VALUE, LABEL
from @REPORTS
order by LABEL