Start of Content Area

Function documentation Area Class <area>  Locate the document in its SAP Library structure

Area classes are generated when an <area> area of the same name using Transaction SHMA as subclasses of the CL_SHM_AREA class. The instances of area classes are area handles for area instance versions.

Area classes can be displayed in the Class Builder, although they may not be changed. Building an area class depends on the definition of the area in Transaction SHMA. Once the properties of an area have been changed, the area class is generated if necessary.

 

Static Attributes

 

AREA_NAME

Constant of type SHM_AREA_NAME: contains the <area> name of the current class or area.

 

Instance Attributes

 

ROOT

Reference variable of type REF TO <area_root_class>, where <area_root_class> is the area root class of the area. This attribute has the READ-ONLY property and is used for direct read access to the root object of an area instance version. Access using the GET_ROOT method is necessary in exceptional cases only, such as with generic programming.

 

Static Methods

 

ATTACH_FOR_READ

This method creates an area handle with read lock for an area instance version and returns a reference to the area handle.

Input Parameter

·        INST_NAME of type SHM_INST_NAME

Name of the area instance version. The name specification is optional. The default value is the value of constant CL_SHM_AREA=>DEFAULT_INSTANCE.

·        CLIENT of type SHM_CLIENT

Client identifier in case the area is client-dependent. The client identifier specification is optional. The default value is the identifier of the current client.

Return Value

·        HANDLE of type REF TO <area>.

Reference to the area handle that is created.

Exceptions

·        CX_SHM_INCONSISTENT

The type of an object saved in the area instance does not match the definition of the object with the same name in the current program.

·        CX_SHM_NO_ACTIVE_VERSION

This exception occurs in the following cases:

¡        The area instance version is not available and automatic building is not possible because there is no area constructor or displaced version (exception text: NEITHER_BUILD_NOR_LOAD).

¡        The area instance version is not available and the area constructor was called (exception text: BUILD_STARTED).

¡        The area instance version is not available although the area constructor is already being executed (exception text: BUILD_NOT_FINISHED).

¡        The area instance version is not available and a displaced version is being loaded (exception text: LOAD_STARTED).

¡        The area instance version is not available but loading of a displaced version is already being executed (exception text: LOAD_NOT_FINISHED).

·        CX_SHM_READ_LOCK_ACTIVE

The area instance version is already locked for reading in the same internal session.

·        CX_SHM_EXCLUSIVE_LOCK_ACTIVE

This exception occurs in the following cases:

¡        The area instance does not support versioning and is already locked for changes (exception text: LOCKED_BY_ACTIVE_CHANGER).

¡        The area instance does not support versioning and a changer is waiting for a change lock (exception text: LOCKED_BY_PENDING_CHANGER).

¡        The area instance is transactional, does not support versioning and a change lock was released, but the database commit has not yet taken place (exception text: WAITING_FOR_DB_COMMIT).

·        CX_SHM_PARAMETER_ERROR

The value of CL_SHM_AREA=>ALL_CLIENTS was specified for the CLIENT input parameter.

The first four exception classes are subclasses of CX_SHM_ATTACH_ERROR, which itself inherits from CX_STATIC_CHECK. CX_SHM_PARAMETER_ERROR is a subclass of CX_DYNAMIC_CHECK.

 

ATTACH_FOR_WRITE

This method creates an area handle with write lock for an area instance version and returns a reference to the area handle.

Input Parameter

·        INST_NAME of type SHM_INST_NAME

Name of the area instance version. The name specification is optional. The default value is the value of constant CL_SHM_AREA=>DEFAULT_INSTANCE.

·        CLIENT of type SHM_CLIENT

Client identifier in case the area is client-dependent. The client identifier specification is optional. The default value is the identifier of the current client.

·        ATTACH_MODE of type SHM_ATTACH_MODE

Controls the lock mode. This information is optional. The default value is CL_SHM_AREA=>ATTACH_MODE_DEFAULT. Possible values are:

¡        CL_SHM_AREA=>ATTACH_MODE_DEFAULT

If there are read locks on the area instance of the specified name, then these are not released. For areas with versioning, the system then attempts to create a new version; in the case of areas without versioning, the exception CX_SHM_VERSION_LIMIT_EXCEEDED is raised.

¡        CL_SHM_AREA=>ATTACH_MODE_DETACH_READER

