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是帶不出來:
第四頁籤:
最後的總結示意圖: