Click or drag to resize
IQMSGetReports Method
Retrieves reports defined within a document.

Namespace: PIX.Services.V12
Assembly: 
Syntax
IEnumerable<Report> GetReports(
	QDSDocumentSession session
)

Parameters

session
Type: PIX.QMSAPI.DataObjectsQDSDocumentSession
The session to be used.

Return Value

Type: IEnumerableReport
A list of reports defined within the document referred to by the session..
Remarks
This method can be used when creating a document task which distributes PDF reports.
Security note Security Note

Requires membership of local group QlikView Management API and the role Document Folder Administrator.

Examples
This example retrieves the reports within a document.

The service key injection is assumed to be handled behind the scenes. For an example of how to inject the service key, see Samples.

C#
using System;
using System.Collections.Generic;
using System.Linq;
using QMSAPI;

class Program
{
    static void Main(string[] args)
    {
        try
        {
            // create a QMS API client
            IQMS apiClient = new QMSClient();

            //retrieve a time limited service key
            ServiceKeyClientMessageInspector.ServiceKey = apiClient.GetTimeLimitedServiceKey();

            ServiceInfo serviceInfo = apiClient.GetServices(ServiceTypes.QlikViewDistributionService).FirstOrDefault();
            if (serviceInfo != null)
            {
                QDSDocumentSessionConfiguration sessionConfig = new QDSDocumentSessionConfiguration();

                sessionConfig.QDSID = serviceInfo.ID;
                sessionConfig.FilePath = @"C:\ProgramData\QlikTech\SourceDocuments\Sales.qvw";

                QDSDocumentSession documentSession = apiClient.CreateSession(sessionConfig);

                if (documentSession != null && documentSession.OpenDocumentResult == DocumentState.OpenedSuccessfully)
                {                    
                    List<Report> reports = apiClient.GetReports(documentSession);
                    reports.ForEach(r=>Console.WriteLine(string.Format("{0} {1}",r.ID, r.Name)));
                    apiClient.CloseSession(documentSession);
                }
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine("An exception occurred: " + ex.Message);
        }
        // wait for user to press any key
        Console.ReadLine();
    }
}
See Also