登陆PO服务器,启动JAVA客户端三步(SAP PO 开发一)
搭建一个WebService接口环境(SAP PO 开发 二)
用SAP PO连通一个WebService接口(SAP PO 开发 三)
ERP系统RFC协议发送端通过PO连通WebService接口(SAP PO 开发四)
我的第一个SAP PROXY ABAP Program(SAP PO 开发五)
SAP PO (Process Orchestration) 中间件接口管理平台(SAP PO 开发六)
C# 调用SAP PO中间件的WebService接口(SAP PO 开发八)
C#使用REST JSON协议连接SAP PO(SAP PO 开发十)
外围系统使用REST协议接入SAP PO,SAP PO同ERP之间使用PROXY(XI)协议。接口实现外围系统发起查询,在ERP系统中查询到数据后,返回给外围系统。


在ESR中新建“1号系统”的数据定义如下图:DT和MT,因为这个接口是同步的,有返回链路,所以DT和MT还有RESP的类型。

在ESR中新建“3号系统”的数据定义如下图:DT和MT,因为这个接口是同步的,有返回链路,所以DT和MT还有RESP的类型。

这样看起来DM有4个、MT有4个需要定义:

还好是可以拷贝的,这样减少了一些工作量。
3号系统的DT定义如下:

3号系统的DT返回消息定义如下:

1号系统的DT、DT返回同上图一样,这里省略了。
下面是3号系统的接口定义SI:

下面是1号系统的接口定义SI:

还好MM消息映射只有来和去两处,下图是在CALL方向上的MM定义:

下图是在返回方向上的MM定义:

最后是OM把前面的元素都拉起来,call方向:

return方向:

这样ESR上的配置完成

这个有一个关键的概念理解,inbound和outbound:
1号系统上的SI被定义为outbound,怎么理解?
如果我们的角度从1号系统为主体出发,那么消息是从1号系统发出来的,所以属于outbound类型。
3号系统的SI被定义为inbound,怎么理解?
以3号系统为主体的视角出发,那么消息是从PO系统发过来进入我的系统,所以属于inbound类型。
在后面IB的配置里,对IC的定义还有inbound和outbound的概念,是站在2号系统PO的视角出发,call方向上进入PO的数据为
inbound processing,出PO的数据为outbound processing.
下面时IB里面需要配置的元素:


需要2个BS和2个通道CC,最后用一个IC串起来。
通常,我们使用PROXY协议,PO和ERP之间的链接,这端的BS和CC是其它接口共用的,就是外围系统多条通道被PO联通,最后使用一条共用的PROXY通道连接到ERP。
所以我们只需要新建1号系统相关的BS和CC即可,这1号系统的CC,就是使用了REST协议的配置:
第一页签

第二页签:

第三页签:

第四页签:

第五、六页签空白。
IC配置:
第一页签

第二页签

第三页签

第四页签

IC配置完毕。
当在SI配置完毕时,在ERP系统的SPROXY的响应SI中需要去编写ABAP接口的代码:

因为SI的接口处理代码是在ERP上编写,因此何喜觉得SI不是PO上的内容,应该是属于PO外部的对象。所以SI的inbound和outbound分类我们应该站在外部系统的视角来定义。
最后,我们用SOAPUI模拟一下外围系统用REST的JSON报文调用接口,OK,返回也是JSON。

JK0089输入的参数是1层:

JSON报文时这样:{ "UNAME" : "xxx" }
如果接口的输入参数是2层:

JSON报文时这样:
{
DATA:{ "MATNR" : "000000000000000003" }
}
本文围绕SAP PO开发展开,涵盖启动JAVA客户端、搭建WebService接口环境、连通接口等内容。详细介绍了外围系统使用REST协议接入SAP PO,与ERP系统交互的接口实现,包括ESR配置、IB配置,还提及关键概念inbound和outbound,最后用SOAPUI模拟调用接口。
2611

被折叠的 条评论
为什么被折叠?



