Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 4

www.abapcode.

info/

*&---------------------------------------------------------------------*
*& Report YSAMPLE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT YSAMPLE.

*CLASS REPORT_DB DEFINITION.


*
* PUBLIC SECTION.
*
* METHODS: READDATA, DISPLAYDATA.
*
* PRIVATE SECTION.
*
** TYPES : BEGIN OF IT_TYPE,
** CARRID LIKE SFLIGHT-CARRID,
** END OF IT_TYPE.
*
* TYPES : BEGIN OF IT_TYPE,
* INCLUDE TYPE SFLIGHT, " IT_TYPE LIKE SFLIGHT
* END OF IT_TYPE.
*
* DATA : IT_TAB TYPE STANDARD TABLE OF IT_TYPE,
* WA_TAB TYPE SFLIGHT. " IT_TYPE
*
*ENDCLASS.
*
*CLASS REPORT_DB IMPLEMENTATION.
*
* METHOD READDATA.
* SELECT * " CARRID
* FROM SFLIGHT
* INTO TABLE IT_TAB.
* ENDMETHOD.
*
* METHOD DISPLAYDATA.
* LOOP AT IT_TAB INTO WA_TAB.
* WRITE: / 'CARRID:' , WA_TAB-CARRID.
* ENDLOOP.
* ENDMETHOD.
*
*ENDCLASS.
*
*INITIALIZATION.
*
* DATA: REPORT_DB TYPE REF TO REPORT_DB.
*
* CREATE OBJECT REPORT_DB.
*
*START-OF-SELECTION.
*
* CALL METHOD REPORT_DB->READDATA( ).
*
*END-OF-SELECTION.
*
* CALL METHOD REPORT_DB->DISPLAYDATA( ).

*CLEAR REPORT_DB.

*INTERFACE REPORT_PROC.
*
*METHODS : READDATA, DISPLAYDATA.
*
*TYPES : BEGIN OF IT_TYPE,
* INCLUDE TYPE SFLIGHT,
* END OF IT_TYPE.
*
*DATA : IT_TAB TYPE STANDARD TABLE OF IT_TYPE,
* WA_TAB TYPE SFLIGHT.
*
*ENDINTERFACE.
*
*CLASS REPORT_DB DEFINITION.
*
*PUBLIC SECTION.
*
*INTERFACES : REPORT_PROC.
*
*ENDCLASS.
*
*CLASS REPORT_DB IMPLEMENTATION.
*
* METHOD REPORT_PROC~READDATA.
* SELECT *
* FROM SFLIGHT
* INTO TABLE REPORT_PROC~IT_TAB.
* ENDMETHOD.
*
* METHOD REPORT_PROC~DISPLAYDATA.
* LOOP AT REPORT_PROC~IT_TAB INTO REPORT_PROC~WA_TAB.
* WRITE: / 'CARRID:' , REPORT_PROC~WA_TAB-CARRID.
* ENDLOOP.
* ENDMETHOD.
*
*ENDCLASS.
*
*INITIALIZATION.
*
* DATA: I_REPORT_DB TYPE REF TO REPORT_PROC,
*
* I_REPORT_DB_TAB TYPE TABLE OF REF TO REPORT_PROC,
*
* OBJ_REPORT_DB TYPE REF TO REPORT_DB.
*
* CREATE OBJECT OBJ_REPORT_DB.
*
* APPEND OBJ_REPORT_DB TO I_REPORT_DB_TAB.
*
* CLEAR OBJ_REPORT_DB.
*
*START-OF-SELECTION.
*
* LOOP AT I_REPORT_DB_TAB INTO I_REPORT_DB.
*
* CALL METHOD I_REPORT_DB->READDATA.
*
* ENDLOOP.
*
*END-OF-SELECTION.
*
* LOOP AT I_REPORT_DB_TAB INTO I_REPORT_DB.
*
* CALL METHOD I_REPORT_DB->DISPLAYDATA.
*
* ENDLOOP.

CLASS READ_REPORT DEFINITION.

PUBLIC SECTION.

METHODS: READ_DATA.

EVENTS : START_READ_TABLE EXPORTING VALUE(WA_REPORT) TYPE SFLIGHT.

PRIVATE SECTION.

DATA : WA_TAB TYPE SFLIGHT.

ENDCLASS.

CLASS READ_REPORT IMPLEMENTATION.

METHOD READ_DATA.

SELECT * FROM SFLIGHT INTO WA_TAB.

RAISE EVENT START_READ_TABLE EXPORTING WA_REPORT = WA_TAB.

ENDSELECT.

ENDMETHOD.

ENDCLASS.

CLASS DISPLAY_REPORT DEFINITION.

PUBLIC SECTION.
METHODS: INIT,

READ_TABLE FOR EVENT START_READ_TABLE OF READ_REPORT IMPORTING WA_REPORT,

DISPLAY_DATA.

PRIVATE SECTION.

TYPES : BEGIN OF IT_TYPE,


INCLUDE TYPE SFLIGHT,
END OF IT_TYPE.

DATA : IT_TAB TYPE STANDARD TABLE OF IT_TYPE,


WA_REC TYPE SFLIGHT.

ENDCLASS.

CLASS DISPLAY_REPORT IMPLEMENTATION.

METHOD INIT.

DATA READ_REPORT TYPE REF TO READ_REPORT.

CREATE OBJECT READ_REPORT.

SET HANDLER : READ_TABLE FOR READ_REPORT.

READ_REPORT->READ_DATA( ).

DISPLAY_DATA( ).

ENDMETHOD.

METHOD READ_TABLE.

APPEND WA_REPORT TO IT_TAB.

ENDMETHOD.

METHOD DISPLAY_DATA.

LOOP AT IT_TAB INTO WA_REC.

WRITE: / 'CARRID:' , WA_REC-CARRID.

ENDLOOP.

ENDMETHOD.

ENDCLASS.

START-OF-SELECTION.

DATA: REPORT_DB TYPE REF TO DISPLAY_REPORT.

CREATE OBJECT REPORT_DB.

CALL METHOD REPORT_DB->INIT( ).

You might also like