Hierarchical Sequential List ALV (ABAP List Viewer) is an interactive report that allows users to display and manipulate hierarchical data in a tree-like structure. This type of ALV report is useful when data has a parent-child relationship and requires a hierarchical format for better analysis. The data can be expanded or collapsed at each level to display the data in the next level, and users can drill down to the details of the data.
The Hierarchical Sequential List ALV report is highly customizable and can be modified using various events and options available in the ALV framework. This customization can help add custom functionality to the report, such as custom buttons or navigation. Additionally, the report is used in various applications such as organizational charts, bill of materials, and product structures.
This post shows how to display a hierarchical sequential list ALV.
TABLES: MARA,MAKT.
TYPE-POOLS: SLIS.
TYPES: BEGIN OF ST_MARA,
EXPAND,
MATNR TYPE MATNR,
ERSDA TYPE ERSDA,
ERNAM TYPE ERNAM,
END OF ST_MARA.
TYPES: BEGIN OF ST_MAKT,
MATNR TYPE MATNR,
SPRAS TYPE SPRAS,
MAKTX TYPE MAKTX,
END OF ST_MAKT.
DATA: IT_MARA TYPE TABLE OF ST_MARA,
WA_MARA TYPE MARA,
IT_MAKT TYPE TABLE OF ST_MAKT,
WA_MAKT TYPE MAKT.
DATA: IT_FCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FCAT TYPE SLIS_FIELDCAT_ALV.
DATA: WA_KEY TYPE SLIS_KEYINFO_ALV.
DATA: WA_LAYOUT TYPE SLIS_LAYOUT_ALV.
SELECT-OPTIONS:S_MATNR FOR MARA-MATNR.
SELECT MATNR
ERSDA
ERNAM
FROM MARA INTO CORRESPONDING FIELDS OF TABLE IT_MARA WHERE MATNR IN S_MATNR.
IF SY-SUBRC = 0.
SORT IT_MARA BY MATNR.
ENDIF.
IF IT_MARA IS NOT INITIAL.
SELECT MATNR
SPRAS
MAKTX
FROM MAKT INTO TABLE IT_MAKT
FOR ALL ENTRIES IN IT_MARA
WHERE MATNR = IT_MARA-MATNR.
IF SY-SUBRC = 0.
SORT IT_MAKT BY MATNR.
ENDIF.
ENDIF.
WA_LAYOUT-EXPAND_FIELDNAME = 'EXPAND'.
WA_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
WA_KEY-HEADER01 = 'MATNR'.
WA_KEY-ITEM01 = 'MATNR'.
WA_FCAT-COL_POS = '1'.
WA_FCAT-TABNAME = 'IT_MARA'.
WA_FCAT-FIELDNAME = 'MATNR'.
WA_FCAT-SELTEXT_M = 'MATERIAL NUMBER'.
WA_FCAT-KEY = 'X'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-COL_POS = '2'.
WA_FCAT-TABNAME = 'IT_MARA'.
WA_FCAT-FIELDNAME = 'ERSDA'.
WA_FCAT-SELTEXT_M = 'CREATED ON'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-COL_POS = '3'.
WA_FCAT-TABNAME = 'IT_MARA'.
WA_FCAT-FIELDNAME = 'ERNAM'.
WA_FCAT-SELTEXT_M = 'CREATED BY'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-COL_POS = '4'.
WA_FCAT-TABNAME = 'IT_MAKT'.
WA_FCAT-FIELDNAME = 'SPRAS'.
WA_FCAT-SELTEXT_M = 'LANGUAGE'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-COL_POS = '4'.
WA_FCAT-TABNAME = 'IT_MAKT'.
WA_FCAT-FIELDNAME = 'MAKTX'.
WA_FCAT-SELTEXT_M = 'DESCRIPTION'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
I_CALLBACK_PROGRAM = SY-REPID
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
IS_LAYOUT = WA_LAYOUT
IT_FIELDCAT = IT_FCAT
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT =
* IT_EVENTS =
* IT_EVENT_EXIT =
i_tabname_header = 'IT_MARA'
i_tabname_item = 'IT_MAKT'
* I_STRUCTURE_NAME_HEADER =
* I_STRUCTURE_NAME_ITEM =
is_keyinfo = WA_KEY
* IS_PRINT =
* IS_REPREP_ID =
* I_BYPASSING_BUFFER =
* I_BUFFER_ACTIVE =
* IR_SALV_HIERSEQ_ADAPTER =
* IT_EXCEPT_QINFO =
* I_SUPPRESS_EMPTY_DATA = ABAP_FALSE
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab_header = IT_MARA
t_outtab_item = IT_MAKT
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
In summary, the Hierarchical Sequential List ALV is a powerful tool in SAP ABAP that helps users display and analyze hierarchical data in a tree-like structure. It can be customized using different events and options to suit specific needs and is useful for various applications that require the display of data with a parent-child relationship.
No comments:
Post a Comment