• MB_DOCUMENT_BADI调试(Update Debug)


    Update Module函数,主要用语对话或报表中实现同步和异步更新数据库操作,需要单独调用函数实现更新数据库表,但又要求对程序的运行不产生影响(更新成功与否不影响主程序的正常执行)
    几个操作,要么全部执行,要么全部不执行

    执行顺序如下

    1. IF_EX_MB_DOCUMENT_BADI~MB_DOCUMENT_BEFORE_UPDATE
    2. POST_DOCUMENT(产生会计凭证)
    3. IF_EX_MB_DOCUMENT_BADI~MB_DOCUMENT_UPDATE

    Method would get triggered in Update debugging mode. After setting the update debugging it would work . update debugging is setting values at runtime ....and checking values.

    Update task是用于对话或报表中实现同步和异步更新数据库的功能,在Update之前还有一个Before Update,用于更新数据前的检查,当二者都执行完,才会进行到后面的commit,当before update成功执行,而update不成功,会报错如下,显示数据回滚: Express document "Update was terminated" received from author "xxx"

    SAP is detecting that and rolling back the body of work that was just committed to the database.

    T-code:SM13 and ST22 to analyse it

    调试Update Task方法

    1. 在MB_DOCUMENT_BEFORE_UPDATE打上内部断点;
    2. 在MB_DOCUMENT_ UPDATE打上外部断点
    3. 在MB_DOCUMENT_BEFORE_UPDATE调试界面
      Settings-Display/Change Debugger Settings-Update Debugging

    FM加入到update task的方式是:Call Function xxx in update task

  • 相关阅读:
    跑酷游戏的一些bug总结(滥用FixedUpdate的坑)
    Unity在编辑器状态下清空控制台信息
    Unity脚本在层级面板中的执行顺序测试3
    IronPython使用
    RSA加密的测试demo
    常用加密算法学习
    c#读写ini文件
    Jrebel激活方法(转)
    ThreadLocal Memory Leak in Java web application
    Java Thread Local – How to use and code sample(转)
  • 原文地址:https://www.cnblogs.com/aurora-cj/p/9454739.html
Copyright © 2020-2023  润新知