跳转到主要内容
SAP IDoc 端口支持向各种 SAP 系统发送 IDoc 文件并从中接收 IDoc 文件。它是一个数据容器,用于在 SAP 与能够理解数据语法和语义的其他进程之间交换信息。

概览

IDoc 端口可以使用以下方法连接到 SAP: Windows
  • NetWeaver RFC SDK
  • Classic RFC SDK
  • 支持 Unicode 的 Classic RFC SDK
  • SOAP(仅发送)
Java
  • Java Connector (JCO)
  • SOAP(仅发送)
IDoc 端口可以发送和检索原始 IDoc 或 IDoc XML 格式的文件。

端口配置

本节包含所有可配置的端口属性。

设置选项卡

主机配置

与建立 SAP 系统连接相关的设置。

客户端身份验证

与针对 SAP 系统进行身份验证相关的设置。

接收设置

与接收 IDoc 文件相关的设置。

控制记录信息选项

本节允许你在将 IDoc 文件发送到 SAP 之前覆盖 IDoc 文件的控制头。当从一个 SAP 系统接收 IDoc 文件并将其发送到另一个 SAP 系统时,这非常有用:在这种情况下,应在不更改 IDoc 文件数据的情况下更改控制记录。有关详细信息,请参阅向 SAP 发送 IDocs

高级选项卡

语言设置

与通信语言相关的设置。

网关

与通过网关和 SAP 通信相关的设置。

登录负载均衡

与以组方式登录 SAP 系统以启用负载均衡相关的设置。

安全网络通信 (SNC)

与使用外部安全产品增强 SAP 连接安全性相关的设置。

高级设置

不包含在上述类别中的设置。

消息

日志

其他设置

自动化选项卡

自动化设置

与端口自动处理文件相关的设置。

性能

警报选项卡

SLA 选项卡

建立连接

使用 NetWeaver RFC SDK

必须将 NetWeaver RFC SDK 中的以下库放入 www\bin\x64 文件夹(32 位操作系统上为 www\bin\x86):
  • sapnwrfc.dll
  • icudt30.dll
  • icuin30.dll
  • icuuc30.dll
  • libicudecnumber.dll
  • libsapucum.dll
  • 根据安装的 SAP RFC SDK 版本,.dll 名称可能不同。上面的示例适用于 3.0 版本。
  • 需要将 sapgw00 服务添加到列出的服务中,NetWeaver SDK 连接才能在客户端机器上工作。可以将其添加到 C:\Windows\System32\drivers\etc\services 中的 services 文件。

使用 Classic RFC SDK

非 Unicode 库除 librfc32.dll 外不需要其他内容。将 librfc32.dll 放入 www\bin\x64 文件夹(32 位操作系统上为 www\bin\x86)。
这些库同时提供 x86 和 x64 版本,因此必须使用与进程相同的平台。如果应用程序在 64 位 Windows 上运行,则该进程为 64 位。

使用支持 Unicode 的 Classic RFC SDK

必须将 SAP RFC SDK 中的以下库放入 www\bin\x64 文件夹(32 位操作系统上为 www\bin\x86):
  • librfc32u.dll
  • icudt30.dll
  • icuin30.dll
  • icuuc30.dll
  • 根据安装的 SAP RFC SDK 版本,.dll 名称可能不同。上面的示例适用于 3.0 版本。
  • 这些库同时提供 x86 和 x64 版本,因此必须使用与进程相同的平台。如果应用程序在 64 位 Windows 上运行,则该进程为 64 位。

使用 Java Connector

要使用 Java 端口,请将 sapjco3.jar 添加到 Java servlet 容器的 lib 文件夹中。

使用 SOAP

SOAP 只能用于向 SAP 发送 IDoc。必须使用其他连接类型才能从 SAP 接收 IDoc。
这需要在 SAP 系统上启用 SOAP 连接。

服务配置

除了上述依赖项外,还必须将以下服务添加到 %WINDIR%\system32\drivers\etc\services;如果系统运行 Linux 或 Mac OS X,则添加到 /etc/services。如果机器上已安装 SAP NetWeaver,则无需进一步操作。

登录 SAP

