问题
I am a new comer to both SAP and JCo. I established connection to a SAP Server and I would like to print a list of BAPIs in my program . is there any way to do it?? I am using sapjco3.jar
回答1:
As far as I know, there is no "BAPI to get a list of BAPIs", so this would be a non-trivial task. You could try to use RFC_FUNCTION_SEARCH
to search for function modules named BAPI*
, but that's not guaranteed to give you a) only official BAPIs and b) all of the official BAPIs...
回答2:
You can also use the function module SWO_QUERY_API_METHODS
. The following code snippet works with JCo 2:
IFunctionTemplate functionTemplate = Repository.getFunctionTemplate("SWO_QUERY_API_METHODS");
JCO.Function function = functionTemplate.getFunction();
mConnection.execute(function);
ParameterList exportParameter = function.getExportParameterList();
System.out.println("exportParameter: " + exportParameter);
ParameterList importParameter = function.getImportParameterList();
System.out.println("importParameter: " + importParameter);
ParameterList tableParameter = function.getTableParameterList();
System.out.println("tableParameter: " + tableParameter);
回答3:
You could make an ABAP function searching for all RFC functions in table TFDIR, with FMODE ='R' (remote). However, This will give you all remote-callable function, not only BAPIs.
回答4:
You can use the BAPI_MONITOR_GETLIST to get a list of all BAPIs in your system together with meta data.
来源:https://stackoverflow.com/questions/17463182/sap-and-sapjco3-print-a-list-of-bapis-in-my-java-program