Below example show: How the mapping relationship between User status and System status maintained in One Order.

APP: My Opportunity
Transaction type: OPSM

First,I create an new Opportunity in WebClientUI, I set the status with E0001( User status).

新建一个Opportunity,将其status 设置成E0001( User status):

After I saved the Opportunity, in the DB, I can find both user status E0001 - Open and system status I1002 there.

保存之后,在数据库里针对该Opportunity不仅仅存储了用户手动选择的user status E0001 - Open,还保存了如下的system status I1002:

Second,How the mapping relationship between User status and System status maintained in One Order?
这个user status到system status的mapping 逻辑:
Step1. Under transaction type OPSM, we can find status profile.

找到transaction type OPSM 对应的status profile:

Step2. In the status profile, we can find the business transaction OPEN of user status.
找到该 user status对应的business transaction OPEN:

Step3.Based on the business transaction OPEN, we will select system status from TJ06
where VRGNG = business transaction OPEN
and INACT not equal X

系统从step2里取得business transaction之后,根据VRGNG = transaction的逻辑到TJ06里去查找所有结果INACT不为X的entry,结果即为该user status对应的所有system status

Then,The configure point for table TJ06: tcode BS32
TJ06 表里的entry通过tcode BS32维护:

Finally,You can find below 3 steps in below function module.
上述三步系统的执行逻辑可以通过debug如下的function module来学习:

再看另一个例子:
创建Task的时候,可以选择的status是根据Task的status profile来的,最终会看到在Table TJ30中会有各种user status对应task这个transaction,其中就包括released:

但是在WEB UI新建task的drop down list里面却没有这个user status:

这是因为在Web UI上,虽然drop down list里面的status是从TJ30来的,但是这期间还有对新建transaction的status check。在Table TJ07或者Tcode BS22中,有对user status和system status之间的mapping:

其中I1030是system status,它对应的releases这个user status 的配置是forbidden,意思是当transaction上有error的时候,改变transaction的状态到released是被禁止的。所以在Web UI上新建一个task的时候,因为还有很多字段没有维护,所以transaction的system status是contains error - I1030的状态,Page上的每次change操作都会触发状态检查,一旦有I1030这个状态,对应的released user status就会从drop down list中拿掉。

如果维护了所有必填字段确保transaction没有error,released status就会出现在drop down list中:

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

SAP CRM One order里user status和system status的mapping逻辑相关推荐

  1. SAP CRM One Order里item quantity和CUMULAT_H的联动

    本文介绍SAP CRM One Order里item quantity和CUMULAT_H的联动机制. Created by Wang, Jerry, last modified on Apr 26, ...

  2. SAP CRM Fiori应用里取top20的service url的determine逻辑

    Created by Wang, Jerry, last modified on Aug 14, 2015 点击launchpad 的my task tile后,需要知道sServiceUrl是在何时 ...

  3. 基于若依框架的二次开发_SAP Commerce(原Hybris)的订单处理框架和SAP CRM One Order框架...

    最近工作重点转移到了SAP Commerce上来,正好有机会把该产品里由Java实现的订单处理框架和我之前长期工作过的,ABAP实现的SAP CRM One Order框架做个比较:基于Spring的 ...

  4. SAP Commerce(原Hybris)的订单处理框架和SAP CRM One Order框架

    最近工作重点转移到了SAP Commerce上来,正好有机会把该产品里由Java实现的订单处理框架和我之前长期工作过的,ABAP实现的SAP CRM One Order框架做个比较:基于Spring的 ...

  5. SAP CRM One Order框架里旧式的索引表设计原理

    本文介绍SAP CRM One Order框架里旧式的索引表设计原理. Created by Wang, Jerry on May 17, 2017 要获取更多Jerry的原创文章,请关注公众号&qu ...

  6. SAP CRM One Order框架搜索条件里,posting date下拉菜单的渲染逻辑

    where does one order posting date search drop down list come from 本文介绍:SAP CRM One Order框架搜索条件里,post ...

  7. CRM One order里user status和system status的mapping逻辑

    新建一个Opportunity,将其status 设置成E0001( User status): 保存之后,在数据库里针对该Opportunity不仅仅存储了用户手动选择的user status E0 ...

  8. 如何找到SAP CRM One Order节点ID对应的描述信息(名称)

    in our offline initial downloader, you see hard code for object type: 在SAP CRM One Order代码里,到处可以看到这种 ...

  9. SAP CRM One Order关于索引表CRMD_ORDER_INDEX的一些性能问题的分析

    From: Wang, Jerry Sent: Wednesday, March 19, 2014 11:54 AM Subject: FW: custom development in IC sea ...

最新文章

  1. 1.(基于欧式距离聚类实现的点云分割)
  2. 用SERVLET进行用户名和密码验证
  3. java 线程休眠_百战程序员:java线程的休眠和回复
  4. python 螺旋数组_LeetCode54,螺旋矩阵,一题学会一个重要技巧
  5. mongoose更新数据,如果这条记录不存在,则直接变为新增
  6. 基于IMAGE法的房间回响模型创建、C++代码实现、matlab仿真
  7. 论优秀的码农,学会这5点!
  8. how to add user into sudoers file?
  9. 几个可能会用到的前端库
  10. 引用Interop.SQLDMO.dll后的注意事项。
  11. 测试低频噪音软件,设计制作并验证0.1Hz~10Hz超低频微弱噪音检测放大器STEP BY STEP...
  12. 【汇编程序】实现判断输入的年份是否为闰年
  13. 图像处理:语义分割(sematic segmentation)
  14. linux系统编程之进程通信
  15. Cortex-A53 Pipeline Ordering and Memory Ordering
  16. 设置vs2107背景图片
  17. 【Keras】使用LSTM预测股票走势
  18. ETL示例解决方案 —— Sakila下载和基本配置 (笔记一)
  19. 一个程序员去英国之申请ATAS
  20. 群晖开启root权限及修复Moments的AI人像服务

热门文章

  1. 简单介绍Python中的几种数据类型
  2. 分类素材(part4)--大话Python机器学习(上)
  3. 探索Julia(part4)--数组
  4. Django从理论到实战(part16)--指定默认的参数
  5. 张俊红数据分析知识体系(持续更新中......)
  6. 对 SAP UI5 一无所知的新手,从哪些材料开始学习比较好?
  7. Angular Lazy Load 的一个局限性以及解决办法
  8. SAP UI5 初学者教程之七 - JSON 模型初探试读版
  9. SAP Business Technology Platform 上 Roles,Roles collection 和 Scopes 的关联关系
  10. SAP Spartacus 服务器端渲染模式下,在 Node.js 服务器端渲染视图的单步调试