生產訂單BADI例項

2022-03-12 13:02:35 字數 619 閱讀 9366

**:

以生產訂單收貨為例:

1、badi的查詢方法:

se38在程式中搜尋關鍵字cl_exithandler

或se24(cl_exithandler)在方法get_instance中打斷點,然後執行相應事物碼撲捉badi

然後執行mb31事務碼

假若找到可以使用的badi為mb_document_badi。

2、badi應用

可以使用se18檢視該badi,可以看到改badi對應的介面,介面中定義的方法及引數傳遞。

然後se19  implementation該badi

點選「建立」

點選「儲存」

然後就可以在此新增**了。

注:介面編碼badi加字首if_cl_,客戶類編碼zcl_im_

3、badi原理

呼叫badi時,mb31對應程式中有如下**

打斷點分析函式get_iinstance返回值mb_document_badi

返回值為 ,在執行函式mb_document_before_update過程,會執行

跟蹤會發現,系統一直呼叫類cl_ex_mb_document_badi做中間處理,在最後一步才呼叫zcl_im_mbpost執行自定義程式。

生產訂單狀態

訂單 dlv 交貨已完成 teco 技術完成 的狀態一直困擾著大家 現就這兩個狀態的作用作一下說明。在 co中這兩個狀態用於結果分析,即確認工單的餘額是進入在製品還是進入差異,有這兩個狀態中的乙個時,工單餘額即會進入差異,否則進入在製品。在進行co 在製品計算 kkao 時,系統會取當前有效日期的 ...

生產訂單狀態相關

1 獲取生產訂單的物件標識 select single objnr into l objnr from aufk where aufnr 訂單號 2 獲取系統狀態 data begin of i status occurs 0.include type jstat.data endof i stat...

SAP生產訂單預留

閒來無事,研究一下生產訂單預留。首先是預留的建立 1.預留建立的時機 預留憑證是在生產訂單儲存的時候建立的,預留編號和生產訂單一一對應。但是在讀取bom的時候就已經建立了臨時檔案,並占用了編號!這個號碼是提前分配,所以預留可能會不連號!和預留的編號分配不同,生產訂單的編號是在儲存的時候才會分配,所以...