Reading an Object Reference from a Container 

Prerequisites

The following prerequisites must be fulfilled in order to read an object reference from a container:

These prerequisites are always fulfilled if you are in the implementation program. The container is then addressed with the name CONTAINER .

Containers passed via a function module interface always contain persistent object references. Before you read object references from a container and store them in a variable, you must make all object references in the container into runtime references. To do this, execute the following macro instruction:

SWC_CONTAINER_TO_RUNTIME <Container>.

You must process a container with this macro if you are:

Procedure

  1. Create a variable for the object reference. Use the following instruction to do this:
  2. DATA <Object> TYPE SWC_OBJECT.

  3. Read the object reference from the container. Use the following instruction to do this:

SWC_GET_ELEMENT <Container> <ContainerElement> <Object>.

You can read the object type and the key from the object reference. To do this, use the macros SWC_GET_OBJECT_TYPE and SWC_GET_OBJECT_KEY . For further information, refer to Macro Instructions for Accessing Objects, Attributes and Methods

If you only want to read one object reference, you should also only convert this object reference into a runtime reference for performance reasons. To do this, proceed as follows:

DATA <Object> TYPE SWC_OBJECT
     <Variable> LIKE SWOTOBJID.
SWC_GET_ELEMENT <Container> <ContainerElement> <Variable>.
SWC_OBJECT_FROM_PERSISTENT <Variable> <Object>.