聲明:本文僅代表原作者觀點(diǎn),僅用于SAP軟件的應(yīng)用與學(xué)習(xí),不代表SAP公司。注:文中所示截圖來源SAP軟件,相應(yīng)著作權(quán)歸SAP所有。 本文將介紹基本的ABAP調(diào)試和智能表單技能,使SAP顧問更加自給自足和獨(dú)立。重點(diǎn)介紹關(guān)鍵技術(shù)和功能,并以兩者的常見用例作為結(jié)束。調(diào)試
ABAP調(diào)試器是SAP提供的一種用于檢查ABAP代碼的編程工具。使用此工具,您可以顯示數(shù)據(jù)對(duì)象并檢查ABAP程序的流邏輯。換句話說,您可以對(duì)任何一段ABAP代碼執(zhí)行逐步分析和故障排除。技術(shù)和特點(diǎn)
以下是ABAP調(diào)試器的常見技術(shù)和功能。? 斷點(diǎn):程序源代碼的特定行中的一個(gè)信號(hào)。該信號(hào)指示ABAP運(yùn)行時(shí)處理器停止相關(guān)行的程序并啟動(dòng)ABAP調(diào)試器。? F5鍵:以循序漸進(jìn)的方式執(zhí)行程序行。? F6鍵:逐塊執(zhí)行程序(例如:方法、功能模塊和子程序),而不進(jìn)入單個(gè)代碼塊。? F7鍵:一起執(zhí)行塊中的所有代碼行(例如:方法、函數(shù)模塊和子例程)。? F8鍵:執(zhí)行整個(gè)程序并退出事務(wù)(例外:如果程序中設(shè)置了多個(gè)斷點(diǎn),則程序?qū)⒎謩e遍歷其中的每個(gè)斷點(diǎn),直到到達(dá)最后一個(gè)斷點(diǎn))。啟動(dòng)調(diào)試器模式
調(diào)試可以通過兩種方式啟動(dòng)。在第一個(gè)命令中,在命令字段中鍵入/h,然后按enter鍵。然后,您將看到一條如下圖所示的成功消息,指示調(diào)試模式已打開。如果按F8或單擊執(zhí)行按鈕,會(huì)話將帶您進(jìn)入調(diào)試器工具,在那里您可以檢查代碼。第二種方法是在程序的特定行中放置一個(gè)斷點(diǎn)。要執(zhí)行此操作,請(qǐng)執(zhí)行以下步驟:1.通過事務(wù)代碼SE38/SA38進(jìn)入程序、功能模塊或方法。2.將光標(biāo)放在要放置斷點(diǎn)的行上。3.單擊下圖所示的停止圖標(biāo),然后執(zhí)行程序。4.您的會(huì)話將打開調(diào)試工具,編譯器將停止在您保留斷點(diǎn)的位置。調(diào)試用例 讓我們看看三個(gè)最常見的用例,其中基本的ABAP技能可以幫助我們調(diào)試和解決問題。在第一種情況下,您需要查看錯(cuò)誤的來源。您的用戶正在遇到錯(cuò)誤,需要您的幫助進(jìn)行故障排除。逐行執(zhí)行代碼并轉(zhuǎn)到錯(cuò)誤消息將非常耗時(shí)。讓我們看看使用調(diào)試工具在程序中快速查找錯(cuò)誤消息的方法。假設(shè)下圖表示用戶看到的錯(cuò)誤消息。您首先在系統(tǒng)上重現(xiàn)錯(cuò)誤,然后執(zhí)行以下操作。首先,單擊錯(cuò)誤消息,它會(huì)將您帶到下面顯示的屏幕,在那里您可以看到消息類別和消息編號(hào)。我們可以通過查看消息的類型來識(shí)別消息的類型。消息編號(hào)中有不同的部分,其中00表示消息類別,055表示消息編號(hào)。在錯(cuò)誤屏幕上,在命令字段中鍵入/h,然后按enter鍵啟動(dòng)調(diào)試器。一旦您點(diǎn)擊回車鍵,調(diào)試器工具將被激活并在另一個(gè)會(huì)話中打開。在調(diào)試器屏幕上,轉(zhuǎn)到“菜單”>“斷點(diǎn)”>“消息處的斷點(diǎn)”打開以下屏幕,從中可以獲取從錯(cuò)誤消息中收集的信息。點(diǎn)擊回車鍵。按F8后,編譯器將在發(fā)生錯(cuò)誤的程序中停止。在第二個(gè)用例中,通過轉(zhuǎn)到調(diào)試器內(nèi)的特定程序行來繞過代碼塊??紤]一下:您在調(diào)試器的程序行26中,想要忽略一些代碼集/塊,并且想要直接移到第39行。要實(shí)現(xiàn)這一點(diǎn),請(qǐng)轉(zhuǎn)到“菜單”>“調(diào)試器”>“轉(zhuǎn)到語(yǔ)句”或按Shift+F12。在最后一個(gè)用例中,您希望檢查變量、內(nèi)部表和結(jié)構(gòu)的數(shù)據(jù)。您可以將鼠標(biāo)指針放在任何變量上,以了解其數(shù)據(jù)類型和特征。同樣,如果用戶想知道變量所用的數(shù)據(jù),可以雙擊變量,在調(diào)試器屏幕右側(cè)顯示的變量窗口中查看其數(shù)據(jù)。智能表單SMARTFORM 智能表單是SAP提供的一種用于維護(hù)PDF表單的工具,SAP系統(tǒng)的應(yīng)用程序數(shù)據(jù)可以在該工具上輸出。智能表單的事務(wù)代碼是SMARTFORMS。技術(shù)和特點(diǎn)
一旦創(chuàng)建并激活了一個(gè)表單,它就會(huì)生成一個(gè)用于驅(qū)動(dòng)程序的功能模塊。由于此功能模塊名稱是動(dòng)態(tài)的,因此驅(qū)動(dòng)程序在運(yùn)行時(shí)使用SAP提供的特殊FM(“SSF_function_module_name”)來確定功能模塊名稱。在確定智能表單功能模塊名稱后,驅(qū)動(dòng)程序調(diào)用智能表單FM來創(chuàng)建輸出。使用案例
下面是一個(gè)非常常見的用例,當(dāng)擁有智能表單知識(shí)時(shí),可以幫助您排除故障,并為最終用戶和開發(fā)團(tuán)隊(duì)節(jié)省時(shí)間。要調(diào)試智能表單或轉(zhuǎn)到要進(jìn)行故障排除的代碼塊,請(qǐng)執(zhí)行以下步驟。首先,使用事務(wù)代碼SMARTFORMS在測(cè)試系統(tǒng)中打開智能表單,然后單擊“顯示”您的智能表單將像下面這樣打開。在左側(cè)樹狀結(jié)構(gòu)中,轉(zhuǎn)到要調(diào)試的程序中的特定代碼行。復(fù)制程序行并將其放在手邊。由于我們?cè)噲D保留一個(gè)斷點(diǎn),我們需要提前了解智能表單FM。要找到它,請(qǐng)轉(zhuǎn)到菜單>環(huán)境>功能模塊名稱。使用事務(wù)代碼SE37打開智能表單功能模塊并導(dǎo)航到主程序,如圖所示。打開主程序后,單擊“查找”按鈕,它看起來像下面屏幕截圖中突出顯示的雙筒望遠(yuǎn)鏡,以搜索從智能窗體復(fù)制的程序行。在主程序中搜索程序行,如下圖所示。它會(huì)帶你到使用它的地方。找到程序行后,通過單擊“停止”按鈕并將光標(biāo)保持在該行中來放置斷點(diǎn)。接下來,執(zhí)行驅(qū)動(dòng)程序或重新運(yùn)行事務(wù)以進(jìn)行PDF輸出。調(diào)試器工具將停止在用戶保留斷點(diǎn)的位置。然后,您可以按照本文前面概述的步驟來獲得要調(diào)試的輸出值。希望這篇文章能讓你對(duì)ABAP調(diào)試和智能表單的技術(shù)技能感到興奮,并希望你能在SANDBOX系統(tǒng)中試用它們。版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系刪除。 免責(zé)聲明:本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請(qǐng)第一時(shí)間告知,我們將根據(jù)您提供的證明材料確認(rèn)版權(quán)并按國(guó)家標(biāo)準(zhǔn)支付稿酬或立即刪除內(nèi)容!本文內(nèi)容為原作者觀點(diǎn),并不代表本公眾號(hào)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé)。
|