With areas with versioning, if there are read locks on all area instance versions of the specified name, then the read locks on the oldest version are released, thereby deactivating them so that a new version can be created. All read locks are released for areas without versioning.

¡        CL_SHM_AREA=>ATTACH_MODE_WAIT

If the write lock cannot be set, the program waits for the time specified in the WAIT_TIME parameter and tries to set the lock again before the CX_SHM_VERSION_LIMIT_EXCEEDED occurs. With an area without versioning, no additional read lock can be set on the area instance during the wait time. It is still possible to set read blocks for an area with versioning.

·        WAIT_TIME of type i

Wait time in milliseconds, in case the value of CL_SHM_AREA=>ATTACH_MODE_WAIT is passed for ATTACH_MODE. If a value not equal to 0 is passed for WAIT_TIME, if the value CL_SHM_AREA=>ATTACH_MODE_WAIT is not passed to ATTACH_MODE or if a negative value is specified for WAIT_TIME, then exception CX_SHM_PARAMETER_ERROR occurs.

An attempt is made to set a write lock again in the wait time. Only one program with the parameter WAIT_TIME can wait for an area instance at any one time. If a different program tries to set another change lock with parameter WAIT_TIME, this results directly in exception CX_SHM_EXCLUSIVE_LOCK_ACTIVE (exception text LOCKED_BY_PENDING_CHANGER).

If the write lock can be successfully set within the wait time, then the program flow continues. Note that the waiting program may not be restarted immediately and there may be a time delay. During this delay, no other program can set a change lock. This guarantees that the waiting program receives the write lock next.

If the write lock cannot be successfully set within the wait time, exception CX_SHM_EXCLUSIVE_LOCK_ACTIVE (exception text: LOCKED_BY_ACTIVE_CHANGER) is triggered once the wait time has expired.

Return Value

·        HANDLE of type REF TO <area>.

Reference to the area handle that is created.

Exceptions

·        CX_SHM_VERSION_LIMIT_EXCEEDED

The write lock could not be set since there was already a read lock on the area instance version and no new version could be created because this would overwrite the maximum number of possible versions.

·        CX_SHM_CHANGE_LOCK_ACTIVE

An area instance version is already locked for changing in the same internal session. If a previous change lock was released with a transactional area, but there has been no database commit yet, this triggers the exception with the exception text WAITING_FOR_DB_COMMIT.

·        CX_SHM_EXCLUSIVE_LOCK_ACTIVE

This exception occurs in the following cases:

¡        The area instance is already locked for changes in a different internal session (exception text: LOCKED_BY_ACTIVE_CHANGER).

¡        A changer in a different internal session is waiting for a change lock (exception text: LOCKED_BY_PENDING_CHANGER).

¡        The area instance is transactional, and a change lock was released in a different internal session, but the database commit has not yet taken place (exception text: WAITING_FOR_DB_COMMIT).

·        CX_SHM_PARAMETER_ERROR

¡        An invalid value was passed for the ATTACH_MODE input parameter.

¡        A negative number was passed for the WAIT_TIME input parameter.

¡        The value of CL_SHM_AREA=>ALL_CLIENTS was specified for the CLIENT input parameter.

The first three exception classes are subclasses of CX_SHM_ATTACH_ERROR, which itself inherits from CX_STATIC_CHECK. CX_SHM_PARAMETER_ERROR is a subclass of CX_DYNAMIC_CHECK.

 

ATTACH_FOR_UPDATE

This method creates an area handle with an update lock for an area instance version and returns a reference to the area handle.

Input Parameter

·        INST_NAME of type SHM_INST_NAME

Name of the area instance version. The name specification is optional. The default value is the value of constant CL_SHM_AREA=>DEFAULT_INSTANCE.

·        CLIENT of type SHM_CLIENT

Client identifier in case the area is client-dependent. The client identifier specification is optional. The default value is the identifier of the current client.

·        ATTACH_MODE of type SHM_ATTACH_MODE

Controls the lock mode. This information is optional. The default value is CL_SHM_AREA=>ATTACH_MODE_DEFAULT. Possible values are:

¡        CL_SHM_AREA=>ATTACH_MODE_DEFAULT

If there are read locks on the area instance of the specified name, then these are not released. For areas with versioning, the system then attempts to create a new version; in the case of areas without versioning, the exception CX_SHM_VERSION_LIMIT_EXCEEDED is raised.

¡        CL_SHM_AREA=>ATTACH_MODE_DETACH_READER

