Professional Documents
Culture Documents
Classical Report Excersizes
Classical Report Excersizes
Classical Report-1
TABLES: EKKO.
PARAMETERS: PO_NO TYPE EKKO-EBELN.
TYPES: BEGIN OF ST,
EBELN TYPE EKKO-EBELN,
LIFNR TYPE EKKO-LIFNR,
BUKRS TYPE EKKO-BUKRS,
END OF ST.
DATA: WA TYPE ST.
DATA: ITAB LIKE STANDARD TABLE OF WA.
ENDSELECT.
LOOP AT ITAB INTO WA.
WRITE: / WA-EBELN,
WA-LIFNR,
WA-BUKRS.
ENDLOOP.
Classical Report-2
TABLES: SPFLI.
SELECT-OPTIONS: FLIGHTS FOR SPFLI-CARRID
NO-EXTENSION
NO INTERVALS.
TYPES: BEGIN OF ST,
CARRID TYPE SPFLI-CARRID,
CONNID TYPE SPFLI-CONNID,
COUNTRYFR TYPE SPFLI-COUNTRYFR,
CITYFROM TYPE SPFLI-CITYFROM,
END OF ST.
DATA: WA TYPE ST.
DATA: ITAB LIKE STANDARD TABLE OF WA.
ENDSELECT.
LOOP AT ITAB INTO WA.
WRITE: / WA-CARRID,
WA-CONNID,
WA-COUNTRYFR,
WA-CITYFROM.
ENDLOOP.
Classical Report-3
1.) Structure, Work Area and Internal Table Data declaration
2.) Select Query
3.) Display of fetched records and
3.) Also usage of Insert, Modify and Delete statements for
fetched records
REPORT ZREPORT3.
TYPES: BEGIN OF ITAB,
CARRID TYPE SFLIGHT-CARRID,
CONNID TYPE SFLIGHT-CONNID,
FLDATE TYPE SFLIGHT-FLDATE,
PRICE TYPE SFLIGHT-PRICE,
END OF ITAB.
LOOP AT ITAB_FLIGHT INTO WA_FLIGHT.
WRITE:/ SY-VLINE,WA_FLIGHT-CARRID,SY-VLINE,
10 WA_FLIGHT-CONNID,SY-VLINE,
25 WA_FLIGHT-FLDATE,SY-VLINE,
42 WA_FLIGHT-PRICE LEFT-JUSTIFIED,SY-VLINE.
ENDLOOP.
ULINE.
CLEAR WA_FLIGHT.
WA_FLIGHT-CARRID = 'XXX'.
WA_FLIGHT-CONNID = '747'.
INSERT WA_FLIGHT INTO ITAB_FLIGHT INDEX 2.
LOOP AT ITAB_FLIGHT INTO WA_FLIGHT.
FORMAT COLOR 3 ON.
WRITE:/ SY-VLINE,WA_FLIGHT-CARRID,SY-VLINE,
10 WA_FLIGHT-CONNID,SY-VLINE,
25 WA_FLIGHT-FLDATE,SY-VLINE,
42 WA_FLIGHT-PRICE LEFT-JUSTIFIED,SY-VLINE.
ENDLOOP.
ULINE.
READ TABLE ITAB_FLIGHT INTO WA_FLIGHT INDEX 2.
FORMAT COLOR 3 ON.
WRITE:/ SY-VLINE,WA_FLIGHT-CARRID,SY-VLINE,
10 WA_FLIGHT-CONNID,SY-VLINE,
25 WA_FLIGHT-FLDATE,SY-VLINE,
42 WA_FLIGHT-PRICE LEFT-JUSTIFIED,SY-VLINE.
ULINE.
FORMAT COLOR 4 ON.
LOOP AT ITAB_FLIGHT INTO WA_FLIGHT.
IF SY-TABIX = 2.
WA_FLIGHT-CONNID = '18'.
MODIFY TABLE ITAB_FLIGHT FROM WA_FLIGHT TRANSPORTING CONNID.
ENDIF.
WRITE:/ SY-VLINE,WA_FLIGHT-CARRID,SY-VLINE,
10 WA_FLIGHT-CONNID,SY-VLINE,
25 WA_FLIGHT-FLDATE,SY-VLINE,
42 WA_FLIGHT-PRICE LEFT-JUSTIFIED,SY-VLINE.
ENDLOOP.
ULINE.
FORMAT COLOR 2 ON.
READ TABLE ITAB_FLIGHT INTO WA_FLIGHT INDEX 2.
DELETE TABLE ITAB_FLIGHT FROM WA_FLIGHT.
LOOP AT ITAB_FLIGHT INTO WA_FLIGHT.
WRITE:/ SY-VLINE,WA_FLIGHT-CARRID,SY-VLINE,
10 WA_FLIGHT-CONNID,SY-VLINE,
25 WA_FLIGHT-FLDATE,SY-VLINE,
42 WA_FLIGHT-PRICE LEFT-JUSTIFIED,SY-VLINE.
ENDLOOP.
Classical Report-4
TABLES: SPFLI, SFLIGHT.
REPORT ZREPORT5.
TABLES: SPFLI, SFLIGHT.
TYPES: BEGIN OF ST,
CARRID TYPE SPFLI-CARRID,
CONNID TYPE SPFLI-CONNID,
COUNTRYFR TYPE SPFLI-COUNTRYFR,
CITYFROM TYPE SPFLI-CITYFROM,
FLDATE TYPE SFLIGHT-FLDATE,
PRICE TYPE SFLIGHT-PRICE,
CURRENCY TYPE SFLIGHT-CURRENCY,
END OF ST.
DATA: WA TYPE ST.
DATA: ITAB TYPE STANDARD TABLE OF ST.
SELECT-OPTIONS: FLIGHTS FOR SPFLI-CARRID,
DATE FOR SFLIGHT-FLDATE.
LOOP AT ITAB INTO WA.
WRITE: / WA-CARRID, SY-VLINE,
WA-CONNID,SY-VLINE,
WA-COUNTRYFR,SY-VLINE,
WA-CITYFROM,SY-VLINE,
WA-FLDATE,SY-VLINE,
WA-PRICE,SY-VLINE,
WA-CURRENCY,SY-VLINE.
ENDLOOP.
ULINE.
IF SY-SUBRC NE 0.
SKIP.
ULINE.
WRITE : '|', 'DATA NOT FOUND FOR GIVEN CRITERIA' COLOR 7 INVERSE
ON , 130 '|'.
ENDIF.
Classical Report-5
1.) Selection screen with check boxes and
2.) Fetching the data using inner join condition for two tables
TABLES: SPFLI, SFLIGHT.
REPORT ZREPORT6.
TABLES: SPFLI, SFLIGHT.
DATA: FLAG VALUE 0.
TYPES: BEGIN OF ST,
CARRID TYPE SPFLI-CARRID,
CONNID TYPE SPFLI-CONNID,
COUNTRYFR TYPE SPFLI-COUNTRYFR,
CITYFROM TYPE SPFLI-CITYFROM,
FLDATE TYPE SFLIGHT-FLDATE,
PRICE TYPE SFLIGHT-PRICE,
CURRENCY TYPE SFLIGHT-CURRENCY,
END OF ST.
DATA: WA TYPE ST.
DATA: ITAB TYPE STANDARD TABLE OF ST.
SELECT-OPTIONS: FLIGHTS FOR SPFLI-CARRID,
DATE FOR SFLIGHT-FLDATE.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 25(15) TEXT-002.
PARAMETERS C1 AS CHECKBOX.
*PARAMETERS C1 RADIOBUTTON GROUP RAD1.
SELECTION-SCREEN END OF LINE.
IF c1 = 'X' AND C2 <> 'X'. FLAG = 1.
ELSEIF c2 = 'X' AND C1 <> 'X'. FLAG = 2.
ELSEIF c1 = 'X' AND c2 = 'X'. FLAG = 3.
ELSEIF c1 <> 'X' AND c2 <> 'X'. FLAG = 4.
ENDIF.
CASE FLAG.
WHEN 1.
LOOP AT ITAB INTO WA.
WRITE: / WA-CARRID,
WA-CONNID,
WA-COUNTRYFR,
WA-CITYFROM.
ENDLOOP.
IF SY-SUBRC NE 0.
SKIP.
ULINE.
WRITE : '|', 'DATA NOT FOUND FOR GIVEN CRITERIA' COLOR 7 INVERSE
ON , 130 '|'.
ENDIF.
WHEN 2.
LOOP AT ITAB INTO WA.
WRITE: / WA-FLDATE,
WA-PRICE,
WA-CURRENCY.
ENDLOOP.
IF SY-SUBRC NE 0.
SKIP.
ULINE.
WRITE : '|', 'DATA NOT FOUND FOR GIVEN CRITERIA' COLOR 7 INVERSE
ON , 130 '|'.
ENDIF.
WHEN 3.
LOOP AT ITAB INTO WA.
WRITE: / WA-CARRID,
WA-CONNID,
WA-COUNTRYFR,
WA-CITYFROM,
WA-FLDATE,
WA-PRICE,
WA-CURRENCY.
ENDLOOP.
IF SY-SUBRC NE 0.
SKIP.
ULINE.
WRITE : '|', 'DATA NOT FOUND FOR GIVEN CRITERIA' COLOR 7 INVERSE
ON , 130 '|'.
ENDIF.
WHEN 4.
WRITE: /
'PLEASE SELECT CHECK BOX C1 FOR FLIGHTS ,C2 FOR DATES'.
ENDCASE.
Classical Report-7
Inner join condition with 3 tables
REPORT ZREPORT7.
TABLES: MAST, STKO, STPO.
DATA: BEGIN OF WA,
MATNR TYPE MAST-MATNR,
WERKS TYPE MAST-WERKS,
STLAN TYPE MAST-STLAN,
ANDAT TYPE MAST-ANDAT,
STLNR TYPE MAST-STLNR,
STLAL TYPE STKO-STLAL,
DATUV TYPE STKO-DATUV,
STLST TYPE STKO-STLST,
STLTY TYPE STPO-STLTY,
STLKN TYPE STPO-STLKN,
END OF WA.
WRITE:
'|','MATERIAL NUMBER', 23 '|',
'PLANT', 29'|',
'BOM USAGE', 42'|',
'CREATED ON', 56'|',
'BOM',68'|',
'ALT BOM',79'|',
'VALID FROM',91'|',
'STATUS',102'|',
'CATEGORY',115'|',
'ITEM NODER',130'|'.
ULINE.
SELECT-OPTIONS: S_MATNR FOR MAST-MATNR,
S_WERKS FOR MAST-WERKS NO-EXTENSION,
S_STLNR FOR STKO-STLNR NO INTERVALS.
APPEND WA TO ITAB.
ENDSELECT.
LOOP AT ITAB INTO WA.
WRITE:
'|',05 WA-MATNR, 23 '|', "MATERIAL NUMBER
WA-WERKS, 29 '|', "PLANT
WA-STLAN, 42 '|', "BOM USAGE
WA-ANDAT, 56 '|', "DATE RECORD CREATED ON
WA-STLNR, 68 '|', "BILL OF MATERIAL
WA-STLAL, 79 '|', "ALTERNATIVE BOM
WA-DATUV, 91 '|', "VALID FROM DATE
WA-STLST, 102 '|', "BOM STATUS
WA-STLTY, 115 '|', "BOM CATEGORY
WA-STLKN, 130 '|'. "BOM ITEM NODE NUMBER
ULINE.
ENDLOOP.
IF SY-SUBRC NE 0.
SKIP.
ULINE.
WRITE : '|', 'DATA NOT FOUND FOR GIVEN CRITERIA' COLOR 7 INVERSE
ON , 130 '|'.
ENDIF.
Classical Interactive Report-1
LEVEL-3 INTERACTIVE REPORT (TABLES USED: EKKO, EKPO AND MAKT)
REPORT Z_INTERACTIVE_LEVEL3.
TABLES: EKKO, EKPO, MAKT.
TYPES: BEGIN OF TY_EKKO,
EBELN TYPE EBELN,
LIFNR TYPE ELIFN,
BUKRS TYPE BUKRS,
END OF TY_EKKO,
BEGIN OF TY_EKPO,
EBELN TYPE EBELN,
EBELP TYPE EBELP,
MATNR TYPE MATNR,
LGORT TYPE LGORT_D,
MATKL TYPE MATKL,
MENGE TYPE BSTMG,
END OF TY_EKPO,
BEGIN OF TY_MAKT,
MATNR TYPE MATNR,
MAKTX TYPE MAKTX,
END OF TY_MAKT.
DATA: W_EKKO TYPE TY_EKKO,
W_EKPO TYPE TY_EKPO,
W_MAKT TYPE TY_MAKT.
SELECT-OPTIONS:PURCHASE FOR EKKO-EBELN.
START-OF-SELECTION.
TOP-OF-PAGE.
WRITE : /1 'PURCHASE',
20 'VENDOR',
30 'COMPANY CODE'.
ULINE .
AT LINE-SELECTION.
IF SY-LSIND = 1.
WRITE : /1 SY-VLINE, 'ITEM NO' ,
20 SY-VLINE, 'MATERIAL NO',
40 SY-VLINE, 'STORAGE LOCATION',
60 SY-VLINE, 'PURCHASE ORDER',
80 SY-VLINE, 'MATERIAL GROUP',
100 SY-VLINE, 'PURCHASE NO',
120 SY-VLINE.
ULINE.
LOOP AT T_EKPO INTO W_EKPO WHERE EBELN = W_EKKO-EBELN.
WRITE: 1 SY-VLINE, W_EKPO-EBELP,
20 SY-VLINE, W_EKPO-MATNR,
40 SY-VLINE, W_EKPO-LGORT,
60 SY-VLINE, W_EKPO-MENGE,
80 SY-VLINE, W_EKPO-MATKL,
100 SY-VLINE, W_EKPO-EBELN,
120 SY-VLINE.
HIDE W_EKPO.
ENDLOOP.
ULINE.
ENDIF.
IF SY-LSIND = 2.
WRITE:/ SY-VLINE, 'MATERIAL NUMBER',30
SY-VLINE, 'MATERIAL DESCRIPTION',70
SY-VLINE.
ULINE.
LOOP AT T_MAKT INTO W_MAKT WHERE MATNR = W_EKPO-MATNR.
WRITE:/ SY-VLINE, W_MAKT-MATNR, 30
SY-VLINE, W_MAKT-MAKTX, 70
SY-VLINE.
HIDE W_MAKT.
ULINE.
ENDLOOP.
ENDIF.
REPORT ZREPORT10.
TYPES: BEGIN OF STR_MARD,
MATNR TYPE MARD-MATNR,
LGORT TYPE MARD-LGORT,
WERKS TYPE MARD-WERKS,
END OF STR_MARD.
DATA: WA_MARD TYPE STR_MARD,
IT_MARD TYPE TABLE OF STR_MARD.
TYPES: BEGIN OF STR_MAKT,
MATNR TYPE MAKT-MATNR,
MAKTG TYPE MAKT-MAKTG,
END OF STR_MAKT.
DATA: WA_MAKT TYPE STR_MAKT,
IT_MAKT TYPE TABLE OF STR_MAKT.
TYPES: BEGIN OF STR_MARA,
MATNR TYPE MARA-MATNR,
ERSDA TYPE MARA-ERSDA,
ERNAM TYPE MARA-ERNAM,
LAEDA TYPE MARA-LAEDA,
MTART TYPE MARA-MTART,
MATKL TYPE MARA-MATKL,
MEINS TYPE MARA-MEINS,
END OF STR_MARA.
DATA: WA_MARA TYPE STR_MARA,
IT_MARA TYPE TABLE OF STR_MARA.
TYPES: BEGIN OF STR_FINAL,
MATNR TYPE MARA-MATNR,
ERSDA TYPE MARA-ERSDA,
ERNAM TYPE MARA-ERNAM,
LAEDA TYPE MARA-LAEDA,
MTART TYPE MARA-MTART,
MATKL TYPE MARA-MATKL,
MEINS TYPE MARA-MEINS,
LGORT TYPE MARD-LGORT,
WERKS TYPE MARD-WERKS,
END OF STR_FINAL.
DATA: WA_FINAL TYPE STR_FINAL,
IT_FINAL TYPE TABLE OF STR_FINAL.
PARAMETERS: PLANT TYPE MARD-WERKS,
STOR LIKE MARD-LGORT.
INITIALIZATION.
PLANT = '1000'.
STOR = '0001'.
START-OF-SELECTION.
SELECT MATNR MAKTG FROM MAKT
INTO TABLE IT_MAKT FOR ALL ENTRIES IN IT_MARD
WHERE MATNR = IT_MARD-MATNR AND SPRAS = 'E'.
LOOP AT IT_MAKT INTO WA_MAKT.
WRITE : /1 WA_MAKT-MATNR COLOR 1,
40 WA_MAKT-MAKTG COLOR 2.
HIDE WA_MAKT-MATNR.
ENDLOOP.
CLEAR WA_MARD-MATNR.
AT LINE-SELECTION.
REFRESH IT_FINAL.
CLEAR WA_FINAL.
LOOP AT IT_MARA INTO WA_MARA WHERE MATNR = WA_MAKT-MATNR.
WA_FINAL-MATNR = WA_MARA-MATNR.
WA_FINAL-ERSDA = WA_MARA-ERSDA.
WA_FINAL-ERNAM = WA_MARA-ERNAM.
WA_FINAL-LAEDA = WA_MARA-LAEDA.
WA_FINAL-MTART = WA_MARA-MTART.
WA_FINAL-MATKL = WA_MARA-MATKL.
WA_FINAL-MEINS = WA_MARA-MEINS.
APPEND WA_FINAL TO IT_FINAL.
ENDLOOP.
SY-LSIND = 1.
LOOP AT IT_FINAL INTO WA_FINAL.
WRITE : / WA_FINAL-MATNR COLOR 2,
20 WA_FINAL-ERSDA COLOR 3,
37 WA_FINAL-ERNAM,
50 WA_FINAL-LAEDA ,
70 WA_FINAL-MTART ,
85 WA_FINAL-MATKL ,
95 WA_FINAL-MEINS,
115 WA_FINAL-LGORT COLOR 4,
130 WA_FINAL-WERKS COLOR 5.
ENDLOOP.
TOP-OF-PAGE.
WRITE : /1 'MATERIAL NO' COLOR 1,
40 'DESCRIPTION' COLOR 2.
ULINE .
IF SY-LSIND = 1.
WRITE : /1 'MATERIAL NO' COLOR 2,
20 'CREATION DATE' COLOR 3,
32 'PERSON CREATED',
50 'DATE OF LIST' ,
65 'MATERIALTYPE',
80 'MATGROUP' ,
90 'UNITOFMEASURE',
110'STORLOCATION' COLOR 4,
130'PLANT' COLOR 5.
ULINE.
ENDIF.