首页 > 编程知识 正文

sap实施,sap系统使用技巧

时间:2023-05-04 15:32:35 阅读:152092 作者:178

文章目录

###一、概要

SAP LUW要求数据库对象在SAP LUW中被解锁并对所有SAP程序可见。 SAP提供了一种逻辑数据锁定机制,该机制基于系统特定的锁定服务APP应用服务中的中央锁定表(锁定信息记录在数据库表中)。 由于ABAP程序在访问数据之前会将要锁定的数据表的关键字发送到表中,因此所有程序都必须在访问数据库表之前确定表是否被锁定。

与数据库中的物理锁不同,SAP锁是业务逻辑上的锁。 将关键字传递给锁定函数,该锁定函数用于在特定表中锁定和注册信息,而不是在物理表中锁定。

SAP LUW结束后,SAP锁定将隐式解除。

###二、创建SE11自定义锁

自定义锁定对象必须以EZ或EY开头。 生成的锁定对象只包含一个主表,并且可以包含多个次表。 同时,将自动生成ENQUEUE_“LOCK OBJECT”、DENQUEUE_“LOCK OBJECT”两个函数进行锁定管理

###三、锁定模式

三种锁定模式: 1、s共享; 2、e专用累积; 3、不专为x积累

区分如下表所示。

…第二次锁定模式许可第二次锁定模式许可第二次锁定模式第一次枷锁模式sexsyes,no,no,eno,yes,no,xno,no,no

括号内是同一程序内,也就是同一事务内,括号外是不同的程序内

s共享:您不需要修改数据,但希望其他人不要修改显示的数据。

e专用存储:更改数据时设置为此模式。

x专用无累积:与e相似,但不允许累积,完全独占。

1、一个程序成功锁定一个锁定对象后,如果模式为s,其他用户不能对此锁定对象进行e、x模式锁定,但可以进行s模式锁定;

2、一个程序成功锁定一个锁定对象后,如果模式为e,其他用户将无法再对此锁定对象进行e、x、s模式中的任何一种锁定;

3、一个程序成功锁定一个锁定对象后,如果模式为x,其他用户将无法再对此锁定对象进行e、x、s模式中的任何一种锁定;

4、在某个程序成功锁定对象后,如果模式为s,该程序也可以对该对象进行s模式的锁定。 如果其他用户没有锁定s模式,也可以锁定e模式。 不能锁定x模式。

5、在某个程序成功锁定对象后,如果模式为e,该程序还可以对该对象进行e、s模式的锁定。 不能进行x模式。

6、在某个程序成功锁定对象后,如果模式为x,则该程序不能对该对象进行e、x、s模式的锁定。

###四、SM12检查锁

###五、通用锁&; 解锁函数

1、enqueue _ e _ table/dequeue _ e _ table,时钟解锁;

2、enqueue _ es function/dequeue _ es function,解除函数锁定;

3、enqueue _ es _ Prog/dequeue _ es _ Prog、程序解锁,用于控制同一程序不能同时运行;

4、DEQUEUE_ALL,解除用同一程序制作的所有锁定。

###六、簧片锁

函数ENQUE_READ2

ENQUE_READ2

呼叫函数‘enque _ read 2’

导出

gclient=sy-mandt

gname=’’

gu name=‘*’

塔布拉斯

enq=lt_enq_read。

* wewillsearchentryfortablelevellockforourtable

loopatlt _ enq _ readintolw _ enq _ read

wheregnameeq‘RS table’

与(gar GCS‘ekko’orgargcs‘zcg 110’orgargcs‘zcg 109’)。

move-corresponding lw _ enq _ readtolw _ enq _ del。

APPEND lw_enq_del TO lt_enq_del。

结束循环。

###七、删除锁定

函数ENQUE_DELETE

* deletetablelevellockentryforourtable

呼叫函数‘enque _ delete’

导出

check_upd_requests=1

导入

subrc=lv_subrc

塔布拉斯

enq=lt_enq_del。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。