Skip to content

ABAP Keyword Documentation →  ABAP - Reference →  Calling and leaving program units →  Calling Processing Blocks →  Calling Procedures 

CALL FUNCTION

Short Reference

Other versions: 7.31 | 7.40 | 7.54

Syntax Forms


General Function Module Call

1. CALL FUNCTION func { parameter_list
                          | parameter_tables }.

Registration of an Update Task Function Module

2. CALL FUNCTION update_function IN UPDATE TASK
               [EXPORTING p1 = a1 p2 = a2 ...]
                [TABLES t1 = itab1 t2 = itab2 ...].

Remote Function Call

3. CALL FUNCTION... DESTINATION ...

Effect

Calls or registers a function module. Static and dynamic function module calls have no syntactic differences. The function module is always specified by a data object and the name of the called function module not determined until runtime.

System Fields

The system field sy-subrc is set to 0 when a function module is called. If a non-class-based exception is raised that was handled by the assignment of a value, then sy-subrc is set to this value. After the registration of an update function module using CALL FUNCTION ... IN UPDATE TASK, however, sy-subrc is undefined.


Notes

  • Unlike method calls, there are no different syntactic variants for static and dynamic calls of function modules. They can, however, be distinguished as follows

  • In a static function module call, a known static function module is specified as a character literal and the parameter is passed statically.

  • In a dynamic function module call, the name of the function module is specified in a variable and the parameter is passed dynamically. This is possible in general function module calls.

Security Note

If the name of a program unit is specified dynamically when it is called, and this name is passed to a program from outside, the result is a serious security risk. Any names passed to a program from outside must be checked thoroughly before being used in calls. The system class CL_ABAP_DYN_PRG, for example, can be used to do this. See Dynamic Calls.

Continue

CALL FUNCTION func

CALL FUNCTION - parameter_list

CALL FUNCTION - parameter_tables