I have an issue in MR with one report that fails to run saying the "an error occurred while retrieving balances from the source provider" and the following shows in the event viewer:
Log Name: Application
Source: Management Reporter 2012 Services
Date: 1/7/2014 9:59:34 AM
Event ID: 0
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: Computername
Description:bryan
System.InvalidOperationException: Operation is not valid due to the current state of the object.
at Microsoft.Dynamics.Performance.DataProvider.GeneralLedger.DataMart.Data.MultiMap`2.FindValue(Int64 id)
at Microsoft.Dynamics.Performance.DataProvider.GeneralLedger.DataMart.Data.DataMartReader.ReadDimensions()
at Microsoft.Dynamics.Performance.DataProvider.GeneralLedger.DataMart.Data.DataMartAccountBalanceReader.get_AccountCode()
at Microsoft.Dynamics.Performance.Reporting.Engine.Server.GLDataProcessor.CreateAccountDetailKey(PostedGrouping postedGrouping, IGLAccountBalance accountBalance)
at Microsoft.Dynamics.Performance.Reporting.Engine.Server.GLDataProcessor.ProcessOneAccountBalanceRecord(FRxUnitRowIdentifier frxUnitRowIdentifier, IGLDataReader balanceReader, ReportUnitResult unitResult, ReportDetailLevels detailLevel)
at Microsoft.Dynamics.Performance.Reporting.Engine.Server.GLDataProcessor.ProcessOneReaderRecord(FRxUnitRowIdentifier frxUnitRowIdentifier, ReportDetailLevels detailLevel, IGLDataReader balanceReader)
at Microsoft.Dynamics.Performance.Reporting.Engine.Server.GLDataProcessor.ProcessOneReaderRecord(IGLDataReader balanceReader)
at Microsoft.Dynamics.Performance.Reporting.Engine.Server.GLDataProcessor.ProcessOneBalanceRecord(IGLDataReader balanceReader)
at Microsoft.Dynamics.Performance.Reporting.Engine.Server.GLDataProcessor.ProcessOneBalanceReader(IGLDataReader balanceReader)
Event Xml:
<Event xmlns="schemas.microsoft.com/.../event">
<System>
<Provider Name="Management Reporter 2012 Services" />
<EventID Qualifiers="0">0</EventID>
<Level>2</Level>
<Task>0</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2014-01-07T15:59:34.000000000Z" />
<EventRecordID>91283</EventRecordID>
<Channel>Application</Channel>
<Computer>ComputerName</Computer>
<Security />
</System>
<EventData>
<Data>System.InvalidOperationException: Operation is not valid due to the current state of the object.
at Microsoft.Dynamics.Performance.DataProvider.GeneralLedger.DataMart.Data.MultiMap`2.FindValue(Int64 id)
at Microsoft.Dynamics.Performance.DataProvider.GeneralLedger.DataMart.Data.DataMartReader.ReadDimensions()
at Microsoft.Dynamics.Performance.DataProvider.GeneralLedger.DataMart.Data.DataMartAccountBalanceReader.get_AccountCode()
at Microsoft.Dynamics.Performance.Reporting.Engine.Server.GLDataProcessor.CreateAccountDetailKey(PostedGrouping postedGrouping, IGLAccountBalance accountBalance)
at Microsoft.Dynamics.Performance.Reporting.Engine.Server.GLDataProcessor.ProcessOneAccountBalanceRecord(FRxUnitRowIdentifier frxUnitRowIdentifier, IGLDataReader balanceReader, ReportUnitResult unitResult, ReportDetailLevels detailLevel)
at Microsoft.Dynamics.Performance.Reporting.Engine.Server.GLDataProcessor.ProcessOneReaderRecord(FRxUnitRowIdentifier frxUnitRowIdentifier, ReportDetailLevels detailLevel, IGLDataReader balanceReader)
at Microsoft.Dynamics.Performance.Reporting.Engine.Server.GLDataProcessor.ProcessOneReaderRecord(IGLDataReader balanceReader)
at Microsoft.Dynamics.Performance.Reporting.Engine.Server.GLDataProcessor.ProcessOneBalanceRecord(IGLDataReader balanceReader)
at Microsoft.Dynamics.Performance.Reporting.Engine.Server.GLDataProcessor.ProcessOneBalanceReader(IGLDataReader balanceReader)</Data>
</EventData>
</Event>
My thought is to rebuild the datamart database in SQL server and see if this resolves the issue since other reports generate fine. If anyone knows of another solution please offer as sometimes, MR's explanation on errors and events can be a bit ambiguous. thanks.
*This post is locked for comments