Распечатайте список BAPI с помощью JCo

Я установил соединение с сервером SAP и хочу распечатать список BAPI в моей программе Java. Я использую sapjco3.jar.

Есть ли способ сделать это?


person Prabhakar Manthena    schedule 04.07.2013    source источник


Ответы (4)


Насколько я знаю, "BAPI для получения списка BAPI" не существует, так что это будет нетривиальная задача. Вы можете попытаться использовать RFC_FUNCTION_SEARCH для поиска функциональных модулей с именем BAPI*, но это не гарантирует, что вы получите а) только официальные BAPI и б) все официальные BAPI...

person vwegert    schedule 04.07.2013

Вы также можете использовать функциональный модуль SWO_QUERY_API_METHODS. Следующий фрагмент кода работает с 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);
person dweisser    schedule 28.08.2013
comment
Имейте в виду, что SWO_QUERY_API_METHODS не является BAPI, это просто функциональный модуль с поддержкой RFC, выпущенный для внутреннего использования. Он может измениться или исчезнуть без предупреждения клиентов. В остальном это звучит как отличная альтернатива. - person vwegert; 28.08.2013

Вы можете использовать BAPI_MONITOR_GETLIST, чтобы получить список всех BAPI в вашей системе вместе с метаданными.

person Carsten Erker    schedule 29.08.2013

Вы можете создать функцию ABAP для поиска всех функций RFC в таблице TFDIR с FMODE = 'R' (удаленный). Однако это даст вам все функции удаленного вызова, а не только BAPI.

person PATRY Guillaume    schedule 04.07.2013