如何在S/4HANA生产订单创建上下文里拿到前置销售订单信息
我寫了一段ABAP程序,放在我的github上:
https://github.com/i042416/KnowlegeRepository/blob/master/ABAP/S4/ZCREATE_SO.abap
直接執行,可以生成銷售訂單,即對應的生產訂單。
我們知道SAP預留了一個生產訂單Update的增強:BAdI definition WORKORDER_UPDATE
在這個增強里,我們可以加入自己的邏輯,在銷售訂單生成的Production Order保存之際,實現一些自定義邏輯。
那么在SAP傳入這個增強的輸入參數里,并沒有銷售訂單的ID信息。
如果我們想在這個增強里維護前置銷售訂單和當前待生成的Production Order關聯關系,應該如何拿到前置銷售訂單ID呢?
看這個調用棧:
在調用函數CO_61_ORDER_POST前,通過SET PARAMETER ID將銷售訂單的ID保存到SAP shared memory共享內存里了:
L_CALLER = VBAK-VBELN.
SET PARAMETER ID ‘COC’ FIELD L_CALLER.
那么我們按照同樣的思路,在增強實現里用關鍵字
GET PARAMETER ID將共享內存里的銷售訂單ID重新取出即可。
DATA: lv_id type VBAK-VBELN.
GET PARAMETER ID ‘COC’ FIELD lv_id.
補充:其實在BAdI增強的輸入參數里,是有這個前置銷售訂單ID的,在字段KDAUF_AUFK里:
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
總結
以上是生活随笔為你收集整理的如何在S/4HANA生产订单创建上下文里拿到前置销售订单信息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 公积金怎么交,交多少 怎么交公积金要交多
- 下一篇: 如何调整SAP HANA studio里