您好,登錄后才能下訂單哦!
這篇文章主要介紹“怎么實現兩個ABAP系統之間互連”,在日常操作中,相信很多人在怎么實現兩個ABAP系統之間互連問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么實現兩個ABAP系統之間互連”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
場景:SAP云平臺上的兩個ABAP系統實例,一個作為數據的提供者-provision system;另一個作為數據的消費者 - client system,后者從前者讀取數據,并顯示
實現步驟概述:
(1) client System創建outbound communication. (2) 在provision系統創建inbound communication. (3) Create a Service Consumption Model, and save this locally as a $metadata XML file; From this you will create proxy artefacts in the client system, representing the remote service, and use this model to generate an abstract entity. (4) 創建一個remote client proxy (5) 在client System創建一個OData服務,使用Fiori Elements消費并展示從provision系統取回的數據
SAP標準發布的Communication Scenario SAP_COM_0276,提供了SAP Cloud Platform ABAP實例同遠端的ABAP On-Premises系統或者第三方系統集成的可能性。
A communication arrangement specifies the metadata for a specific communication scenario, such as your host system and the authentication method. This metadata is contained in a service key. You can then define one or more specific destinations for this arrangement.
Communication Arrangement為Communication Scenario指定了必須的元數據,包括通信系統和消息認證方式等信息,這些元數據以Service key的形式存儲。可以基于Communication Arrangement創建Destination.
在SAP云平臺CloudFoundry環境里創建一個Destination服務實例:
基于這個Destination服務創建一個新的Destination實例:
url字段維護成provision System的url,確保連接能夠成功建立。
給Destination service創建一個新的service key,將其內容保存在本地:
在client System上打開ABAP service instance的dashboard:
在Communication Arrangement tile里,創建一個新的實例:
從Communication Scenario下拉列表里,選擇之前介紹的SAP_COM_0276: SAP CP CF Destination Service integration:
選擇好Communication Scenario后,維護Communication Arrangement的名稱,比如OUTBOUND_XXX.
在Communication Arrangement的additional properties里,將service instance name的值從默認值OUTBOUND_XXX改成更便于記憶的值,比如Outbound-For-Tutorials_XXX.
最后一步,在ABAP client System上創建ABAP 實現類:
CLASS ZCL_OUTPUT_HTTP_XXX DEFINITION PUBLIC FINAL CREATE PUBLIC . PUBLIC SECTION. INTERFACES if_oo_adt_classrun. PROTECTED SECTION. PRIVATE SECTION. ENDCLASS. CLASS ZCL_OUTPUT_HTTP_XXX IMPLEMENTATION. METHOD if_oo_adt_classrun~main. TRY. DATA(lo_destination) = cl_http_destination_provider=>create_by_cloud_destination( i_name = 'A4C_ACCESS_XXX_HTTP' i_service_instance_name = 'Outbound-For-Tutorial-XXX' i_authn_mode = if_a4c_cp_service=>service_specific ). DATA(lo_http_client) = cl_web_http_client_manager=>create_by_http_destination( i_destination = lo_destination ). DATA(lo_request) = lo_http_client->get_http_request( ). DATA(lo_response) = lo_http_client->execute( i_method = if_web_http_client=>get ). out->write( lo_response->get_text( ) ). CATCH cx_root INTO DATA(lx_exception). out->write( lx_exception->get_text( ) ). ENDTRY. ENDMETHOD. ENDCLASS.
第18行的參數i_name的值,就是之前在SAP Cloud Platform里創建的Destination名稱。
i_service_instance_name, 就是創建的Communication Arrangement additional properties里創建的Service instance name的值。
執行ABAP類,測試結果如下:
到此,關于“怎么實現兩個ABAP系統之間互連”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。