I had this error and wanted to share in the community that this is a known bug in MR 2012 CU7. MS Support helped me figure out the right path and after installing a hotfix, we stopped getting this error.
Original Problem:
Microsoft.Dynamics.Performance.DataProvider.Core.RequestException: The source system request did not complete successfully. ---> System.Data.SqlClient.SqlException: An expression of non-boolean type specified in a context where a condition is expected, near 'ON'.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
at System.Data.SqlClient.SqlDataReader.get_MetaData()
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader()
at Microsoft.Dynamics.Performance.DataProvider.GeneralLedger.DataMart.Data.DataMartReader.Open()
at Microsoft.Dynamics.Performance.DataProvider.GeneralLedger.GLBalanceResult..ctor(GLSystemProvider provider, GLBalanceRequest request, GLDataReaderCollection readers, Object[] sharedResources)
at Microsoft.Dynamics.Performance.DataProvider.GeneralLedger.DataMart.GLProvider.HandleBalanceRequest(GLBalanceRequest request)
at Microsoft.Dynamics.Performance.DataProvider.GeneralLedger.GLSystemProvider.HandleRequest(GLBalanceRequest request)
at Microsoft.Dynamics.Performance.DataProvider.Core.SourceSystemRequest.Handle[TRequest](SourceSystemProvider provider, TRequest request)
at Microsoft.Dynamics.Performance.DataProvider.Core.SourceSystemProvider.SubmitRequest(SourceSystemRequest request)
--- End of inner exception stack trace ---
at Microsoft.Dynamics.Performance.DataProvider.Core.SourceSystemProvider.SubmitRequest(SourceSystemRequest request)
at Microsoft.Dynamics.Performance.DataProvider.Core.SourceSystemProvider.HandleSubmit(SourceSystemRequest request)
at Microsoft.Dynamics.Performance.DataProvider.Core.SourceSystemConnection.Submit(SourceSystemRequest request)
at Microsoft.Dynamics.Performance.Reporting.DataProvider.Server.DirectLinkService.SubmitRequestDirect(SourceSystemConnection connection, GLRequest request)
at Microsoft.Dynamics.Performance.Reporting.Engine.Server.ProviderLink.SubmitRequest(GLRequest request, ProviderConnection context)
at Microsoft.Dynamics.Performance.Reporting.Engine.Server.ProviderLink.SubmitBalanceRequest(ProviderConnection context, GLBalanceRequest balanceRequest)
at Microsoft.Dynamics.Performance.Reporting.Engine.Server.GLLinkAdapter.RetrieveGLDataBatch(Int32 rowNumber)
at Microsoft.Dynamics.Performance.Reporting.Engine.Server.GLLinkAdapter.GetData()
*This post is locked for comments