With areas with versioning, if there are read locks on all area instance versions of the specified name, then the read locks on the oldest version are released, thereby deactivating them so that a new version can be created. All read locks are released for areas without versioning.

¡        CL_SHM_AREA=>ATTACH_MODE_WAIT

If the update lock cannot be set, the program waits for the time specified in the WAIT_TIME parameter and tries to set the lock again before the CX_SHM_VERSION_LIMIT_EXCEEDED occurs. With an area without versioning, no additional read lock can be set on the area instance during the wait time. It is still possible to set read blocks for an area with versioning.

·        WAIT_TIME of type i

Wait time in milliseconds, in case the value of CL_SHM_AREA=>ATTACH_MODE_WAIT is passed for ATTACH_MODE. If a value not equal to 0 is passed for WAIT_TIME, if the value CL_SHM_AREA=>ATTACH_MODE_WAIT is not passed to ATTACH_MODE or if a negative value is specified for WAIT_TIME, then exception CX_SHM_PARAMETER_ERROR occurs.

An attempt is made to set an update lock again in the wait time. Only one program with the parameter WAIT_TIME can wait for an area instance at any one time. If a different program tries to set another change lock with parameter WAIT_TIME, this results directly in exception CX_SHM_EXCLUSIVE_LOCK_ACTIVE (exception text LOCKED_BY_PENDING_CHANGER).

If the update lock can be successfully set within the wait time, then the program flow continues. Note that the waiting program may not be restarted immediately and there may be a time delay. During this delay, no other program can set a change lock. This guarantees that the waiting program receives the update lock next.

If the update lock cannot be successfully set within the wait time, exception CX_SHM_EXCLUSIVE_LOCK_ACTIVE (exception text: LOCKED_BY_ACTIVE_CHANGER) is triggered once the wait time has expired.

Note

Since an active area instance version is required for setting an update lock, an automatically called area constructor is started when the ATTACH_FOR_UPDATE method is called. When the WAIT_TIME parameter is used, the system waits if the area constructor can be started. If the area constructor successfully ends before the end of the wait time, then the update lock is set. If the area constructor ends without being able to create an active version, the wait is terminated before the end of the wait time. If the area constructor does not end within the wait time, exception CX_SHM_NO_ACTIVE_VERSION (exception text: BUILD_NOT_FINISHED) is triggered.

Return Value

·        HANDLE of type REF TO <area>.

Reference to the area handle that is created.

Exceptions

·        CX_SHM_INCONSISTENT

The type of an object saved in the area instance does not match the definition of the object with the same name in the current program.

·        CX_SHM_NO_ACTIVE_VERSION

This exception occurs in the following cases:

¡        The area instance version is not available and automatic building is not possible because neither an area constructor nor a displaced version is available (exception text: NEITHER_BUILD_NOR_LOAD).

¡        The area instance version is not available and the area constructor was called (exception text: BUILD_STARTED).

¡        The area instance version is not available although the area constructor is already being executed (exception text: BUILD_NOT_FINISHED).

¡        The area instance version is not available and a displaced version is being loaded (exception text: LOAD_STARTED).

¡        The area instance version is not available but loading of a displaced version is already being executed (exception text: LOAD_NOT_FINISHED).

·        CX_SHM_VERSION_LIMIT_EXCEEDED

The update lock could not be set since there was already a read lock on the area instance version and no new version could be created because this would overwrite the maximum number of possible versions.

·        CX_SHM_CHANGE_LOCK_ACTIVE

An area instance version is already locked for changing in the same internal session. If a previous change lock was released with a transactional area, but there has been no database commit yet, this triggers the exception with the exception text WAITING_FOR_DB_COMMIT.

·        CX_SHM_EXCLUSIVE_LOCK_ACTIVE

This exception occurs in the following cases:

¡        The area instance is already locked for changes in a different internal session (exception text: LOCKED_BY_ACTIVE_CHANGER).

¡        A changer in a different internal session is waiting for a change lock (exception text: LOCKED_BY_PENDING_CHANGER).

¡        The area instance is transactional, and a change lock was released in a different internal session, but the database commit has not yet taken place (exception text: WAITING_FOR_DB_COMMIT).

·        CX_SHM_PARAMETER_ERROR

¡        An invalid value was passed for the ATTACH_MODE input parameter.

¡        A negative number was passed for the WAIT_TIME input parameter.

