ARTICLE
Shared Objects - CL_ABAP_MEMORY_AREA
The CL_ABAP_MEMORY_AREA class is
the common superclass of all area classes. It contains general methods
for area handles .
Static Methods
GET_HANDLE_BY_OREF
Gets the area handle for an instance of a class. The instance can be in
the shared memory or within the internal session.
Input parameter
OREF of type REF TO object
Reference to the instance of a class.
Return value
HANDLE of type REF TO cl_abap_memory_area
Reference to the area handle of the corresponding area instance version.
Typing means that essentially this reference is only suitable for
creating objects.
GET_HANDLE_BY_DREF
Gets the area handle for a data object. The data object can be in the
shared memory or within the internal session.
Input parameter
DREF of type REF TO data
Reference to a data object in the shared memory.
Return value
HANDLE of type REF TO cl_abap_memory_area
Reference to the area handle of the corresponding area instance version.
Typing means that essentially this reference is only suitable for
creating objects.
GET_HANDLE_BY_DATA
Gets the area handle for a data object. The data object can be in the
shared memory or within the internal session.
Input parameter
DATAOBJECT of type any
Data object in the shared memory. This can be specified as a field
symbol, for example, which refers to a dereferenced data object in the
shared memory.
Return value
HANDLE of type REF TO cl_abap_memory_area
Reference to the area handle of the corresponding area instance version.
Typing means that essentially this reference is only suitable for
creating objects.
Instance Methods
IS_SHARED
Checks whether the area handle represents an area instance version in
the shared memory, or whether it represents the current internal
session.
Return value
SHARED of type ABAP_BOOL
ABAP_TRUE if an area instance version is represented in the
shared objects memory, and ABAP_FALSE if the current internal
session is represented.
IS_VALID
Checks whether the area handle can be used to access an area instance
version in the shared memory, or whether the current internal session is
accessed.
Return value
VALID of type ABAP_BOOL
ABAP_TRUE if the area handle is used to access an area instance
version or the current internal session; otherwise ABAP_FALSE .
IS_ACTIVE_VERSION
Checks whether the area handle refers to the active area instance
version.
Return value
ACTIVE_VERSION of type ABAP_BOOL
ABAP_TRUE if the current area instance version or the internal
session is represented. ABAP_FALSE if an obsolete area instance
version is represented, the area handle was already released, or if it
is a change handle.
HAS_ACTIVE_PROPERTIES
Checks whether the area�s current dynamic properties match the
properties of the area instance version that is represented:
Return value
ACTIVE_PROPERTIES of type ABAP_BOOL
ABAP_TRUE if the area�s dynamic properties have not been changed
since the current area instance version was built, or if the current
internal session is represented. Otherwise, or if the area handle was
already released, ABAP_FALSE .
GET_DETACH_INFO
Determines the reason for an invalid area handle.
Return value
DETACH_INFO of type SHM_DETACH_INFO
The return value can be compared with one of the following constants of
class CL_ABAP_MEMORY_AREA .
DETACH_INFO_NOT_DETACHED
The area handle is still valid. This value is also returned if a commit
fails but no rollback has yet been performed. This value is also
returned if the current internal session is represented.
DETACH_INFO_HANDLE
The shared lock or exclusive lock was released explicitly using one of
the methods DETACH_COMMIT or DETACH_ROLLBACK .
DETACH_INFO_AREA
The read or change lock was released by one of the DETACH_AREA or
DETACH_ALL_AREAS methods.
DETACH_INFO_ATTACH
The read lock was released by the ATTACH_FOR_WRITE method, and
the constant CL_SHM_AREA= ATTACH_MODE_DETACH_READER was passed to
the ATTACH_MODE parameter.
DETACH_INFO_INVALIDATE
The shared lock was released using an INVALIDATE_... method, and
the ABAP_TRUE constant was passed to the TERMINATE_CHANGER
parameter.
DETACH_INFO_PROPAGATE
The change lock was released by a PROPAGATE_... method.
DETACH_INFO_FREE
The shared lock or exclusive lock was released using a FREE_...
method.
Documentation extract taken from SAP system, � Copyright SAP AG. All rights reserved