SAP 中对 RFC 的操作

可以将适用于 mySAP Business Suite 的 Microsoft BizTalk 适配器用作 RFC 客户端和 RFC 服务器。 在 RFC 客户端方案中,应用程序通过在 SAP 适配器上调用 RFC 操作,在 SAP 系统上调用 RFC。 在 RFC 服务器方案中,SAP 系统在 SAP 适配器上调用 RFC,进而调用 RFC 作为应用程序上的操作。

RFC 操作

RFC 按名称作为操作显示在 SAP 适配器的 RFC 元数据类别节点下。 (使用“添加适配器服务引用插件”或“使用适配器服务加载项”时,可以在 RFC 节点下浏览或搜索 RFC 。)

SAP 适配器只能显示可从 SAP 系统检索元数据的那些 RFC。 适配器使用 RFC SDK 检索此元数据,因此它无法显示包含参数的 RFC,其数据类型不受 RFC SDK 支持。 例如,适配器不能显示包含 ITAB II 类型结构或表的 RFC。

SAP 适配器在 RFC 上支持以下内容:

  • IMPORT 参数

  • EXPORT 参数

  • 更改参数

    有关适配器用于 RFC 的消息结构和 SOAP 操作的详细信息,请参阅 RFC 操作的消息架构

在 SAP 系统上调用 RFC

SAP 适配器将 RFC 显示为 SAP 系统上采用 RFC 名称的单个操作。 若要在 SAP 系统上调用 RFC,请在适配器上调用适当命名的 RFC 操作。

详细信息:

从 SAP 系统接收入站 RFC 调用

SAP 可以充当客户端并在外部 RFC 服务器上调用函数模块。 此功能可实现:

  • SAP 将通知推送到外部系统,而无需外部系统通过调用 RFC 持续轮询 SAP 以获取通知。

  • 在 SAP 系统外部实现业务逻辑。 然后,SAP 系统可以在 RFC 服务器上调用外部程序。

    SAP 适配器可以充当 RFC 服务器,从 SAP 系统接收此类入站 RFC 调用。 适配器从 SAP 接收 RFC 调用时,会在应用程序上调用该 RFC 操作。

    对于要作为 RFC 服务器执行的适配器:

  • 必须在 SAP 系统上声明 RFC。 这样适配器就可以从 SAP 系统检索描述 RFC 的元数据。 RFC 实际上是在应用程序中实现的。

  • 适配器必须在 SAP 网关上向 RFC 目标注册。 注册基于名为程序 ID 的逻辑名称。 在连接 URI 中提供参数以指定此注册的程序 ID、SAP 网关和 SAP 服务器。

    以下示例演示通过 PROGRAM ID MYDEST 调用 RFC 所需的 ABAP 代码。

CALL FUNCTION ‘ABC’ DESTINATION ‘MYDEST’  

详细信息:

特殊 RFC 操作

SAP 适配器还可以在 SAP 系统上执行某些特殊的 RFC 操作。 其中一个操作是 RfcGetAttributes。

  • RfcGetAttributes。 SAP 适配器使用此操作获取有关 RFC 连接参数的信息,例如系统 ID、合作伙伴代码页和语言。 使用添加适配器服务引用插件和使用适配器服务加载项时, 可在 RFC 节点下执行此操作。

    有关在 SAP 系统上调用 RfcGetAttributes 操作的消息结构和 SOAP 操作的详细信息,请参阅 RFC 操作的消息架构

另请参阅

可以使用适配器执行哪些操作?