登陆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 开发八)
ERP业务顾问的高频词PO,说的是PurchaseOrder,采购订单。
本文介绍的高频词PO,是ProcessOrchestration,也是SAP的内容,是SAP的中间件系统。
在《SAP PO 开发三》中,我们用PO实现了WebService的发和收的中间连接,
这次我们在ERP SAP ECC6系统中用RFC接口发出数据,通过PO发送到一个WebService中。
并且这是一个发送和应答同步的消息服务:ERP发出数据,马上就可以接到WebService返回的消息。
一、ERP SAP系统中的RFC接口程序
1、建一个SAP RFC的函数(PS:要实现这一步可能需要你有一定的ABAP功力)
输入参数一个整型变量:
返回参数一个字符串:
它其实是一个定义了入口参数和出口参数的空~~~函数:
使用这个函数发出消息,可以用一个ABAP程序来调用它:
*&---------------------------------------------------------------------*
*& Report ZDEMO004
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZDEMO004.
DATA GV_VALUE TYPE /BCV/FND_INT1.
DATA GV_GETDATARESULT TYPE /ASU/TEXT.
GV_VALUE = 9.
CALL FUNCTION 'ZDEMO004' DESTINATION 'ZPO_RFC'
EXPORTING
VALUE = GV_VALUE
IMPORTING
GETDATARESULT = GV_GETDATARESULT .
WRITE :/ GV_GETDATARESULT.
执行结果:
其实也可以在SE37里面,直接用函数调试功能测试这个函数(注意,RFC目标是SM59里面配置的RFC链接):
这是PO已经配置完成的结果,输入一个数字,ERP RFC传给PO,PO传给WebService,
WebService返回一个处理结果的字符串给PO,PO再返回到RFC函数中:
2、SM59中需要配置RFC的链接:
(注意,我们的例子是ERP发出数据,是外围系统作服务器模式,外围系统会有一个“程序标识”,
这需要再SM59的链接中配置)
RFC的名称,在ABAP中使用DESTINATION语法来使用。
“CALL FUNCTION 'ZDEMO004' DESTINATION 'ZPO_RFC'”
好吧,ERP服务器这块,我们差不多就是这些内容。
二、SAP PO配置实现RFC和WebService的连接。
我使用的PO版本是7.5,这是一个比较新的版本。网上很多文章还停留在PI的版本中,出现大量PI的术语已经过时了。
要学习PO,还是看看我这个系列,呵呵。
1、SLD中,我们需要配置ERP端的产品、组件、技术系统、业务系统,WebService端就还是沿用原来的:
2、ESR(Enterprise Services Repository)中,我们导入ERP的RFC函数
3、ESR(Enterprise Services Repository)中,我们导入WebService的接口(WSDL)和建WS的SI。
4、配上数据发送方向的消息映射:
5、配上数据返回方向的消息映射:
6、发送方向和返回方向的消息都要OM中集中体现:
4、在ID(Integration Directory)中配置CC通道,我理解是PO到外围系统的adapter链路。
第一个CC是PO到ERP的RFC协议:
第二个CC是PO到WebService的SOAP协议:
最后配置IC集成:
第一页签:
第二页签:
第三个页签返回接口,如果名字空间填错了,OM是带不出来:
第四页签:
最后的总结示意图: