溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么實(shí)現(xiàn)兩個(gè)ABAP系統(tǒng)之間互連

發(fā)布時(shí)間:2021-12-29 17:18:06 來(lái)源:億速云 閱讀:128 作者:iii 欄目:服務(wù)器

這篇文章主要介紹“怎么實(shí)現(xiàn)兩個(gè)ABAP系統(tǒng)之間互連”,在日常操作中,相信很多人在怎么實(shí)現(xiàn)兩個(gè)ABAP系統(tǒng)之間互連問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”怎么實(shí)現(xiàn)兩個(gè)ABAP系統(tǒng)之間互連”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

場(chǎng)景:SAP云平臺(tái)上的兩個(gè)ABAP系統(tǒng)實(shí)例,一個(gè)作為數(shù)據(jù)的提供者-provision system;另一個(gè)作為數(shù)據(jù)的消費(fèi)者 - client system,后者從前者讀取數(shù)據(jù),并顯示

實(shí)現(xiàn)步驟概述:

(1) client System創(chuàng)建outbound communication. (2) 在provision系統(tǒng)創(chuàng)建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) 創(chuàng)建一個(gè)remote client proxy (5) 在client System創(chuàng)建一個(gè)OData服務(wù),使用Fiori Elements消費(fèi)并展示從provision系統(tǒng)取回的數(shù)據(jù)

怎么實(shí)現(xiàn)兩個(gè)ABAP系統(tǒng)之間互連

SAP標(biāo)準(zhǔn)發(fā)布的Communication Scenario SAP_COM_0276,提供了SAP Cloud Platform ABAP實(shí)例同遠(yuǎn)端的ABAP On-Premises系統(tǒng)或者第三方系統(tǒng)集成的可能性。

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指定了必須的元數(shù)據(jù),包括通信系統(tǒng)和消息認(rèn)證方式等信息,這些元數(shù)據(jù)以Service key的形式存儲(chǔ)。可以基于Communication Arrangement創(chuàng)建Destination.

在SAP云平臺(tái)CloudFoundry環(huán)境里創(chuàng)建一個(gè)Destination服務(wù)實(shí)例:

怎么實(shí)現(xiàn)兩個(gè)ABAP系統(tǒng)之間互連怎么實(shí)現(xiàn)兩個(gè)ABAP系統(tǒng)之間互連怎么實(shí)現(xiàn)兩個(gè)ABAP系統(tǒng)之間互連

基于這個(gè)Destination服務(wù)創(chuàng)建一個(gè)新的Destination實(shí)例:

怎么實(shí)現(xiàn)兩個(gè)ABAP系統(tǒng)之間互連怎么實(shí)現(xiàn)兩個(gè)ABAP系統(tǒng)之間互連

url字段維護(hù)成provision System的url,確保連接能夠成功建立。

怎么實(shí)現(xiàn)兩個(gè)ABAP系統(tǒng)之間互連

給Destination service創(chuàng)建一個(gè)新的service key,將其內(nèi)容保存在本地:

怎么實(shí)現(xiàn)兩個(gè)ABAP系統(tǒng)之間互連

在client System上打開(kāi)ABAP service instance的dashboard:

怎么實(shí)現(xiàn)兩個(gè)ABAP系統(tǒng)之間互連怎么實(shí)現(xiàn)兩個(gè)ABAP系統(tǒng)之間互連怎么實(shí)現(xiàn)兩個(gè)ABAP系統(tǒng)之間互連

在Communication Arrangement tile里,創(chuàng)建一個(gè)新的實(shí)例:

怎么實(shí)現(xiàn)兩個(gè)ABAP系統(tǒng)之間互連

從Communication Scenario下拉列表里,選擇之前介紹的SAP_COM_0276: SAP CP CF Destination Service integration:

怎么實(shí)現(xiàn)兩個(gè)ABAP系統(tǒng)之間互連怎么實(shí)現(xiàn)兩個(gè)ABAP系統(tǒng)之間互連

選擇好Communication Scenario后,維護(hù)Communication Arrangement的名稱,比如OUTBOUND_XXX.

在Communication Arrangement的additional properties里,將service instance name的值從默認(rèn)值OUTBOUND_XXX改成更便于記憶的值,比如Outbound-For-Tutorials_XXX.

最后一步,在ABAP client System上創(chuàng)建ABAP 實(shí)現(xiàn)類:

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行的參數(shù)i_name的值,就是之前在SAP Cloud Platform里創(chuàng)建的Destination名稱。

怎么實(shí)現(xiàn)兩個(gè)ABAP系統(tǒng)之間互連

i_service_instance_name, 就是創(chuàng)建的Communication Arrangement additional properties里創(chuàng)建的Service instance name的值。

怎么實(shí)現(xiàn)兩個(gè)ABAP系統(tǒng)之間互連

執(zhí)行ABAP類,測(cè)試結(jié)果如下:

怎么實(shí)現(xiàn)兩個(gè)ABAP系統(tǒng)之間互連

到此,關(guān)于“怎么實(shí)現(xiàn)兩個(gè)ABAP系統(tǒng)之間互連”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI