What are The Steps to Create ALV Interactive Report in SAP ABAP
As a SAP ABAP Developer,our first and basic challenge is to create ALV Interactive Report .For that purpose ,I have covered steps to create Interactive ALV report with example Program.Let us start creating Report.
Interactive ALV Report Steps
1.Select the Header and Item Tables.
2. create Structures of Both Tables.
3.Create the Selection Screen.
4.Select the Header Data.
5. Create Field Catalog for Header Structure.
7.Call the Function Module REUSE_ALV_GRID_DISPLAY.
8.Next create the USER_COMMAND Subroutine.
9.in which fetch the item details .
10.create Filed catalog for Item Table.
11.pass the table to REUSE_ALV_GRID_DISPLAY.
12.Pass the User_command event for export parameter of Function module.
ALV Program
REPORT INTERACTIVE _ALV_REPORT
NO STANDARD PAGE HEADING
LINE-SIZE 500
MESSAGE-ID zz_8821.
TYPE-POOLS: slis.
TYPES: BEGIN OF i_ekko,
ebeln LIKE ekko-ebeln,
aedat LIKE ekko-aedat,
bukrs LIKE ekko-bukrs,
bsart LIKE ekko-bsart,
lifnr LIKE ekko-lifnr,
END OF i_ekko.
TYPES: BEGIN OF i_ekpo,
ebeln LIKE ekpo-ebeln,
ebelp LIKE ekpo-ebelp,
matnr LIKE ekpo-matnr,
menge LIKE ekpo-menge,
meins LIKE ekpo-meins,
netpr LIKE ekpo-netpr,
END OF i_ekpo.
DATA: it_ekpo TYPE STANDARD TABLE OF i_ekpo ,
wa_ekpo TYPE i_ekpo ,
it_ekko TYPE STANDARD TABLE OF i_ekko,
wa_ekko TYPE i_ekko.
DATA: v_repid LIKE sy-repid .
*declaration for fieldcatalog
DATA: i_fieldcat TYPE slis_t_fieldcat_alv,
wa_fieldcat TYPE slis_fieldcat_alv.
START-OF-SELECTION.
PERFORM data_retrieval.
PERFORM display_alv_report.
FORM build_fieldcatlog.
wa_fieldcat-tabname = 'IT_EKKO'.
wa_fieldcat-fieldname = 'EBELN'.
wa_fieldcat-seltext_m = 'PO NO.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'IT_EKKO'.
wa_fieldcat-fieldname = 'AEDAT'.
wa_fieldcat-seltext_m = 'DATE.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'IT_EKKO'.
wa_fieldcat-fieldname = 'BUKRS'.
wa_fieldcat-seltext_m = 'COMPANY CODE'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'IT_EKKO'.
wa_fieldcat-fieldname = 'BUKRS'.
wa_fieldcat-seltext_m = 'DOCMENT TYPE'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'IT_EKKO'.
wa_fieldcat-fieldname = 'LIFNR'.
wa_fieldcat-no_out = 'X'.
wa_fieldcat-seltext_m = 'VENDOR CODE'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
ENDFORM. "BUILD_FIELDCATLOG
FORM data_retrieval.
SELECT ebeln aedat bukrs bsart lifnr FROM ekko INTO TABLE it_ekko.
ENDFORM. "data_retrieval
FORM display_alv_report.
v_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = v_repid
i_callback_user_command = 'USER_COMMAND'
it_fieldcat = i_fieldcat[]
TABLES
t_outtab = it_ekko.
ENDFORM. "display_alv_report
*&--------------------------------------------------------------------*
*& Form USER_COMMAND
*&--------------------------------------------------------------------*
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
CASE r_ucomm.
WHEN '&IC1'.
READ TABLE it_ekko INTO wa_ekko INDEX rs_selfield-tabindex.
PERFORM build_fieldcatlog_ekpo.
PERFORM data_retrieval_ekpo.
PERFORM display_alv_ekpo.
ENDCASE.
ENDFORM. "user_command
FORM build_fieldcatlog_ekpo.
wa_fieldcat-tabname = 'IT_EKPO'.
wa_fieldcat-fieldname = 'EBELN'.
wa_fieldcat-seltext_m = 'PO NO.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'IT_EKPO'.
wa_fieldcat-fieldname = 'EBELP'.
wa_fieldcat-seltext_m = 'LINE NO'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'I_EKPO'.
wa_fieldcat-fieldname = 'MATNR'.
wa_fieldcat-seltext_m = 'MATERIAL NO.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'I_EKPO'.
wa_fieldcat-fieldname = 'MENGE'.
wa_fieldcat-seltext_m = 'QUANTITY'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'I_EKPO'.
wa_fieldcat-fieldname = 'MEINS'.
wa_fieldcat-seltext_m = 'UOM'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'I_EKPO'.
wa_fieldcat-fieldname = 'NETPR'.
wa_fieldcat-seltext_m = 'PRICE'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
ENDFORM. "BUILD_FIELDCATLOG_EKPO
FORM data_retrieval_ekpo.
SELECT ebeln ebelp matnr menge meins netpr FROM ekpo INTO TABLE it_ekpo.
ENDFORM. "DATA_RETRIEVAL_EKPO
FORM display_alv_ekpo.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = v_repid
it_fieldcat = i_fieldcat[]
TABLES
t_outtab = it_ekpo
EXCEPTIONS
program_error = 1
OTHERS = 2.
ENDFORM. "DISPLAY_ALV_EKPO
Serkan AKKAVAK
Computer Engineer BSc
SAP Department Deputy Manager
Contact : serkurumsal@yandex.com
0 Comments