CLASS-METHODS - RETURNING

Syntax

CLASS-METHODS meth
  [IMPORTING parameters] [PREFERRED PARAMETER p]]
   RETURNING VALUE(r) typing
  [{RAISING|EXCEPTIONS} exc1 exc2 ...].

Effect

Declares a functional static method meth. The additions have exactly the same syntax and meaning as those for functional instance methods.

Example

The class circle contains two functional static methods, circumference and area, which work with the constant pi.

CLASS circle DEFINITION.
  PUBLIC SECTION.
    CONSTANTS pi TYPE f
                 VALUE '3.14159265358979324'.
    CLASS-METHODS: circumference IMPORTING r TYPE f
                                 RETURNING value(c) TYPE f,
                   area          IMPORTING r TYPE f
                                 RETURNING value(a) TYPE f.
ENDCLASS.

CLASS circle IMPLEMENTATION.
  METHOD circumference.
    c = 2 * pi * r.
  ENDMETHOD.
  METHOD area.
    a = pi * r ** 2.
  ENDMETHOD.
ENDCLASS.

DATA: circ TYPE f,
      area TYPE f,
      radius TYPE f.

START-OF-SELECTION.

radius = '1.00'.
circ = circle=>circumference( radius ).
area = circle=>area( radius ).