Local abstract class with example using parameters.

1. Goto SE38.

2. Give program name and click on create.

3. Give description and select type executable program.

4. Write code.


REPORT zab_cl_abstract.
DATAlv_erzet TYPE erzet,
      lv_erdat TYPE erdat,
      lv_vbtyp TYPE vbtyp,
      lv_ernam TYPE ernam.
PARAMETERSp_vbeln TYPE vbeln.
PARAMETERSp_r1 TYPE RADIOBUTTON GROUP g1,
            p_r2 TYPE RADIOBUTTON GROUP g1.

CLASS cl_abstract DEFINITION ABSTRACT.
  PUBLIC SECTION.
    METHODS display ABSTRACT
      IMPORTING pvbeln TYPE vbeln
      EXPORTING perzet TYPE erzet
                perdat TYPE erdat
                pvbtyp TYPE vbtyp
                pernam TYPE ernam.
ENDCLASS.

CLASS sale DEFINITION INHERITING FROM cl_abstract.
  PUBLIC SECTION.
    METHODS display REDEFINITION.
ENDCLASS.
CLASS sale IMPLEMENTATION.
  METHOD display.
    SELECT SINGLE erzet
            erdat
            vbtyp
            ernam
            FROM vbak
            INTO perzet,perdatpvbtyppernam )
            WHERE vbeln EQ p_vbeln.
  ENDMETHOD.
ENDCLASS.

CLASS delivery DEFINITION INHERITING FROM cl_abstract.
  PUBLIC SECTION.
    METHODS display REDEFINITION.

ENDCLASS.
CLASS delivery IMPLEMENTATION.
  METHOD display.
    SELECT SINGLE erzet
            erdat
            vbtyp
            ernam
            FROM likp
            INTO perzet,perdatpvbtyppernam )
            WHERE vbeln EQ p_vbeln.
  ENDMETHOD.
ENDCLASS.

START-OF-SELECTION.
  DATAobj_sale TYPE REF TO sale,
        obj_del  TYPE REF TO delivery.
  IF p_r1 'X'.
    CREATE OBJECT obj_sale.
    obj_sale->display(
      EXPORTING
        pvbeln p_vbeln
      IMPORTING
        perzet lv_erzet
        perdat lv_erdat
        pvbtyp lv_vbtyp
        pernam lv_ernam
    ).
    WRITE'Sale order details'/ p_vbeln ,
                                / lv_erzet,
                                / lv_erdat,
                                / lv_vbtyp,
                                / lv_ernam.
  ELSEIF p_r2 'X'.
    CREATE OBJECT obj_del.
    obj_del->display(
      EXPORTING
        pvbeln p_vbeln
      IMPORTING
        perzet lv_erzet
        perdat lv_erdat

        pvbtyp lv_vbtyp
        pernam lv_ernam
    ).
    WRITE'Delivery order details'/ p_vbeln ,
                                / lv_erzet,
                                / lv_erdat,
                                / lv_vbtyp,
                                / lv_ernam.

  ENDIF.

case1-Sale

    Input

    Output


case2-Delivery

    Input

    Output



****************************Thank you ****************************

Comments

Popular posts from this blog

New syntax for append- VALUE (new syntax 7.4+) in ABAP

Read statement new syntax in ABAP. (7.4+).

Concatenation new syntax( 7.4+ ).