after upgrading the system to version 10.0.48 PU72, we have experienced an issue during report execution. This behavior occurs only with a single custom report. The exact error message is reported below:
Other customers have reported similar issues and we looked into this.
Let me first provide the technical explanation of the problem:
In 10.0.48 the standard method SysDictTable.methods() is changed so that returned method list includes also internal table extension methods from Common object.
It is not clear if this change by design or a bug, but it is not consistent with the fact that SysDictTable::hasMethod() still returns false for these methods and they also cannot be called.
This inconsistency in clearly a standard bug and we will report it, but below we provide a workaround fix.
Docentric was affected when calling DocXmlRecord.addAllDisplayMethods() in DSP class. It is not used in DSP classes that we provide, but it can be used in custom ones. (Adding all display method is not a best practice, as it can affect performance. We recommend adding just display methods that you need.)
The problem applies also to query based reports with Include all methods=Yes in Data source generation options in Docentric report setup when report is printed in transaction.
HOTFIX:
If you are on Docentric version 3.5.1 or newer replace two attached classes in Docentric AX model and build it.
The change will be included in next Docentic release (3.6.0) and there is nothing that you need to do at upgrade.
Please let us know if the fix solves your issue and feel free to ask if you have any questions.
Hi @DalilaI
thank you very much for the clarification and for the new classes you attached.
During the debugging process, I discovered the same things you mentioned, probably because, as you pointed out, something has changed in “internal” methods in version 10.0.48.
Anyway, we upgraded Docentric to the latest available version and replaced the two classes you sent. Everything now seems to be working as expected.