有没有办法检查SAP系统中是否存在RFC

Is there any way to check if RFC exists in a SAP system

我正在开发一个 ABAP 程序,它从不同的 SAP 系统调用 RFC。在调用 RFC 之前,有什么方法可以检查 RFC 是否存在于目标系统中?

您可以使用 FM FUNCTION_EXISTS 来检查 FM 是否存在。显然你必须远程调用它。大致:

CALL FUNCTION 'FUNCTION_EXISTS'
  DESTINATION ... 
  EXPORTING
    funcname                 = 'xxx' => enter the FM here, which has to be checked
* IMPORTING
*   GROUP                    =
*   INCLUDE                  =
*   NAMESPACE                =
*   STR_AREA                 =
 EXCEPTIONS
   FUNCTION_NOT_EXIST       = 1
   OTHERS                   = 2.

如果 FM 存在,导入参数将具有有效值,否则将引发 FUNCTION_NOT_EXIT 异常。

我认为最常用的方法是使用 RFC_PING:

 CALL FUNCTION 'RFC_PING' DESTINATION <your destination here>.