ERP系統RFC協議發送端通過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是帶不出來:

第四頁籤:

 

最後的總結示意圖:

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章