SMO 介绍 Shared Object,并不是一个新的技术,相反在SAP 中已经应用了非常多的地方(可以通过SHMM 中去查看,会得到很多你意想不到的东西);它作为SAP 共享与传递数据的一个point,同ABAP/SAP Memory 一样,但是目前它仅用于instance of class,并不能存任何的data
Shared object(或者说instance 更合适)存在于shared memory 中,而该memory 的大小是由abap/shared_objects_size_MB profile paramete 所决定的
我们可以很容易地使用SHMM 来管理并控制它,例如 display/change/delete 等
其中shared object 与shared memory 又是通过shared area 联系起来的,它可以通过SHMA来管理
Area 在SHM/SMO 中是非常重要的概念,它是建立在其上的vesion instance 的template,如果设置允许,它可以有多个instance 并可以具有不同的状态 state,它在design时需要设置一个root class 也就是shared object
一个class 要被设置成为shared object in shared memory,那么其必须在其 attribute 上勾选上 shared memory enabled
当在SHMA 中定义了一个area,那么一个global and final class 将作为cl_shm_area(它是cl_abap_memory_area 的子类)的子类被自动创建
外部的abap 程序通过Area handle 来该问 area instance version 从而也就访问了shared object 的数据