使用abapGit在ABAP On-Premises系統和SAP雲平臺ABAP環境之間進行代碼傳輸

SAP ABAP顧問朋友們,應該都使用過SAPLink這個工具。若是兩個ABAP Netweaver系統沒有創建起傳輸路徑時,咱們沒法使用標準的SE10事務碼建立傳輸請求的方式進行這兩個系統間的代碼傳輸。此時,SAPLink就有了用武之地。git

clipboard1,1

SAPLink簡單地說就是一個報表和一系列插件的集合。若是咱們指望在系統A和B之間傳輸代碼,步驟爲:github

(1) 在系統A和B上都安裝SAPLink,其實也就是手動建立報表,而後從SAPLink的github上把源代碼拷貝過來,激活便可:
https://github.com/sapmentors...算法

(2) 在系統A上執行SAPLink,把想傳輸的代碼導出成一個本地文件。編程

(3) 在系統B上執行SAPLink,將前一步生成的本地文件導入。網絡

clipboard2,2

SAPLink的介紹文章,網絡上太多了,本文再也不贅述。eclipse

到了雲時代以後,SAP雲平臺ABAP編程環境的代碼版本管理,選擇了基於abapGit這個開源項目的GIT來進行。編程語言

clipboard3,3

下面跟着Jerry一塊兒,經過一個簡單的例子來了解怎麼作吧。 函數

Jerry這個例子的場景是,我在ABAP On-Premises系統AG3裏,開發了一些ABAP代碼。我想經過abapGit,把這些On-Premises系統上的ABAP代碼導入到SAP Cloud Platform ABAP環境裏。工具

(1) 首先到這個Github倉庫裏找到abapGit的源代碼,拷貝到On-Premises系統裏。區塊鏈

clipboard4,4

激活以後運行報表,界面以下:

clipboard5,5

(2) On-Premises系統上的ABAP代碼是沒法直接推送到SAP雲平臺 ABAP環境的,須要一箇中轉站,即github.com上的代碼倉庫。爲此,Jerry新建一個代碼倉庫:test-sap-abap-cloud.

clipboard6,6

(3) 回到On-Premises系統的abapGit報表,點擊工具欄的Online超連接,同第二步建立的Github倉庫創建關聯。

clipboard7,7

上圖的意思是我在On-Premises系統裏新建立的開發包,$ZJERRYPACKAGE裏面的代碼,會和github.com的test-sap-abap-cloud這個倉庫創建關聯。

由於個人開發包裏還沒有建立任何代碼,因此此時abapGit裏除了包描述XML文件外,沒有顯示任何和ABAP代碼相關的資源文件。

clipboard8,8

(4) 如今我在On-Premises系統裏隨便建立一個Hello World的報表:

clipboard9,9

回到On-Premises系統的abapGit,刷新,此時就能看見我剛剛建立的ABAP報表了。

clipboard10,10

和你們使用Mac或者Windows版本的Git客戶端同樣,我首先用abapGit把On-Premises系統建立的這個Hello World報表推送到github.com:

clipboard11,11

隨便維護一個推送註釋,好比the first commit from Jerry's abapgit:

clipboard12,12

成功推送完畢,如今github上的倉庫已經能看到剛剛推送的來自On-Premises系統的報表代碼和推送註釋了:the first commit from Jerry's abapgit
https://github.com/i042416/te...

clipboard13,13

(5) 如今咱們能夠把github.com倉庫裏的代碼導入到SAP雲平臺ABAP環境了。給ABAP Development Tools安裝abapGit插件,地址爲:eclipse.abapgit.org/updatesite

clipboard14,14

安裝完畢後,打開abapGit視圖:

clipboard15,15

登陸SAP Cloud Platform ABAP編程環境,點擊Link按鈕:

clipboard16,16

輸入github.com的倉庫地址:https://github.com/i042416/te...

clipboard17,17

指定SAP雲平臺ABAP環境裏ZJERRY這個包存放來自github.com的ABAP代碼:

clipboard18,18

當咱們在abapGit視圖裏看到標記爲Imported狀態的條目時,說明導入成功。然而,在SAP雲平臺ABAP環境的開發包ZJERRY裏,我並無看到On-Premises系統裏的Hello World報表,這是怎麼回事呢?

clipboard19,19

原來,在SAP Cloud Platform ABAP環境裏,能容許開發人員編寫ABAP代碼的載體就只有下列五種,不支持On-Premises環境裏經過SE38建立的ABAP報表。若是咱們在On-Premises系統裏建立一個ABAP類,經過本文介紹的步驟,是可以順利導入SAP雲平臺ABAP環境並能夠繼續在其上開發的。

clipboard20,20

在SAP雲平臺ABAP編程環境裏,咱們若是想模擬On-Premises環境SE38裏建立的報表,能夠經過建立實現了接口IF_OO_ADT_CLASSRUN的ABAP類來完成。

右鍵單擊這種類,選擇Run As ABAP Application(Console)便可。

clipboard21,21

但願本文能加深你們對下圖中經過GIT來進行SAP Cloud Platform ABAP環境中代碼管理這一律唸的理解,感謝閱讀。

clipboard22,22

更多閱讀

  • Jerry的ABAP, Java和JavaScript亂燉
  • ABAP開發人員將來應該學些什麼
  • Jerry 2017年的五一小長假:8種經典排序算法的ABAP實現
  • Jerry的ABAP原創技術文章合集
  • 300行ABAP代碼實現一個最簡單的區塊鏈原型
  • 使用Java+SAP雲平臺+SAP Cloud Connector調用ABAP On-Premise系統裏的函數
  • 在SAP雲平臺的CloudFoundry環境下消費ABAP On-Premise OData服務
  • ABAP vs Java, 蛙泳 vs 自由泳
  • 聊聊C語言和ABAP
  • 動手使用ABAP Channel開發一些小工具,提高平常工做效率
  • 我用ABAP作過的那些無聊的事情
  • 不喜歡SAP GUI?那試試用Eclipse進行ABAP開發吧
  • 使用Visual Studio Code編寫和激活ABAP代碼
  • 你的ABAP程序給佛祖開過光麼?來試試Jerry這個小技巧
  • 在SAP雲平臺ABAP編程環境上編寫第一段ABAP程序
  • SAP官方發佈的ABAP編程規範
  • ABAP Code Inspector那些隱藏的功能,您都知道嗎?
  • 還在用ABAP進行SAP產品的二次開發?來了解下這種全新的二次開發理念吧
  • ABAP Netweaver體內的那些寄生式編程語言
  • 從SAP社區上的一篇博客開始,聊聊SAP產品命名背後的那份情懷
  • 雲端的ABAP Restful服務開發
  • 如何在SAP雲平臺ABAP編程環境裏把CDS view暴露成OData服務

要獲取更多Jerry的原創文章,請關注公衆號"汪子熙":
公衆號截圖

相關文章
相關標籤/搜索