0

I was looking to see if I could gather the following highlighted parts from a report programmatically using Apex. These are the headings you would see if you go to the folder where the report is located.

enter image description here

The only part I was able to get was the Created On date from the getStandardFilters() method. Is there any way that I can get the rest of the parts programmatically? Any help is much appreciated. Thanks.

3

Yes. Use the describeReport method in the ReportManager class, then call the getReportExtendedMetadata method on the ReportDescribeResult class, and finally call the getDetailColumnInfo from the ReportExtendedMetadata class. This gives you a Map<String,Reports.DetailColumn> value that contains the various details, including API name and label for each column.

Reports.ReportDescribeResult reportInfo = ReportManager.describeReport(reportId);
Reports.ReportExtendedMetadata reportMeta = reportInfo.getReportExtendedMetadata();
Map<String, Reports.DetailColumn> columnData = reportMeta.getDetailColumnInfo();
for(Reports.DetailColumn column: columnData.values()) {
  System.debug(column.getName());
  System.debug(column.getLabel());
}
2
  • Thanks for your answer, but I already have the information from the columns. The picture in my post are the headings you see when you go to the folder where the report is located. These are the headings (last modified date, last run date, last modified by, etc.) that I wanted to see if I could access programmatically.
    – apexdev
    Jan 14 at 20:18
  • @apexdev Perhaps you're trying to ask about a ListView? I'm not sure if they're applicable to report folders, but that's where'd I start investigating.
    – sfdcfox
    Jan 14 at 20:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.