ALV Report Using Multiple Tables – Practical 3


DISPLAYING DATA FROM TWO OR MORE TABLES IN EDITABLE MODE:

Best SAP ABAP Latest Course

SAP ABAP Fundamentals

SAP ABAP Interview Questions – Real Time

Step 1: Go to SE38 Tcode. Type the program name and choose Source Code from Subojects 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 the ‘Package’ Attribute and click on the button.

Step 4: Select the TR and click on button.

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


REPORT zalvexample6.
*Table Declaration

TABLES : vbak, vbap.

*Type-Pools

TYPE-POOLS: slis.

*Type 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,

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,

BEGIN OF ty_all,

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_all.

*Data Declaration

DATA : gt_vbap TYPE STANDARD TABLE OF ty_vbap,

wa_vbap TYPE ty_vbap,
gt_vbak TYPE STANDARD TABLE OF ty_vbak,
wa_vbak TYPE ty_vbak,
gt_all TYPE STANDARD TABLE OF ty_all,
wa_all TYPE ty_all.

DATA : gt_fcat TYPE slis_t_fieldcat_alv,
wa_fcat LIKE LINE OF gt_fcat,
gt_layout TYPE slis_layout_alv.

*Selection Screen

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

SELECT-OPTIONS : so_vbeln FOR vbap-vbeln.

SELECTION-SCREEN END OF BLOCK b1.

*Data Fetching From Table VBAK

SELECT vbeln
erdat
ernam
auart
vkorg
vtweg
spart
vkgrp
kunnr
FROM vbak INTO TABLE gt_vbak
WHERE vbeln IN so_vbeln.

SORT gt_vbak BY vbeln.

SELECT vbeln
posnr
matnr
matkl
arktx
netwr
waerk
klmeng
vrkme
FROM vbap INTO TABLE gt_vbap FOR ALL ENTRIES IN gt_vbak
WHERE vbeln = gt_vbak-vbeln.

SORT gt_vbap BY vbeln.

LOOP AT gt_vbap INTO wa_vbap.

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

READ TABLE gt_vbak INTO wa_vbak WITH KEY vbeln = wa_vbap-vbeln.

IF sy-subrc = 0.

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

ENDIF.
APPEND wa_all TO gt_all.
CLEAR: wa_vbap,wa_vbak, wa_all.
ENDLOOP.

*Field Catalog

wa_fcat-col_pos = 1 .
wa_fcat-fieldname = ‘VBELN’.
wa_fcat-seltext_m = ‘SD NO.’.
APPEND wa_fcat TO gt_fcat.
CLEAR wa_fcat.

wa_fcat-col_pos = 2.
wa_fcat-fieldname = ‘POSNR’.
wa_fcat-seltext_m = ‘ITEM NO.’.
APPEND wa_fcat TO gt_fcat.
CLEAR wa_fcat.

wa_fcat-col_pos = 3.
wa_fcat-fieldname = ‘MATNR’.
wa_fcat-seltext_m = ‘MATERIAL NO.’.
APPEND wa_fcat TO gt_fcat.
CLEAR wa_fcat.

wa_fcat-col_pos = 4.
wa_fcat-fieldname = ‘MATKL’.
wa_fcat-seltext_m = ‘MATERIAL GROUP’.
APPEND wa_fcat TO gt_fcat.
CLEAR wa_fcat.

wa_fcat-col_pos = 5.
wa_fcat-fieldname = ‘ARKTX’.
wa_fcat-seltext_m = ‘DESCRIPTION’.
APPEND wa_fcat TO gt_fcat.
CLEAR wa_fcat.

wa_fcat-col_pos = 6.
wa_fcat-fieldname = ‘ERDAT’.
wa_fcat-seltext_m = ‘CREATED BY’.
APPEND wa_fcat TO gt_fcat.
CLEAR wa_fcat.

wa_fcat-col_pos = 7.
wa_fcat-fieldname = ‘ERNAM’.
wa_fcat-seltext_m = ‘CREATED BY’.
APPEND wa_fcat TO gt_fcat.
CLEAR wa_fcat.

wa_fcat-col_pos = 8.
wa_fcat-fieldname = ‘AUART’.
wa_fcat-seltext_m = ‘DOC. TYPE’.
APPEND wa_fcat TO gt_fcat.
CLEAR wa_fcat.

wa_fcat-col_pos = 9.
wa_fcat-fieldname = ‘VKORG’.
wa_fcat-seltext_m = ‘SALES ORGANIZATION’.
APPEND wa_fcat TO gt_fcat.
CLEAR wa_fcat.

wa_fcat-col_pos = 10.
wa_fcat-fieldname = ‘VTWEG’.
wa_fcat-seltext_m = ‘D. CHANNEL’.
APPEND wa_fcat TO gt_fcat.
CLEAR wa_fcat.

wa_fcat-col_pos = 11.
wa_fcat-fieldname = ‘SPART’.
wa_fcat-seltext_m = ‘DIVISION’.
APPEND wa_fcat TO gt_fcat.
CLEAR wa_fcat.

wa_fcat-col_pos = 12.
wa_fcat-fieldname = ‘VKGRP’.
wa_fcat-seltext_m = ‘SALES GROUP’.
APPEND wa_fcat TO gt_fcat.
CLEAR wa_fcat.

wa_fcat-col_pos = 13.
wa_fcat-fieldname = ‘KUNNR’.
wa_fcat-seltext_m = ‘CUSTOMER’.
APPEND wa_fcat TO gt_fcat.
CLEAR wa_fcat.

wa_fcat-col_pos = 14.
wa_fcat-fieldname = ‘NETWR’.
wa_fcat-seltext_m = ‘AMOUNT’.
APPEND wa_fcat TO gt_fcat.
CLEAR wa_fcat.

wa_fcat-col_pos = 15.
wa_fcat-fieldname = ‘WAERK’.
wa_fcat-seltext_m = ‘CURRENCY’.
APPEND wa_fcat TO gt_fcat.
CLEAR wa_fcat.

wa_fcat-col_pos = 16.
wa_fcat-fieldname = ‘KLMENG’.
wa_fcat-seltext_m = ‘QUANTITY’.
APPEND wa_fcat TO gt_fcat.
CLEAR wa_fcat.

wa_fcat-col_pos = 17.
wa_fcat-fieldname = ‘VRKME’.
wa_fcat-seltext_m = ‘SALES UNIT’.
APPEND wa_fcat TO gt_fcat.
CLEAR wa_fcat.

*Layout

gt_layout-colwidth_optimize = ‘X’.
gt_layout-edit = ‘X’.

*Displaying ALV Grid

CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY’
EXPORTING

i_callback_program = sy-repid
is_layout = gt_layout
it_fieldcat = gt_fcat
T_COLUMN = 0

TABLES

t_outtab = gt_all
* EXCEPTIONS
* PROGRAM_ERROR = 1
* OTHERS = 2
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.


OUTPUT

Best Laptops for ABAP Programmers

Step 1: Press F8.

Step 2: Again press F8 to execute the report.