Académique Documents
Professionnel Documents
Culture Documents
**************************************************************
*2. Encapsulation.
*CLASS CLS1 DEFINITION.
* PUBLIC SECTION.
* METHODS: METH1.
* PROTECTED SECTION.
* METHODS: METH2.
* PRIVATE SECTION.
* METHODS: METH3.
*ENDCLASS. "CLS1 DEFINITION
*
*CLASS CLS1 IMPLEMENTATION.
* METHOD METH1.
* WRITE : / 'OK - in public'.
* ENDMETHOD. "METH1
*
* METHOD METH2.
* WRITE : / 'OK - in protected'.
* ENDMETHOD. "METH2
*
* METHOD METH3.
* WRITE : / 'OK - in private'.
* ENDMETHOD. "METH3
*ENDCLASS. "CLS1 IMPLEMENTATION
*
*START-OF-SELECTION.
*
* DATA : OBJ1 TYPE REF TO CLS1.
* CREATE OBJECT OBJ1.
* CALL METHOD OBJ1->METH1.
****************************************************************************
*3. Inheritance
*CLASS CLS1 DEFINITION.
* PUBLIC SECTION.
* METHODS: METH1.
* PROTECTED SECTION.
* METHODS: METH2.
* PRIVATE SECTION.
* METHODS: METH3.
*ENDCLASS. "CLS1 DEFINITION
*
*CLASS CLS1 IMPLEMENTATION.
* METHOD METH1.
* WRITE : / 'OK - in public'.
* ENDMETHOD. "METH1
*
* METHOD METH2.
* WRITE : / 'OK - in protected'.
* ENDMETHOD. "METH2
*
* METHOD METH3.
* WRITE : / 'OK - in private'.
* ENDMETHOD. "METH3
*ENDCLASS. "CLS1 IMPLEMENTATION
*
*
*class CLS2 DEFINITION INHERITING FROM CLS1.
* PUBLIC SECTION.
* METHODS: METH4.
*ENDCLASS.
*
*CLASS CLS2 IMPLEMENTATION.
* METHOD METH4.
* WRITE : / 'OK - in class2 public'.
* ENDMETHOD.
*ENDCLASS.
*
*START-OF-SELECTION.
*
* DATA : OBJ1 TYPE REF TO CLS2.
* CREATE OBJECT OBJ1.
* CALL METHOD OBJ1->METH1.
* CALL METHOD OBJ1->METH4.
*4 polymorphism
*5.Super keyword
*6.Abstract
*8.Event
*9.Interface
*INTERFACE INTF1.
* METHODS : METH_INTF1,METH_INTF2.
*ENDINTERFACE. "INTF1
*
*CLASS CLS1 DEFINITION .
* PUBLIC SECTION.
* INTERFACES INTF1.
*ENDCLASS. "CLS1 DEFINITION
*
*CLASS CLS1 IMPLEMENTATION.
* METHOD INTF1~METH_INTF1.
* WRITE : / ' INSIDE CLASS 1 INTERFACE METHOD1'.
* ENDMETHOD. "INTF1~METH_INTF1
*
* METHOD INTF1~METH_INTF2.
* WRITE : / ' INSIDE CLASS 1 INTERFACE METHOD2'.
* ENDMETHOD. "INTF1~METH_INTF2
*
*ENDCLASS. "CLS1 IMPLEMENTATION
*
*CLASS CLS2 DEFINITION.
* PUBLIC SECTION.
* INTERFACES INTF1.
*ENDCLASS. "CLS2 DEFINITION
*
*CLASS CLS2 IMPLEMENTATION.
* METHOD INTF1~METH_INTF1.
* WRITE : / ' INSIDE CLASS 2 INTERFACE METHOD1'.
* ENDMETHOD. "INTF1~METH_INTF1
*
* METHOD INTF1~METH_INTF2.
* WRITE : / ' INSIDE CLASS 2 INTERFACE METHOD2'.
* ENDMETHOD. "INTF1~METH_INTF2
*ENDCLASS. "CLS2 IMPLEMENTATION
*
*
*START-OF-SELECTION.
* DATA : OBJ1 TYPE REF TO CLS1.
* CREATE OBJECT OBJ1.
* CALL METHOD OBJ1->INTF1~METH_INTF1.
* CALL METHOD OBJ1->INTF1~METH_INTF2.
*
* DATA : OBJ2 TYPE REF TO CLS2.
* CREATE OBJECT OBJ2.
* CALL METHOD OBJ2->INTF1~METH_INTF1.
* CALL METHOD OBJ2->INTF1~METH_INTF2.
*10.Exception
*CLASS CLS1 DEFINITION .
* PUBLIC SECTION.
* METHODS METH1.
*ENDCLASS. "CLS1 DEFINITION
*
*CLASS CLS1 IMPLEMENTATION.
* METHOD METH1.
* DATA : LR_EX TYPE REF TO CX_ROOT.
* DATA : VAL1 TYPE I VALUE 10 ,
* VAL2 TYPE I VALUE 0,
* VAL3 TYPE I.
*
* DATA : PRG_NAM TYPE SYREPID,
* INCL TYPE SYREPID,
* SRC_LIN TYPE I,
* GTEXT TYPE STRING,
* GTLTX TYPE STRING.
* TRY.
* VAL3 = VAL1 / VAL2.
* CATCH CX_ROOT INTO LR_EX.
* CALL METHOD LR_EX->GET_SOURCE_POSITION
* IMPORTING
* PROGRAM_NAME = PRG_NAM
* INCLUDE_NAME = INCL
* SOURCE_LINE = SRC_LIN.
*
* CALL METHOD LR_EX->IF_MESSAGE~GET_TEXT
* RECEIVING
* RESULT = GTEXT.
* CALL METHOD LR_EX->IF_MESSAGE~GET_LONGTEXT
* RECEIVING
* RESULT = GTLTX.
*
* WRITE : / 'Program Name : ',PRG_NAM.
* WRITE : / 'Include Name : ',INCL.
* WRITE : / 'Error Line No: ',SRC_LIN.
* WRITE : / 'Description: ',GTEXT.
* WRITE : / 'Long Text: ',GTLTX.
*
* ENDTRY.
* ENDMETHOD. "METH1
*ENDCLASS. "CLS1 IMPLEMENTATION
*
*START-OF-SELECTION.
*
* DATA : OBJ1 TYPE REF TO CLS1.
* CREATE OBJECT OBJ1.
* CALL METHOD OBJ1->METH1.
*14.MVC Pattern
*
*
*REPORT ZAVI_LOGIC.
*
*DATA : IT TYPE TABLE OF MARA .
*
*CLASS MODEL DEFINITION.
* PUBLIC SECTION.
* METHODS: QUERY.
*ENDCLASS.
*
*CLASS MODEL IMPLEMENTATION.
* METHOD QUERY.
* SELECT * FROM MARA INTO TABLE IT UP TO 50 ROWS.
* ENDMETHOD.
*ENDCLASS.
*
*CLASS CTRL DEFINITION.
* PUBLIC SECTION.
* DATA : MODEL TYPE REF TO MODEL.
* METHODS: CONSTRUCTOR,
* DSP_REPORT.
* PRIVATE SECTION.
* DATA : GRID TYPE REF TO CL_SALV_TABLE.
* METHODS: SHOW_GRID.
*ENDCLASS.
*
*CLASS CTRL IMPLEMENTATION.
* METHOD CONSTRUCTOR.
* CREATE OBJECT MODEL.
* ENDMETHOD.
*
* METHOD DSP_REPORT.
* CALL METHOD MODEL->QUERY.
* SHOW_GRID( ).
* ENDMETHOD.
*
* METHOD SHOW_GRID.
* CL_SALV_TABLE=>FACTORY( IMPORTING R_SALV_TABLE = GRID CHANGING
T_TABLE = IT ).
* GRID->DISPLAY( ).
* ENDMETHOD.
*ENDCLASS.
*
*START-OF-SELECTION.
*DATA : LR_CTRL TYPE REF TO CTRL.
*CREATE OBJECT LR_CTRL.
*CALL METHOD LR_CTRL->DSP_REPORT.
*