What does it do? Defines the table parameters t1 t2 ... in the function module interface display in the source text of function modules. Table parameters are obsolete CHANGING parameters that are typed as standard tables with a header line. If an internal table without a header line or a table body is passed as an actual parameter to a formal parameter of this type, an empty local header line is generated in the function module. If an internal table with a header line is used as an actual parameter, both the table body and the header line are passed to the function module. Pass by value is not possible in formal parameters defined using TABLES.
For information on the TYPE, STRUCTURE and OPTIONAL , see Properties of the Interface Parameters. The following special rules apply to table parameters: Only pass by reference is allowed in TABLES parameters. After TYPE, only one table type itab_type from ABAP Dictionary (including type groups) with the table category standard table with a flat row type can be specified. A type with TYPE REF TO is not permitted. In non-Unicode programs, typings using STRUCTURE do not have to match the line length of the actual parameter, but do have to be at least the length of the structure.
When TABLES parameters are accessed that are not bound to any type-compliant actual parameters, a special exception situation can arise.
Latest notes:Formal parameters defined with TABLES can be replaced by formal parameters defined with CHANGING. A local work area can be created for the internal table in the function module by using the addition LIKE LINE OF itab of the DATA statement.
Provided that basXML is not set as the RFC log, using TABLES parameters for remote-enabled function modules for RFC can be significantly faster than passing by means of the CHANGING parameter.