SAP IDoc 端口
Version 24.2.9039
Version 24.2.9039
SAP IDoc 端口
SAP IDoc 端口支持向各种 SAP 系统发送和接收 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 IDoc 端口,则必须拥有一个实时 SAP IDoc 系统,并且从知行之桥到该系统有一条清晰的网络路径。还需要在机器上安装必要的依赖项。请按照以下说明选择连接类型。
注意:如果在 转换 模式下使用端口,则不需要这些先决条件。
使用 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”的服务文件中。
使用 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 只能用于“发送”IDoc 到 SAP。 必须使用不同的连接类型才能从 SAP“接收”IDoc。
注意:这需要在 SAP 系统上启用 SOAP 连接。
创建连接
要允许知行之桥发送或接收 SAP 数据,必须首先建立与 SAP 的连接。有两种方法可以建立此连接:
- 将 SAP IDoc 端口添加到工作流。然后,在 设置 选项卡中,单击连接下拉列表旁边的 创建。
- 打开知行之桥设置 页面,然后打开 连接 选项卡。单击 添加,选择 SAP IDoc,然后单击 下一步。
注意:
- 仅在首次创建连接时才需要登录过程。
- 可在多个 SAP IDoc 端口中重复使用与 SAP IDoc 的连接。
输入连接配置
打开新的连接对话框后,为其指定一个名称,然后完成其他选项。
主机设置
建立 SAP 连接相关的设置。
- 连接类型 连接到 SAP 的方法。 请参阅建立连接,了解更多信息
- SAP 主机 目标 SAP 系统的主机名或 IP 地址。
- 系统编号 用于定义目标 SAP 系统的编号。有效值为 0-99,通常设为 0。
客户端身份验证
与建立 SAP 系统连接相关的设置。
- 客户端 对 SAP 系统进行身份验证的客户端。
- 用户 用于身份验证的用户名凭据。
- 密码 指定用户的密码。
语言设置
有关语言的设置。
- 语言 连接到 SAP 系统时要使用的语言。对于 SAP 系统使用的语言,此值应设置为 ISO 639-1。
网关
关于通过网关与 SAP 通信的设置。
- 网关主机 要连接网关的主机名或 IP 地址。
- 网关服务 要使用的网关服务。
登录负载均衡
关于以分组方式登录 SAP 系统并启用负载均衡的设置。
- 消息服务器 负载均衡服务器名称。
- 系统 ID SAP 系统 ID。
- 登录组 负载平衡时要使用的组。
网络通信安全(SNC)
关于使用外部安全产品增强 SAP 连接安全性的设置。
- SNC 名称 进行连接的计算机的 SNC 名称。
- SNC 伙伴名称 该端口将要连接 SAP 系统的 SNC 名称。
- SNC 保护质量等级 SNC 产品增加的保护质量等级。
- SNC 库 外部安全产品库的路径。
单击测试连接以确保知行之桥可以使用提供的信息连接到 SAP。如果出现错误,请检查所有字段并重试。
单击添加连接以保存更改。
提示:如果正在转换 IDoc,则无需建立连接。
配置
- 端口 Id 端口的静态、唯一标识符。
- 端口类型 显示端口类型及其用途的描述。
- 端口描述 一个可选字段,用于提供端口及其在流中的角色的自由格式描述。
- 连接 从列表中选择一个连接。
选择操作
当将 SAP IDoc 端口添加到 工作流 时,必须选择端口应执行的操作。然后,设置 选项卡将更新以显示相关选项。
下表概述了可用的操作。单击表中的链接可访问每个操作的具体设置。
操作 | 说明 |
---|---|
发送 | 特定于将 IDoc 文件发送到 SAP 的端口设置。 |
接收 | 特定于从 SAP 接收 IDoc 文件的端口设置。 |
转换 | 特定于翻译 IDoc 文件的端口设置。 |
自动化
自动化设置
关于端口自动处理文件的设置。
- 发送 端口收到的文件是否自动发送。
- 重试间隔 发送失败后进行重发的时间间隔。
- 最大重试次数 发送失败的最大重试次数。
性能
与端口资源分配相关的设置。
- 最大线程数 从线程池中消耗用于处理此端口上的文件的最大工作线程数。 如果设置,这将覆盖 设置 > 自动化 页面上的默认设置。
- 最大文件数 分配给端口的每个线程发送的最大文件数。 如果设置,这将覆盖 设置 > 自动化 页面上的默认设置。
通知
与配置警报和服务等级协议 (SLA) 相关的设置。
端口邮件设置
在执行 SLA 之前,需要设置电子邮件警报以获取通知。 单击 配置通知 将打开一个新的浏览器窗口,转到 系统设置,可以在其中设置系统范围的警报。 有关详细信息,请参阅通知。
服务等级协议 (SLA) 配置
SLA 能够配置期望工作流中的端口发送或接收的数量,并设置期望满足该数量的时间范围。 知行之桥在不满足 SLA 时发送电子邮件警告用户,并将 SLA 标记为 有风险,这意味着如果很快不满足 SLA,则会将其标记为 已违反。 这使用户有机会介入并确定未满足 SLA 的原因,并采取适当的措施。 如果在风险时间段结束时仍未满足 SLA,则将 SLA 标记为违反,并再次通知用户。
要定义 SLA,请单击 添加预期数量条件。
- 如果端口具有单独的发送和接收操作,请使用单选按钮指定 SLA 所属的方向。
- 将 期待至少 设置为期望处理的最小交易数量(交易量),然后使用 每 字段指定时间范围。
- 默认情况下,SLA 每天都有效。 要更改此设置,请取消选中每日,然后选中想要的一周中的几天的框。
- 使用 将状态设置为“有风险” 来指示何时应将 SLA 标记为存在风险。
- 默认情况下,在违反 SLA 之前不会发送通知。 要更改此设置,请选中 发送“有风险”通知。
以下示例显示为预计周一至周五每天接收 1000 个文件的端口配置的 SLA。 如果尚未收到 1000 个文件,则会在该时间段结束前 1 小时发送风险通知。
建立连接
服务配置
除了以上的依赖关系,如果你的系统运行在 Linux 或 Mac OS X 上,以下服务必须添加到 %WINDIR%/system32/drivers/etc/services,或者 /etc/services。如果 SAP NetWeaver 已经安装在机器上,那么不需要进一步的操作。
Service Name | Connector Number/Protocol |
---|---|
sapdp00 | 3200/tcp |
sapdp01 | 3201/tcp |
sapdp02 | 3202/tcp |
sapdp03 | 3203/tcp |
sapdp04 | 3204/tcp |
sapdp05 | 3205/tcp |
sapdp06 | 3206/tcp |
sapdp07 | 3207/tcp |
sapdp08 | 3208/tcp |
sapdp09 | 3209/tcp |
sapdp10 | 3210/tcp |
sapdp11 | 3211/tcp |
sapdp12 | 3212/tcp |
sapdp13 | 3213/tcp |
sapdp14 | 3214/tcp |
sapdp15 | 3215/tcp |
sapdp16 | 3216/tcp |
sapdp17 | 3217/tcp |
sapdp18 | 3218/tcp |
sapdp19 | 3219/tcp |
sapdp20 | 3220/tcp |
sapdp21 | 3221/tcp |
sapdp22 | 3222/tcp |
sapdp23 | 3223/tcp |
sapdp24 | 3224/tcp |
sapdp25 | 3225/tcp |
sapdp26 | 3226/tcp |
sapdp27 | 3227/tcp |
sapdp28 | 3228/tcp |
sapdp29 | 3229/tcp |
sapdp30 | 3230/tcp |
sapdp31 | 3231/tcp |
sapdp32 | 3232/tcp |
sapdp33 | 3233/tcp |
sapdp34 | 3234/tcp |
sapdp35 | 3235/tcp |
sapdp36 | 3236/tcp |
sapdp37 | 3237/tcp |
sapdp38 | 3238/tcp |
sapdp39 | 3239/tcp |
sapdp40 | 3240/tcp |
sapdp41 | 3241/tcp |
sapdp42 | 3242/tcp |
sapdp43 | 3243/tcp |
sapdp44 | 3244/tcp |
sapdp45 | 3245/tcp |
sapdp46 | 3246/tcp |
sapdp47 | 3247/tcp |
sapdp48 | 3248/tcp |
sapdp49 | 3249/tcp |
sapdp50 | 3250/tcp |
sapdp51 | 3251/tcp |
sapdp52 | 3252/tcp |
sapdp53 | 3253/tcp |
sapdp54 | 3254/tcp |
sapdp55 | 3255/tcp |
sapdp56 | 3256/tcp |
sapdp57 | 3257/tcp |
sapdp58 | 3258/tcp |
sapdp59 | 3259/tcp |
sapdp60 | 3260/tcp |
sapdp61 | 3261/tcp |
sapdp62 | 3262/tcp |
sapdp63 | 3263/tcp |
sapdp64 | 3264/tcp |
sapdp65 | 3265/tcp |
sapdp66 | 3266/tcp |
sapdp67 | 3267/tcp |
sapdp68 | 3268/tcp |
sapdp69 | 3269/tcp |
sapdp70 | 3270/tcp |
sapdp71 | 3271/tcp |
sapdp72 | 3272/tcp |
sapdp73 | 3273/tcp |
sapdp74 | 3274/tcp |
sapdp75 | 3275/tcp |
sapdp76 | 3276/tcp |
sapdp77 | 3277/tcp |
sapdp78 | 3278/tcp |
sapdp79 | 3279/tcp |
sapdp80 | 3280/tcp |
sapdp81 | 3281/tcp |
sapdp82 | 3282/tcp |
sapdp83 | 3283/tcp |
sapdp84 | 3284/tcp |
sapdp85 | 3285/tcp |
sapdp86 | 3286/tcp |
sapdp87 | 3287/tcp |
sapdp88 | 3288/tcp |
sapdp89 | 3289/tcp |
sapdp90 | 3290/tcp |
sapdp91 | 3291/tcp |
sapdp92 | 3292/tcp |
sapdp93 | 3293/tcp |
sapdp94 | 3294/tcp |
sapdp95 | 3295/tcp |
sapdp96 | 3296/tcp |
sapdp97 | 3297/tcp |
sapdp98 | 3298/tcp |
sapdp99 | 3299/tcp |
sapgw00 | 3300/tcp |
sapgw01 | 3301/tcp |
sapgw02 | 3302/tcp |
sapgw03 | 3303/tcp |
sapgw04 | 3304/tcp |
sapgw05 | 3305/tcp |
sapgw06 | 3306/tcp |
sapgw07 | 3307/tcp |
sapgw08 | 3308/tcp |
sapgw09 | 3309/tcp |
sapgw10 | 3310/tcp |
sapgw11 | 3311/tcp |
sapgw12 | 3312/tcp |
sapgw13 | 3313/tcp |
sapgw14 | 3314/tcp |
sapgw15 | 3315/tcp |
sapgw16 | 3316/tcp |
sapgw17 | 3317/tcp |
sapgw18 | 3318/tcp |
sapgw19 | 3319/tcp |
sapgw20 | 3320/tcp |
sapgw21 | 3321/tcp |
sapgw22 | 3322/tcp |
sapgw23 | 3323/tcp |
sapgw24 | 3324/tcp |
sapgw25 | 3325/tcp |
sapgw26 | 3326/tcp |
sapgw27 | 3327/tcp |
sapgw28 | 3328/tcp |
sapgw29 | 3329/tcp |
sapgw30 | 3330/tcp |
sapgw31 | 3331/tcp |
sapgw32 | 3332/tcp |
sapgw33 | 3333/tcp |
sapgw34 | 3334/tcp |
sapgw35 | 3335/tcp |
sapgw36 | 3336/tcp |
sapgw37 | 3337/tcp |
sapgw38 | 3338/tcp |
sapgw39 | 3339/tcp |
sapgw40 | 3340/tcp |
sapgw41 | 3341/tcp |
sapgw42 | 3342/tcp |
sapgw43 | 3343/tcp |
sapgw44 | 3344/tcp |
sapgw45 | 3345/tcp |
sapgw46 | 3346/tcp |
sapgw47 | 3347/tcp |
sapgw48 | 3348/tcp |
sapgw49 | 3349/tcp |
sapgw50 | 3350/tcp |
sapgw51 | 3351/tcp |
sapgw52 | 3352/tcp |
sapgw53 | 3353/tcp |
sapgw54 | 3354/tcp |
sapgw55 | 3355/tcp |
sapgw56 | 3356/tcp |
sapgw57 | 3357/tcp |
sapgw58 | 3358/tcp |
sapgw59 | 3359/tcp |
sapgw60 | 3360/tcp |
sapgw61 | 3361/tcp |
sapgw62 | 3362/tcp |
sapgw63 | 3363/tcp |
sapgw64 | 3364/tcp |
sapgw65 | 3365/tcp |
sapgw66 | 3366/tcp |
sapgw67 | 3367/tcp |
sapgw68 | 3368/tcp |
sapgw69 | 3369/tcp |
sapgw70 | 3370/tcp |
sapgw71 | 3371/tcp |
sapgw72 | 3372/tcp |
sapgw73 | 3373/tcp |
sapgw74 | 3374/tcp |
sapgw75 | 3375/tcp |
sapgw76 | 3376/tcp |
sapgw77 | 3377/tcp |
sapgw78 | 3378/tcp |
sapgw79 | 3379/tcp |
sapgw80 | 3380/tcp |
sapgw81 | 3381/tcp |
sapgw82 | 3382/tcp |
sapgw83 | 3383/tcp |
sapgw84 | 3384/tcp |
sapgw85 | 3385/tcp |
sapgw86 | 3386/tcp |
sapgw87 | 3387/tcp |
sapgw88 | 3388/tcp |
sapgw89 | 3389/tcp |
sapgw90 | 3390/tcp |
sapgw91 | 3391/tcp |
sapgw92 | 3392/tcp |
sapgw93 | 3393/tcp |
sapgw94 | 3394/tcp |
sapgw95 | 3395/tcp |
sapgw96 | 3396/tcp |
sapgw97 | 3397/tcp |
sapgw98 | 3398/tcp |
sapgw99 | 3399/tcp |
登录 SAP
连接 SAP 系统需要以下设置。
- SAP 主机 目标系统的主机名。主机名可以是 “hosts” 文件中定义的常规主机名,也可以是 “123.123.123.123” 这样的 IP 地址,或者是 “/H/hostname/S/connector/H/host/S/connector/… “ 这样的 SAProuter 地址。
- 系统号定义目标系统的编号。有效范围为 0~99,但一般为 0。
- 客户端 认证到 SAP 系统的客户端。
- 用户 正在对 SAP 系统进行身份验证的用户。
- 密码 验证用户的密码。
网关
通过网关连接到 SAP 时,请使用 高级 选项卡的 网关 部分中的选项。
负载均衡
要通过负载平衡登录,请在高级选项卡的登录负载平衡部分中设置属性。
安全网络通信 (SNC)
要启用安全网络通信,请选中 高级 选项卡的 安全网络通信 (SNC) 部分中的 启用 SNC 框。 将 SNC 库 设置为要用于连接 SAP 的 SNC 库的 .dll。
宏
在文件命名策略中使用宏可以提高组织效率和对数据的上下文理解。 通过将宏合并到文件名中,可以动态地包含相关信息,例如标识符、时间戳和消息头信息,从而为每个文件提供有价值的上下文。 这有助于确保文件名反映对组织重要的详细信息。
知行之桥 支持这些宏,它们都使用以下语法:%Macro%
。
宏 | 描述 |
---|---|
ConnectorID | 替换为端口的 ConnectorID。 |
Ext | 替换为端口当前正在处理的文件的文件扩展名。 |
Filename | 替换为端口当前正在处理的文件的文件名(包括扩展名)。 |
FilenameNoExt | 替换为端口当前正在处理的文件的文件名(不带扩展名)。 |
MessageId | 计算端口输出的消息的 MessageId。 |
RegexFilename:pattern | 将正则表达式模式应用于端口当前正在处理的文件的文件名。 |
Header:headername | 替换为端口正在处理的当前消息的目标消息头 (headername ) 的值。 |
LongDate | 以常规格式计算系统的当前日期时间(例如,2024 年 1 月 24 日星期三)。 |
ShortDate | 以 yyyy-MM-dd 格式计算系统的当前日期时间(例如 2024-01-24)。 |
DateFormat:format | 以指定格式(format )计算系统的当前日期时间。 有关可用的日期时间格式,请参阅示例日期格式 |
Vault:vaultitem | 计算指定保管库项目的值。 |
ARCKEY | 替换为外部消息存档的密钥。 |
CIMTYP | 替换为用户定义的自定义扩展。 |
CREDAT | 替换为 IDoc 的创建日期。 |
CRETIM | 替换为 IDoc 的创建时间。 |
DIRECT | 替换为 IDoc 的方向(指示 IDoc 是入站还是出站)。 |
DOCNUM | 替换为分配给 IDoc 的唯一编号。 |
DOCREL | 替换为 IDoc 的 SAP 版本号。 |
EXPRSS | 计算 EXPRSS 标志的值。 |
IDOCTYP | 计算 IDoc 基本类型的名称。 |
MANDT | 替换为客户编号。 |
MESCOD | 替换为消息代码。 |
MESFCT | 替换为消息函数。 |
MESTYP | 替换为消息类型。 |
OUTMOD | 替换为输出模式。 |
RCVLAD | 替换为收件人的逻辑地址。 |
RCVPFC | 替换为接收者的合作伙伴功能。 |
RCVPOR | 替换为接收器端口值。 |
RCVPRN | 替换为接收方合作伙伴编号。 |
RCVPRT | 替换为接收方伙伴类型。 |
RCVSAD | 替换为收件人的地址。 |
REFGRP | 替换为消息组(例如 EDI 消息组)。 |
REFINT | 替换为传输文件(例如EDI Interchange)。 |
REFMES | 对消息(如EDI消息)进行计算 |
SERIAL | 替换为 EDI 序列化字段。 |
SNDLAD | 替换为发送者的逻辑地址。 |
SNDPFC | 替换为发送者的伙伴功能。 |
SNDPOR | 替换为发送者的端口。 |
SNDPRN | 替换为发件人的合作伙伴号码。 |
SNDPRT | 替换为发件人的合作伙伴类型。 |
SNDSAD | 替换为发件人的地址。 |
STATUS | 替换为 IDoc 的状态。 |
STD | 替换为指示 EDI 标准的标志。 |
STDMES | 替换为 EDI 消息类型。 |
STDVRS | 替换为 EDI 标准、版本和版本。 |
TABNAM | 计算表结构的名称。 |
TEST | 替换为测试标志的值。 |
示例
某些宏(例如 %Ext% 和 %ShortDate%)不需要参数,但其他宏则需要。 所有带有参数的宏都使用以下语法:%Macro:argument%
以下是带有参数的宏的一些示例:
- %Header:headername%:其中
headername
是消息上消息头的名称。 - %Header:mycustomheader% 解析为输入消息上设置的
mycustomheader
消息头的值。 - %Header:ponum% 解析为输入消息上设置的
ponum
消息头的值。 - %RegexFilename:pattern%:其中“pattern”是正则表达式模式。 例如,
%RegexFilename:^([\w][A-Za-z]+)%
匹配并解析为文件名中的第一个单词,并且不区分大小写(test_file.xml
解析为test
) 。 - %Vault:vaultitem%:其中
vaultitem
是 vault 中项目的名称。 例如,%Vault:companyname%
解析为存储在保管库中的companyname
项的值。 - %DateFormat:format%:其中
format
是可接受的日期格式(有关详细信息,请参阅示例日期格式)。 例如,%DateFormat:yyyy-MM-dd-HH-mm-ss-fff%
解析为文件上的日期和时间戳。
还可以创建更复杂的宏,如以下示例所示:
- 将多个宏组合在一个文件名中:
%DateFormat:yyyy-MM-dd-HH-mm-ss-fff%%EXT%
- 包括宏之外的文本:
MyFile_%DateFormat:yyyy-MM-dd-HH-mm-ss-fff%
- 在宏中包含文本:
%DateFormat:'DateProcessed-'yyyy-MM-dd_'TimeProcessed-'HH-mm-ss%