大家如果有興趣,歡迎關原文連結中的注微信公衆号,有很多很有用的知識分享和項目機會分享。
導讀SAP系統在企業的應用時,會有大量自開發功能。通常情況下,基于特殊的行業需求,以及某些業務部門的管理需求等,都會額外開發出一些增強,報表,對話功能,接口等,進而保證系統的正常運轉。
SAP标準功能的邏輯,我們一般都清楚,但對于一些自開發的程式問題,我們除了基于功能進行測試以外,還需要有Debug的基本技巧,從代碼層面去定位問題。
目前,很多SAP項目中都包含了大量的自開發内容,能夠通過Debug去定位問題,是非常有利于我們日常工作的。
本篇我們就簡單介紹幾種Debug的方式。
正文 1. 在程式中設定斷點,執行程式進行Debug有些程式,我們很清楚具體出問題的代碼位置。
在這種情況下,我們可以直接通過SE38,打開程式,直接在程式中設定斷點,如下圖所示。
設定斷點完畢後,執行相應程式,如果斷點設定正确,程式停止在此斷點處,自動進入Debug模式。
2. /H 在程式運作界面,直接進行Debug當我們需要在執行程式的界面,進入Debug時,如下圖,首先在事務碼框中輸入“/H”。
事務碼框中輸入“/H”後,點選回車,如下圖,系統将提示“調試被激活”。
此時,執行此程式的相應功能,系統直接切換至Debug界面,如下圖所示,在Debug界面下,我們則可以一步一步運作代碼,定位程式的問題點。
這裡我們介紹一種常見情況:
在有些增強程式,或者對話程式執行時會出現一些消息的彈出,我們需要調查系統為何彈出此消息。
比如,我們點選儲存按鈕後,按正常情況系統應自動儲存。
可有時候,我們點選儲存,系統會提示某種消息,表示無法儲存,當我們無法根據提示消息定位問題時,我們就需要通過Debug的方式定位具體問題了。
首先,我們可以按照所介紹的方式,通過/H進入Debug界面。
接下來,我們可以一步一步執行代碼,但是有時候代碼很多,一步一步執行很慢,還有可能執行錯過具體的位置。
在這種情況下,我一般先直接針對所有消息設定斷點,設定方法:在斷點中,點選create breakpoint,如下圖所示。
點選完畢後,系統會自動彈出一個對話框,輸入ABAP指令:在指令中輸入Message。
設定完畢後,我們就可以放心進行通過F8徹底執行程式了。如下圖
這樣,程式會執行到每一個消息的斷點處停下來。我們就能夠快速定位問題,并不擔心執行過了我們需要檢查的點,進而就能夠快速地去檢查程式是因為滿足了什麼條件,或者沒有滿足什麼條件,才出現消息彈出的。
這種方式也适用于其他ABAP指令的斷點設定,Message的設定,是比較常見的一種。
3.如何在給彈出對話框的情況下,進入Debug界面?有些系統功能在執行時,首先彈出一個對話框,對話框上有相關按鈕,當我們點選對話框上的按鈕時,系統才出現問題。
這種情況下,由于執行界面有對話框,我們無法給事務代碼框中輸入/H,如下圖所示。
假定,我們在檢視物料主資料時,輸入物料号,點選回車,選中MRP1後,點選确認時,報錯。此時,我們需要進行Debug。
在這種情況下,我們是不可能在事務碼框中輸入/H的。,如下圖所示
在上述情況下,我們可以将帶有如下文本的.TXT文檔直接拖動到SAP對話框中,系統将自動激活Debug界面。
本篇就分享到這裡,大家有興趣,請關注公衆号,裡面有很多有用的知識。