OOPS ABAP: Local Abstarct class with example
Local Abstract Class:
They are defined using the keyword ABSTRACT. We can redefine the method using the keyword 'REDEFINITION'.
*&---------------------------------------------------------------------*
*& Report ZVB_ABSTARCT_CLS
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zvb_abstarct_cls.
TABLES:vbak,vbap.
PARAMETERS: p_vbeln TYPE vbeln_va.
DATA:it_vbak TYPE ztt_vbak, "Table type
is_vbak TYPE zst_vbak. "Global structure
*Creating the Abstract class
CLASS abstract_class DEFINITION ABSTRACT.
PUBLIC SECTION.
METHODS display ABSTRACT IMPORTING pp_vbeln TYPE vbeln_va
EXPORTING pt_vbak TYPE ztt_vbak.
ENDCLASS.
CLASS subclass1 DEFINITION INHERITING FROM abstract_class.
PUBLIC SECTION.
* calling the abstract method
METHODS display REDEFINITION.
ENDCLASS.
CLASS subclass1 IMPLEMENTATION.
* Implementing the abstract method
METHOD display.
SELECT vbeln erdat erzet
FROM vbak
INTO TABLE pt_vbak
WHERE vbeln = pp_vbeln.
ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
DATA:lo_obj TYPE REF TO subclass1.
CREATE OBJECT lo_obj.
*Calling the abstract method by using object of subclass
CALL METHOD lo_obj->display
EXPORTING
pp_vbeln = p_vbeln
IMPORTING
pt_vbak = it_vbak.
IF it_vbak IS NOT INITIAL.
LOOP AT it_vbak INTO is_vbak.
WRITE: / is_vbak-vbeln,
10 is_vbak-erdat,
25 is_vbak-erzet.
ENDLOOP.
ENDIF.
Comments
Post a Comment