You are on page 1of 11

Mastering Hierarchical Data Display

with
REUSE_ALV_HIERSEQ_LIST_DISPLAY
in ABAP

REUSE_ALV_HIERSEQ_LIST_DISPLAY :-
is a function module in ABAP used to display hierarchical
REUSE_ALV_HIERSEQ_LIST_DISPLAY

sequential lists in ALV (ABAP List Viewer). Here are some key points about it:

1. Hierarchical Sequential List: This function module is particularly useful when you need
to display data that has a hierarchical structure, such as organizational charts, bill of
materials, or product categories.

2. ALV Integration: ALV provides a powerful tool for displaying data in tabular format with
various functionalities like sorting, filtering, and subtotaling. REUSE_ALV_HIERSEQ_LIST_DISPLAY
extends this capability to hierarchical data structures.

3. Parameters: The function module takes various parameters to define the structure of the
ALV output. Parameters include field catalog, layout structure, and hierarchical
sequential table.

4. Field Catalog: The field catalog defines the structure of the ALV output, including the
columns to be displayed and their properties such as headers, widths, and visibility.

5. Layout Structure: The layout structure specifies additional settings for the ALV display,
such as default sorting, subtotaling, and grouping options.

6. Hierarchical Sequential Table: This is the main input parameter containing the
hierarchical data to be displayed. It typically consists of parent-child relationships, with
each record representing a node in the hierarchy.

7. Event Handling: The function module provides event handling mechanisms to customize
the behavior of the ALV display. Events include node expand/collapse, double-click, and
context menu actions.

8. Enhancement Options: REUSE_ALV_HIERSEQ_LIST_DISPLAY offers various enhancement options


to customize the appearance and functionality of the ALV output. These include adding

Mastering Hierarchical Data Display with REUSE_ALV_HIERSEQ_LIST_DISPLAY in ABAP 1


custom toolbar buttons, context menu entries, and additional data fields.

9. Performance Considerations: Displaying large hierarchical datasets can impact


performance, especially if extensive calculations or database operations are involved.
Proper indexing and data retrieval strategies should be employed to optimize
performance.

10. Compatibility: While REUSE_ALV_HIERSEQ_LIST_DISPLAY is a powerful tool for displaying


hierarchical data, it's essential to ensure compatibility with the target SAP system and
the specific ALV version being used. Compatibility issues may arise when migrating
between different SAP releases or when integrating with custom ALV frameworks.

Understanding these points can help developers effectively utilize


REUSE_ALV_HIERSEQ_LIST_DISPLAY to present hierarchical data in an intuitive and user-friendly

manner within ABAP applications.

Let’s take a requirement to develop a report using above function module.

Requirement :-

Mastering Hierarchical Data Display with REUSE_ALV_HIERSEQ_LIST_DISPLAY in ABAP 2


In the above diagram we are displaying using the above function module.

We have 5 fields from VBAK table and 5 fields from VBAP table

From VBAK we will be taking VBELN, ERDAT, ERZET, ERNAM, VBTYP.

From VBAP we will be taking VBELN POSNR MATNR.

Solution :-
Step 1 :- Create a executable program in ABAP Editor.

Step 2 :- Declare type structure for both the header and item tables.

Mastering Hierarchical Data Display with REUSE_ALV_HIERSEQ_LIST_DISPLAY in ABAP 3


Step 3 :- declare internal table and work area for the both the type structures.

Step 4 :- declare a select option to take input from selection screen.

Step 5 :- Write select queries to fetch data from both the tables.

Mastering Hierarchical Data Display with REUSE_ALV_HIERSEQ_LIST_DISPLAY in ABAP 4


Step 6 :- write down the field catalog for the tables.

Mastering Hierarchical Data Display with REUSE_ALV_HIERSEQ_LIST_DISPLAY in ABAP 5


Step 7 :- Call the function module ‘REUSE_ALV_HIERSEQ_LIST_DISPLAY’.

Mastering Hierarchical Data Display with REUSE_ALV_HIERSEQ_LIST_DISPLAY in ABAP 6


Code :-
*&----------------------------------------------------------------
*&Start of Program
*&---------------------------------------------------------------
TYPES: BEGIN OF ty_vbak,
vbeln TYPE vbeln_va,
erdat TYPE erdat,
erzet TYPE erzet,
ernam TYPE ernam,
vbtyp TYPE vbtypl,
END OF ty_vbak.

Mastering Hierarchical Data Display with REUSE_ALV_HIERSEQ_LIST_DISPLAY in ABAP 7


