1)ST22
2)ABAP EDITOR
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiInVGcq5yN2MzYjJTMiFTMyUjN4QmNzUDNyYGNiJTMyUGMmBTMz8CX0EzLcJDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL2M3Lc9CX6MHc0RHaiojIsJye.jpeg)
3)光标自動定位到dump的位置,打斷點
然後執行下看看,
這個時候,發現,供應商是空,(然後裡面沒控制好,如果供應商是空會引起dump)
4)然後看看哪兒指派的。(當然也可以debug進來後設定觀察點,這裡先看看代碼邏輯的好)
後來發現這裡指派的
debug的時候發現物料号是空。然後再看物料号為啥是空。
發現是這裡取的物料資訊
标準函數了,可以F5進去看看。但是一點兒點兒debug也挺麻煩的。
對于開發可以這麼去一點兒點兒debug。也沒啥問題,看看哪兒取值沒取到,再分析原因。
另外,如果這個列印是個例的話,那可以考慮直接從資料下手。
對比下正常不報錯的和一個dump的資料,幾個關鍵表或者前台去看看兩條資料有啥不一樣。
有時候比一點兒點兒debug 标準代碼更輕松一些。
回到剛才這個問題。因為在标準的取數之前,有一條sql語句
Select Single,而且用的不是主鍵。
是以我當時第一反應是這個sql會不會取的不對。
然後debug的時候根據這個where條件,去DB表裡取了,發現真的是兩條資料。
然後我debug把取到的值換成另一個,就順利通過了。
那問題就出在這個SQL上了。
當然這個是個巧合,如有雷同純屬巧合,而且為啥覺得那句sql有問題,其實就是當時的一個直覺吧。
具體其他debug常用的内容稍後的幾篇文章裡再專門的寫。這裡就先不提了。