1) Is there a way to determine at runtime (through metadata introspection) if the table (returned in JCO.FunctionTemplate.getTableParameterList()) is an *import* or *export* table? In other words, whether this table will take inputs to SAP or return the output from SAP?
2) Are there any BAPIs or RFC's that can fetch the list of all business components, business object types and BAPIs on my SAP R/3 server?
I am using JCo & R/3 release is 4.6B.
1. If you are referring to BAPIs and the additional metadata for table parameters (import/export/import and export) available for table parameters, then the answer is no. On the level of the underlying RFM (RFC-enabled Function Module), there exists no such distinction, hence JCo does not provide the information. But you could extract the necessary metadata yourself, which leads us to:
2. Yes, it is possible to programmatically retrieve all metadata in SAP related to Business Object Types & BAPIs, RFMs, IDocs, and Data Dictionary structures and tables. A simple list of all BAPIs can be obtained via a call to SWO_QUERY_API_METHODS. Writing a complete metadata server component that knows how to handle different SAP releases, survive metadata inconsistencies, and ignore invalid and irrelevant information, on the other hand, is an ambitious project, and it would take me at least 50 pages to document it. (If you happen to be interested in a ready-to-run, but not freeware, component for this, please contact me directly at firstname.lastname@example.org.)
Dig Deeper on SAP ERP software
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.