on ‎2022 Apr 13 9:46 AM
Hello fellows,
Besides implementing interfaces with OData, we still need to provide interfaces via RFC. To do this, function modules are implemented, which are then converted into a RESTful service by our middleware WSO2.
We currently have to read out the signature of a function module manually and make it available to our integration colleagues, what means a lot of manual effort.
Example: A function module with the following signature:
Import
- MATERIAL_NR TYPE MATNR
Export
-RETURN TYPE BAPIRET2
tables
-VBAK TYPE VBAK
These would then have to be translated into:
Import
- MATERIAL_NO --> CHAR 18
Export
-BACK -->
{
TYPE SIGN 1
ID SIGN 20
NUMBER DEC 3
MESSAGE SIGN 220
LOG_NO CHAR 20
LOG_MSG_NO CHAR 6
MESSAGE_V1 CHARACTER 50
MESSAGE_V2 CHARACTER 50
MESSAGE_V3 CHARACTER 50
MESSAGE_V4 CHARACTER 50
PARAMETERS CHAR 32
DEC 10 SERIES
FIELD SIGN 30
SYSTEM CHARACTER 10
}
tables
-VBAK-->
[{
MANDT SIGN 3
VBELN SIGN 10
ERDAT SIGN 8
ORE CHAR 6
ERNAM CHAR 12
ANGDT SIGN 8
BNDDT SIGN 8
AUDAT SIGN 8
VBTYPE CHARACTER 1
TRVOG SIGN 1
}]
To speed that up:
Is there a function module / class to read out the signature of a function module?
The Fubas RFC_GET_FUNCTION_INTERFACE, FUNCTION_IMPORT_INTERFACE, BDL_FUNCTION_INTERFACE_GET are already known, but not sufficient. Unfortunately, it only supplies the highest layer of the function module siganture.
I have seen that there is a way to read the meta data in other middleware system like SAP PI/PO, MuleSoft or IBM WebSphere. I was wondering if they deliver their own interfaces to read this or is there a SAP standard module?
Thank you in advance.
Kind regards,
Martin
Request clarification before answering.
The one which is used implicitly by the RFC Libraries is RFC_METADATA_GET. It gives all information.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 9 | |
| 5 | |
| 4 | |
| 4 | |
| 3 | |
| 3 | |
| 2 | |
| 2 | |
| 2 | |
| 2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.