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的更新效果
 1 DO 2 TIMES.
 2   IF sy-index = 1.
 3     lv_wait = 'X'.
 4   ELSE.
 5     lv_wait = ''.
 6   ENDIF.
 7   CALL FUNCTION 'BAPI_PO_CREATE1'
 8     EXPORTING
 9       poheader          = gs_head
10       poheaderx         = gs_headx
11 *     POADDRVENDOR      =
12 *     TESTRUN           =
13 *     MEMORY_UNCOMPLETE =
14 *     MEMORY_COMPLETE   =
15 *     POEXPIMPHEADER    =
16 *     POEXPIMPHEADERX   =
17 *     VERSIONS          =
18 *     NO_MESSAGING      =
19 *     NO_MESSAGE_REQ    =
20 *     NO_AUTHORITY      =
21 *     NO_PRICE_FROM_PO  =
22     IMPORTING
23       exppurchaseorder  = lv_po
24     TABLES
25       return            = gt_return
26       poitem            = gt_items
27       poitemx           = gt_itemx.
28   IF lv_po IS NOT INITIAL .
29     CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
30      EXPORTING
31        wait          = lv_wait "'X'
32 *     IMPORTING
33 *       RETURN        =
34               .
35     SELECT SINGLE * INTO wa
36         FROM ekko
37         WHERE ebeln = lv_po.
38     IF sy-subrc EQ 0.
39       WRITE: 'Oh Yes, the PO has been inserted into database now', /.
40     ELSE.
41       WRITE: 'Come on, The update process is running still', /.
42     ENDIF.
43   ENDIF.
44   CLEAR wa.
45   CLEAR lv_po.
46 ENDDO.

转载于:https://www.cnblogs.com/ruingy/p/3594696.html

COMMIT WORK AND WAIT 是在WAIT什么相关推荐

  1. SVN用法大全,SVN除了update、commit还有什么

    svn除了大家都知道的update.commit以外还有什么常用功能呢? 点击TortoiseSVN后,出现了右图的列表,这其中有哪些是常用的功能呢?最近在家办公,有些东西要svn操作,就了解了下. ...

  2. 规范的 Commit Message

    在 Angular 规范中,Commit Message 包含三个部分,分别是 Header.Body 和 Footer,格式如下: <type>[optional scope]: < ...

  3. git 关于commit命令的修改

    1 修改最后一次提交的信息 git commit --amend 2 对于历史提交 git rebase -i HEAD~5 没毛病,?B 转载于:https://www.cnblogs.com/ji ...

  4. git cherry-pick. 如何把已经提交的commit, 从一个分支放到另一个分支

    实际问题:    在本地 master 分支上做了一个commit ( 38361a68138140827b31b72f8bbfd88b3705d77a ) , 如何把它放到 本地 old_cc 分支 ...

  5. oracle 开始一个事务,oracle的启动与关闭原理-事务commit或者rollback

    oracle的启动与关闭原理-事务commit或者rollback 4.事务 4.1事务的概念 从第一个DML语句开始执行,以rollback或者commit为结束标记,之前所有的DML操作(inse ...

  6. oracle添加语句 commit,Oracle COMMIT语句

    在Oracle中,COMMIT语句可以用来提交当前事务的所有更改.提交后,其他用户将能够看到您的更改.本文要为大家带来的就是COMMIT语句的用法. COMMIT语句语法: Oracle / PLSQ ...

  7. git 对之前的commit 进行重新签名 Resign

    在向开源社区提交PR的时候如果之前的提交忘记添加sign (个人签名/公司签名),则社区的DCO检查会失败. 关于通过DCO检查能够确保以下几件事情生效: 你所提交的贡献是由你自己完成或者 你参与了其 ...

  8. 设置commit 提交模板

    设置commit 提交模板 建议提交 (.template)模板文件 放在用户目录(Doceuments)下 (~/Doceuments) 原文连接: https://blog.csdn.net/ma ...

  9. 【Git】ubuntu上git commit提交后如何保存和退出类似vim的界面,回到命令行

    问题 使用 git commit 命令后,进入类似vim的界面,开始时,不知道如何保存,甚至不知道怎么退出该界面. 解决方法 1.使用 git commit 命令后,进入的是nano文本编辑器(类似v ...

  10. 两阶段提交(Two-Phase Commit)

    两阶段提交 两阶段提交是一种同步协议,是计算机网络尤其是在数据库领域内,为了使基于分布式系统架构下的所有节点在进行事务处理过程中保持原子性和一致性而设计的一种算法. 两阶段提交的执行过程 在两阶段提交 ...

最新文章

  1. 02-vue过滤器和键盘修饰符
  2. 她说要介绍10000个开源项目?来!一起监督他!
  3. dedecms系统列表页调用tag标签同时带上链接的方法
  4. WhatsApp CEO向FreeBSD捐赠一百万美金
  5. shell 死循环if判断_Shell的条件判断
  6. 【转】直线光栅化算法-Bresenham算法
  7. Rails non browser app高级篇-capistrano/daemon部署
  8. 二进制包 mysql_二进制包安装MySQL数据库
  9. android光传感实现摩斯密码,根据莫尔斯代码 - Android的闪烁闪光。 如何避免ANR次数由于睡觉? (火炬APP)...
  10. Windows10桌面美化推荐之Dock栏
  11. Cmake-cmake_minimum_required()
  12. 开发环境 测试环境 定义_如何快速搭建ES开发测试环境?
  13. RocketMQ 分布式消息中间件 理论介绍
  14. c语言万年历自动翻页,C语言实现万年历效果
  15. 模拟人生java版攻略_模拟人生免费版简易攻略小技巧
  16. 谷歌(chrome)浏览器扩展程序
  17. Python 基础|while 循环语句
  18. 微信中h5中的视频无法播放,提示视频解析失败的根本原因。
  19. c200系列服务器主板,主板厂商的曲线救主,E3-1230 v5/技嘉X150-PLUS WS主板评测
  20. ElasticSearch之score打分机制原理

热门文章

  1. 标准纯C++实现简单的词法分析器(三)
  2. 剑指offer——面试题7:重建二叉树
  3. 2008 R2 AD通过组策略针对用户进行限制QQ等软件的运行
  4. ylbtech-LanguageSamples-PythonSample
  5. 磁盘占用百分百?Windows 10必做各项优化
  6. Knockout应用开发指南(完整版) 目录索引
  7. android jni研究
  8. [转]Android蓝牙开发浅谈
  9. 135.137.138.139.445端口分析
  10. 比特币现金仍然是一个比较好的投资