REPORT ZSAPN_INTERACTIVE_REPORT LINE-COUNT 33(3) NO STANDARD PAGE HEADING. "leave some pages for footer and hide standard heading
DATA : IT_MARA TYPE TABLE OF MARA, "mara internal table
WA_MARA TYPE MARA, "mara work area
IT_MARC TYPE TABLE OF MARC, "marc internal table
WA_MARC TYPE MARC. "marc work areaAT SELECTION-SCREEN. "at selection screen event to validate inputs
PERFORM VALIDATE_INPUT. "Subroutine to validate input
START-OF-SELECTION.
PERFORM GET_MATERIAL_DATA.
PERFORM DISPLAY_MATERIALS.
TOP-OF-PAGE.
PERFORM DISPLAY_HEADER.
END-OF-PAGE.
PERFORM DISPLAY_FOOTER.
AT LINE-SELECTION.
PERFORM GET_PLANT_DATA.
PERFORM DISPLAY_PLANT_DATA.
TOP-OF-PAGE DURING LINE-SELECTION.
PERFORM DISPLAY_LIST_HEADER.
FORM VALIDATE_INPUT .
IF P_MTART IS INITIAL.
MESSAGE 'Please enter input' TYPE 'E'.
ENDIF.
ENDFORM. " VALIDATE_INPUT
FORM GET_MATERIAL_DATA .
SELECT * FROM MARA
INTO TABLE IT_MARA
UP TO 50 ROWS
WHERE MTART = P_MTART .
ENDFORM. " GET_MATERIAL_DATA
FORM DISPLAY_MATERIALS .
LOOP AT IT_MARA INTO WA_MARA.
WRITE:/ WA_MARA-MATNR, WA_MARA-MTART, WA_MARA-MATKL, WA_MARA-MBRSH.
HIDE WA_MARA. "store line details in HIDE area
ENDLOOP.
ENDFORM. " DISPLAY_MATERIALS
FORM DISPLAY_HEADER .
WRITE : 'Material Basic Details' COLOR 5.
ENDFORM. " DISPLAY_HEADER
FORM DISPLAY_FOOTER .
WRITE: 'Report Generated at:', SY-DATUM COLOR 1.
ENDFORM. " DISPLAY_FOOTER
FORM GET_PLANT_DATA .
SELECT * FROM MARC
INTO TABLE IT_MARC
WHERE MATNR = WA_MARA-MATNR.
ENDFORM. " GET_PLANT_DATA
FORM DISPLAY_PLANT_DATA .
LOOP AT IT_MARC INTO WA_MARC.
WRITE :/ WA_MARC-MATNR, WA_MARC-WERKS.
ENDLOOP.
ENDFORM. " DISPLAY_PLANT_DATA
FORM DISPLAY_LIST_HEADER .
WRITE: 'List of Plants for material:', WA_MARA-MATNR COLOR 6.
ENDFORM. " DISPLAY_LIST_HEADER