SAP NetWeaver AS ABAP Release 740, ©Copyright 2014 SAP AG. All rights reserved.
ABAP Keyword Documentation → ABAP − Reference → ABAP Syntax → ABAP Statements → Operands → Data Objects in Operand Positions →Substring Access
In operand positions, subareas of certain data objects can be accessed by specifying an offset/length:
Syntax
dobj[+off][(len)]
<fs>[+off][(len)]
dref->*[+off][(len)]
Effect
A specified offset or length is directly appended to either the dobj descriptor of the data object, an <fs> field symbol, or a dereferenced data reference variable dref->*: Offsets/lengths can be specified for:
The following restrictions apply:
The segment of the data object is used that has the offset specified in off and the length (in characters or bytes) specified in len. A memory area must not be addressed outside the field boundaries, except in the case of the ASSIGN statement. For an offset specified without a length, the entire substring is addressed as of the off character; for a length specified without an offset, the first len characters are addressed (different rules apply to the ASSIGN statement).
The operands off and len expect data objects of the type i. These data objects must contain positive integers, with the following exceptions.
If the prerequisites are not met or if the subarea defined by off and len is not completely contained in the data object (except in the case of ASSIGN), a syntax error occurs (if statically identifiable). Otherwise, an exception of class CX_SY_RANGE_OUT_OF_BOUNDS occurs. If off is specified as a numeric literal, then this literal cannot be prefixed with a sign.
The offset and length specified are counted in characters for character-like data objects and in bytes for all other data objects. A character is equivalent to a byte in non- Unicode systems.
A substring specified by an offset or length is handled like a data object of the specified length for which the data type depends on the data type of the original data object, the field symbol, or the data reference variable, as shown below:
Original data type | Data type of substring |
c | c |
d | n |
n | n |
t | n |
string | string |
x | x |
xstring | xstring |
Structure type | c |
If the length of the substring exactly corresponds to the length of the structure in a substring access to a structure, the substring does not have data type c; instead, it is handled like the structure itself.
Notes