Documente Academic
Documente Profesional
Documente Cultură
*
CLASS FIRST DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS FIRST DEFINITION.
PUBLIC SECTION.
TYPES : BEGIN
VBELN
ERDAT
ERNAM
END OF
OF TY_VBAK,
TYPE VBAK-VBELN,
TYPE VBAK-ERDAT,
TYPE VBAK-ERNAM,
TY_VBAK.
"FIRST DEFINITION
*----------------------------------------------------------------------*
*
CLASS FIRST IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS FIRST IMPLEMENTATION.
METHOD CONSTRUCTOR.
SELECT VBELN ERDAT ERNAM
FROM VBAK INTO TABLE GT_TAB
WHERE VBELN BETWEEN VBELNLOW AND VBELNHIGH .
ENDMETHOD.
METHOD SELECT.
SELECT VBELN ERDAT ERNAM
FROM VBAK INTO TABLE GT_TAB
WHERE VBELN BETWEEN VBELNLOW AND VBELNHIGH .
ENDMETHOD.
"select
ENDCLASS.
"FIRST IMPLEMENTATION
*----------------------------------------------------------------------*
*
CLASS SECOND DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS SECOND DEFINITION INHERITING FROM FIRST.
PUBLIC SECTION.
TYPES : BEGIN OF TY_VBAP,
VBELN TYPE VBAK-VBELN,
POSNR TYPE VBAP-POSNR,
PSTYV TYPE VBAP-PSTYV,
*
*
*
ENDCLASS.
"SECOND DEFINITION
*----------------------------------------------------------------------*
*
CLASS SECOND IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS SECOND IMPLEMENTATION.
METHOD SELECT1.
SELECT VBELN POSNR PSTYV MATNR
FROM VBAP INTO CORRESPONDING FIELDS OF TABLE GT_TAB1
FOR ALL ENTRIES IN GT_TAB
WHERE VBELN EQ GT_TAB-VBELN.
ENDMETHOD.
ENDCLASS.
"select1
"SECOND IMPLEMENTATION
*----------------------------------------------------------------------*
*
CLASS THIRD DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS THIRD DEFINITION INHERITING FROM SECOND.
TYPE-POOLS : SLIS.
PUBLIC SECTION.
TYPES : BEGIN OF TY_FINAL,
VBELN TYPE VBAK-VBELN,
ERDAT TYPE VBAK-ERDAT,
ERNAM TYPE VBAK-ERNAM,
POSNR TYPE VBAP-POSNR,
PSTYV TYPE VBAP-PSTYV,
MATNR TYPE VBAP-MATNR,
END OF TY_FINAL.
CLASS-DATA : GT_FINAL TYPE TABLE OF TY_FINAL,
GS_FINAL TYPE TY_FINAL.
CLASS-METHODS : FINALDISPLAY.
ENDCLASS.
"THIRD DEFINITION
*----------------------------------------------------------------------*
*
CLASS THIRD IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
ENDMETHOD.
"FINALDISPLAY
ENDCLASS.
"THIRD IMPLEMENTATION
START-OF-SELECTION.
TABLES : VBAK.
SELECT-OPTIONS S_VBELN FOR VBAK-VBELN.
IF S_VBELN IS INITIAL.
DATA: OBJ TYPE REF TO FIRST.
CREATE OBJECT OBJ EXPORTING VBELNLOW = '0000004900'
VBELNHIGH = '0000005000'.
CALL METHOD SECOND=>SELECT1.
CALL METHOD THIRD=>FINALDISPLAY.
ELSE.
CALL METHOD FIRST=>SELECT( EXPORTING VBELNLOW = S_VBELN-LOW
VBELNHIGH = S_VBELN-HIGH ).
CALL METHOD SECOND=>SELECT1.
CALL METHOD THIRD=>FINALDISPLAY.
ENDIF.
*
*IF S_VBELN-LOW
* CALL METHOD
*
** CALL METHOD
*
* CALL METHOD
*
* ELSE.
*
CALL METHOD OBJ->SELECT( EXPORTING VBELNLOW =
*
VBELNHIGH = S_VBELN-HIGH ).
** CALL METHOD OBJ->DISPLAY( ).
*
* CALL METHOD OBJ->SELECT1.
*
* ENDIF.
** CALL METHOD OBJ->DISPLAY1( ).
* CALL METHOD OBJ->FINALDISPLAY.