博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SM13 中 V1 和 V2 的区别
阅读量:4879 次
发布时间:2019-06-11

本文共 1169 字,大约阅读时间需要 3 分钟。

http://www.cnblogs.com/helileng/archive/2010/10/15/1852237.html

 

转载

 

SAP的进程种类分:前台进程、后台进程、打印进程、更新进程、队列进程

 其中更新进程分两种,V1和V2,如下图显示:

 

更新方式决定了它的处理模式,首先在对话框程序中的所有V1的要求是可以独立的数据库LUW中。只有当他们成功地执行处理,才会触发独立LUWs V2的请求。

 (→V1的- / v2更新阶段)

v2更新模式用于数据库链接到V1的变化(主要的变化),但不一定要在执行相同的DB LUW的变化(例如,统计更新)。

V1的更新模式,可重新启动或不重新启动。如果出现了更新错误,您可以手动重新启动该更新,使用事务SM13。这样做之后,已经清除了有问题的应用程序错误。 如果出现了错误,v2更新模式可以随时重新启动处理。

 collective run是V2更新模式的一个特殊类型,所有的修改请求不直接被更新,而是在V1更新之后,但只有在收集程序RSM13005(总体规划前)被调用后。

下图是一般的V1和V2的更新请求工作原理

V1的请求是通过V1的更新模式创建的。对于同步或异步的V1更新模式是被创建在VBLOG表中,对于本地更新来说,V1的请求是保留在主内存中。而V2的请求总是存储在VBLOG表。

下图是更新的执行

   

V1的请求处理在一个V1的更新工作进程中作为一个独立的数据库LUW,如果V1的更新已成功,系统将删除V1的要求和所有的相关锁,设置一个DB Commit和触发器 

在V2的更新

V2的请求也是执行在V2的工作进程中,也是独立的数据库LUW。如果系统中没有V2的更新进程,那么V2的更新会用V1的更新进程。如果V2执行成功,将删除VBLOG中的数据并执行DB COMMIT。V2的更新不会产生锁

如果V1的请求发生错误,所有的相关锁就会被删除,发生数据库回滚时,会给创建LUW的用户发送邮件,同时在VBLOG的标记为不正确的错误消息,V2进程不会被触发。

同样,V2也是这样。

  更新中的锁设置

 

 

从程序使用_scope对话框创建锁定= 2(默认)被转移到V1的更新任务在提交工作(等待)。在V1的更新结束后,它们会自动删除,不论V1的升级成功或更新是否发生错误而终止 

与终止消息的问题。所以锁不必须删除,不管在程序中还是在更新模式中。而V2是不会产生任何锁的。

 

每次变化更新到数据库中,记录被改变的物理数据库锁定到当前数据库的结束LUW中(提交或DB数据库回滚)。这同样适用,SELECT... FOR UPDATE的

 

修改和更新模块: 

   1.创建表的时候,应该建立锁机制为其他用户

   2.

转载于:https://www.cnblogs.com/JulietLV/p/7724986.html

你可能感兴趣的文章
SQLServer之数据库行锁
查看>>
OFDM仿真
查看>>
浅谈linux内核中内存分配函数
查看>>
走近SpringBoot
查看>>
python程序之profile分析
查看>>
写在读研初期
查看>>
开环增益对负反馈放大电路的影响
查看>>
MySQL-ERROR 2003
查看>>
SQL Server2012-SSIS的包管理和部署
查看>>
JavaScript内置对象
查看>>
如何把js的循环写成异步的
查看>>
ER图是啥?
查看>>
too many include files depth = 1024错误原因
查看>>
HTTP协议详解(三)
查看>>
Android零基础入门第84节:引入Fragment原来是这么回事
查看>>
解析SQL Server之任务调度
查看>>
参考资料地址
查看>>
08.路由规则中定义参数
查看>>
Pandas截取列部分字符,并据此修改另一列的数据
查看>>
java.lang.IllegalArgumentException
查看>>