zoukankan      html  css  js  c++  java
  • SAP CRM One order里user status和system status的mapping逻辑

    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的原创文章,请关注公众号"汪子熙":

  • 相关阅读:
    hdoj2187:悼念512汶川大地震遇难同胞 (贪心)
    2.0其它之Transform详解,以及UIElement和FrameworkElement的常用属性
    2.0外观之样式, 模板, 视觉状态和视觉状态管理器
    2.0图形之Ellipse, Line, Path, Polygon, Polyline, Rectangle
    2.0控件之ListBox, MediaElement, MultiScaleImage, PasswordBox, ProgressBar, RadioButton
    2.0画笔之SolidColorBrush, ImageBrush, VideoBrush, LinearGradientBrush, RadialGradientBrush
    2.0图形之基类System.Windows.Shapes.Shape
    2.0交互之鼠标事件和键盘事件
    2.0控件之ScrollViewer, Slider, StackPanel, TabControl, TextBlock, TextBox, ToggleButton
    2.0交互之InkPresenter(涂鸦板)
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/10156418.html
Copyright © 2011-2022 走看看