zoukankan      html  css  js  c++  java
  • COMMIT WORK AND&…

    wait 还是不wait,这是个问题。
    这是同步更新还是异步更新的问题;如果是只commit work,是异步更新,触发注册在当前SAP LUW中所有数据更新动作,数据更新动作由SAP的更新工作进程来执行,当前程序不等待更新动作结束,直接向下执行。
    commit work and wait 是同步更新,此语句触发注册在当前SAP LUW所有数据更新动作,当前主程序等待SAP更新进程完成数据更新操作,然后向下执行。严格来说,commit work and wait也不是彻底的同步更新,此处等待数据更新操作完成,是指只等V1更新(优先级较高)完成,不等待其他优先级较低的V2更新等。

    在调用BAPI更新标准对象时,除少数BAPI在函数内做commit之外,其他均需要调用一下function module完成提交
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
         EXPORTING
           WAIT          'X' "
        IMPORTING
          RETURN        =
                  .
    单就更新来说,这个参数 WAIT          'X' 和commit work and wait 功能一样的。

    可以使用以下模式的代码来看看wait 和不wait的更新效果
    DO 2 TIMES.
      IF SY-INDEX 1.
        LV_WAIT 'X'.
      ELSE.
        LV_WAIT ''.
      ENDIF.
      CALL FUNCTION 'BAPI_PO_CREATE1'
        EXPORTING
          POHEADER                     = GS_HEAD
          POHEADERX                    = GS_HEADX
    *   POADDRVENDOR                 =
    *   TESTRUN                      =
    *   MEMORY_UNCOMPLETE            =
    *   MEMORY_COMPLETE              =
    *   POEXPIMPHEADER               =
    *   POEXPIMPHEADERX              =
    *   VERSIONS                     =
    *   NO_MESSAGING                 =
    *   NO_MESSAGE_REQ               =
    *   NO_AUTHORITY                 =
    *   NO_PRICE_FROM_PO             =
       IMPORTING
         EXPPURCHASEORDER             = LV_PO
        TABLES
          RETURN                       = GT_RETURN
          POITEM                       = GT_ITEMS
          POITEMX                      = GT_ITEMX
                .
      IF LV_PO IS NOT INITIAL .
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
         EXPORTING
           WAIT          LV_WAIT "'X'
    *     IMPORTING
    *       RETURN        =
                  .
        SELECT SINGLE * INTO WA
            FROM EKKO
            WHERE EBELN = LV_PO.
        IF SY-SUBRC EQ 0.
          WRITE: 'Oh Yes, the PO has been inserted into database now', /.
        ELSE.
          WRITE: 'Come on, The update process is running still', /.
        ENDIF.
      ENDIF.
      CLEAR WA.
      CLEAR LV_PO.
    ENDDO.
    http://blog.sina.com.cn/sapliumeng
  • 相关阅读:
    进程间通信小结
    菜鸡和菜猫进行了一场Py交易
    菜鸡开始接触一些基本的算法逆向了
    菜鸡学逆向学得头皮发麻,终于它拿到了一段源代码
    静态分析-Windows找密码
    逆向-完成地址随机化关闭
    QSortFilterProxyModel 的过滤 排序
    linux命令2
    linux 命令1
    error c2059 c3905 c2148 c2238
  • 原文地址:https://www.cnblogs.com/senlinmu110/p/3802067.html
Copyright © 2011-2022 走看看