SAP DATA OBJECTS USAGE READING



Get Example source ABAP code based on a different SAP table
  


NO •

Data Objects in Read Positions
Data objects can be specified as follows at read positions.
Specification of a literal.
Specification of a data object visible at this position using the identifier dobj, a field symbol <(><)>, or a data reference dref->* dereferenced using the dereferencing operator ->* if dref is typed completely. Here, the identifiers of data objects also include the specification of text symbols using the following:

... text-idf ...,

Here, idf is the three-character ID of the text symbol or chaining of reference variables. If a field symbol is used, it must be assigned to a memory area and a data reference must point to a data object, otherwise an uncatchable exception is raised. As an alternative to specifying a text symbol using text-idf, the three-character ID of a text symbol can also be appended to the text field literal in parentheses:

... '...'(idf) ...

If the text symbol exists in the currently loaded text pool, then the content of the corresponding text symbol is used instead of the text field literal, otherwise the literal is used.
• [] ABAP_BODY
If the data object is an internal table, the expressions dobj[], <(><)>[], or dref->*[] can also be used. An exception to this is specification of the internal table of a table expression, where [] cannot be appended to the name.
BEGIN_SECTION VERSION 5 OUT When specifying dobj[], this guarantees that the table body is addressed and no possible header lines. If an internal table does not have a header line, its name dobj alone (without []) is interpreted as the table body in all operand positions. However, if an internal table does have a header line, its name dobj alone (without []) is interpreted as the header line and not as the table body in almost all operand positions. The operand positions in which the name of an internal table with a header line is interpreted as the internal table are listed in internal tables with headers.
END_SECTION VERSION 5 OUT
Specification of a subarea of a character-like or byte-like data object -or a character-like initial part of a structure- by specifying an offset/length.
At some positions, numeric values must be specified directly as digits. In contrast to numeric literals, it is often not possible to specify a plus/minus sign. Examples are numbers specified in declarative statements for the length of elementary data objects or for the initial memory requirement of internal tables.



Latest notes:

Text symbols cannot be listed at all read positions. For example, they are not allowed for specifying the target of dynamic executions.
A system field should only be specified as an operand in a read position if its content is not set by the same statement. Otherwise, this can lead to undefined system behavior.
The predicate expressions IS ASSIGNED and IS BOUND can be used to check the usability of field symbols and data references.
A data reference variable with a generic static type can only be deserialized using the statement ASSIGN dref->* TO <(><)>.
At many read positions, functions or expressions can be specified instead of data objects.
Enumerated objects with an enumerated type can be used in all read positions in which the operand type is their enumerated type or in which the operand is converted to one of the character-like types c or string.
NON_V5_HINTS
ABAP_HINT_END