首页 > 其他分享 >SAP ABAP 系统支持的锁操作类型和各自使用场景的详细讲解试读版

SAP ABAP 系统支持的锁操作类型和各自使用场景的详细讲解试读版

时间:2023-08-17 19:24:14浏览次数:34  
标签:加锁 试读 创建 数据库 ABAP SE11 SAP

本教程前一篇文章,我们已经通过浏览器和 SAPGUI 里两个具体的例子,介绍了 SAP 应用程序中锁机制的工作原理。

109. SAP ABAP 应用程序中的锁机制和工作原理介绍

上面的文章提到,SAP ABAP 系统中加锁和解锁的函数都是 ABAP DDIC 即事务码 SE11 自动生成的,到目前为止我们都只是在学习 SAP 系统里标准程序提供的锁机制和其对应的函数,还没有自己动手创建过。

从本文开始,笔者就会向大家介绍如何在 SAP ABAP 系统里一步步创建锁对象和自动生成加锁和解锁的函数。

要创建锁对象,首先得有想加锁的数据库表。

本教程之前已经向大家介绍过如何在 ABAP 系统的 SE11 事务码里创建数据库表。这里我们重用第 14 和第 15 步骤创建好的 ABAP 数据库表 ZPERSON

我们在 SE11 事务码里,新建一个锁对象Lock Object

切换到 Tables 标签页,指定这个 Lock Object 需要对哪张数据库表施加锁操作。对于本例来说,当然填数据库表 ZPERSON 了。

可是 Lock Mode 下拉菜单里琳琅满目这么多条目,到底应该选择哪种锁模式呢?

本文余下部分详细介绍这些锁类型的细微差别和各自的使用场景。

标签:加锁,试读,创建,数据库,ABAP,SE11,SAP
From: https://www.cnblogs.com/sap-jerry/p/17638625.html

相关文章

  • 关于 SAP ABAP 里的锁类型 Lock Type
    在SAP帮助文档里有关于ABAPlock支持的全部类型和说明,总共支持四种类型的锁:S,E,X和O.注意E锁和X锁的区别是,E锁可以在同一个事务里多次被请求,但X锁即使在同一个事务里,也只能被请求一次。我在SAPCRM系统里看到OneOrder页面点击Edit按钮时,背后使用的Lock......
  • 关于 SAP ABAP Enqueue Function Module 的输入参数 _wait
    我们查看ABAP系统根据LockObject自动生成的EnqueueFunctionModule,可以发现它有一个名叫_wait的输入参数,默认值为space:该参数决定了发生锁冲突时的锁行为。开发人员有以下选择:初始值:如果由于存在竞争锁而导致锁定尝试失败,则会触发异常FOREIGN_LOCK。X:如果由......
  • ABAP-调用MB52取数
    1FIELD-SYMBOLS:<fs_datas1>TYPEANYTABLE.2DATA:los_dataTYPEREFTOdata.34cl_salv_bs_runtime_info=>set(display=''metadata=''data='X').56"SUMBIT程序名WITH条件7SUBMITrm07mlbsWITHm......
  • 什么是 SAP ABAP Lock Mode 的 cumulative 特性
    SAP官网提到:Ifthename,argument,andlockmodeoftheelementarylockareidentical,andifalockisnotexclusiveandnon-cumulative,itcanbesetmorethanonce(acumulation).Thecumulationcounterisincrementedbyonewitheachsuccessivecumulat......
  • 什么是 SAP CDS view 的 join on demand 技术
    SAPCDSview里借助pathexpression技术,我们可以实现joinondemand的场景。如下图所示:Joinondemand是SAPCDS(CoreDataServices)视图的一个重要特性,它允许您在CDS视图中实现延迟连接,从而优化查询性能。通过在需要时执行连接操作,而不是在每次查询时都执行连接,可以减......
  • 关于 SAP ABAP 锁机制的一些疑问和解答
    Locktable的位置LockTable位于EnqueueServer的主内存(共享内存)中。如果enqueue服务器作为enqueue工作进程安装,则该实例的所有工作进程都可以访问锁表。外部应用服务器在enqueue服务器上的入队过程中执行其锁定操作。二者的通信,通过相关调度程序(dispatcher)和消息......
  • SAP CDS view 源代码中的 $projection
    我们看到下图CDSview源代码里association条件中的$projection.在SAPCDS(CoreDataServices)中,$projection是一个特殊的关键字,用于在查询中选择特定的字段并创建一个临时视图。它可以在CDS视图的源代码中使用,以对结果集进行处理和转换。通过使用$projection,可以根据需要......
  • 什么是 SAP CDS view 的 exposed Association
    SAPCDS是SAPHANA数据库中的一种新的数据定义语言。它允许开发者定义语义富裕的数据模型,这些数据模型可以以数据库独立的方式在ABAP服务器上使用。因此,通过CDS,开发者可以创建复杂的视图来构建ABAP程序或应用。关联(Association)在CDS视图中是一个非常重要的概念。它在C......
  • SAP CRM 的 pricing 数据库表 PRCD_HEAD
    在SAPCRM系统中,PRCD_HEAD是一个重要的数据库表,用于存储定价计划(PricingPlan)的主要信息。定价计划是一个关键的概念,它定义了在销售和定价过程中使用的价格策略和规则。PRCD_HEAD表记录了每个定价计划的基本属性和配置信息,以支持在销售交易中正确地应用定价。以下是一个详细说明S......
  • SAP ABAP 系统中的 Lock Object
    作为一个SAP资深技术专家,很高兴为您解释SAPABAP系统中的LockObject概念。LockObject是在SAP中用于管理并发性(Concurrency)和数据一致性(Consistency)的机制,确保在多用户同时访问数据时不会发生冲突。LockObject概念:在SAPABAP中,LockObject是一种机制,用于控制和协......