上回我们介绍了EDI的基本概念,今天我们聊一下SAP PI的B2B扩展组件的安装和使用方法。
**B2B组件的安装**
• 账号权限
PI账号需要提前分配至少两个B2B相关的角色,从而获得操作权限: SAP_XI_B2B_CONFIGURATOR_J2EE
SAP_XI_B2B_ADMINISTRATOR_J2EE
账号权限分配
• B2B扩展组件下载
登录SAP官网下载中心:https://me.sap.com/softwarecenter
按字母索引(A-Z)依次找到PI B2B ADDON 和 PI SFTP PGP ADDON ,然后下下载符合自己系统版本的扩展组件。
特别说明:AS2、OFTP、X400、SFTP都是通讯协议,部分组件可能用的机会不多,但是建议都下载好,一次性安装完成。
• B2B组件部署 将下载好的组件部署到服务器,无操作系统权限的可以请Basis同事帮忙。安装完成后可以在系统信息页面查看组件信息。
查看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报文格式示例。
B2B组件工具包
• 导入EDI报文标准 打开B2B集成驾驶舱( http://<host> :<port> /b2bic ) ,如果提示无权限打不开,看下上文中说的权限角色是否已分配。然后进入EDI Content Manager。
B2B Integration Cockpit
解压缩PIB2BCONTENT压缩包,可以获得多个B2B文件,它包含了每种EDI报文在不同版本下的标准格式说明,相当于API文档,这些需要导入到EDI内容管理器中。
导入成功后,可以通过XSD-Generator下载查看报文格式,也可以使用Converter测试报文转换。
导入EDI报文标准
****B2B组件的使用** **
假设某公司需要将自己内部SCM系统的采购订单推送给商业伙伴,以SAP
PI为媒介,整个场景该如何搭建呢?笔者这里以AS2+X12的对接方式为例,简单阐述一下搭建过程 。
首先,我们需要理清整个接口的生命周期,其核心逻辑在于数据的映射、转换、加密以及传输,这些复杂逻辑都可以在PI中通过配置实现,如下图所示:
EDI接口的生命周期
其次,我们需要通过交换连接文件、调查问卷等方式,搜集B2B接口连接信息。以AS2通讯协议为例,我们需要与贸易伙伴交换彼此的ID名称、接口地址、加密密钥、加密算法等重要信息。
通过B2B连接文档交换双方关键信息
然后,我们创建数据结构、字段映射和通信通道。这里是采购订单推送的业务场景,所以我们的X12接口编号是850。注意,上文中收集的EDI
ID在字段映射中需要赋值到指定字段,AS2 ID和密钥则需要在接收方的通信通道中指定。
_ | _ | _ | _ | _
---|---|---|---|---
_ | _ | _ | _ | _
---|---|---|---|---
_ | _ | _ | _ | _
---|---|---|---|---
_ | _ | _ | _ | _
---|---|---|---|---
_ | _ | _ | _ | _
---|---|---|---|---
_ | _ | _ | _ | _
---|---|---|---|---
EDI的数据结构、字段映射和通信通道
最后,我们创建中转通道和ICO。如下图所示,完成数据映射之后,我们还需要使用EDISeparator组件,将XML报文转换为EDI格式的报文(X12、VDA、Edifact、Odette等),并抛转到相应的ICO,才能最终发送到贸易伙伴
。
数据在PI中的处理过程
EDISeparator的转发匹配逻辑很精准,它通过贸易伙伴组、业务系统标识、EDI报文种类、报文版本、业务类型、EDI
ID等信息,自上而下的精确匹配唯一符合要求的ICO 。
_ | _ | _ | _ | _
---|---|---|---|---
_ | _ | _ | _ | _
---|---|---|---|---
_ | _ | _ | _ | _
---|---|---|---|---
_ | _ | _ | _ | _
---|---|---|---|---
_ | _ | _ | _ | _
---|---|---|---|---
_ | _ | _ | _ | _
---|---|---|---|---
ICO配置和EDISeparator转发 至此,整个场景就基本搭建完成了。我们可以使用测试工具调用ICO01发布的API接口,验证整个流程是否可以跑通。
注意,接口都是异步方式。另外,如果PIMON中看不到消息,可以在B2B集成驾驶舱中查看B2B Log。
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")