ABAP Keyword Documentation →  ABAP − Reference →  Calling and leaving program units →  Calling Processing Blocks →  Calling Procedures →  Method Calls →  Static Method Calls → 

meth( ... ) - Functional Method Call

Syntax

... { static_meth( )
    | static_meth( a )
    | static_meth( p1 = a1 p2 = a2 ... )
| static_meth( [EXPORTING  p1 = a1 p2 = a2 ...]
                   [IMPORTING  p1 = a1 p2 = a2 ...]
                   [CHANGING   p1 = a1 p2 = a2 ...] ) } ...

Effect

Functional call of a functional method static_meth in a suitable reader position for functions and expressions. The return value of the method declared using RETURNING is used as an operand and its full typing determines the data type of the operand. The actual parameters bound to output parameters and input/output parameters are handled in the same way as in standalone method calls.

The semantics of the syntax used to pass parameters is the same as in standalone method calls. The following differences from standalone method calls exist:

If the functional method has the same name as a predefined function, the functional method is always called.

Notes

Example

Functional call of a method. Unlike in the example for standalone method calls, the return value is assigned to the result. The inline declarations made in that example, however, are not possible here.

CLASS c1 DEFINITION.
  PUBLIC SECTION.
    CLASS-METHODS do_something IMPORTING p1 TYPE i
                                         p2 TYPE i
                               EXPORTING p3 TYPE i
                                         p4 TYPE i
                               RETURNING VALUE(r) TYPE i.
ENDCLASS.

CLASS c1 IMPLEMENTATION.
  METHOD do_something.
    ...
  ENDMETHOD.
ENDCLASS.

DATA: a1 TYPE i,
      a2 TYPE i.

START-OF-SELECTION.
  DATA(result) =
    c1=>do_something( EXPORTING p1 = 333
                                p2 = 444
                      IMPORTING p3 = a1
                                p4 = a2 ).

Example

The functional method factorial in this example has the return value fact of type i, used on the right side of an assignment in an expression.

CLASS math DEFINITION.
  PUBLIC SECTION.
    METHODS factorial
       IMPORTING n TYPE i
       RETURNING value(fact) TYPE i.
ENDCLASS.

CLASS math IMPLEMENTATION.
  METHOD factorial.
    fact = 1.
    IF n = 0.
      RETURN.
    ELSE.
      DO n TIMES.
        fact = fact * sy-index.
      ENDDO.
    ENDIF.
  ENDMETHOD.
ENDCLASS.

START-OF-SELECTION.

  DATA(result) = 100 + NEW math( )->factorial( 4 ).