Error – ABAP Dictionary element not found
If you have been used to creating, updating gateway services for some time, you might have encountered an issue where you transported your objects/changes to the productive system but your changes did not reflect in the metadata and therefore not usable/working for your update.
The change could be as simple as introducing a new field, or changing the name of the field or changing the properties of it. How it is supposed to work is that every time you make a change to the structure of your app via SEGW or directly in your model definition class. The objects are regenerated and once you kick off a call to the service’s metadata, it checks for the time stamps and refreshes the metadata based on the model definition.
Sometimes, that doesn’t work that well and would result in the infamous error /IWBEP/CM_MGW_RT106 (message class /IWBEP/CM_MGW_RT, message no 106). It reads “ABAP Dictionary element ‘ZCLXXX_MDP=>FieldXX’ not found.”, where the field name is ZCLXXX_MDP=>FieldXX, which seems to be the root cause. You could look this up in the error log in the gateway system under transaction /n/IWFND/ERROR_LOG
The reference documentation has the solution, simply clear the cache in BOTH gateway and the backend system.
Usually the landscape admins would set up jobs for maintenance of Cache which could be directly kicked off using tcode ‘/IWFND/CACHE_CLEANUP’ on the gateway system or ‘/IWBEP/CACHE_CLEANUP’ in the backend system, to fully clear the cache or to clear the cache for a specific model.
The error message class also points out to where (in which system) the problem is. In my quoted example, it is the backend system represented by IWBEP
Hope this blog is helpful to you!
Good point, Thanks for sharing! 🙂