Introduction
in this blog I will give a solution to a typical error at metadata reload of an oData service.
Symptom
In Transaction /IWFND/MAINT_SERVICE (Activate and Maintain Services) at reloading the metadata an error message appears:
Loading the metadata for service 'YOUR_SERVICE_NAME' failed. Check the error log. (/IWFND/CM_MGW066).
Further the error log shows:
..ERROR_INFO ABAP Dictionary element 'YOUR_STRUCTURE-DELETED_FIELD' not found (/IWFND/CM_MGW004)
Reason
The metadata cache contains the old version of the DDIC stuctures. If a field in the backend system has been removed, the metadata cache would not be informed about this.
Solution
- Start transaction /IWBEP/REG_SERVICE (Maintain Service)
- Put your service name in the 'Technical Service Name' field
- Click on 'Display'
- Click on 'Cleanup Cache' to cleanup the metadata cache
- In Transaction /IWFND/MAINT_SERVICE now you can repeat reloading the metadata
(The cleanup is also possible from here, if you select your service and click on the '(display) Service Implementation' Button in the bottom right area 'System Aliases')
Other Terms
/IWFND/CM_MGW066, /IWFND/CM_MGW004, /IWFND/CM_MGW, ABAP Dictionary element not found, metadata cache, DDIC field deleted
Scenario
In this case I have an
- SAP Backend System with an oData mapping
- Model Provider Class
- Data Provider Class
- to the actual entity has been a strucure binded (/IWBEP/IF_MGW_ODATA_ENTITY_TYP=>BIND_STRUCTURE)
- SAP NW Gaterway with the oData Service Catalog