one order event handling - 初始化过程
Created by Jerry Wang on Aug 19, 2014
通過UI創(chuàng)建一個transaction type為TA的sales order為例:
?
?
?
?
transaction type TA對應(yīng)的transaction category如下:
?
Order修改的所有操作都是通過FM CRM_ORDER_MAINTAIN 統(tǒng)一trigger:
?
最終會調(diào)用CRM_ORDER_H_MAINTAIN_OW 或者?CRM_ORDER_I_MAINTAIN_OW處理Header或者Item:
?
?
里面的FM CRM_ORDERADM_H_PUBLISH_OW統(tǒng)一raise Order header level的各種事件,從而調(diào)用事件上注冊的callback。
?
在該function module內(nèi)搜索關(guān)鍵字 CRM_EVENT_PUBLISH_OW,能找出該FM 負(fù)責(zé)raise的所有支持的event:
?
?
internal table gt_allowed_callbacks_hdr 存放了當(dāng)前系統(tǒng)注冊的所有call back信息。系統(tǒng)理一次進(jìn)入CRM_EVENT_PUBLISH_OW時,該內(nèi)表是空的,通過subroutine register_callbacks 初始化。
?
?
?
當(dāng)前創(chuàng)建的sales order
?
?
?
gt_pr_assign包含兩個從SPRO里維護(hù)的category 再加上一個generic的BUS20001:
?
?
?
register完畢后針對transaction type TA,有411個可用的callback:
?
?
?
?
?
?
CRM_EVENT_PUBLISH_OW的執(zhí)行邏輯就是找出這411個callback中有哪些是注冊在Order的header level,且event為after_create:
?
?
?
?
lv_guid_hdr: 新創(chuàng)建的sales order guid
?
lt_atonce_exets: 需要立即執(zhí)行的function module name
?
?
真正的function module 執(zhí)行發(fā)生在這里:
總結(jié)
以上是生活随笔為你收集整理的one order event handling - 初始化过程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 雷军公布小米13 Ultra多张拍摄样张
- 下一篇: 森马集团旗下棉致冰丝男裤到手39元:轻薄