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

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

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

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

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

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

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

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

浏览元数据

借助SAP 适配器,适配器客户端可以浏览 SAP 系统公开的 RFC、TFC、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。 有关这些操作的详细信息,请参阅 SAP 中 tRFC 的操作

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

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

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

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

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

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

搜索元数据

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

项目 在 GUI 中的节点下搜索
RFC -/R f c
- /RFC/[应用程序组]
tRFC - /TRFC
- /TRFC/[Application Group]
BAPI -/Bapi
IDOC -/Idoc

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

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

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

例如,A* 与 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 文件来绕过此限制。 有关说明,请参阅 排查操作问题

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

另请参阅

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