1. COMMIT WORK 语句执行许多与任务的同步执行有关的功能。
ROLLBACK WORK语句“取消”任务同步执行的所有请求。
COMMIT WORK 语句进行下列处理:
? 执行所有由PERFORM ON COMMIT 请求的FORM 例程。
按优先级的升序执行这些例程,顺序由 PERFORM 语句的LEVEL 参数指定。
? 如果请求,触发所有更新任务功能模块。
? 如果请求,触发所有后台任务功能模块。
? 触发数据库提交(依次释放数据库锁定)。
? 清空反转日志。
反转日志包含应用更改前的表格快照。执行反转时,该快照用来将表格复位到原值。
? 关闭所有打开的数据库光标。
? 将所有TEMSE 对象写入永久性文件或数据库。
TEMSE文件是由于性能原因在执行事务期间缓存的临时序列文件。TEMSE文件的示例有假脱机对象或作业日志。
? 将时间片计数器(用于访问工作进程)复位到0。
系统中的时间片计数器限制工作进程中程序运行的时间量。如果程序常常超过时间片限制,则可以使用COMMIT WORK为程序获得更多时间。
但是,要达此目的,必须很容易将处理分为更小单元(全部或没有操作)。然后可以在每个单元之后插入COMMIT WORK 语句。当然处理单元逻辑上必须独立,因为在发生错误时,不能取消前面的单元中所提交的更新。
ROLLBACK WORK“抛弃”当前事务的所有更新:
? 抛弃所有以前用PERFORM ON COMMIT 登录的FORM例程
? 在更新任务队列中将所有以前请求的更新任务功能标记为错误
? 抛弃所有以前请求的后台任务功能
? 从缓冲存储中删除所有TEMSE对象(临时 连续文件,如假脱机对象和作业日志)
? 触发数据库反转操作(依次释放所有数据库锁定)
? 关闭所有打开的数据库光标
2. 以下情况需使用使用COMMIT和ROLLBACK语句。
1) 通过INSERT、UPDATE和MODIFY语句对数据库进行更新事务后。
2) 执行BAPI处理后。一般使用BAPI函数BAPI_TRANSACTION_COMMIT(内含COMMIT语句) 。
3. 如果要保证数据库中当前所作的更改立即被确认,那么就必须使用COMMIT WORK 语句结束LUW。COMMIT WORK 在程序代码中标记了 LUW(几个作业联系在一起形成作业的逻辑单元) 结束并启动更新任务。在COMMIT WORK 语句以后,对数据库所作的所有更改都不能再取消。但是,如果在LUW 中出现了错误,就必须取消已经执行的部分。这意味着当前没有任何插入的行能 永久地保存在数据库中。要撤销当前LUW 对数据库的更改,请使用ROLLBACK WORK,它将取消前一次数据库提交后的所有更改。
4. COMMIT WORK [AND WAIT(同步)].
如果使用AND WAIT选项,那么在程序继续执行以前,它要等到更新任务的结束。如果更新是成功的,SY-SUBRC 就设置为0。如果 SY-SUBRC 返回一个非零值,就没有成功的存储所作的更改。
ROLLBACK WORK.
如果对更改的取消是成功的,SY-SUBRC 就设置为0。如果 SY-SUBRC 返回一个非零值,就没有成功地取消所作的更改

