如何在SAP云平臺(tái)ABAP編程環(huán)境上編寫(xiě)第一段ABAP程序-創(chuàng)新互聯(lián)

如何在SAP云平臺(tái)ABAP編程環(huán)境上編寫(xiě)第一段ABAP程序,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、憑祥網(wǎng)絡(luò)推廣、微信小程序開(kāi)發(fā)、憑祥網(wǎng)絡(luò)營(yíng)銷、憑祥企業(yè)策劃、憑祥品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供憑祥建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:muchs.cn

Jerry最近會(huì)做一系列關(guān)于如何在SAP Cloud Platform上的ABAP編程環(huán)境上做開(kāi)發(fā)的分享。

其實(shí)對(duì)于一個(gè)已經(jīng)能夠熟練使用ABAP Development Tools連接On-Premises ABAP Netweaver服務(wù)器做開(kāi)發(fā)的傳統(tǒng)開(kāi)發(fā)人員而言,遷移到從On-Premises遷移到SAP云平臺(tái)上的難度不大,只是需要注意一些開(kāi)發(fā)理念上的轉(zhuǎn)變,這個(gè)轉(zhuǎn)變我們?cè)诤罄m(xù)具體做開(kāi)發(fā)時(shí)會(huì)提到。

這種相對(duì)平緩的遷移和學(xué)習(xí)曲線,對(duì)于SAP全球龐大生態(tài)圈的企業(yè)和開(kāi)發(fā)人員來(lái)說(shuō),無(wú)疑是一個(gè)好消息——這意味著SAP正在進(jìn)行中的向云端數(shù)字化轉(zhuǎn)型的旅程里,這些企業(yè)和個(gè)人也能夠加入其中,并且他們以前在On-Premises時(shí)代積累的寶貴的技術(shù)和業(yè)務(wù)領(lǐng)域知識(shí),能夠繼續(xù)在云時(shí)代發(fā)光發(fā)熱。

我曾經(jīng)在網(wǎng)絡(luò)上了解到,很多自學(xué)SAP ABAP的朋友們,面臨的第一道關(guān)卡就是在自己本地搭一臺(tái)Netweaver服務(wù)器出來(lái)。作為一個(gè)寫(xiě)了12年代碼的老開(kāi)發(fā)人員,Jerry也搭過(guò)各種本地開(kāi)發(fā)環(huán)境,深知這里面的水有多深。我以前的老板,也給我們分享過(guò)他當(dāng)年來(lái)SAP成都研究院面試的時(shí)候,自己本地也搭過(guò)Netweaver,并且短短幾天啃完幾百頁(yè)的Netweaver英文文檔的經(jīng)歷。

相信每一位在本地搭建Netweaver的ABAP學(xué)習(xí)者,當(dāng)成功看到Hello World輸出的那一刻,成就感一定爆棚。

然而,當(dāng)Jerry第一次在SAP Cloud Platform的ABAP編程環(huán)境上看到Hello World時(shí),卻沒(méi)有多少成就感,因?yàn)橹苯影凑誂BAP Development Tool里的項(xiàng)目創(chuàng)建向?qū)б徊讲讲僮骶涂梢粤?,過(guò)程比較簡(jiǎn)單易懂——這也體現(xiàn)了云時(shí)代到來(lái)后,對(duì)傳統(tǒng)應(yīng)用開(kāi)發(fā)人員工作方式的影響:無(wú)需費(fèi)神去關(guān)心底層硬件或者操作系統(tǒng)等資源,可以把精力集中于應(yīng)用程序邏輯的編寫(xiě)上。換言之,SAP負(fù)責(zé)管理和維護(hù)底層HANA數(shù)據(jù)庫(kù)和中層的ABAP runtime,用戶只需管理頂層的ABAP應(yīng)用代碼。

使用ABAP Development Tools的項(xiàng)目創(chuàng)建向?qū)В?br/>New->ABAP Cloud Project:

如何在SAP云平臺(tái)ABAP編程環(huán)境上編寫(xiě)第一段ABAP程序

Service Instance Connection,選擇SAP Cloud Platform CloudFoundry environment:

如何在SAP云平臺(tái)ABAP編程環(huán)境上編寫(xiě)第一段ABAP程序

選擇Region,輸入用戶名密碼,前提是你得在這個(gè)region下有一個(gè)global Account。

如何在SAP云平臺(tái)ABAP編程環(huán)境上編寫(xiě)第一段ABAP程序

下圖是我在SAP Cloud Platform的CloudFoundry環(huán)境里的Global Account:

如何在SAP云平臺(tái)ABAP編程環(huán)境上編寫(xiě)第一段ABAP程序

這個(gè)Global Account所屬的space下面我創(chuàng)建了一個(gè)ABAP系統(tǒng)實(shí)例,ID為ME1:

如何在SAP云平臺(tái)ABAP編程環(huán)境上編寫(xiě)第一段ABAP程序

這個(gè)ABAP運(yùn)行實(shí)例具有16GB運(yùn)行內(nèi)存,64GB的HANA內(nèi)存。

如何在SAP云平臺(tái)ABAP編程環(huán)境上編寫(xiě)第一段ABAP程序

再回到ABAP Development Tools, 在項(xiàng)目創(chuàng)建向?qū)Ю锸褂肅ockpit里維護(hù)的上述屬性:

如何在SAP云平臺(tái)ABAP編程環(huán)境上編寫(xiě)第一段ABAP程序

點(diǎn)Next,在ABAP Development Tools里會(huì)看到一個(gè)嵌入的登錄窗口。因?yàn)镴erry使用的是SAP社區(qū)Mentor的賬號(hào),所以登錄窗口顯示的標(biāo)題是:Welcome to Mentors!

如何在SAP云平臺(tái)ABAP編程環(huán)境上編寫(xiě)第一段ABAP程序

在向?qū)Ю稂c(diǎn)Finish按鈕:

如何在SAP云平臺(tái)ABAP編程環(huán)境上編寫(xiě)第一段ABAP程序

點(diǎn)擊之后,在ABAP Development Tools左側(cè)的項(xiàng)目列表里就能看見(jiàn)創(chuàng)建好的ABAP Cloud項(xiàng)目了,接下來(lái)在這個(gè)項(xiàng)目里編寫(xiě)ABAP代碼進(jìn)行開(kāi)發(fā)的方式,和我們用ADT連接On-Premises系統(tǒng)基本一致。大家可以看到下圖創(chuàng)建好的高亮的ABAP Cloud項(xiàng)目(系統(tǒng)ID為ME1), 和其他On-Premises上的ABAP項(xiàng)目外觀上沒(méi)有區(qū)別。

如何在SAP云平臺(tái)ABAP編程環(huán)境上編寫(xiě)第一段ABAP程序

這兩種ABAP項(xiàng)目的差異在于,ABAP Cloud項(xiàng)目里能夠使用的ABAP語(yǔ)言特性,只是傳統(tǒng)ABAP語(yǔ)言的一個(gè)子集,比如傳統(tǒng)ABAP語(yǔ)言里和Dynpro相關(guān)的關(guān)鍵字,即只能工作在SAPGUI中的那些關(guān)鍵字,因?yàn)樵贑loud環(huán)境下不再適用了,所以在ABAP Development Tools的ABAP Cloud項(xiàng)目里禁止使用。

現(xiàn)在就可以進(jìn)行第一行ABAP程序的編寫(xiě)了。

和On-Premises環(huán)境下一樣,首先創(chuàng)建一個(gè)本地包ZJERRY(local package):

如何在SAP云平臺(tái)ABAP編程環(huán)境上編寫(xiě)第一段ABAP程序

然后彈出提示要求創(chuàng)建Transport Request(傳輸請(qǐng)求):

如何在SAP云平臺(tái)ABAP編程環(huán)境上編寫(xiě)第一段ABAP程序

Package和Transport Request都有了之后,就可以開(kāi)始編碼了。
在On-Premises時(shí)代,我們想用ABAP打印Hello World,直接SE38創(chuàng)建一個(gè)報(bào)表(Program,如下圖所示),然后WRITE: 'Hello World'就可以了。

如何在SAP云平臺(tái)ABAP編程環(huán)境上編寫(xiě)第一段ABAP程序

在SAP Cloud Platform上,新建列表的選項(xiàng)里已經(jīng)沒(méi)有了ABAP Program這一項(xiàng)。

如何在SAP云平臺(tái)ABAP編程環(huán)境上編寫(xiě)第一段ABAP程序

所以我們只能選擇新建一個(gè)ABAP Class:

如何在SAP云平臺(tái)ABAP編程環(huán)境上編寫(xiě)第一段ABAP程序