TYPES: BEGIN OF ty_vbap,
vbeln TYPE vbeln_va,
posnr TYPE posnr_va,
matnr TYPE matnr,
END OF ty_vbap.

DATA : lt_vbak TYPE TABLE OF ty_vbak,


ls_vbak TYPE ty_vbak,
lt_vbap TYPE TABLE OF ty_vbap,
ls_vbap TYPE ty_vbap.
DATA : lt_fieldcat TYPE TABLE OF slis_fieldcat_alv,
ls_fieldcat TYPE slis_fieldcat_alv,
ls_key type slis_keyinfo_alv.

DATA : lv_vbeln TYPE vbeln_va.


SELECT-OPTIONS : s_vbeln FOR lv_vbeln.

START-OF-SELECTION.
SELECT vbeln erdat erzet ernam vbtyp
FROM vbak
INTO TABLE lt_vbak
WHERE vbeln IN s_vbeln.

IF lt_vbak IS NOT INITIAL.


SELECT vbeln posnr matnr
FROM vbap
INTO TABLE lt_vbap
FOR ALL ENTRIES IN lt_vbak
WHERE vbeln = lt_vbak-vbeln.

ls_fieldcat-seltext_l = 'Sales Document Number'.


ls_fieldcat-fieldname = 'VBELN'.
ls_fieldcat-tabname = 'LT_VBAK'.
APPEND ls_fieldcat TO lt_fieldcat.
CLEAR ls_fieldcat.

ls_fieldcat-seltext_l = 'Creation Date'.


ls_fieldcat-fieldname = 'ERDAT'.
ls_fieldcat-tabname = 'LT_VBAK'.
APPEND ls_fieldcat TO lt_fieldcat.

Mastering Hierarchical Data Display with REUSE_ALV_HIERSEQ_LIST_DISPLAY in ABAP 8


CLEAR ls_fieldcat.

ls_fieldcat-seltext_l = 'Created On'.


ls_fieldcat-fieldname = 'ERZET'.
ls_fieldcat-tabname = 'LT_VBAK'.
APPEND ls_fieldcat TO lt_fieldcat.
CLEAR ls_fieldcat.

ls_fieldcat-seltext_l = 'Created By'.


ls_fieldcat-fieldname = 'ERNAM'.
ls_fieldcat-tabname = 'LT_VBAK'.
APPEND ls_fieldcat TO lt_fieldcat.
CLEAR ls_fieldcat.

ls_fieldcat-seltext_l = 'Document Category'.


ls_fieldcat-fieldname = 'VBTYP'.
ls_fieldcat-tabname = 'LT_VBAK'.
APPEND ls_fieldcat TO lt_fieldcat.
CLEAR ls_fieldcat.

ls_fieldcat-seltext_l = 'Sales Document Number'.


ls_fieldcat-fieldname = 'VBELN'.
ls_fieldcat-tabname = 'LT_VBAP'.
APPEND ls_fieldcat TO lt_fieldcat.
CLEAR ls_fieldcat.

ls_fieldcat-seltext_l = 'Item Number'.


ls_fieldcat-fieldname = 'POSNR'.
ls_fieldcat-tabname = 'LT_VBAP'.
APPEND ls_fieldcat TO lt_fieldcat.
CLEAR ls_fieldcat.

ls_fieldcat-seltext_l = 'Material Number'.


ls_fieldcat-fieldname = 'MATNR'.
ls_fieldcat-tabname = 'LT_VBAP'.
APPEND ls_fieldcat TO lt_fieldcat.
CLEAR ls_fieldcat.

Mastering Hierarchical Data Display with REUSE_ALV_HIERSEQ_LIST_DISPLAY in ABAP 9


ls_key-header01 = 'VBELN'.
ls_key-item01 = 'VBELN'.

CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'


EXPORTING
IT_FIELDCAT = lt_fieldcat
i_tabname_header = 'LT_VBAK'
i_tabname_item = 'LT_VBAP'
is_keyinfo = ls_key
TABLES
t_outtab_header = lt_vbak
t_outtab_item = lt_vbap
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.

*&----------------------------------------------------------------------
*&End of Program
*&----------------------------------------------------------------------
ENDIF.

Execute the code :-

Mastering Hierarchical Data Display with REUSE_ALV_HIERSEQ_LIST_DISPLAY in ABAP 10


Mastering Hierarchical Data Display with REUSE_ALV_HIERSEQ_LIST_DISPLAY in ABAP 11

You might also like