连接 SAP 系统需要以下设置

网关

通过网关连接到 SAP 时,请使用高级选项卡 的网关部分中的选项。

负载均衡

要通过负载均衡登录,请在高级选项卡 的登录负载均衡部分中设置属性。

安全网络通信 (SNC)

要启用安全网络通信,请在高级选项卡 的安全网络通信 (SNC)部分选中启用 SNC 框。将 SNC 库设置为用于连接 SAP 的 SNC 库 .dll。

向 SAP 发送 IDocs

配置 IDoc 端口以连接到 SAP 系统后,即可开始向 SAP 发送 IDoc 文件。IDoc 端口可以发送原始 IDoc 或 XML IDoc 格式的文件。 可以将端口配置为自动将控制记录信息插入到发送给 SAP 的 IDoc 中,例如 DOCREL、SNDPOR、SNDPRT 等。这使传出 IDoc 更容易由已配置的系统处理。在设置选项卡 的控制记录信息选项部分配置这些设置。 向 SAP 系统发送 IDoc 之前,请确保已在 SAP 中正确配置合作伙伴配置文件。如果 SAP 中没有合作伙伴配置文件与正在发送的 IDoc 中的控制记录信息匹配,SAP 系统将不会处理这些数据。有关设置合作伙伴配置文件的更多信息,请参阅测试向 SAP 发送 IDoc
可以使用事务代码 WE60 搜索不同 IDoc 类型的段文档。

测试向 SAP 发送 IDoc

要测试向 SAP 发送 IDoc,首先需要将 SAP 系统配置为具有 的合作伙伴配置文件。以下步骤介绍如何使用 ORDERS IDoc 完成此操作。
  1. 创建合作伙伴: 转到事务代码 WE20 并定义合作伙伴配置文件。将客户的合作伙伴类型设置为 KU,并将合作伙伴编号设置为有效的客户编号。 创建合作伙伴
  2. 为 ORDERS 文档添加入站参数: 此文档的消息类型为 ORDERS。在入站选项选项卡上,将处理代码设置为 ORDE,以告知 SAP 系统在收到采购订单 ORDERS 文档时如何创建销售订单。 设置参数
  3. 将客户分配到销售部门: 步骤 1 中配置的客户必须分配给销售组织、分销渠道和部门。转到事务 VOE2,在 EDSDC 表中配置这些设置。

从 SAP 接收 IDocs

配置 IDoc 端口以连接到 SAP 系统后,即可开始从 SAP 接收 IDoc 文件。IDoc 端口可以接收原始 IDoc 或 XML IDoc 格式的文件。 要从 SAP 接收文件,请为 创建一个 RFC 目标。然后,可以在设置选项卡 的接收设置部分勾选启用 IDoc 接收器,并输入你在 SAP 系统中为 注册的程序 ID

测试从 SAP 接收 IDoc

此示例介绍如何配置 SAP 系统,以便向 发送 MATMAS IDoc。
  1. 定义逻辑系统: 首先,进入事务 SALE。然后导航到 基本设置 > 逻辑系统 > 定义逻辑系统。创建一个具有有效名称(例如 )和描述的新条目。
  2. 创建 RFC 目标: 打开事务代码 SM59。单击创建按钮,并填写下述 RFC 目标字段。 保存设置后,测试连接以确保可以成功连接到
  3. 创建处理端口: 转到事务代码 WE21。创建一个新的事务性 RFC 端口,使用唯一名称以及你在步骤 2 中创建的同一目标。
  4. 创建合作伙伴配置文件: 打开事务 WE20。为步骤 1 中添加的逻辑系统创建一个合作伙伴配置文件。接下来,为 MATMAS 文档添加一个出站参数。将消息类型设置为 MATMAS。在出站选项选项卡上,将接收方端口设置为步骤 3 中配置的端口值,将输出模式设置为 Transfer IDoc Immed,并将 IDoc 基本类型设置为 MATMAS05
  5. 发送测试 IDoc: 使用事务 BD10 向 发送指定物料编号的测试 IDoc。发送消息之前,需要配置消息类型逻辑系统。使用事务 BD87 监控传出消息,并在必要时再次处理它们。

示例