浏览、搜索和获取 SAP 元数据

SAP 适配器从 SAP 系统中显示元数据。 此元数据描述了使用适配器与 SAP 系统进行通信的消息结构。 SAP 适配器支持两个用于检索元数据的接口。

  • Windows Communication Foundation (WCF) 提供的ws-metadataexchange 。 WCF 为所有 WCF 绑定提供元数据交换终结点,使客户端能够从 SAP 系统中获取元数据。

  • Microsoft Windows Communication Foundation (WCF) 业务线 (LOB) 适配器 SDK 提供的IMetadataRetrievalContract ,它支持适配器的元数据浏览和搜索功能。

    用于 mySAP Business Suite 的 Microsoft BizTalk 适配器的目标之一是将 SAP 系统作为 WCF 服务公开。 该适配器会将 SAP 项目 (Rfc、Bapi 和 Idoc) 为适配器客户端可调用的操作。 该适配器还会显示一些特定操作,这些操作可用于从 SAP 系统发送或接收 Idoc。 本主题后面列出了这些操作。

    可以通过使用 WCF 服务模型、使用 WCF 通道模型或在 Visual Studio 中创建 BizTalk 项目,来浏览、搜索和检索元数据。

    使用 WCF 服务模型时,必须使用 "添加适配器服务引用 Visual Studio 插件来生成用于在 SAP 系统上执行操作的代理类。 使用 BizTalk 项目时,必须使用 "添加适配器元数据向导" 或 "使用适配器服务 BizTalk" Project 外接程序为要在 SAP 系统上执行的操作生成元数据。

    有关使用 "添加适配器服务引用" 插件浏览、搜索和检索元数据、添加适配器元数据向导或使用适配器服务外接程序的详细信息,请参阅获取 Visual Studio 中的 SAP 操作的元数据

浏览元数据

使用 TheSAP 适配器,适配器客户端可以浏览 SAP 系统公开的 Rfc、Trfc、Bapi 和 Idoc。 作为元数据浏览操作的一部分,适配器会将 Rfc 和 Bapi 作为操作进行呈现。 对于 Idoc,适配器会显示用于发送和接收 Idoc 的操作。 可以通过 "添加适配器服务引用插件"、"添加适配器元数据向导" 或 "使用适配器服务" 外接程序来使用这些操作。 SAP 元数据在以下节点下分类:

  • RFC。 此节点包含 SAP 系统公开的 Rfc,并代表 SAP 中的函数模块。 适配器将 Rfc 分类为多个逻辑级别,并向适配器客户端公开分层视图。 RFC 位于此层次结构的最低级别,并作为可由外部应用程序调用的操作公开。 SAP 适配器使用 RFC SDK 为 Rfc 生成元数据。 适配器只能调用可为其生成元数据的 Rfc。

    除了将 Rfc 呈现为操作以外,适配器还会显示某些特定操作,如 RfcGetAttributes。 有关这些操作的详细信息,请参阅 在 SAP 中对 rfc 执行的操作

  • TRFC。 此节点包含 SAP 系统公开的 Trfc。 Trfc 不是 SAP 系统中的常规项目,而是一种用于调用 Rfc 的机制。 Trfc 在单独的节点下分类,因为其元数据特征不同于 Rfc。 具体说来,Rfc 还包括导出参数。 适配器将 Trfc 分类为多个逻辑级别,并向适配器客户端公开分层视图。 TRFC 位于此层次结构的最低级别,并作为可由外部应用程序调用的操作公开。

    除了将 Trfc 作为操作的形式以外,适配器还会显示一些特定操作,例如 RfcConfirmTransID。 有关这些操作的详细信息,请参阅 trfc ON SAP 中的操作

  • BAPI。 此节点包含 SAP 系统公开的 Bapi。 适配器将 Bapi 分类为多个逻辑级别,并向适配器客户端公开分层视图。 BAPI 位于此层次结构的最低级别,并作为可由外部应用程序调用的操作公开。

  • IDOC。 此节点包含由 SAP 系统公开的 Idoc。 适配器将 Idoc 分类为多个逻辑级别,并向适配器客户端公开分层视图。 适配器为 Idoc 公开的操作包括:

    • 发送接收。 适配器客户端可以使用强类型的架构使用这些操作从 SAP 系统发送和接收 Idoc。

    • SendIdocReceiveIdoc。 适配器客户端可以使用这些操作从使用弱类型架构的 SAP 系统中发送和接收 Idoc。

      有关这些操作的详细信息,请参阅 idoc ON SAP 中的操作

    有关如何分类元数据的详细信息,请参阅 元数据节点 id

搜索元数据

在 SAP 适配器中,适配器客户端可以使用依赖于 SAP 适配器使用的基础 Rfc 的搜索表达式在 SAP 系统中搜索元数据。 下表列出了可在其下搜索适配器客户端的 SAP 项目和元数据层次结构。

项目 在 GUI 中的节点下搜索
RFC - /RFC
-/RFC/[应用程序组]
tRFC - /TRFC
-/TRFC/[应用程序组]
BAPI - /BAPI
IDOC - /IDOC

下表列出了可用于通过 SAP 适配器进行搜索及其解释的特殊字符。

特殊字符 解释
+(加号) 完全匹配一个字符。

例如,+ 匹配 AB、AC、AD
*(星号) 与零个或多个字符匹配。

例如,* 与 A,AB,ABC 匹配。

检索元数据

SAP 适配器允许适配器客户端检索 SAP 系统的元数据,包括详细的元数据特征:

  • 对于 RFC,SAP 适配器检索 RFC 名称以及导入、导出、更改和表参数。 除了必需的参数和可选参数外,SAP 适配器还检索参数的数据类型、参数的字段长度。

  • 对于 tRFC,SAP 适配器检索与 RFC 类似的详细信息,导出参数除外。 由于 tRFC 调用是异步的,因此不会检索任何输出参数。

  • 对于 BAPI,SAP 适配器检索业务对象名称、业务对象方法名称和其他与 Rfc 类似的特定信息。

  • 对于 IDOC,SAP 适配器检索 IDOC 类型、发布号、版本、IDOC 控制记录、IDOC 数据记录以及其他 IDOC 段信息。

    注意

    如果 IDOC 的元数据包含低值和高值 (数据类型的范围) ,SAP 适配器会将其作为字符串公开。 如果元数据只包含低值,则 SAP 适配器会将其作为枚举公开。

注意

SAP 适配器按字母顺序公开 SAP 函数参数,而不考虑参数在 SAP 函数定义中的排序方式。 这是因为以下原因:

  • 不同版本的 SAP RFC SDK 返回不同订单的 SAP 函数参数。 因此,为了向适配器用户提供一致的体验,SAP 适配器会按字母顺序公开参数。
    • 不同 SAP 服务器上的相同 Rfc 可能具有不同的公开函数参数顺序。 SAP 适配器通过以一致的字母顺序公开参数,使用户对用户透明。

注意

使用 Windows Communication Foundation (WCF) 服务模型检索 sap 系统中的数据时,sap 适配器不会反序列化超过65536个节点的消息。 请确保响应消息的节点小于或等于65536。 可以通过修改应用程序的 app.config 文件来解决此限制。 有关说明,请参阅 操作问题疑难解答

有关浏览、搜索和检索元数据的信息,请参阅获取数据中 SAP 操作Visual Studio

另请参阅

适用于 mySAP Business Suite 的 BizTalk 适配器的体系结构概述