Sie sind auf Seite 1von 3

TABLES: VBAP, MAKT.

*-----------------------------DECLARING A STRUCTURE FOR AN INTERNAL TABLE-------


------------------------------------
TYPES: BEGIN OF TY_MAKTVBAP,
MATNR TYPE MATNR,
MAKTX TYPE MAKTX,
SPRAS TYPE SPRAS,
VBELN TYPE VBELN,
POSNR TYPE POSNR,
ARKTX TYPE ARKTX,
END OF TY_MAKTVBAP.

*-----------------------------CREATING AN INTERNAL TABLE AND WORKAREA-----------


---------------------------------------------------------------------------
DATA: IT_VBAPMAKT TYPE STANDARD TABLE OF TY_VBAPMAKT,
WA_VBAPMAKT TYPE TY_VBAPMAKT.

*-----------------------------CREATING A SELECTION SCREEN WITH SELECT-OPTIONS---


------------------------------------
SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE T1,
SKIP 2.
SELECT-OPTIONS: S_MATNR FOR MAKT-MATNR.
SELECTION-SCREEN: SKIP 2,
END OF BLOCK B1.

*----------------------------CALLING EVENTS TO START THE INTERACTIVE REPORT-----


------------------------------------

INITIALIZATION.
T1 = 'ENTER MATERIAL NUMBER'.
S_MATNR-LOW = 1.
S_MATNR-HIGN = 9999.

START-OF-SELECTION.
PERFORM GET_DATA.
PERFORM OPERATE_DATA.

END-OF-SELECTION.
PERFORM BASIC_LIST.
AT LINE-SELECTION.
PERFORM SECONDARY_LIST.

*------------------CREATING SUB-ROUTINES FOR THE PROCESS TO OCCUR AND ADDING FEW


EVENTS INSIDE THEM-----------------
FORM GET_DATA.
SELECT MAKT~MATNE MAKT~MAKTX MAKT~SPRAS VBAP~VBELN VBAP~POSNR VBAP~ARKTX INTO TA
BLE IT_MAKTVBAP
FROM MAKT INNER JOIN VBAP
ON MAKT~MATNE = VBAP~MATNR
WHERE MAKT~MATNR IN S_MATNR.

FORM BASIC_LIST.
TOP-OF-PAGE.
WRITE: / 'THIS IS A BASIC LIST WITH THE MATERIAL DESCRIPTION'.
END-OF-PAGE.
WRITE: / 'YOU CAN PROCEED FURTHER BY CLICKING ON THE PARTICULAR RECORD'.

DATA: CLR TYPE SY-INDEX VALUE 1.


LOOP AT IT_MAKTVBAP INTP WA_MAKTVBAP.
FORMAT COLOR = CLR INTENSIFIED OFF HOTSPOT ON.
WRITE: / WA_MAKTVBAP-MATNR, WA_MAKTVBAP-MAKTX, WA_MAKTVBAP-SPRAS.
IF CLR = 1.
CLR = 2.
ELSE.
CLR = 1.
ENDIF.
HIDE: WA_MAKTVBAP-MATNR, WA_MAKTVBAP-MAKTX, WA_MAKTVBAP-SPRAS.
ENDLOOP.

FORM SECONDARY_LIST.
IF SY-LSIND = 1.
WINDOW STARTING AT 05 15
ENDING AT 40 25.
WRITE: / 'LIST NO:',11 SY-LSIND,
/ 'SALES DOC:',11 WA_MAKTVBAP-VBELN HOTSPOT ON,
/ 'SALES DOC ITEM:',11 WA_MAKTVBAP-POSNR.
ENDIF.
IF SY-LSIND = 2.
WINDOW STARTING AT 05 15
ENDING AT 40 25.
WRITE: / 'LIST NO:',11 SY-LSIND,
/ 'SALES DOC:',11 WA_MAKTVBAP-VBELN.
ENDIF.
ENDFORM.

*----------------------CREATING HEADER AND FOOTER FOR EACH SECONDARY LIST USING


EVENT ------------------------------

TOP-OF-PAGE DURING LINE SELECTION.


IF SY-LSIND = 1.
WRITE: 'LIST OF THE SALES DETAILS'.
ENDIF.
IF SY-LSIND = 2.
WRITE: 'SALES DESCRIPTION'.
ENDIF.

END-OF-PAGE DURING LINE SELECTION.


IF SY-LSIND = 1.
WRITE: 'CLICK TO PROCEED'.
ENDIF.
IF SY-LSIND = 2.
WRITE: 'THANK YOU'.
ENDIF.

Das könnte Ihnen auch gefallen