Reports Data Fetching & Traversing in Apex
At times when working with clients and prioritizing reports, there are instances when business dynamics demands for reports data fetching & traversing in apex for a particular data or say set of data. This article intends to educate the readers on how to fetch reports data in apex and project them on a custom vf page.
We want to make functionality which fetches reports data in apex and traverses data and makes a list out of them and shows on an vf page.
4 easy steps for reports data fetching & traversing in apex
In this tutorial, we will guide you how to fetch metadata reports with the help of Metadata api. Keep scrolling to discover the steps involved-
Step 1 : Create Metadata service class in org.
To create a Metadata service class in org., you will require the supporting code. You can either create your own code or click here for a reference.
Step 2 : Use metadata service class for fetching Reports metadata.
Copy the code to use the metadata service class to fetch reports metadata.
| /* code block for checking base object of report’s reportType in apex */ MetadataService.MetadataPort service = new MetadataService.MetadataPort(); service.SessionHeader = new MetadataService.SessionHeader_element(); service.SessionHeader.sessionId = UserInfo.getSessionId();MetadataService.IReadResult res = service.readMetadata(‘Report’, **reportNames__Here**); for (MetadataService.Metadata md: res.getRecords()) {MetadataService.ReportType mdReport = (MetadataService.ReportType) md;System.debug(‘@@@ reportType: ‘ + mdReport.reportType);} MetadataService.IReadResult reportType = service.readMetadata(‘ReportType’, **reportTypeNames__Here**); for (MetadataService.Metadata md: reportType .getRecords()) {MetadataService.ReportType mdReport = (MetadataService.ReportType) md;System.debug(‘@@@ reportType base object: ‘ + mdReport.baseObject);} |
Step 3 :- Getting Reports data in apex.
Here we will fetch the entire report in apex and make a list of Id’s to query this data using SOQL.
| List |
Step 4 :- Create a vf page showing a list of data fetched from the report.
Using the code stated below will help you to execute the final step and create the vf page.
These were the basic steps for reports data fetching & traversing in apex in a systematic order, you will be able to fetch the report with the data arranged in a chronological order. Visit our other blogs to learn more about services or contact us for innovating/managing your personalized business solutions.