SAP NetWeaver AS ABAP Release 740, ©Copyright 2014 SAP AG. All rights reserved.
ABAP Keyword Documentation →
ABAP − Reference →
Declarations →
Declaration Statements →
Data Types and Data Objects →
Declaring Data Objects →
TABLES 
Short Reference
Syntax
TABLES table_wa.
Effect
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 ABAP Dictionary. Either database tables or
views can be specified for table_wa.
Table work 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
dynpro fields defined in a program dynpro by being taken from ABAP Dictionary, and the ABAP program. For the dynpro event
PBO, the content of the table work area is passed to identically named dynpro fields; for
PAI, the system takes the data from identically named dynpro fields.
-
In executable programs,
flat table work areas can be used to copy data that is provided for the event GET table_wa from an associated
logical database.
TABLES is synonymous with the statement NODES for this purpose.
Programming Guideline
No table work areas except for classical dynpros
Notes
-
Table areas declared using NODES behave like common data declared using the
addition COMMON PART. They are shared by the programs of a
program group. This feature should not be exploited due to the reasons outlined in
Program Groups in External Procedure Calls.
-
Table work areas declared using 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
master program. The table
work area is visible as soon as the master program is declared and exists for the duration of the master
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. Assignments that were made during runtime of the procedure are preserved until the procedure
is completed. When the procedure is exited, the table work areas are filled with the contents 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.
-
Always use NODES and not TABLES for interface work areas for logical databases. This makes it clear that they are nodes of logical databases.
-
The variant TABLES * is completely obsolete.