天天看點

SAP成本中心修改後點儲存按鈕後觸發增強FM的調試過程【cmod】【smod】

成本中心的前台操作事務碼是ks01 ks02建立和儲存,畫面如下

SAP成本中心修改後點儲存按鈕後觸發增強FM的調試過程【cmod】【smod】
SAP成本中心修改後點儲存按鈕後觸發增強FM的調試過程【cmod】【smod】

我們的目标是,點選上圖中的【儲存】按鈕時,觸發增強中的FM。

進入事務碼CMOD

SAP成本中心修改後點儲存按鈕後觸發增強FM的調試過程【cmod】【smod】
SAP成本中心修改後點儲存按鈕後觸發增強FM的調試過程【cmod】【smod】
SAP成本中心修改後點儲存按鈕後觸發增強FM的調試過程【cmod】【smod】
SAP成本中心修改後點儲存按鈕後觸發增強FM的調試過程【cmod】【smod】

成本中心主資料的儲存,觸發的增強内容是COOMKS02,為什麼是它?這件事我們以後再說。反正就是它了。

SAP成本中心修改後點儲存按鈕後觸發增強FM的調試過程【cmod】【smod】

上圖我們可以看出來,同一個增強内容,隻能被某一個,對,僅僅一個項目使用。

我們先去舊項目中删除這個增強,然後添加到我們自己的增強中。(那個也是我的,沒關系)

SAP成本中心修改後點儲存按鈕後觸發增強FM的調試過程【cmod】【smod】

然後繼續維護我們自己的項目

SAP成本中心修改後點儲存按鈕後觸發增強FM的調試過程【cmod】【smod】
SAP成本中心修改後點儲存按鈕後觸發增強FM的調試過程【cmod】【smod】
SAP成本中心修改後點儲存按鈕後觸發增強FM的調試過程【cmod】【smod】
SAP成本中心修改後點儲存按鈕後觸發增強FM的調試過程【cmod】【smod】
SAP成本中心修改後點儲存按鈕後觸發增強FM的調試過程【cmod】【smod】
SAP成本中心修改後點儲存按鈕後觸發增強FM的調試過程【cmod】【smod】

通過上述的操作,我們建立了cmod方式的增強項目,并綁定了COOMKS02元件,激活。下面我們要為這個元件添加代碼,用來調試。

輕按兩下EXIT_SAPLKMA1_003

SAP成本中心修改後點儲存按鈕後觸發增強FM的調試過程【cmod】【smod】
SAP成本中心修改後點儲存按鈕後觸發增強FM的調試過程【cmod】【smod】
SAP成本中心修改後點儲存按鈕後觸發增強FM的調試過程【cmod】【smod】

儲存激活

然後我們在調試之前,可以使用函數MODX_FUNCTION_ACTIVE_CHECK确認一下,我們剛剛的操作是否激活了對應的增強

SE37進入FM調試工具,打開上述FM

SAP成本中心修改後點儲存按鈕後觸發增強FM的調試過程【cmod】【smod】
SAP成本中心修改後點儲存按鈕後觸發增強FM的調試過程【cmod】【smod】
SAP成本中心修改後點儲存按鈕後觸發增強FM的調試過程【cmod】【smod】

如上圖,執行的結果,反正是有内容,說明之前的内容被激活了。

下面我們去成本中心的前台事務碼,看看增強sh是否會被觸發。

先打斷點,如下圖

SAP成本中心修改後點儲存按鈕後觸發增強FM的調試過程【cmod】【smod】

然後執行ks02的儲存按鈕

SAP成本中心修改後點儲存按鈕後觸發增強FM的調試過程【cmod】【smod】
SAP成本中心修改後點儲存按鈕後觸發增強FM的調試過程【cmod】【smod】

我們隻需要将斷點中,無意義的write代碼替換成我們需要的代碼就可以了。