You are on page 1of 3

PARAMETERS IN METHOD -OOABAP

Goto SE24->Create a class.

Click on method tab-> create method then inside the method by default level is Instance method and
visibility is Private.

Click on Parameters tab-> Give parameter name ->Click types(Importing, Exporting, Changing, Returnig)

IMPORTING:

IMPORTING defines input parameters

Transfer a value from the outside the class(caller) to method by passing an actual parameter.

EXPORTING:

EXPORTING defines output parameters

It Passes values from method to caller.

CHANGING:

CHANGING defines input/output parameters. 

When the method is called, an appropriate actual parameter must be specified for every non-optional
input/output parameter.

EXAMPLE PROGRAM FOR IMPORTING, EXPORTING AND CHANGING PARAMETER IN METHOD:

CLASS c1 DEFINITION.
  PUBLIC SECTION.
    METHODS m1 IMPORTING input TYPE i
                      EXPORTING output TYPE i
                      CHANGING  change_value TYPE i.
ENDCLASS.                    

CLASS c1 IMPLEMENTATION.
  METHOD m1.
    DO 10 TIMES.
      output = input * change_value.
      WRITE: / input, '*', change_value, '=', output.
      change_value = change_value + 1.
    ENDDO.
  ENDMETHOD.                    
ENDCLASS.                    

DATA: v_exp TYPE i,
      v_chn TYPE i.
PARAMETER p_inp TYPE i.

DATA obj TYPE REF TO c1.
START-OF-SELECTION.

  CREATE OBJECT obj.

  CALL METHOD obj->m1
    EXPORTING
      input = p_inp
    IMPORTING
      output = v_exp
    CHANGING
      change_value = v_chn.

RETURNING:

Returning parameter to get values from a method.

Pre-request/Properties of Returning Parameter in method shown below:

EXAMPLE PROGRAM FOR RETURNING PARAMETER IN METHOD:

CLASS c1 DEFINITION.
  PUBLIC SECTION.
    METHODS mt_1 IMPORTING ip_1 TYPE i
                                 ip_2 TYPE i
                       RETURNING value(return) TYPE i.
ENDCLASS.

CLASS c1 IMPLEMENTATION.
  METHOD mt_1.
    return = ip_1 * ip_2.
    WRITE: / ip_1, '*', ip_2, '=', return.
  ENDMETHOD.                    
ENDCLASS.                    

DATA obj TYPE REF TO c1.
DATA v_return TYPE i.
PARAMETERS : p1 TYPE i,
             p2 TYPE i.

START-OF-SELECTION.
  CREATE OBJECT obj.
*syntax_1

  CALL METHOD obj->mt_1
    EXPORTING
      ip_1 = p1
      ip_2 = p2
    RECEIVING
      return = v_return.
WRITE: / v_return.

*syntax_2

Return = obj->mt_1(ip_1 = p1 ip_2 = p2).

WRITE: / v_return.

*syntax_3

MOVE obj->mt_1(ip_1 = p1 ip_2 = p2) TO return.

You might also like