REPORT NAME: REPORT Z20382363_REPORTS.
QUESTION - 01
* QUESTION - 01
SELECT BUKRS, AUGBL, KOART, MWSKZ FROM BSEG
INTO TABLE @DATA(LT_BSEG).
LOOP AT LT_BSEG INTO DATA(LS_LSEG).
AT FIRST.
WRITE: 'COMPANY CODE',30 'DOCUMENT NUMBER',60 'ACCOUNT TYPE',90 'TAX CODE'.
SKIP.
ENDAT.
WRITE: / LS_LSEG-BUKRS, 30 LS_LSEG-AUGBL, 60 LS_LSEG-KOART, 90 LS_LSEG-MWSKZ.
ENDLOOP.
QUESTION - 02
*QUESTION - 02
TYPES: BEGIN OF TYPE,
VBELN TYPE VBAP-VBELN,
MATNR TYPE VBAP-MATNR,
ERDAT TYPE VBAK-ERDAT,
ERNAM TYPE VBAK-ERNAM,
AUART TYPE VBAK-AUART,
KONDA TYPE VBKD-KONDA,
KDGRP TYPE VBKD-KDGRP,
END OF TYPE.
DATA LS_MAT TYPE TYPE.
DATA LT_MAT TYPE TABLE OF TYPE.
SELECT A~VBELN, A~MATNR, B~ERDAT, B~ERNAM, B~AUART, C~KONDA, C~KDGRP FROM VBAP AS A
INNER JOIN VBAK AS B ON A~VBELN = B~VBELN
INNER JOIN VBKD AS C
ON A~VBELN = C~VBELN
INTO TABLE @LT_MAT.
SORT LT_MAT STABLE BY MATNR ASCENDING.
IF SY-SUBRC = 0.
LOOP AT LT_MAT INTO LS_MAT.
AT FIRST.
WRITE: / 'SALES DOCUMENT', 25 'MATERIAL NUBER', 50 'DATE', 75 'USER NAME', 100 'SALES DOCUMENT TYPE', 125 'PRICE GROUP', 150 'CUSTOMER GROUP'.
ENDAT.
WRITE: / LS_MAT-VBELN, 25 LS_MAT-MATNR, 50 LS_MAT-ERDAT, 75 LS_MAT-ERNAM, 100 LS_MAT-AUART, 125 LS_MAT-KONDA, 150 LS_MAT-KDGRP.
ENDLOOP.
ELSE.
MESSAGE 'RECORD NOT FOUND' TYPE 'E'.
ENDIF.
QUESTION - 03
*QUESTION - 03
TYPES: BEGIN OF BSIS_TYPE,
MANDT TYPE BSIS-MANDT,
BUKRS TYPE BSIS-BUKRS,
AUGDT TYPE BSIS-AUGDT,
AUGBL TYPE BSIS-AUGBL,
BELNR TYPE BSIS-BELNR,
BUDAT TYPE BSIS-BUDAT,
END OF BSIS_TYPE.
DATA T_BSIS TYPE TABLE OF BSIS_TYPE.
DATA F_BSIS TYPE BSIS_TYPE.
SELECT MANDT, BUKRS, AUGDT, AUGBL, BELNR, BUDAT FROM BSIS
INTO TABLE @T_BSIS.
IF SY-SUBRC = 0.
SORT T_BSIS STABLE BY BUKRS.
LOOP AT T_BSIS INTO F_BSIS.
AT FIRST.
WRITE: / 'CLIENT', 20 'COMPANY CODE', 40 'CLEARING DATE', 60 'DOCUMENT NUMBER', 80 'ACCOUNTING DOCUMENT NUMBER', 120 'POSTING DATE'.
ENDAT.
WRITE: / F_BSIS-MANDT, 20 F_BSIS-BUKRS, 40 F_BSIS-AUGDT, 60 F_BSIS-AUGBL, 80 F_BSIS-BELNR, 120 F_BSIS-BUDAT.
ENDLOOP.
ENDIF.
QUESTION - 04
*QUESTION - 04
PARAMETERS MAT TYPE MTART.
SELECT * FROM MARA
INTO TABLE @DATA(LT_MARA)
WHERE MTART = @MAT.
IF SY-SUBRC <> 0.
MESSAGE 'RECORD NOT FOUND' TYPE 'E'.
ENDIF.
SORT LT_MARA STABLE BY BRGEW ASCENDING.
LOOP AT LT_MARA INTO DATA(LS_MARA).
AT FIRST.
WRITE: / 'MATERIAL TYPE', 20 'MATERIAL NUMBER', 45 'UNIT OF MEASURE', 65 'GROSS WEIGHT'.
ENDAT.
WRITE: / LS_MARA-MTART,20 LS_MARA-MATNR,45 LS_MARA-MEINS, 65 LS_MARA-BRGEW.
ENDLOOP.
QUESTION - 05
*QUESTION - 05
DATA LV_SEATS TYPE SFLIGHT-SEATSMAX.
SELECT CARRID, SEATSMAX, SEATSOCC FROM SFLIGHT
INTO TABLE @DATA(LT_SFLIGHT).
IF SY-SUBRC <> 0.
MESSAGE 'RECORD NOT FOUND' TYPE 'E'.
ENDIF.
LOOP AT LT_SFLIGHT INTO DATA(LS_SFLIGHT).
AT NEW CARRID.
ULINE.
WRITE: / 'RECORDS FOR', LS_SFLIGHT-CARRID.
ULINE.
WRITE: / 'AIRLINE CODE',20 'MAXIMUM CAPACITY', 40 'OCCUPIED SEATS', 60 'AVAILABLE SEATS'.
SKIP.
ENDAT.
LV_SEATS = LS_SFLIGHT-SEATSMAX - LS_SFLIGHT-SEATSOCC.
WRITE: / LS_SFLIGHT-CARRID,20 LS_SFLIGHT-SEATSMAX,40 LS_SFLIGHT-SEATSOCC, 60 LV_SEATS.
CLEAR LV_SEATS.
AT END OF CARRID.
ULINE.
WRITE: 'END OF', LS_SFLIGHT-CARRID.
ULINE.
ENDAT.
ENDLOOP.
QUESTION - 06
**QUESTION - 06
SELECT CARRID, FLDATE, PRICE, CONNID FROM SFLIGHT
INTO TABLE @DATA(LT_SFLIGHT).
IF SY-SUBRC <> 0.
MESSAGE 'RECORD NOT FOUND' TYPE 'E'.
ENDIF.
LOOP AT LT_SFLIGHT INTO DATA(LS_SFLIGHT).
AT FIRST.
ULINE.
WRITE: / 'BEFORE DELETING ENTRIES'.
ULINE.
WRITE: / 'AIRLINE CODE', 20 'FLIGHT DATE', 40 'AIRFARE'.
SKIP.
ENDAT.
WRITE: / LS_SFLIGHT-CARRID, 20 LS_SFLIGHT-FLDATE, 40 LS_SFLIGHT-PRICE.
ENDLOOP.
DELETE LT_SFLIGHT WHERE CARRID NE 'LH'.
FREE LS_SFLIGHT.
DATA LV_PRICE TYPE SFLIGHT-PRICE.
LOOP AT LT_SFLIGHT INTO LS_SFLIGHT.
IF LS_SFLIGHT-CARRID = 'LH' AND LS_SFLIGHT-CONNID = 0400.
LV_PRICE = LS_SFLIGHT-PRICE.
LS_SFLIGHT-PRICE = 3 * LS_SFLIGHT-PRICE.
MODIFY LT_SFLIGHT FROM LS_SFLIGHT.
AT FIRST.
ULINE.
WRITE: / 'AFTER DELETING ENTRIES'.
ULINE.
WRITE: / 'AIRLINE CODE', 20 'FLIGHT DATE', 60 'AIRFARE BEFORE INCREMENT', 90 'AIRFARE AFTER INCREMENT'.
SKIP.
ENDAT.
WRITE: / LS_SFLIGHT-CARRID, 20 LS_SFLIGHT-FLDATE, 60 LV_PRICE, 90 LS_SFLIGHT-PRICE.
CLEAR LV_PRICE.
ENDIF.
ENDLOOP.
QUESTION - 07
*QUESTION - 07
SELECT * FROM VBAK
INTO TABLE @DATA(LT_VBAK).
IF SY-SUBRC <> 0.
MESSAGE 'RECORD NOT FOUND' TYPE 'E'.
ENDIF.
SORT LT_VBAK STABLE BY VBELN.
LOOP AT LT_VBAK INTO DATA(LS_VBAK).
AT FIRST.
ULINE.
WRITE: / 'RECORDS BEFORE MODIFY' COLOR 6 INVERSE.
ULINE.
WRITE: / 'SALES DOCUMENT', 20 'SALES ORGANIZATION', 40 'NET VALUE', 80 'CURRENCY'.
SKIP.
ENDAT.
WRITE: / LS_VBAK-VBELN, 20 LS_VBAK-VKORG, 40 LS_VBAK-NETWR, 80 LS_VBAK-WAERK.
ENDLOOP.
DESCRIBE TABLE LT_VBAK.
SKIP 2.
WRITE: / 'TOTAL RECORDS: ', SY-TFILL.
SKIP 2.
" DELETING LINES WITH SALES ORDER LOWER THAN 50,000.
DELETE LT_VBAK WHERE NETWR LT 50000.
FREE LS_VBAK.
LOOP AT LT_VBAK INTO LS_VBAK.
AT FIRST.
ULINE.
WRITE: / 'RECORDS AFTER DELETING SALES ORDER LOWER THAN 50000'.
ULINE.
WRITE: / 'SALES DOCUMENT', 20 'SALES ORGANIZATION', 40 'NET VALUE', 80 'CURRENCY'.
SKIP.
ENDAT.
WRITE: / LS_VBAK-VBELN, 20 LS_VBAK-VKORG, 40 LS_VBAK-NETWR, 80 LS_VBAK-WAERK.
ENDLOOP.
DESCRIBE TABLE LT_VBAK.
SKIP 2.
WRITE: / 'TOTAL RECORDS: ', SY-TFILL.
" REMOVING ALL CONTENTS
CLEAR LT_VBAK.
REFRESH LT_VBAK.
QUESTION - 08
*QUESTION - 08
SELECT A~LIFNR, A~NAME1, B~BUKRS, C~EKORG
FROM LFA1 AS A
INNER JOIN LFB1 AS B
ON A~LIFNR = A~LIFNR
INNER JOIN LFM1 AS C
ON A~LIFNR = C~LIFNR
INTO TABLE @DATA(LT_LF).
IF SY-SUBRC <> 0.
MESSAGE 'RECORD NOT FOUND' TYPE 'E'.
ENDIF.
SORT LT_LF STABLE BY LIFNR.
LOOP AT LT_LF INTO DATA(LS_LF).
AT FIRST.
ULINE.
WRITE: 'ALL RECORDS SORTED BY LIFNR' COLOR 3.
ULINE.
WRITE: / 'ACCOUNT NUMBER', 20 'COMPANY CODE', 40 'PURCHASING ORGANIZATION', 60 'NAME'.
ENDAT.
WRITE: / LS_LF-LIFNR,20 LS_LF-BUKRS,40 LS_LF-EKORG, 60 LS_LF-NAME1.
ENDLOOP.
CLEAR LS_LF.
LOOP AT LT_LF INTO LS_LF.
IF LS_LF-LIFNR = '0000001005'.
LS_LF-NAME1 = 'TRAINEE'.
MODIFY LT_LF FROM LS_LF TRANSPORTING NAME1.
AT FIRST.
ULINE.
WRITE: 'ALL RECORDS AFTER MODIFYING NAME FOR LIFNR = 000001005' COLOR 3.
ULINE.
WRITE: / 'ACCOUNT NUMBER', 20 'COMPANY CODE', 40 'PURCHASING ORGANIZATION', 60 'NAME'.
ENDAT.
WRITE: / LS_LF-LIFNR,20 LS_LF-BUKRS,40 LS_LF-EKORG, 60 LS_LF-NAME1.
ENDIF.
ENDLOOP.
QUESTION - 09
*QUESTION - 09
DATA LV_MAT TYPE MATNR.
SELECT-OPTIONS SO_MAT FOR LV_MAT.
START-OF-SELECTION.
SELECT A~WERKS, A~LGORT, A~MATNR, B~MAKTX, A~LABST
FROM MARD AS A
INNER JOIN MAKT AS B
ON A~MATNR = B~MATNR
INTO TABLE @DATA(LT_MAT)
WHERE A~MATNR IN @SO_MAT.
AT SELECTION-SCREEN.
IF SY-SUBRC = 0.
MESSAGE 'RECORD FETCHED SUCCESSFULLY' TYPE 'S'.
ELSE.
MESSAGE 'RECORD NOT EXIST' TYPE 'E'.
ENDIF.
END-OF-SELECTION.
LOOP AT LT_MAT INTO DATA(LS_MAT).
AT NEW MATNR.
ULINE.
WRITE: / 'START OF' COLOR 4, LS_MAT-MATNR COLOR 4.
WRITE: / 'PLANT', 20 'STORAGE LOCATION', 40 'MATERIAL NUMBERS', 60 'DESCRIPTION', 80 'STOCK'.
ULINE.
ENDAT.
WRITE: / LS_MAT-WERKS, 20 LS_MAT-LGORT, 40 LS_MAT-MATNR, 60 LS_MAT-MAKTX, 80 LS_MAT-LABST.
AT END OF MATNR.
SUM.
ULINE.
WRITE: / 'GRAND TOTAL: ' COLOR 4, LS_MAT-LABST COLOR 6.
WRITE: / 'END OF' COLOR 4, LS_MAT-MATNR COLOR 4.
ULINE.
SKIP 2.
ENDAT.
ENDLOOP.
Comments
Post a Comment