¡        The value of CL_SHM_AREA=>ALL_CLIENTS was specified for the CLIENT input parameter.

The first five exception classes are subclasses of CX_SHM_ATTACH_ERROR, which itself inherits from CX_STATIC_CHECK. CX_SHM_PARAMETER_ERROR is a subclass of CX_DYNAMIC_CHECK.

 

DETACH_AREA

This method releases all of the current internal session’s locks on the area instances versions of the corresponding area, thereby deactivating all of the area handles in the current internal session. If a write or an update lock is released, this rejects any changes that were made to the area instance versions up to then.

Input Parameter

·        CLIENT of type SHM_CLIENT

Optional client identifier in case the area is client-dependent. The default value is the identifier of the current client.

Return Value

·        RC of type SHM_RC

Possible values:

¡        CL_SHM_AREA=>RC_DONE if all locks were released.

¡        CL_SHM_AREA=>RC_NOTHING_TO_BE_DONE if no locks were released because none existed in the current session.

 

INVALIDATE_INSTANCE

For non-transactional areas, this method sets the state of the active area instance version of the area instance of the name passed to obsolete immediately; for transactional areas this is at the next database commit. No additional new locks can be set on this area instance version afterwards. Existing read locks are not released. How existing change locks are handled depends on the TERMINATE_CHANGER input parameter.

Input Parameter

·        INST_NAME of type SHM_INST_NAME

Name of the area instance version. The name specification is optional. The default value is the value of constant CL_SHM_AREA=>DEFAULT_INSTANCE.

·        CLIENT of type SHM_CLIENT

Client identifier in case the area is client-dependent. The default value is the identifier of the current client.

·        TERMINATE_CHANGER of type ABAP_BOOL

Controls the handling of change locks. Possible values are:

¡        ABAP_TRUE

Existing change locks are released (default setting).

¡        ABAP_FALSE

Existing change locks are not released.

Caution

Once this method is executed and ABAP_TRUE is passed to TERMINATE_CHANGER, all programs where there is still a write lock for the invalidated area instance are terminated with the SYSTEM_SHM_AREA_OBSOLETE runtime error.

Return Value

·        RC of type SHM_RC

Possible values with non-transactional areas:

¡        CL_SHM_AREA=>RC_DONE if the active area instance version was set to obsolete. If the value ABAP_TRUE was passed to TERMINATE_CHANGER, even if a change lock was released.

¡        CL_SHM_AREA=>RC_NOTHING_TO_BE_DONE if no active area instance version is available and if no change lock exists if the value ABAP_TRUE was passed to TERMINATE_CHANGER.

¡        CL_SHM_AREA=>RC_INSTANCE_NAME_NOT_FOUND if no area instance of the specified name exists.

With transactional areas, RC always has the value CL_SHM_AREA=>RC_NOTHING_TO_BE_DONE.

Exceptions

·        CX_SHM_PARAMETER_ERROR

An invalid value was passed for the TERMINATE_CHANGER input parameter.

 

INVALIDATE_AREA

For no—transactional areas, this method sets the state of all active area instance versions of the area in the current internal session to obsolete immediately; for transactional areas this is at the next database commit. No additional new locks can be set on these area instance versions afterwards. Existing read locks are not released. How existing change locks are handled depends on the TERMINATE_CHANGER input parameter.

Input Parameter

·        CLIENT of type SHM_CLIENT

Client identifier in case the area is client-dependent. The default value is the identifier of the current client.

·        TERMINATE_CHANGER of type ABAP_BOOL

Controls the handling of change locks. Possible values are:

¡        ABAP_TRUE

Existing change locks are released (default setting).

¡        ABAP_FALSE

Existing change locks are not released.

Caution

Once this method is executed and ABAP_TRUE is passed to TERMINATE_CHANGER, all programs where write locks still exist for the invalidated area instance versions are terminated with the SYSTEM_SHM_AREA_OBSOLETE runtime error.

Return Value

·        RC of type SHM_RC

Possible values with non-transactional areas:

¡        CL_SHM_AREA=>RC_DONE if at least one active area instance version was set to obsolete. If the value ABAP_TRUE was passed to TERMINATE_CHANGER, even if at least one change lock was released.

¡        CL_SHM_AREA=>RC_NOTHING_TO_BE_DONE if no there are no active area instance versions and if no change lock exists if the value ABAP_TRUE was passed to TERMINATE_CHANGER.

