基于 SAPPI 的 B2BEDI 场景对接方法二

作者:郑德鼎 约 7 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, Basis, Data Engineering, MM, SD, 开发, 数据工程, 物料管理, 系统管理, 销售分销
基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图
基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图

上回我们介绍了EDI的基本概念,今天我们聊一下SAP PI的B2B扩展组件的安装和使用方法。

**B2B组件的安装**

• 账号权限

PI账号需要提前分配至少两个B2B相关的角色,从而获得操作权限: SAP_XI_B2B_CONFIGURATOR_J2EE

SAP_XI_B2B_ADMINISTRATOR_J2EE

基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图
基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图

账号权限分配

• B2B扩展组件下载

登录SAP官网下载中心:https://me.sap.com/softwarecenter

按字母索引(A-Z)依次找到PI B2B ADDON 和 PI SFTP PGP ADDON ,然后下下载符合自己系统版本的扩展组件。

特别说明:AS2、OFTP、X400、SFTP都是通讯协议,部分组件可能用的机会不多,但是建议都下载好,一次性安装完成。

基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图
基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图
基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图
基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图

• B2B组件部署 将下载好的组件部署到服务器,无操作系统权限的可以请Basis同事帮忙。安装完成后可以在系统信息页面查看组件信息。

基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图
基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图

查看B2B组件信息

• 导入B2B工具包

解压缩上文中下载好的的B2BTOOLKIT、B2BMAPPINGKIT两个压缩包,会得到两个tpz文件:

B2B通讯工具包:XI7_3_B2B_TOOLKIT_2.0_**.tpz

B2B映射工具包:XI7_3_B2B_MAPPING_KIT_2.0_**.tpz

打开ESR编辑器,依 次选择Tools- > Import Design Objects,将两个文件导入。其中,Mapping

KIT下提供了多种EDI报文格式示例。

基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图
基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图

B2B组件工具包

• 导入EDI报文标准 打开B2B集成驾驶舱( http://<host> :<port> /b2bic ) ,如果提示无权限打不开,看下上文中说的权限角色是否已分配。然后进入EDI Content Manager。

基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图
基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图

B2B Integration Cockpit

解压缩PIB2BCONTENT压缩包,可以获得多个B2B文件,它包含了每种EDI报文在不同版本下的标准格式说明,相当于API文档,这些需要导入到EDI内容管理器中。

导入成功后,可以通过XSD-Generator下载查看报文格式,也可以使用Converter测试报文转换。

基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图
基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图
基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图
基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图

导入EDI报文标准

****B2B组件的使用** **

假设某公司需要将自己内部SCM系统的采购订单推送给商业伙伴,以SAP

PI为媒介,整个场景该如何搭建呢?笔者这里以AS2+X12的对接方式为例,简单阐述一下搭建过程 。

首先,我们需要理清整个接口的生命周期,其核心逻辑在于数据的映射、转换、加密以及传输,这些复杂逻辑都可以在PI中通过配置实现,如下图所示:

基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图
基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图

EDI接口的生命周期

其次,我们需要通过交换连接文件、调查问卷等方式,搜集B2B接口连接信息。以AS2通讯协议为例,我们需要与贸易伙伴交换彼此的ID名称、接口地址、加密密钥、加密算法等重要信息。

基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图
基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图

通过B2B连接文档交换双方关键信息

然后,我们创建数据结构、字段映射和通信通道。这里是采购订单推送的业务场景,所以我们的X12接口编号是850。注意,上文中收集的EDI

ID在字段映射中需要赋值到指定字段,AS2 ID和密钥则需要在接收方的通信通道中指定。

基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图
基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图

_ | _ | _ | _ | _

---|---|---|---|---

基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图
基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图

_ | _ | _ | _ | _

---|---|---|---|---

基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图
基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图

_ | _ | _ | _ | _

---|---|---|---|---

基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图
基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图

_ | _ | _ | _ | _

---|---|---|---|---

基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图 _ | _ | _ | _ | _

---|---|---|---|---

_ | _ | _ | _ | _

---|---|---|---|---

EDI的数据结构、字段映射和通信通道

最后,我们创建中转通道和ICO。如下图所示,完成数据映射之后,我们还需要使用EDISeparator组件,将XML报文转换为EDI格式的报文(X12、VDA、Edifact、Odette等),并抛转到相应的ICO,才能最终发送到贸易伙伴

基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图
基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图

数据在PI中的处理过程

EDISeparator的转发匹配逻辑很精准,它通过贸易伙伴组、业务系统标识、EDI报文种类、报文版本、业务类型、EDI

ID等信息,自上而下的精确匹配唯一符合要求的ICO 。

基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图
基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图

_ | _ | _ | _ | _

---|---|---|---|---

基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图
基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图

_ | _ | _ | _ | _

---|---|---|---|---

基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图
基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图

_ | _ | _ | _ | _

---|---|---|---|---

基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图
基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图

_ | _ | _ | _ | _

---|---|---|---|---

基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图
基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图

_ | _ | _ | _ | _

---|---|---|---|---

_ | _ | _ | _ | _

---|---|---|---|---

ICO配置和EDISeparator转发 至此,整个场景就基本搭建完成了。我们可以使用测试工具调用ICO01发布的API接口,验证整个流程是否可以跑通。

注意,接口都是异步方式。另外,如果PIMON中看不到消息,可以在B2B集成驾驶舱中查看B2B Log。

基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图
基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图
基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图
基于 SAPPI 的 B2BEDI 场景对接方法二 - 封面图

B2B日志查看 \----------关注我,解锁更多小技巧-------

** 参考链接: **

https://community.sap.com/t5/technology-blogs-by-members/how-to-install-the-

new-b2b-add-on/ba-p/13023276 https://community.sap.com/t5/technology-blogs-

by-members/b2b-edi-inbound-step-by-step-configuration/ba-p/12974007

https://community.sap.com/t5/technology-blogs-by-members/b2b-scenario-

creating-and-testing-custom-edi-message-version-ansi-x12/ba-p/13063402

https://community.sap.com/t5/technology-blogs-by-members/sap-

pi-b2b-ansix12-inbound-scenario/ba-p/13290579

往期推荐

[ 1\. 基于SAP PI的B2B EDI场景对接方法(一)

](https://mp.weixin.qq.com/s?__biz=MzAxODU2ODc2OQ==&mid=2247486294&idx=1&sn=fbb13ef7f557ab444f04cb078011cdec&chksm=9bd50878aca2816ea483c8d7f2a15770c06e199c258d23228acb21a4fa7f8986b443563d2324&token=1604949470&lang=zh_CN&scene=21#wechat_redirect

"https://mp.weixin.qq.com/s?__biz=MzAxODU2ODc2OQ==&mid=2247486294&idx=1&sn=fbb13ef7f557ab444f04cb078011cdec&chksm=9bd50878aca2816ea483c8d7f2a15770c06e199c258d23228acb21a4fa7f8986b443563d2324&token=1604949470&lang=zh_CN&scene=21#wechat_redirect")

郑德鼎

关于作者:郑德鼎

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「基于SAPPI的B2BEDI场景对接方法二.md」整理生成,仅用于内部技术分享与学习交流。