前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >one order event handling - 初始化过程

one order event handling - 初始化过程

作者头像
Jerry Wang
发布2019-07-10 17:12:57
3870
发布2019-07-10 17:12:57
举报
知识共享许可协议
知识共享许可协议

版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons

Created by Jerry Wang on Aug 19, 2014

通过UI创建一个transaction type为TA的sales order为例:

clipboard1
clipboard1

transaction type TA对应的transaction category如下:

clipboard2
clipboard2

Order修改的所有操作都是通过FM CRM_ORDER_MAINTAIN 统一trigger:

clipboard3
clipboard3

最终会调用CRM_ORDER_H_MAINTAIN_OW 或者 CRM_ORDER_I_MAINTAIN_OW处理Header或者Item:

clipboard4
clipboard4
clipboard5
clipboard5

里面的FM CRM_ORDERADM_H_PUBLISH_OW统一raise Order header level的各种事件,从而调用事件上注册的callback。

clipboard6
clipboard6

在该function module内搜索关键字 CRM_EVENT_PUBLISH_OW,能找出该FM 负责raise的所有支持的event:

clipboard7
clipboard7
clipboard8
clipboard8

internal table gt_allowed_callbacks_hdr 存放了当前系统注册的所有call back信息。系统理一次进入CRM_EVENT_PUBLISH_OW时,该内表是空的,通过subroutine register_callbacks 初始化。

clipboard9
clipboard9

当前创建的sales order

clipboard10
clipboard10

gt_pr_assign包含两个从SPRO里维护的category 再加上一个generic的BUS20001:

clipboard11
clipboard11

register完毕后针对transaction type TA,有411个可用的callback:

clipboard12
clipboard12
clipboard13
clipboard13

CRM_EVENT_PUBLISH_OW的执行逻辑就是找出这411个callback中有哪些是注册在Order的header level,且event为after_create:

clipboard14
clipboard14

lv_guid_hdr: 新创建的sales order guid

lt_atonce_exets: 需要立即执行的function module name

clipboard15
clipboard15
clipboard16
clipboard16

真正的function module 执行发生在这里:

clipboard17
clipboard17
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年07月08日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Created by Jerry Wang on Aug 19, 2014
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档