Skip to content

ABAP Keyword Documentation →  ABAP − Reference →  Creating Objects and Values →  Shared Objects →  Shared Objects - Classes and Interfaces 

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.

Other versions: 7.31 | 7.40 | 7.54

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 in 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 in 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 in 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 dynamic attributes of the area 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 shared lock or exclusive lock was released by one of the DETACH_AREA or DETACH_ALL_AREAS methods.

  • DETACH_INFO_ATTACH

    The shared 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.

Continue

Shared Objects - CL_SHM_AREA

Shared Objects - CL_IMODE_AREA