sap commit rollback相关推荐

  1. 事务处理操作(COMMIT,ROLLBACK)。复制表。更新操作UPDATE实际工作中一般都会有WHERE子句,否则更新全表会影响系统性能引发死机。...

    更新操作时两个会话(session)同时操作同一条记录时如果没有事务处理操作(COMMIT,ROLLBACK)则会导致死锁. 复制表:此方法Oracle特有 转载于:https://www.cnblo ...

  2. SQL——数据控制语言DCL(GRANT,REVOKE,COMMIT,ROLLBACK)

    DCL 数据控制语言(Data Control Language,DCL)在SQL语言中,是一种可对数据访问权进行控制的指令,它可以控制特定用户账户对数据表.查看表.存储程序.用户自定义函数等数据库对 ...

  3. MYSQL的COMMIT和ROLLBACK

    转自http://blog.csdn.net/ying_593254979/article/details/12134629 从功能上划分,SQL 语言可以分为DDL,DML和DCL三大类. 1. D ...

  4. #详细分析# MySQL的 commit 和 rollback 操作

    1. commit commit是提交操作,将操作显式提交到数据库 这里需要注意,并不是所有sql语句执行完都需要进行commit操作,有些操作执行完就已经自动隐式提交到数据库了,隐式提交的命令有: ...

  5. (六)sql事务的处理commit,rollback的用法总结

    (六)sql事务的处理commit,rollback的用法总结 1. 事务处理 事务的存在是为了保持数据的一致性.要么全做,要么全不做. mysql中数据是自动提交的,可以使用set autocomm ...

  6. mysql rollback如何使用_MYSQL的COMMIT和ROLLBACK使用讲解

    MYSQL的COMMIT和ROLLBACK 从功能上划分,SQL 语言可以分为DDL,DML和DCL三大类. 1. DDL(Data Definition Language) 数据定义语言,用于定义和 ...

  7. SAP RFC通信模式

    在网络技术中,数据通信可以大致划分为两种基本模式:同步通信和异步通信. 其本义是:异步通信时,通信双方时钟允许存在一定误差:同步通信时,双方时钟的允许误差较小.在SAP的系统间的通信过程中,也借用术语 ...

  8. Can't call rollback when autocommit=true

     当在对数据库进行操作的更新,插入,删除等方法中使用了commit(),rollback()等方法时,往往会报出如下的异常: java.sql.SQLException: Can't call c ...

  9. 忘记SAP系统Client 000的所有账号密码

    Task 忘记SAP系统Client 000的所有 账号密码 Solution 在SAP系统DB中删除账号SAP*,SAP系统会自动创建SAP*这个账号,然后初始密码是"PASS" ...

最新文章

  1. matlab实现滑动平均滤波(二)
  2. springboot 获取配置文件中的值_Spring Boot面试必问(亲测)
  3. 从 setNeedsLayout 说起
  4. COM编程之五 动静态链接
  5. mysql中获取时间的年月日_关于苹果ios中的Date()获取时间NaN的问题
  6. AA级与AAA级台灯 重要指标对比
  7. 使用IntelliJ书签
  8. 几种常见的电话光端机连接图以及电话光端机的连接方式
  9. Spring基于XML装配Bean
  10. 处理页面动态加载数据
  11. OPENSTACK在RHEL7安装;admin创建虚拟机模板供demo使用
  12. 在TabActivity中无法使用bindService的解决方法
  13. h5应用 vue 钉钉_快速上手——钉钉H5微应用开发接入
  14. 解决 VS2008安装过程更改路径的问题
  15. php蝠衭厍桴埭钨,有没办法判断输入汉字的笔划数?
  16. 数据同步:(开源)基于Flink的数据同步工具Chunjun
  17. 射频天线知识(一)——基础知识
  18. pandas 列计算log不用math.log而是np.log
  19. Python-生成gif图片验证码
  20. 想要报考华为技术认证,你一定要了解这些

热门文章

  1. put url带参数_一道腾讯面试题:如何快速判断某 URL 是否在 20 亿的网址 URL 集合中?...
  2. (王道408考研数据结构)第一章绪论-第一节:数据结构的基本概念、三要素、逻辑结构和物理结构
  3. windows IOCP模型
  4. Python @staticmethod
  5. Docker 的4种网络模式
  6. python的数据结构
  7. vue2.0中watch总结:普通监听和深度监听
  8. js判断软键盘是否开启弹出
  9. js刷新父页面的方法
  10. 【行业翘楚】井田云:化解线上线下冲突让鱼与熊掌皆得