[ABAP] Debug心得
? ? 最近跟了CO01的標(biāo)準(zhǔn)程序,業(yè)務(wù)顧問懷疑組件替代組取值有問題,所以去跟標(biāo)準(zhǔn)程序的組件取值。眾所周知跟標(biāo)準(zhǔn)程序是件很頭疼的事,需要耐心細(xì)心更需要技巧,通過這次解決問題的過程得到一些心得記錄分享一下。
? ? 基本情況是成品物料直接下工單得到的組件數(shù)量和計(jì)劃訂單轉(zhuǎn)工單得到的組件數(shù)量不一致。取數(shù)方向的問題首先想到ST05獲取SQL路徑,實(shí)際試了一下發(fā)現(xiàn)冗雜進(jìn)程過多,果斷放棄。然后想到取數(shù)過程是否是點(diǎn)擊組件按鈕時(shí)發(fā)生的,然后直接上手去跟了程序,結(jié)果發(fā)現(xiàn)在當(dāng)前屏幕PAI事件中就已經(jīng)發(fā)生了取數(shù),點(diǎn)擊組件只是進(jìn)行跳轉(zhuǎn)屏幕展示??雌聊贿壿嬃鞔aMethod名字將取數(shù)部分鎖定在BOM_EXPLOSION內(nèi),好一個(gè)跟結(jié)果發(fā)現(xiàn)直到Method結(jié)束數(shù)據(jù)依然是和標(biāo)準(zhǔn)BOM一致的,此時(shí)心態(tài)有點(diǎn)崩,冷靜下來想想其實(shí)這種問題出現(xiàn)的時(shí)候就應(yīng)該想到關(guān)鍵點(diǎn)在于數(shù)據(jù)的變化點(diǎn)發(fā)生在哪里而不是整個(gè)的取數(shù)過程,頓時(shí)信心倍增。既然從前往后跟不能達(dá)到目的,就選擇從結(jié)果往前看,進(jìn)入組件子屏幕PBO第一個(gè)Mothed下斷點(diǎn),果然跟到我們想要的最終數(shù)據(jù),進(jìn)入函數(shù)我們可知RESB_BT就是我們要研究的變量內(nèi)表,而數(shù)據(jù)變化的過程就在當(dāng)前函數(shù)組內(nèi),這時(shí)候我們只需要找到任意一個(gè)調(diào)用的當(dāng)前函數(shù)組的函數(shù),然后將RESB_BT[]設(shè)置為觀察點(diǎn),即可捕捉到我們想要的數(shù)據(jù)變化過程,由于程序處理過程中涉及的組件數(shù)據(jù)很多,這時(shí)候我們還要靈活運(yùn)用觀察點(diǎn)的激活和取消激活 設(shè)置臨時(shí)變量觀察點(diǎn)來跳過一些我們不需要的跟蹤過程,最終我們確認(rèn)問題發(fā)生在可用性檢查過程中,問題解決。
? ? ? ?事后再來回憶整個(gè)過程,我們發(fā)現(xiàn)跟蹤BOM原始的讀數(shù)這個(gè)過程是沒有必要的,要更精準(zhǔn)的瞄準(zhǔn)我們所需要的數(shù)據(jù)變化點(diǎn),在一開始我們可以直接從組件子屏幕顯示著手,獲取到研究變量的名字,從而獲取到觀察點(diǎn)位置,然后再一步步的向前推演數(shù)據(jù)變化過程,事情就會(huì)變得事半功倍。
?
?
?
總結(jié)
以上是生活随笔為你收集整理的[ABAP] Debug心得的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [转]浅说软件需求分析
- 下一篇: PP点点通主要功能