USP_DATALIST_LINKEDREPORTS

Retrieves all linked reports associated with a base report.

Parameters

Parameter Parameter Type Mode Description
@CONTEXTID uniqueidentifier IN Input parameter indicating the context ID for the data list.
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.

Definition

Copy


CREATE procedure dbo.USP_DATALIST_LINKEDREPORTS
(
    @CONTEXTID uniqueidentifier, @CURRENTAPPUSERID uniqueidentifier
)
as
    set nocount on;

    if dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 Or dbo.UFN_SECURITY_APPUSER_GRANTED_REPORT_IN_SYSTEMROLE(@CURRENTAPPUSERID, @CONTEXTID) = 1
        with XMLNAMESPACES('bb_appfx_report' as rp, 'bb_appfx_commontypes' as ct, 'bb_appfx_task' as t)
        select RC.ID, RC.NAME, RC.DESCRIPTION,
        RC.REPORTSPECXML.value('(/rp:ReportSpec/rp:Folder/node())[1]', 'nvarchar(max)') as FOLDER,
        RC.DATECHANGED,
        cast((case when exists(select top(1) ID 
            from dbo.TASKCATALOG 
            where TASKCATALOG.TASKSPECXML.value('(/t:TaskSpec/ct:ShowReport/@ReportID)[1]', 'uniqueidentifier') = RC.ID)
            then 1
            else 0
            end) as bit) as HASTASK,
    RC.UINAME
        from REPORTCATALOG RC
        where (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or dbo.UFN_SECURITY_APPUSER_GRANTED_REPORT_IN_SYSTEMROLE(@CURRENTAPPUSERID, RC.ID) = 1)
        and RC.REPORTSPECXML.value('(/rp:ReportSpec/rp:LinkedReport/@BaseReportID)[1]', 'uniqueidentifier') = @CONTEXTID
        order by RC.UINAME