This statement is not allowed in classes and declares a data object table_wa
as a table work area whose data type is adopted from the identically named structured data type
table_wa from the ABAP Dictionary. table_wa must be defined as a
flat structure in the ABAP Dictionary. You can specify database tables or
Views for table_wa.
Work table areas declared with TABLES are
interface work areas and should only be declared in the global declaration section of a program for the following purpose:
The statement TABLES is required for exchanging data between
screen fields that were defined in a program screen when transferring from the ABAP Dictionary and the ABAP program. For the screen event
PBO, the content of the table work area is transferred to identically named screen fields; for
PAI, the system adopts the data from identically named screen fields.
In executable programs, flat table
work areas can be used for adopting data that were provided for the event GET table_wa from a linked
TABLES is synonymous with the statement NODES for this purpose.
Work table areas declared with TABLES behave like the
data declared with the addition COMMON PART, meaning the data are used by the programs of a
Table work areas declared with TABLES can be declared in subroutines and function modules. However, this is not recommended. A table work area declared in a
procedure is not local but belongs to the context of a
framework program. The table work area
can be viewed starting from the declaration in the framework program and lives as long as the framework
program. In contrast to normal program-global data, the content of the table work areas declared in
subroutines and function modules is stored temporarily when these subroutines and function modules are
called. Value assignments that were made during runtime of the procedure are preserved until the procedure
is completed. When exiting the procedure, the table work areas are filled with the contents that they
contained when the procedure was called. Table work areas declared in procedures behave like global
data to which the statement LOCAL is applied in the procedure.
The form TABLES * is obsolete.