SAP CALL FUNCTION PARAMETER ABAP Statements



Get Example source ABAP code based on a different SAP table
  


• = CALL FUNCTION

CALL FUNCTION, parameter_list
Short Reference

ABAP_SYNTAX
... $[EXPORTING p1 = a1 p2 = a2 ...$]
$[IMPORTING p1 = a1 p2 = a2 ...$]
$[TABLES t1 = itab1 t2 = itab2 ...$]
$[CHANGING p1 = a1 p2 = a2 ...$]
$[EXCEPTIONS $[exc1 = n1 exc2 = n2 ...$]
$[error_message = n_error$]
$[OTHERS = n_others$]$].

ABAP Addition
1 ... EXPORTING p1 = a1 p2 = a2 ...
2 ... IMPORTING p1 = a1 p2 = a2 ...
3 ... TABLES t1 = itab1 t2 = itab2 ...
4 ... CHANGING p1 = a1 p2 = a2 ...
5 ... EXCEPTIONS exc1 = n1 exc2 = n2 ... OTHERS = n_others
6 ... EXCEPTIONS ... error_message = n_error ...

What does it do?
With the exception of the addition EXCEPTIONS, these additions assign the actual parameters a1, a2, ... to the formal parameters p1, p2, ... or t1, t2, ... of the called function module. All data objects and some expressions whose data type matches the typing of the corresponding formal parameter can be specified as actual parameters. With the exception of calculation expressions specified for input parameters, each formal parameter inherits all properties of the assigned actual parameter when called. Non-class-based exceptions can be handled using the addition EXCEPTIONS. The order of the additions is predefined.
A catchable exception is raised whenever a formal parameter is incorrect, and the name of the function module is specified by a constant or as a character literal. Unlike method calls, formal parameters are not checked by the syntax check.
BEGIN_SECTION VERSION 5 OUT A static check only takes place in the extended program check.
END_SECTION VERSION 5 OUT If the name of the function module is specified by a variable, the specification of an incorrect formal parameter is ignored at runtime.



Latest notes:

NON_V5_HINTS
The formal parameters and non-class-based exceptions of a function module are defined as its parameter interface in the Function Builder.
A system field should never be used an actual parameter .
ABAP_HINT_END
• EXPORTING CALL FUNCTION

ABAP Addition

What does it do?
This addition assigns actual parameters to the input parameters of the called function module. EXPORTING can be used to assign actual parameters to the optional input parameters but is mandatory for non-optional input parameters. In pass by reference, a reference to an actual parameter is passed when the call is made. In pass by value, the content of an actual parameter is assigned to the corresponding formal parameter.
a1, a2, ... are general expression positions, which means that, in addition to data objects, functions and expressions can also be passed as actual parameters. Special rules apply in this case.



Latest notes:

Substring access is not possible on an actual parameter of type string or xstring specified after EXPORTING.
Unlike in method calls, a generic type specification # is not possible when a constructor expression is specified. This is because the typing of the parameters is not determined until runtime.
NON_V5_HINTS
ABAP_HINT_END
• IMPORTING CALL FUNCTION

ABAP Addition

What does it do?
This addition assigns actual parameters to the output parameters of the called function module. IMPORTING can be used to assign actual parameters to all output parameters, but this is not mandatory. In pass by reference, a reference is passed to an actual parameter when the call is made. In pass by value, the content of an output parameter is assigned to the relevant actual parameter only if the function module is completed without errors.



Latest notes:

Unlike in method calls, no writable expressions and no inline declarations can be specified.
NON_V5_HINTS
ABAP_HINT_END
• TABLES CALL FUNCTION

ABAP Addition

What does it do?
This addition assigns actual parameters to the table parameters of the called function module. If TABLES is used, internal tables itab1, itab2, ... must be assigned to all non-optional table parameters t1, t2, ... of the called function module and are optional for all optional table parameters. For itab1, itab2, ..., only standard tables can be specified. The data is passed using a reference
BEGIN_SECTION VERSION 5 OUT
(except RFC)
END_SECTION VERSION 5 OUT .
BEGIN_SECTION VERSION 5 OUT If a specified table itab1, itab2, ... has a header line, this is also passed. Otherwise, the header line of the corresponding table parameter t1 , t2, ... is initial after the call.
END_SECTION VERSION 5 OUT
• CHANGING CALL FUNCTION

ABAP Addition

What does it do?
This addition assigns actual parameters to the input/output parameters of the called function module. CHANGING can be used to assign actual parameters to the optional input/output parameters but is mandatory for non-optional input/output parameters. In pass by reference, a reference to an actual parameter is passed when the call is made. In pass by value, the content of an actual parameter is assigned to the relevant formal parameter and the modified content of an input/output parameter is only assigned to the relevant actual parameter if the function module is completed without errors.



Latest notes:

Unlike in method calls, no writable expressions can be specified.
NON_V5_HINTS
ABAP_HINT_END
• EXCEPTIONS CALL FUNCTION
• OTHERS CALL FUNCTION

ABAP Addition n_others

What does it do?