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.

PARAMETERSp_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

Popular posts from this blog

CDS Views: Table Functions with Example

Passing Dynamic Variables to SO10 TEXT

Adobe Form/PDF Form Introduction