Skip to content

ABAP Keyword Documentation →  ABAP - Reference →  Obsolete Language Elements →  Obsolete Processing of External Data →  Obsolete Database Access →  Obsolete Access Statements 

LOOP AT dbtab

Short Reference

Other versions: 7.31 | 7.40 | 7.54

Obsolete Syntax

LOOP AT { dbtab | *dbtab } [VERSION vers].
  ...
ENDLOOP.

Addition

... VERSION vers

Effect

The statements LOOP and ENDLOOP define a loop around a statement block (not allowed in classes). dbtab expects a database table or classic view that starts with "T" and has a maximum length of five characters. For the database table or view dbtab, a table work area or an additional table work area must be declared using the statement TABLES. All components of the table work area that match the primary key fields of the database table or view dbtab must be character-like.

In each loop run, the statement LOOP reads a row from the database table or view dbtab and assigns its content either to the table work area, or if *dbtab is specified, to the additional table work area. The rows to be read are determined by the content of the components of the table work area, which correspond with the primary key fields of the database table or view dbtab. Before the first loop run, the content of these components is taken as the search key, reading from the left, and the database table or view is searched generically for suitable entries. The search key handles blanks as if they match all values.

If a database table or view is specified that does not begin with "T", the first letter is implicitly replaced by "T". The loop is not executed if the database table or view does not exist.

System Fields

sy-subrc Meaning
12 The database table or view was not found.


Notes

  • This form of the LOOP-loop is not allowed in classes. It must be replaced by the statement SELECT.
  • Obsolete access statements do not support automatic client handling. The client ID of a database table must be specified explicitly. Note that application programs should only use data from the current client.

Addition

... VERSION vers

Effect

If the addition VERSION is specified, the database table or view dbtab is not read, and the table or view whose name is composed of "T" and the content of vers is read instead. vers expects a data object with a maximum of four characters, of type c. The content of the row is still assigned to the table work area of dbtab or *dbtab and its type is cast. If the table work area is too short, a runtime error occurs.


Example

Sequential reading of rows from database table T100.

TABLES t100.

t100 = space.
t100-sprsl = 'E'.
t100-arbgb = 'BC'.
t100-msgnr = '1'.

LOOP AT t100.
  ...
ENDLOOP.

The Open SQL syntax to be used instead reads:

DATA wa TYPE t100. 

SELECT * 
       FROM t100 
       WHERE sprsl = 'E' AND 
             arbgb = 'BC' AND 
             msgnr LIKE '1%' 
       INTO @wa. 
  ... 
ENDSELECT.