ABAP Keyword Documentation → ABAP - Reference → Processing Internal Data → Internal Tables → Processing Statements for Internal Tables
READ TABLE itab
Other versions: 7.31 | 7.40 | 7.54
Syntax
READ TABLE itab { table_key
| free_key
|
index } result.
Effect
This statement reads a row from the internal table itab
. The row must be
specified by naming values for either table_key
for a table key, a free condition free_key
,
or an index index
. The latter is possible only for
index tables and when using a
sorted
secondary key.
The output response result
determines how and to where the row contents are read.
If the row to be read is not specified uniquely, the first suitable row is read. In the case of index tables, this row has the lowest row number of all suitable rows in the table index used.
System Fields
The statement READ TABLE
sets the values for the system fields sy-subrc
and sy-tabix
.
sy-subrc | Meaning |
---|---|
0 | Row is found. sy-tabix is set to the row number of the entry in the primary or secondary table index used. If ahash key is used, it is set to 0. |
2 | Like sy-subrc equals 0. Distinguishes cases that use the addition COMPARING in result . |
4 | The row was not found. If the entry was determined using a binary search, sy-tabix is set to the table index of the entry before which it would be inserted using INSERT... INDEX ... , to preserve the sort order. This is the case if the addition table_key or free_key was specified for a initial part of the table key ofsorted keys, or if the additionBINARY SEARCH was specified explicitly. Otherwise, sy-tabix is undefined. |
8 | Like sy-subrc equals 4. If the entry was determined using a binary search,and the end of the table was reached, then sy-tabix is set to the number of rows + 1. |
The system fields sy-tfill
and sy-tleng
are also filled.
Note
-
There is no implicit selection of a suitable key or index. The used table key or table index is always specified uniquely. The syntax check issues a warning if there is a suitable
secondary table key
but this table key is not used. This warning should be removed through using the key. However, in exceptional cases, it can be bypassed using a
pragma.
Exceptions
Non-Catchable Exceptions
-
Cause: When reading a table with
READ ... WITH [TABLE] KEY
, overlapping or duplicate key specifications were used.
Runtime Error:DYN_KEY_DUPLICATE
-
Cause: When reading a table of the type
SORTED
, the specified key fields have to be an initial part of the table key whenBINARY SEARCH
is specified.
Runtime Error:ITAB_ILLEGAL_BINARY_SEARCH
-
Cause: No key specified.
Runtime Error:ITAB_KEY_COMPONENT_MISSING
-
Cause: Invalid key specified when accessing a key table.
Runtime Error:ITAB_KEY_ILLEGAL_COMPONENT
-
Cause: Invalid key specified implicitly in the Unicode context.
Runtime Error:READ_ITAB_UC_KEY_ERROR
-
Cause: Invalid incompatible work area specified.
Runtime Error:OBJECTS_WA_NOT_COMPATIBLE
-
Cause: Memory area violated when
TABLES
parameter accessed
Runtime Error:ITAB_STRUC_ACCESS_VIOLATION