SAP LUW 和DB LUW
来源:互联网 发布:7z解压缩软件 编辑:程序博客网 时间:2024/06/05 20:40
讲述了SAP LUW和 DB LUW,不过说的不太明了。
一、DB LUW
DB LUW是确保数据库一致性的机制,是数据库级别的,和底层DBMS有关,和SAP系统无关。如下图,从一致性状态A到B,中间有一系列的数据库操作,一个BD luw以数据库提交commit结束,这些操作要么全都执行,要么全都不执行。当全部执行成功,则数据库进入一致性状态B,如果在此DB luw中发生错误,则将从DB luw开始的所有操作进行回滚,数据库还是在A状态。
这是在数据库级别实现的,和SAP系统无关。
在SAP系统中,DB luw commit and rollback 可以被显式或隐式的触发。显式触发如在程序中调用FM DB_Commit,使用abap commit work语句等;隐式触发database commit有:1、一个dialog结束,进入下一屏幕,2、调用FM,进入另一个工作进程,3、从另一个工作进程返回;隐式触发database rollback有:1、runtime error,2、error message。
不然是commit还是rollback,结束了一个DB luw,也即是开始了一个新的DB luw。
二、SAP LUW
我们知道sap系统中一个业务操作会有多个对话屏幕,只到save操作成功,才算完成了一个业务。那么仅使用DB luw是不能保证SAP 系统数据一致性的。如下图,如果只是最后屏幕300保存时的DB luw发生错误,那么在数据库级一致性机制作用下只能回滚这一个db luw使数据库处于g状态,而前几个db luw在屏幕结束时已经提交,进行的数据库更新会全部生效,从业务层面上讲,这是不合理的,因为这个业务并没有保存成功,我们需要回滚到A或a状态。SAP luw就是sap在DB luw基础上保证数据库一致性的一种机制。
一个SAP luw 可以跨多个对话屏幕,对多个DB luw进行捆绑,这样只到SAP luw中最后一个db luw结束,SAP系统才做整体修改。这种捆绑技术使SAP luw中的DB luw并不是真正的数据库更新,所以在SAP luw结束时,要么全都提交,要么对其中的所有数据库操作进行回滚。
在abap开发中可以使用FM for update 或 perform ..on commit来启用SAP luw,只到遇到commit和rollback,SAP luw 结束。
如使用call function …in update task,并不是立即执行,而是将其置于一个更新工作进程中,开启新的SAP luw,遇到commit work 才真正更新数据,否则将回滚。
三、SAP 事务
SAP 事务是指SAP应用程序, 可以使用事务码来开始一个sap 事务,它可以包含一个或多个sap luw,可以使用call transaction或submit 插入一个sap luw,也可以通过CALL FUNCTION... STARTING NEW TASK 使sap luw并行。
- SAP LUW 和DB LUW
- SAP LUW 和DB LUW
- SAP LUW 和DB LUW
- SAP LUW and DB LUW
- SAP/DB LUW
- DB LUW 与 SAP LUW(一)
- DB LUW 与 SAP LUW(二)
- SAP LUW 逻辑工作单元
- 关于SAP的事务提交和回滚(LUW)
- 关于SAP的事务提交和回滚(LUW)
- 关于SAP LUW与Lock Object的一些理解
- LUW Table Lock Object
- Complex LUW processing
- Complex LUW processing
- LUW (Logical Unit of Work)
- 转 : authority object,luw,data cluster,bapi等
- 关于数据库更新的总结(LUW的小结…
- About Two Recently Patched IBM DB2 LUW Vulnerabilities
- VisualSVN 通用破解方法
- JDB 调试命令集合 (debug command set)
- CMFCPropertyGridCtrl 首列最小问题
- Microsoft Visual Stdio 创作组建安装失败解决~
- MFC窗口实现闪烁~~
- SAP LUW 和DB LUW
- 在VC中使用Windows管道技术编程
- a可以学习学习
- eXpressAppFramework.CHM 下载地址中文帮助文档
- mysql 注入总结
- 子衿的事(14)
- 使用DrawIcon绘制图标时大小问题
- 10款PHP开源电子商务系统
- 彩信库包含smil组装,打包,发送.是基于mm1协议c/c++封装.支持多平台的彩信库.