Classical Report in SAP


How to Create Classical Report in SAP

SAP ABAP Course for 2020

SAP ABAP Fundamentals

SAP ABAP Interview Questions – Real Time

Classical Report displaying data of two tables.

Step 1: Go to SE38 Tcode. Type the program name and choose Source Code from Subobjects and Click on Create button.

Step 2: Write the Title, select ‘Executable Program’ type in Attributes and then click on save.

Step 3: Now enter the Package name in ‘Package’ Attribute and click on Savebutton.

Step 4: Select the TR and click on the “OK” button.

Now ABAP Editor will open, here write the code given below for report.

REPORT zexample1 NO STANDARD PAGE HEADING LINE-SIZE 246.
TABLES : vbap, vbak.

*Types Declaration
TYPES : BEGIN OF ty_vbak,

vbeln TYPE vbak-vbeln,
erdat TYPE vbak-erdat,
ernam TYPE vbak-ernam,
auart TYPE vbak-auart,
vkorg TYPE vbak-vkorg,
vtweg TYPE vbak-vtweg,
spart TYPE vbak-spart,
vkgrp TYPE vbak-vkgrp,
kunnr TYPE vbak-kunnr,

END OF ty_vbak.

TYPES : BEGIN OF ty_vbap,

vbeln TYPE vbap-vbeln,
posnr TYPE vbap-posnr,
matnr TYPE vbap-matnr,
matkl TYPE vbap-matkl,
arktx TYPE vbap-arktx,
netwr TYPE vbap-netwr,
waerk TYPE vbap-waerk,
klmeng TYPE vbap-klmeng,
vrkme TYPE vbap-vrkme,

END OF ty_vbap.

TYPES : BEGIN OF ty_out,

vbeln TYPE vbak-vbeln,
erdat TYPE vbak-erdat,
ernam TYPE vbak-ernam,
auart TYPE vbak-auart,
vkorg TYPE vbak-vkorg,
vtweg TYPE vbak-vtweg,
spart TYPE vbak-spart,
vkgrp TYPE vbak-vkgrp,
kunnr TYPE vbak-kunnr,
posnr TYPE vbap-posnr,
matnr TYPE vbap-matnr,
matkl TYPE vbap-matkl,
arktx TYPE vbap-arktx,
netwr TYPE vbap-netwr,
waerk TYPE vbap-waerk,
klmeng TYPE vbap-klmeng,
vrkme TYPE vbap-vrkme,

END OF ty_out.

*Data Declaration
DATA : it_vbak TYPE STANDARD TABLE OF ty_vbak,

wa_vbak TYPE ty_vbak,
it_vbap TYPE STANDARD TABLE OF ty_vbap,
wa_vbap TYPE ty_vbap,
it_out TYPE STANDARD TABLE OF ty_out,
wa_out TYPE ty_out.

*Selction Screen
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS : so_vbeln FOR vbap-vbeln,
                                       so_matnr FOR vbap-matnr,
                                       so_matkl FOR vbap-matkl.
SELECTION-SCREEN END OF BLOCK b1.

*Header Information
TOP-OF-PAGE.
WRITE :/ ‘CLASSICAL REPORT SHOWS SALES INFO FROM TABLES VBAK AND VBAP’.
ULINE.

WRITE:/ ‘Sales Doc.’,

12 ‘Item No.’,
20 ‘Material No.’,
40 ‘Description’,
82 ‘Mat. Group’,
93 ‘Created Date’,
107 ‘Created By’,
119 ‘Doc. Type’,
129 ‘Sales Org.’,
139 ‘D. Channel’,
151 ‘Division’,
161 ‘Sales Group’,
173 ‘Customer’,
190 ‘Amount’,
205 ‘Currency’,
219 ‘Quantity’,
236 ‘Sales unit’.
ULINE.

START-OF-SELECTION.

*Data Fetching
SELECT vbeln
                erdat
                ernam
                auart
                vkorg
                vtweg
                spart
                vkgrp
                kunnr
FROM vbak INTO TABLE it_vbak
WHERE vbeln IN so_vbeln.

IF it_vbak IS INITIAL.

        WRITE:/ ‘Document Number Does not Exist’.
ELSE.
        SORT it_vbak BY vbeln.
       SELECT vbeln
               posnr
              matnr
              matkl
              arktx
              netwr
              waerk
             klmeng
             vrkme
FROM vbap INTO TABLE it_vbap FOR ALL ENTRIES IN it_vbak
WHERE vbeln = it_vbak-vbeln AND matnr IN so_matnr AND matkl IN so_matkl.

IF sy-subrc = 0.
     SORT it_vbap BY vbeln.
ENDIF.

*Preparing Final Output Table
LOOP AT it_vbap INTO wa_vbap.

wa_out-vbeln = wa_vbap-vbeln.
wa_out-posnr = wa_vbap-posnr.
wa_out-matnr = wa_vbap-matnr.
wa_out-matkl = wa_vbap-matkl.
wa_out-arktx = wa_vbap-arktx.
wa_out-netwr = wa_vbap-netwr.
wa_out-waerk = wa_vbap-waerk.
wa_out-klmeng = wa_vbap-klmeng.
wa_out-vrkme = wa_vbap-vrkme.

READ TABLE it_vbak INTO wa_vbak WITH KEY vbeln = wa_vbap-vbeln.
IF sy-subrc = 0.

wa_out-erdat = wa_vbak-erdat.
wa_out-ernam = wa_vbak-ernam.
wa_out-auart = wa_vbak-auart.
wa_out-vkorg = wa_vbak-vkorg.
wa_out-vtweg = wa_vbak-vtweg.
wa_out-spart = wa_vbak-spart.
wa_out-vkgrp = wa_vbak-vkgrp.
wa_out-kunnr = wa_vbak-kunnr.

ENDIF.
APPEND wa_out TO it_out.
CLEAR: wa_vbap, wa_out.

ENDLOOP.

*Data Displaying
LOOP AT it_out INTO wa_out.

WRITE:/ wa_vbak-vbeln,
12 wa_out-posnr,
20 wa_out-matnr,
40 wa_out-arktx,
82 wa_out-matkl,
93 wa_out-erdat,
107 wa_out-ernam,
119 wa_out-auart,
129 wa_out-vkorg,
139 wa_out-vtweg,
151 wa_out-spart,
161 wa_out-vkgrp,
173 wa_out-kunnr,
177 wa_out-netwr,
205 wa_out-waerk,
210 wa_out-klmeng,
236 wa_out-vrkme.
CLEAR: wa_vbap.

ENDLOOP.

ENDIF.


OUTPUT

Step 1: Press F8 button & execute the program and then click on the below button.

                                         Output: