|
|
A capability should be provided via the Natural API Server to allow REST services to be called from Natural modules. Similar to EntireX and RPC, this should be possible via CALLNAT using a defined PDA. The interface object should be generated from the OpenAPI/Swagger description of the REST service, enabling the service to be called via CALLNAT. As a limitation that would be acceptable for us, the mapping of REST parameters and responses could be restricted to the structures available in Natural, for example three-dimensional arrays, analogous to the existing Software AG IDL Grammar (Software AG IDL Grammar).
System-side provision of a CALLNAT with a dedicated interface would simplify the application programs considerably. When using REQUEST DOCUMENT, the following effort is currently required, which could be avoided by using a defined PDA:
Building the request structure using COMPRESS and format transformations
Calling the REST API via REQUEST DOCUMENT
Reading the response with PARSE XML/JSON in a loop and checking the relevance of each element in a DECIDE structure
Mapping the relevant field contents from XML/JSON to the corresponding Natural variables
Potential format transformations to Natural formats such as N, P, I, D, and L
General error handling
| Use Case | Calling SAP function modules from our application; Calling APIs of partner systems |