指定把這個(gè)類存儲(chǔ)到剛剛新建的Transport Request里:

如何在SAP云平臺(tái)ABAP編程環(huán)境上編寫(xiě)第一段ABAP程序

接下來(lái)的操作,好比在Java class的static public void main(String[] args)方法里用System.out.println打印Hello World一樣。

這個(gè)新建的ABAP類實(shí)現(xiàn)IF_OO_ADT_CLASSRUN接口, 進(jìn)行Hello World的打?。?/p>

如何在SAP云平臺(tái)ABAP編程環(huán)境上編寫(xiě)第一段ABAP程序

激活代碼,可以看到和On-Premises一樣,這個(gè)類的各個(gè)組成部分需要一起激活。

如何在SAP云平臺(tái)ABAP編程環(huán)境上編寫(xiě)第一段ABAP程序

至于為什么Jerry在IDE里書(shū)寫(xiě)了一段純文本的ABAP源碼,但是激活時(shí)任務(wù)列表里產(chǎn)生了這么多對(duì)象,請(qǐng)參考Jerry的博客:General properties of ABAP Classes / Interfaces
https://blogs.sap.com/2014/03/14/general-properties-of-abap-classes-interfaces/
激活完畢后,Run As->ABAP Application(console):

如何在SAP云平臺(tái)ABAP編程環(huán)境上編寫(xiě)第一段ABAP程序

Console里看到輸出:

如何在SAP云平臺(tái)ABAP編程環(huán)境上編寫(xiě)第一段ABAP程序

觀察這個(gè)類執(zhí)行的交互日志,發(fā)現(xiàn)我們?cè)贏BAP Development Tools里觸發(fā)的執(zhí)行動(dòng)作,IDE發(fā)送了一個(gè)SAP Cloud Platform上endpoint為/sap/bc/adt/oo/classrun的POST請(qǐng)求。

如何在SAP云平臺(tái)ABAP編程環(huán)境上編寫(xiě)第一段ABAP程序

這段程序在SAP云平臺(tái)的ABAP實(shí)例上執(zhí)行,結(jié)果再以HTTP響應(yīng)的方式返回給IDE。

如何在SAP云平臺(tái)ABAP編程環(huán)境上編寫(xiě)第一段ABAP程序

IDE發(fā)送請(qǐng)求給SAP Cloud Platform的具體Java代碼,可以按照J(rèn)erry的文章:那些年我用過(guò)的SAP IDE 里介紹的方法去反編譯后查看。

如何在SAP云平臺(tái)ABAP編程環(huán)境上編寫(xiě)第一段ABAP程序

在SAP云平臺(tái)上的ABAP編程,和傳統(tǒng)On-Premises系統(tǒng)編程相比,一個(gè)顯著的差異就是,出于保持簡(jiǎn)單,降低操作風(fēng)險(xiǎn)的準(zhǔn)則,以及在提供操作的靈活性和云平臺(tái)安全性等方面的折衷考慮,開(kāi)發(fā)人員在SAP Cloud Platform的ABAP編程環(huán)境無(wú)法像后者一樣能夠任意訪問(wèn)Netweaver上的資源。

以傳統(tǒng)ABAP開(kāi)發(fā)人員在Netweaver上進(jìn)行二次開(kāi)發(fā)最常用的ABAP OPEN SQL讀表的操作為例,這種直接訪問(wèn)數(shù)據(jù)庫(kù)表的行為在SAP Cloud Platform上會(huì)引起語(yǔ)法錯(cuò)誤。

即使像下圖這樣在ABAP代碼里直接引用Netweaver的數(shù)據(jù)庫(kù)表,在SAP云平臺(tái)上也是不允許的。

如何在SAP云平臺(tái)ABAP編程環(huán)境上編寫(xiě)第一段ABAP程序

所有對(duì)底層資源的訪問(wèn)都必須通過(guò)SAP定義的白名單里的API進(jìn)行,即下圖Released Objects里包含的API。

如何在SAP云平臺(tái)ABAP編程環(huán)境上編寫(xiě)第一段ABAP程序

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。

網(wǎng)頁(yè)名稱:如何在SAP云平臺(tái)ABAP編程環(huán)境上編寫(xiě)第一段ABAP程序-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://muchs.cn/article12/deijgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、做網(wǎng)站用戶體驗(yàn)、面包屑導(dǎo)航、App開(kāi)發(fā)、響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)