USP_DATALIST_GETLIST

Lists data lists from the catalog.

Parameters

Parameter Parameter Type Mode Description
@FilterRecordType nvarchar(50) IN
@FilterNavigationSpecsOnly bit IN
@MaxRows int IN

Definition

Copy


CREATE procedure [dbo].[USP_DATALIST_GETLIST]
(
  @FilterRecordType nvarchar(50) = '',
  @FilterNavigationSpecsOnly bit = 0,
  @MaxRows int = 0
)
as
    set nocount on;

    if (@FilterNavigationSpecsOnly = 1)
        with XMLNAMESPACES ('bb_appfx_datalist' as c)
        select
            DATALISTCATALOG.ID, DATALISTCATALOG.NAME, DATALISTCATALOG.DESCRIPTION, COALESCE(RECORDTYPE.NAME, '') as 'RECORDTYPE', DATALISTCATALOG.UINAME
        from
            dbo.DATALISTCATALOG
            left outer join dbo.RECORDTYPE on DATALISTCATALOG.RECORDTYPEID = RECORDTYPE.ID
        where
            ((@FilterRecordType = '') or (RECORDTYPE.NAME = @FilterRecordType)) and
            ((DATALISTCATALOG.DATALISTSPEC.exist('/c:DataListSpec/c:Output/c:OutputFields/c:OutputField[upper-case(@FieldID)="CAPTION"]') = 1) and
            ((DATALISTCATALOG.DATALISTSPEC.exist('/c:DataListSpec/c:Output/c:OutputFields/c:OutputField[upper-case(@FieldID)="URL"]') = 1) or
            ((DATALISTCATALOG.DATALISTSPEC.exist('/c:DataListSpec/c:Output/c:OutputFields/c:OutputField[upper-case(@FieldID)="PAGEID"]') = 1) and
            (DATALISTCATALOG.DATALISTSPEC.exist('/c:DataListSpec/c:Output/c:OutputFields/c:OutputField[upper-case(@FieldID)="CONTEXTID"]') = 1))))
        order by
            DATALISTCATALOG.UINAME;
    else
        if (@MaxRows > 0)
        select top (@MaxRows)  
            DATALISTCATALOG.ID, DATALISTCATALOG.NAME, DATALISTCATALOG.DESCRIPTION, COALESCE(RECORDTYPE.NAME, '') as 'RECORDTYPE', DATALISTCATALOG.UINAME
        from  
            dbo.DATALISTCATALOG  
            left outer join dbo.RECORDTYPE on DATALISTCATALOG.RECORDTYPEID = RECORDTYPE.ID
        where
            ((@FilterRecordType = '') or (RECORDTYPE.NAME = @FilterRecordType))
        order by
            DATALISTCATALOG.UINAME;
    else
        select
            DATALISTCATALOG.ID, DATALISTCATALOG.NAME, DATALISTCATALOG.DESCRIPTION, COALESCE(RECORDTYPE.NAME, '') as 'RECORDTYPE', DATALISTCATALOG.UINAME
        from  
            dbo.DATALISTCATALOG  
            left outer join dbo.RECORDTYPE on DATALISTCATALOG.RECORDTYPEID = RECORDTYPE.ID
        where  
            ((@FilterRecordType = '') or (RECORDTYPE.NAME = @FilterRecordType))
        order by
         DATALISTCATALOG.UINAME;

    return 0;