云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

大带宽_阿里云盾负责人_三重好礼

小七 141 0

共享内存是驻留在应用程序服务器中的内存区域,所有ABAP程序都可以访问它。在这篇文章中,我将讨论通过使用共享内存对象访问和使用该内存区域以满足业务需求的方法。

在ABAP程序之间共享数据是一种常见的业务需求。实现这一点有不同的方法。让我们看一个简单的业务场景。

有一个PO(采购订单)创建程序,大数据在线,它具有在前台和后台创建PO的功能。后台工作是必不可少的,如果用户正在处理多个采购订单。从技术角度来看,有不同的方式来实现上述功能。其中一种方法是通过另一个abap程序(Submit程序)在前台上传所需的数据并在后台执行BAPI调用。在这种情况下,数据应该从前台程序传输到后台程序。

共享内存对象在这种情况下很方便。

共享内存是应用服务器中所有ABAP程序都可以访问的内存区域。访问这个内存区域有不同的方法。访问这个内存区域的一种方法是使用IMPORT和EXPORT语句,wap自助建站,大数据怎么学,这在性能方面非常低效。强烈建议使用共享内存对象,因为它比以前的方法在性能方面更有效。

使用内存对象的好处

在性能方面更有效提供更灵活的监视对象的方式可用于不同的LUW(逻辑工作单元)访问数据

让我们看看如何创建共享对象。

创建共享内存对象的事务:SHMA

1:创建根类

转到SE24并创建一个新的全局类(ZCL\ U SHMA\ U PO\ U ROOT1)。打开属性中的共享内存复选框很重要类的属性页签

2:定义属性

移动到类的属性页签,精准大数据,定义需要与其他程序共享的属性。这里定义了两个包含字段列表和带有参数(标志)的订单列表的表作为实例属性

3:为类分配接口

下一步移动到接口选项卡,为类分配接口"IF\SHM\u BUILD\u instance",并激活类以确认是否有错误

4:设置并获取方法

向类"SET\u ATTRIBUTES"和"GET\u ATTRIBUTES"添加两个实例方法,用于向共享对象写入和读取值。

对于"SET\u ATTRIBUTES"方法,物联网安全,添加以下导入参数

对于"GET\u ATTRIBUTES"方法,添加以下导出参数

5。创建共享内存区

这是由代码:SHMA

创建一个内存区域名'ZCL\u SHMA\u PO\u AREA1',并提供根类和构造函数类作为我们先前创建的上述类'ZCL\u SHMA\u PO\u ROOT1'。

选中"自动区域构建"、"具有版本控制"复选框。

选择"不可能置换"和"自动"从下拉列表中的"如果读取请求和每次失效"开始。更多细节请参见下面的截图

6:在根类'ZCL\u SHMA\u PO\u ROOT1'中实现区域构造函数'IF\u BUILD\u INSTANCE~BUILD'静态方法

方法'detach\u commit'提供的功能是更新共享内存区域并释放锁对象

7:在前台使用共享内存创建程序将值设置到内存区域。

7:使用后台PO创建程序中的共享内存从内存区域读取值。

希望您对共享内存对象有一个很好的了解。使用它来提高程序的性能。