With transactional areas, RC always has the value CL_SHM_AREA=>RC_NOTHING_TO_BE_DONE.

Exceptions

·        CX_SHM_PARAMETER_ERROR

An invalid value was passed for the TERMINATE_CHANGER input parameter.

 

PROPAGATE_INSTANCE

This method is only available if the area is transactional. It has the same effect as executing the INVALIDATE_INSTANCE method and passing the value of ABAP_TRUE to the TERMINATE_CHANGER input parameter on all application servers in the current SAP system. This propagation takes place with the next database commit.

Input Parameter

·        INST_NAME of type SHM_INST_NAME

Name of the area instance version. The name specification is optional. The default value is the value of constant CL_SHM_AREA=>DEFAULT_INSTANCE.

·        CLIENT of type SHM_CLIENT

Client identifier in case the area is client-dependent. The default value is the identifier of the current client.

·        AFFECTING_LOCAL_SERVER of type ABAP_BOOL

Controls whether the change in state is also performed on the current application server. Possible values are:

¡        ABAP_TRUE

The active area instance version is set to obsolete on the current application server. This setting can be used if the contents of the area instance should be changed after the database contents change using the area constructor.

¡        ABAP_FALSE

The active area instance version is not set to obsolete on the current application server. (Default setting.) This means that a newly created version can remain on an application server while only the current versions on other servers are invalidated.

Exceptions

·        CX_SHM_PARAMETER_ERROR

An invalid value was passed for the AFFECTING_LOCAL_SERVER input parameter.

 

PROPAGATE_AREA

This method is only available if the area is transactional. It has the same effect as executing the INVALIDATE_AREA method and passing the value of ABAP_TRUE to the TERMINATE_CHANGER input parameter on all application servers in the current SAP system. This propagation takes place with the next database commit.

Input Parameter

·        CLIENT of type SHM_CLIENT

Client identifier in case the area is client-dependent. The default value is the identifier of the current client.

·        AFFECTING_LOCAL_SERVER of type ABAP_BOOL

Controls whether the change in state is also performed on the current application server. Possible values are:

¡        ABAP_TRUE

The active area instance versions are set to obsolete on the current application server.

¡        ABAP_FALSE

The active area instance versions are not set to obsolete on the current application server. (Default setting.)

Exceptions

·        CX_SHM_PARAMETER_ERROR

An invalid value was passed for the AFFECTING_LOCAL_SERVER input parameter.

 

FREE_INSTANCE

This method sets the state of all (that is, active and obsolete) area instance versions of the area instance of the name that is passed to expired, and all read locks are released. No additional new read locks and update locks can be set on this area instance version afterwards. How existing change locks are handled depends on the TERMINATE_CHANGER input parameter. With non-transactional areas, the status of the area instance version is changed immediately; with transactional areas, the status changes with the next database commit.

Caution

After this method has been executed, all programs where area handles still exist for the released area instance versions are terminated with the SYSTEM_SHM_AREA_OBSOLETE runtime error.

Input Parameter

·        INST_NAME of type SHM_INST_NAME

Name of the area instance version. The name specification is optional. The default value is the value of constant CL_SHM_AREA=>DEFAULT_INSTANCE.

·        CLIENT of type SHM_CLIENT

Client identifier in case the area is client-dependent. The default value is the identifier of the current client.

·        TERMINATE_CHANGER of type ABAP_BOOL

Controls the handling of change locks. Possible values are:

¡        ABAP_TRUE

Existing change locks are released (default setting).

¡        ABAP_FALSE

Existing change locks are not released.

Return Value

·        RC of type SHM_RC

Possible values with non-transactional areas:

¡        CL_SHM_AREA=>RC_DONE if an active or an obsolete area instance version was set to expired. If the value ABAP_TRUE was passed to TERMINATE_CHANGER, even if a change lock was released.

¡        CL_SHM_AREA=>RC_NOTHING_TO_BE_DONE if no there are no active or obsolete area instance versions, and if no change lock exists if the value ABAP_TRUE was passed to TERMINATE_CHANGER.

¡        CL_SHM_AREA=>RC_INSTANCE_NAME_NOT_FOUND if no area instance of the specified name exists.

With transactional areas, RC always has the value CL_SHM_AREA=>RC_NOTHING_TO_BE_DONE.

Exceptions

·        CX_SHM_PARAMETER_ERROR

An invalid value was passed for the TERMINATE_CHANGER input parameter.

 

