A class which defines an Interface must implement all of its methods. If any method is missing in the implementation of that class then a compile error will come.
Below is a program where we have defined an Interface in which we declare attribute and methods meth1 and meth2. Now after defining the Interface in a class, we implement only one method meth1. When we compile this program a syntax error comes with message implementation is missing for method meth2 as follows.
Now uncomment the program and execute the program as below:
REPORT zinterface_allmethod.
*----------------------------------------------------------------------*
* INTERFACE it
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
INTERFACE it.
DATA v_txt TYPE char50.
METHODS: meth1, meth2.
ENDINTERFACE. "it
*----------------------------------------------------------------------*
* CLASS cls DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS cls DEFINITION.
PUBLIC SECTION.
INTERFACES it.
ENDCLASS. "cls DEFINITION
*----------------------------------------------------------------------*
* CLASS cls IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS cls IMPLEMENTATION.
METHOD it~meth1.
it~v_txt = 'First Interface Method'.
WRITE / it~v_txt.
ENDMETHOD. "it~meth1
METHOD it~meth2.
it~v_txt = 'Second Interface Method'.
WRITE / it~v_txt.
ENDMETHOD. "it~meth2
ENDCLASS. "cls IMPLEMENTATION
* Start of selection
START-OF-SELECTION.
* Data Declaration
DATA obj TYPE REF TO cls.
* Create object
CREATE OBJECT obj.
* Method call
CALL METHOD: obj->it~meth1,
obj->it~meth2.
Output