Once an order is saved, our new event callback CRM_SRVO_H_SAVE_EC will be called:

Main logic is in this tool class, method save_header:

In save_header, header and item save is done separately within a LOOP:

A new term “Global Update Buffer”

(1) I introduce a terminology “Global Update Buffer", which consists of three internal table where the corresponding insertion, update and deletion operation for CURRENT ORDER is included.

(2) The “Global update buffer” will be passed into a new update function module for Order Header.
Example, suppose I have made changes on Order description:

the GUB looks like below:

save_single_header consists of three steps

Step1 - Each convert class is responsible to merge its own part of change into GUB.

How can each convert class know whether there is any change in current transaction for its responsible component?
I use the function module CRM_ORDER_UPDATE_TABLES_DETERM to detect the change.

Step2 for those component which does not have any change in current transaction, its object buffer must also be merged into GUB.

Consider this scenario, you changes header shipping data ( set SHIPPING ) but no change in ORDERADM_H. If you don’t merge the object buffer of ORDERADM_H to GUB, the corresponding field for ORDERADM_H will be initial. So when finally update function module is called, the initial fields of ORDERADM_H will be stored into new header table.
This is done in this method:

I add a new method GET_OB in convert class’ interface. The supported component are looped, to merge its object buffer to GUB.

Step3 - call new update function module with merged GUB

Item save has exactly the same logic

Since it is possible that one order can have different item with different item object type,


Here below is an example, I have made changes on item shipping data:

And this is how GUB for item looks like:


要获取更多Jerry的原创文章,请关注公众号"汪子熙":

SAP CRM的订单模型移植到S4HANA后,在订单保存功能上作出的改进相关推荐

  1. SAP UI5 应用开发教程之六十五 - 基于 OData V4 的 SAP UI5 表格控件如何实现创建,编辑和保存功能

    本教程前几个步骤,我们已经用 SAP UI5 table 控件开发了一个包含 User 列表的应用,并且支持了根据 LastName 字段进行查询,以及排序的操作. SAP UI5 应用开发教程之六十 ...

  2. 使用SAP CRM中间件XIF(External Interface)一步步创建服务订单

    tcode WE19, choose an existing IDOC in the system: Just change the existing IDOC Service Order ID to ...

  3. SAP CRM one order模型BOR类型支持的对象列表

    到数据库表CRMC_OBJECT_ASSI查询BOR type支持的one order对象列表: Created by Wang, Jerry on Mar 10, 2017 要获取更多Jerry的原 ...

  4. SAP CRM HANA report模型的数据库存储表

    Created by Wang, Jerry, last modified on May 15, 2015 Go to start of metadata CRMV_ANA_OD_SRV id and ...

  5. SAP CRM呼叫中心点击了End按钮后,会进行呼叫记录关系的保存

    End按钮如下图所示: 假设当前座席和客户进行交互的主题是Service Request这个BO,那么点击End之后, Created by Wang, Jerry, last modified on ...

  6. SAP CRM系统订单模型的设计与实现

    SAP成都研究院的一个部门领导让我给他的团队做一个SAP CRM One Order框架的培训,这是我准备的培训内容. 在Jerry之前的文章 基于SAP Kyma的订单编排增强介绍,我表达了自己对S ...

  7. SAP CRM系统订单模型的设计与实现 1

    SAP成都研究院的一个部门领导让我给他的团队做一个SAP CRM One Order框架的培训,这是我准备的培训内容. 在Jerry之前的文章 基于SAP Kyma的订单编排增强介绍,我表达了自己对S ...

  8. 一种经典的客户关系管理系统(CRM)订单模型的设计与实现

    笔者在 SAP 领域工作多年,对 SAP 应用的理解就是:模型以及基于模型的增删改查. 只是同我们大学专业课学习时完成的家庭作业相比,SAP 模型的复杂程度增加了好几个数量级. 和传统的增删改查相比, ...

  9. 如何使用代码创建和读取 SAP CRM 订单的 Text 数据

    SAP CRM Fiori 应用里,可以为 Opportunity 等订单,维护 note. note creation 后台实现实际上很简单. GM6上创建一个note: HTTP post的req ...

最新文章

  1. 原本要与Hinton当同事,最后被迫Bengio门下读博? | 独立研究员的坎坷之路
  2. Mysql binlog日志及binlog恢复数据库操作
  3. 网站推广怎样实现网站设计吸引用户注意完成网站推广指标?
  4. tomcat 显示访问的ip白名单
  5. java中if条件结构_Java的控制结构,IF条件选择结构
  6. Python + Django 如何支撑了 7 亿月活用户的 Instagram?
  7. ABAP Netweaver 和 ABAP Platform 这两个名词的辨析
  8. 4位16色灰度图像处理
  9. 分析Java核心转储
  10. ros学习(1)工作空间创建和功能包
  11. 你在办公室遇到的最诡异的事情是什么?
  12. Html label 标签详解
  13. 毕设一:python 爬取苏宁的商品评论
  14. TVS管、稳压管、肖特基二极管
  15. 在线画图工具ProcessOn
  16. 为什么要发布海外新闻稿,海外稿件怎么写
  17. 当心!你的NAS设备正成为勒索软件攻击的目标
  18. 删除Mac中的Windows启动项
  19. 触碰岁月——土楼潇洒穷游记
  20. vue如何获取并操作DOM元素

热门文章

  1. JQuery when
  2. 基础向量运算-2D镜面反射
  3. LDAP 中关于CN,OU,DC的含义
  4. PON的技术优势及前景应用
  5. [无处悲伤]年华世事两迷离
  6. SPF难以解决邮件伪造的现状以及方案
  7. Kafka Java consumer动态修改topic订阅
  8. php RabbitMQ使用
  9. HDoj-1874-畅通project续-Dijkstra算法
  10. 《转》请放下你的无效社交