FREE_AREA

This method sets the state of all (that is, active and obsolete) area instance versions of the area to expired, and all read locks are released. No additional new locks can be set on these area instance versions afterwards. How existing change locks are handled depends on the TERMINATE_CHANGER input parameter. With non-transactional areas, the change takes place immediately; with transactional areas, the change takes place with the next database commit.

Input Parameter

·        CLIENT of type SHM_CLIENT

Client identifier in case the area is client-dependent. The default value is the identifier of the current client.

·        TERMINATE_CHANGER of type ABAP_BOOL

Controls the handling of change locks. Possible values are:

¡        ABAP_TRUE

Existing change locks are released (default setting).

¡        ABAP_FALSE

Existing change locks are not released.

Return Value

·        RC of type SHM_RC

Possible values with non-transactional areas:

¡        CL_SHM_AREA=>RC_DONE if at least one active or obsolete area instance version was set to expired. If the value ABAP_TRUE was passed to TERMINATE_CHANGER, even if at least one change lock was released.

¡        CL_SHM_AREA=>RC_NOTHING_TO_BE_DONE if no there are no active area instance versions, or if there are obsolete area instance values, and if no change lock exists if the value ABAP_TRUE was passed to TERMINATE_CHANGER.

With transactional areas, RC always has the value CL_SHM_AREA=>RC_NOTHING_TO_BE_DONE.

Exceptions

·        CX_SHM_PARAMETER_ERROR

An invalid value was passed for the TERMINATE_CHANGER input parameter.

Caution

After this method has been executed, all programs where area handles still exist for the released area instance versions are terminated with the SYSTEM_SHM_AREA_OBSOLETE runtime error.

 

GET_INSTANCE_INFOS

This method returns the name of all area instances of the area on the current application server that are being built, are active or are obsolete.

Input Parameter

·        CLIENT of type SHM_CLIENT

Client identifier in case the area is client-dependent. The default value is the identifier of the current client.

Return Value

·        INFOS of type SHM_INST_INFOS

SHM_INST_INFOS is an internal table of row type SHM_INST_INFO with the following components:

¡        CLIENT of type MANDT

Client identifier with client-dependent areas. Initial with client-independent areas.

¡        NAME of type SHM_INST_NAME

Area name. For areas with the default name, this is the content of the CL_SHM_AREA=>DFAULT_INSTANCE constant.

¡        VERSIONS_IN_BUILD of type SHM_VERS_CNT

Number of the area instance versions that are currently being built. Possible values are 0 or 1.

¡        VERSIONS_ACTIVE of type SHM_VERS_CNT

Number of the area instance versions that are currently active. Possible values are 0 or 1.

¡        VERSIONS_OBSOLETE of type SHM_VERS_CNT

Number of obsolete area instance versions. Possible values are 0 up to a maximum number of area instance versions (component MAX_VERSIONS of the PROPERTIES attribute of the CL_SHM_AREA class).

An empty table is returned if there are no area instances for the area. The number of expired area instance versions is not taken into consideration.

 

BUILD

This method explicitly calls the area constructor. The area constructor is executed in the current internal session. With client-dependent areas, the area of the current client is built.

Input Parameter

·        INST_NAME of type SHM_INST_NAME

Name of the area instance version. The name specification is optional. The default value is the value of constant CL_SHM_AREA=>DEFAULT_INSTANCE.

Exceptions

·        CX_SHM_BUILD_FAILED

An error occurred when the area constructor was executed.

·        CX_SHMA_NOT_CONFIGURED

No area constructor class is bound to the area class.

·        CX_SHMA_INCONSISTENT

The area class has to be generated again.

 

Instance Methods

 

SET_ROOT

This method defines the root object (instance of the area root class) of the area instance version. Before a change lock can be released using the DETACH_COMMIT method, the root object has to be reset at least once using SET_ROOT. Conversions are possible. The SET_ROOT method can only be called up in area handles with change locks.

Input Parameter

·        ROOT of type REF TO <area_root_class>, where <area_root_class> is the area root class of the area.

Exceptions

·        CX_SHM_WRONG_HANDLE

The method was called using an area handle with read lock or an area handle in which the DETACH_COMMIT method failed.

·        CX_SHM_INITIAL_REFERENCE

The reference variable passed to ROOT is initial.

Both exceptions are subclasses of CX_DYNAMIC_CHECK.

 

End of Content Area