I am trying to find some answers from few days, but not able to clear them. Can anybody please help me out with it.
A apex class suddenly stopped working.
Apex code -
`
List<Reports.ReportFilter> filList = new List<Reports.ReportFilter>();
fil = new Reports.ReportFilter('Financial_Journal_Line__c.Transaction_Date__c','lessOrEqual',eDate.year()+'-'+eDate.month()+'-'+eDate.day());
fil2 = new Reports.ReportFIlter('Financial_Journal_Line__c.Posted__c','equals','true');
fil3 = new Reports.ReportFIlter('Financial_Journal_Line__c.Financial_Summary__c.Name','equals','');
filList.add(fil);
filList.add(fil2);
filList.add(fil3);
Reports.ReportMetadata meta = new Reports.ReportMetadata();
meta.setReportFilters(filList);
meta.setReportBooleanFilter(booleanFilter);
meta.setHasRecordCount(true);
meta.setAggregates(new List<String>{'s!Financial_Journal_Line__c.Amount__c','s!Financial_Journal_Line__c.Debit__c','s!Financial_Journal_Line__c.Credit__c','RowCount'});
Reports.GroupingInfo gi = new Reports.GroupingInfo();
gi.setName('Financial_Account__c.Id');
gi.setsortOrder(Reports.ColumnSortOrder.ASCENDING);
gi.setDateGranularity(Reports.DateGranularity.NONE);
List<Reports.GroupingInfo> gil = new List<Reports.groupinginfo>();
gil.add(gi);
meta.setGroupingsDown(gil);
meta.setHasDetailRows(true);
meta.setDetailColumns(new List<String>{'Financial_Journal_Line__c.Account_Number__c','Financial_Journal_Line__c.Transaction_Date__c','Financial_Journal_Line__c.Name','Financial_Journal_Line__c.Description__c','Financial_Journal_Line__c.Amount__c','Financial_Journal_Line__c.Debit__c','Financial_Journal_Line__c.Credit__c','Financial_Journal_Line__c.Financial_Summary__c.Id','Financial_Journal_Line__c.Manual_Journal__c','Financial_Journal_Line__c.Chit_Processing__c'});
Reports.ReportManager.runAsyncReport(reportId2, meta, true);
meta.setHasRecordCount(true);
meta.setAggregates(new List<String>{'s!Financial_Summary__c.Actual__c','s!Financial_Summary__c.Debit__c','s!Financial_Summary__c.Credit__c','RowCount'});
Reports.GroupingInfo gi = new Reports.GroupingInfo();
gi.setName('CUST_ID');
gi.setsortOrder(Reports.ColumnSortOrder.ASCENDING);
gi.setDateGranularity(Reports.DateGranularity.NONE);
List<Reports.GroupingInfo> gil = new List<Reports.groupinginfo>();
gil.add(gi);
meta.setGroupingsDown(gil);
meta.setDetailColumns(new List<String>{'Financial_Summary__c.Actual__c','Financial_Account__c.Account_Number__c','Financial_Summary__c.Debit__c','Financial_Summary__c.Credit__c'});
Reports.ReportManager.runAsyncReport(reportId, meta);
`
-------I am getting error in console 'null is not a valid scope' in method runAsyncReport at line 38. Earlier this method was not giving any error.------- This error was not coming earlier as my report was generating but now report is not generating may be because of this error.
and when i remove meta from this method call it runs successfully.
So i am blaming Salesforce Winter '16 release because earlier it was working fine.
Reason after some research-
-> if it uses API Version for upgrade i have not changed API Version?( this class is using Report API so, if my class is of lesser API version then also it will call upgraded Report API? Because I saw release notes of Winter '16 it was mentioned that they changed Report API).
-> or it may not use API version for upgrade i.e it may upgrade automatically with salesforce upgrade?
I am not clear how apex classes upgrades with new version of Salesforce.
Can anybody explain me how our code gets updated with new release of salesforce.
Please answer what you guys know.
runAsyncReport
. Suggest you raise a support case with Salesforce to report it and meanwhile try to figure out what an appropriate value for scope is to work-around the problem.Reports.ReportMetadata
object.