?? ? 在之前發布的文章中,介紹了善用事務碼的圖形視圖以觀察事務的執行流程以及如何在MD04中實施增強以改變生產訂單的顯示順序。本文結合兩者,介紹一下如何利用事務碼的圖形視圖找到增強開發的實施點。
在事務碼中輸入SE93,進入圖形視圖:展開后,按下圖再展開
雙擊函數AUFBAUEN_MDPSX_ANZEIGEN :
進入函數后:
分析函數調用的子程序模塊,找到PERFORM sort_mdpsx. ,雙擊:
可以看出內表MDPSX的排序邏輯,在此可根據特定需求修改此內表的排序。在此FORM程序的最后,可根據SAP隱式增強的實施辦法,插入自己的代碼:
ENHANCEMENT 1? YMD04B.? ? "active version
*在MDPSX增加訂單基本開始時間并參與排序
LOOP AT MDPSX .SELECT SINGLE GSUZP INTO MDPSX-GSUZPFROM AFKOWHERE AUFNR = mdpsx-DEL12.MODIFY MDPSX ."獲取生產訂單的具體基本開始時間ENDLOOP .SORT MDPSX BY?PLAAB?PLANR?DAT00?TAG00?SORT1?SORT2?DELNRGSUZP? ? ? "在原來的排序標準中,增加‘基本開始時間’字段,其他不變
*? ? ? ? ? ? DEL12.? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"THD 31hDEL12? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "note 185361
*? ? ? ? ? ? DELPS.? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"note 185361DELPS? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "note 455067DELET.? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"note 455067
? ? ? 至于如何精準找到FORM sort_mdpsx來實施增強開發,一方面開發經驗非常重要,根據子程序名稱大致知道其相應功能,另一方面則是不斷地設置斷點進行調試,找到最后數據的輸出表,再根據輸出表找到數據排序的地方,從而確定增強實施點。