Skip to content

ABAP Keyword Documentation →  ABAP - Reference →  Obsolete Language Elements →  Obsolete modularization →  Function Modules 

FUNCTION - table_parameters

Other versions: 7.31 | 7.40 | 7.54

Obsolete Syntax

... TABLES p1  {TYPE itab_type} | {STRUCTURE struc} [OPTIONAL]
           p2  {TYPE itab_type} | {STRUCTURE struc} [OPTIONAL]
           ...

Effect

Defines the table parameters t1 t2 ... in the function module interface display in the source code 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.

Information about TYPE, STRUCTURE, and OPTIONAL is available in 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.

When TABLES parameters are accessed that are not bound to any type-compliant actual parameters, a special exception situation can arise.


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 statement DATA.
  • In obsolete 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.

Exception

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.

Continue

Exceptions when Accessing TABLES Parameters