Currently the feature 'Minimize memory consumption by storing datasets at ER reports runtime' is throwing all fields from a record that are not used directly in the model mapping. This leads to cases where the field is not available anymore but is still needed and so running the report will have either no info or even throw the error
Evaluating expression for path 'Path1'. Evaluating expression for path 'modelMappingPath'. Cannot find 'FieldName1' field in 'Table1' table
This prevents us from calling methods like '$SalesLine'.'inventTable()'.NameAlias because the field NameAlias will not be selected and an it throws the error
Evaluating expression for path 'Value/Item/Name'. Evaluating expression for path 'inventTable()/NameAlias'. Cannot find 'NameAlias' field in 'InventTable' table`
The mitigation would be to select the InventTable record from the Table records and there choose to select the NameAlias field explicitly.
This also happens when you pass records to other methods which then do not get the records with the fields needed selected and failing them to execute their intended logic.
Since SU45 this feature is mandatory and so we are forced to do all these quirks in order to get the report we need.
For our customers we created service tickets to deactivate the mandatory feature via the flight ERCopyOnlyUsedFieldsFeature_KillSwitch. But I could not get the support engineer to acknowledge this behaviour as bug or to even inform the product team that is responsible about that behaviour.
I also tried to get in contact with the product team via VivaEngage (access to Analytics and Reporting in D365 for Operations group required) but had no luck either.
I get that minimizing the memory footprint is a good thing to do but this is something that should not silently blow reports without any errors during validation.
So here are my steps to make this feature more reliable:
1. Do not make it mandatory until it is save to use.
2. Make it a parameter for a configuration so everybody can decide if a configuration ready for this feature.
3. Create a warning when records are passed to methods which do not have all fields selected.
4. Fix the feature to enable it for all configurations.
Comments
Sorry for the bad formatting but trying to submit the idea in a nicer format only gave anWe have encounter some malicious input. Please remove that and try againerror without anymore information and editing the idea seems not possible :-(
Category: Reporting and Analytics
