ALV Reports Example - SAPUI5 Tutorials
ALV Reports Example - SAPUI5 Tutorials
TABLES : MARA.
DATA: I_MARA TYPE TABLE OF MARA.
DATA: WA_MARA TYPE MARA.
SELECT-OPTIONS SO_MATNR FOR MARA-MATNR.PARAMETERS P_MTART TYPE MARA-MTART.
START-OF-SELECTION.
PERFORM GET_DATA.
PERFORM DISPLAY_DATA.
*&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_DATA .SELECT * FROM MARA INTO TABLE I_MARA WHERE MATNR IN SO_MATNR
AND MTART = 'FERT'.
ENDFORM. " GET_DATA
*&---------------------------------------------------------------------*
*& Form DISPLAY_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM DISPLAY_DATA .CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
www.sapui5tutors.com/2017/02/alv-reports-example.html 1/21
3/25/2021 ALV Reports Example - SAPUI5 Tutorials
I_CALLBACK_PROGRAM = 'SY-REPID'
I_STRUCTURE_NAME = 'MARA'
TABLES
T_OUTTAB = I_MARA.
Note: When we want all the fields from a table, then we use
STRUCTURE
O
www.sapui5tutors.com/2017/02/alv-reports-example.html 2/21
3/25/2021 ALV Reports Example - SAPUI5 Tutorials
TYPES:BEGIN OF TY_MARA,
MATNR TYPE MARA-MATNR,
MTART TYPE MARA-MTART,
MBRSH TYPE MARA-MBRSH,
MEINS TYPE MARA-MEINS,
END OF TY_MARA.
DATA : I_MARA TYPE TABLE OF TY_MARA.DATA : WA_MARA TYPE TY_MARA.DATA : I_FCAT T
YPE SLIS_T_FIELDCAT_ALV.DATA : WA_FCAT LIKE LINE OF I_FCAT.* DATA: WA_FCAT TY
PE SLIS_FIELDCAT_ALV.
SELECT-OPTIONS SO_MATNR FOR MARA-MATNR.
START-OF-SELECTION.
PERFORM GET_DATA.
PERFORM CREATE_FCAT.
PERFORM DISPLAY.
*&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_DATA .SELECT * FROM MARA INTO CORRESPONDING FIELDS OF TABLE I_MARA
WHERE MATNR IN SO_MATNR.
ENDFORM. " GET_DATA
*&---------------------------------------------------------------------*
*& Form DISPLAY
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
www.sapui5tutors.com/2017/02/alv-reports-example.html 3/21
3/25/2021 ALV Reports Example - SAPUI5 Tutorials
* <-- p2 text
*----------------------------------------------------------------------*
FORM DISPLAY .CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = 'SY-REPID'
IT_FIELDCAT = I_FCAT
TABLES
T_OUTTAB = I_MARA.
WA_FCAT-col_pos = '1'.
WA_FCAT-FIELDNAME = 'MATNR'.
WA_FCAT-TABNAME = 'I_MARA'.
WA_FCAT-REF_FIELDNAME = 'MATNR'.
WA_FCAT-REF_TABNAME = 'MARA'.
WA_FCAT-SELTEXT_M = 'MATERIAL NO'.
WA_FCAT-KEY = 'X'.
WA_FCAT-HOTSPOT = 'X'.APPEND WA_FCAT TO I_FCAT.CLEAR WA_FCAT.
WA_FCAT-COL_POS = '2'.
WA_FCAT-FIELDNAME = 'MTART'.
WA_FCAT-TABNAME = 'I_MARA'.
WA_FCAT-SELTEXT_M = 'MATERIAL TYPE'.APPEND WA_FCAT TO I_FCAT.CLEAR WA_FCAT.
WA_FCAT-COL_POS = '3'.
WA_FCAT-FIELDNAME = 'MBRSH'.
WA_FCAT-TABNAME = 'I_MARA'.
WA_FCAT-EMPHASIZE = 'C601'.
WA_FCAT-SELTEXT_M = 'IND.SECTOR'.APPEND WA_FCAT TO I_FCAT.CLEAR WA_FCAT.
WA_FCAT-COL_POS = '4'.
WA_FCAT-FIELDNAME = 'MEINS'.
WA_FCAT-TABNAME = 'I_MARA'.
WA_FCAT-EDIT = 'X'.
WA_FCAT-SELTEXT_M = 'MATERIAL UNITS'.APPEND WA_FCAT TO I_FCAT.CLEAR WA_FCAT.
ENDFORM. " CREATE_FCAT
www.sapui5tutors.com/2017/02/alv-reports-example.html 4/21
3/25/2021 ALV Reports Example - SAPUI5 Tutorials
TYPES:BEGIN OF TY_MARA,
MATNR TYPE MARA-MATNR,
MTART TYPE MARA-MTART,
MBRSH TYPE MARA-MBRSH,
MEINS TYPE MARA-MEINS,
END OF TY_MARA.
DATA : I_MARA TYPE TABLE OF TY_MARA.DATA : WA_MARA TYPE TY_MARA.DATA : I_FCAT T
YPE SLIS_T_FIELDCAT_ALV.DATA : WA_FCAT LIKE LINE OF I_FCAT.
START-OF-SELECTION.
PERFORM GET_DATA.
PERFORM CREATE_FCAT.
PERFORM DISPLAY.
FORM GET_DATA .SELECT MATNR MTART MBRSH MEINS FROM MARA INTO TABLE
I_MARA UP TO 100 ROWS.
ENDFORM.
FORM DISPLAY .CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = 'SY-REPID'
IT_FIELDCAT = I_FCAT
TABLES
T_OUTTAB = I_MARA.
ENDFORM.
FORM CREATE_FCAT .CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = 'SY-REPID'
I_STRUCTURE_NAME = 'MARA'
CHANGING
CT_FIELDCAT = I_FCAT.
LOOP AT I_FCAT INTO WA_FCAT.
WA_FCAT-NO_OUT = 'X'.
IF WA_FCAT-FIELDNAME = 'MATNR' OR
WA_FCAT-FIELDNAME = 'MTART' OR
www.sapui5tutors.com/2017/02/alv-reports-example.html 6/21
3/25/2021 ALV Reports Example - SAPUI5 Tutorials
WA_FCAT-FIELDNAME = 'MBRSH' OR
WA_FCAT-FIELDNAME = 'MEINS'.
WA_FCAT-NO_OUT = ' '.
ENDIF.
MODIFY I_FCAT FROM WA_FCAT INDEX SY-TABIX.
ENDLOOP.
ENDFORM. " CREATE_FCAT
TYPES:BEGIN OF TY_MARA,
MATNR TYPE MARA-MATNR,
MTART TYPE MARA-MTART,
MBRSH TYPE MARA-MBRSH,
MEINS TYPE MARA-MEINS,
END OF TY_MARA.
DATA : I_MARA TYPE TABLE OF TY_MARA.DATA : WA_MARA TYPE TY_MARA.DATA : I_FCAT T
www.sapui5tutors.com/2017/02/alv-reports-example.html 7/21
3/25/2021 ALV Reports Example - SAPUI5 Tutorials
START-OF-SELECTION.
PERFORM GET_DATA.
PERFORM CREATE_FCAT.
PERFORM DESIGN_LAYOUT.
PERFORM DISPLAY.
FORM GET_DATA .SELECT MATNR MTART MBRSH MEINS FROM MARA INTO TABLE
I_MARA UP TO 100 ROWS.
ENDFORM.
FORM CREATE_FCAT .
WA_FCAT-col_pos = '1'.
WA_FCAT-FIELDNAME = 'MATNR'.
WA_FCAT-TABNAME = 'I_MARA'.
WA_FCAT-REF_FIELDNAME = 'MATNR'.
WA_FCAT-REF_TABNAME = 'MARA'.
WA_FCAT-SELTEXT_M = 'MATERIAL NO'.
WA_FCAT-KEY = 'X'.
WA_FCAT-HOTSPOT = 'X'.APPEND WA_FCAT TO I_FCAT.CLEAR WA_FCAT.
WA_FCAT-COL_POS = '2'.
WA_FCAT-FIELDNAME = 'MTART'.
WA_FCAT-TABNAME = 'I_MARA'.
WA_FCAT-SELTEXT_M = 'MATERIAL TYPE'.APPEND WA_FCAT TO I_FCAT.CLEAR WA_FCAT.
WA_FCAT-COL_POS = '3'.
WA_FCAT-FIELDNAME = 'MBRSH'.
WA_FCAT-TABNAME = 'I_MARA'.
WA_FCAT-EMPHASIZE = 'C601'.
WA_FCAT-SELTEXT_M = 'IND.SECTOR'.APPEND WA_FCAT TO I_FCAT.CLEAR WA_FCAT.
WA_FCAT-COL_POS = '4'.
WA_FCAT-FIELDNAME = 'MEINS'.
WA_FCAT-TABNAME = 'I_MARA'.*WA_FCAT-EDIT = 'X'.
WA_FCAT-SELTEXT_M = 'MATERIAL UNITS'.APPEND WA_FCAT TO I_FCAT.CLEAR WA_FCAT.
ENDFORM.
FORM DESIGN_LAYOUT.
WA_LAYOUT-ZEBRA = 'X'.
WA_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
WA_LAYOUT-EDIT = 'X'.
WA_LAYOUT-NO_VLINE = 'X'.
WA_LAYOUT-NO_HLINE = 'X'.
www.sapui5tutors.com/2017/02/alv-reports-example.html 8/21
3/25/2021 ALV Reports Example - SAPUI5 Tutorials
ENDFORM.
FORM DISPLAY .CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = 'SY-REPID'
IS_LAYOUT = WA_LAYOUT
IT_FIELDCAT = I_FCAT
TABLES
T_OUTTAB = I_MARA.
ENDFORM.
www.sapui5tutors.com/2017/02/alv-reports-example.html 9/21
3/25/2021 ALV Reports Example - SAPUI5 Tutorials
WA_FCAT-COL_POS = V_POS.
WA_FCAT-FIELDNAME = 'VBELN' .
WA_FCAT-SELTEXT_M = 'Salesdoc.NO' .
APPEND WA_FCAT TO I_FCAT .
CLEAR WA_FCAT .
V_POS = V_POS + 1.
WA_FCAT-COL_POS = V_POS .
WA_FCAT-FIELDNAME = 'POSNR' .
WA_FCAT-SELTEXT_M = 'Itemno' .
APPEND WA_FCAT TO I_FCAT .
CLEAR WA_FCAT .
V_POS = V_POS + 1.
WA_FCAT-COL_POS = V_POS .
WA_FCAT-FIELDNAME = 'MATNR' .
WA_FCAT-SELTEXT_M = 'Material NO' .
APPEND WA_FCAT TO I_FCAT .
CLEAR WA_FCAT .
V_POS = V_POS + 1.
WA_FCAT-COL_POS = V_POS .
WA_FCAT-FIELDNAME = 'NETPR' .
WA_FCAT-SELTEXT_M = 'Netprice' .
WA_FCAT-DO_SUM = 'X' .
APPEND WA_FCAT TO I_FCAT .
CLEAR WA_FCAT .
ENDFORM. " create_fcat
FORM DISPLAY_DATA .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IT_FIELDCAT = I_FCAT
IT_SORT = I_SORT
TABLES
T_OUTTAB = I_VBAP.
ENDFORM.
FORM CALC_SUBTOTALS .
WA_SORT-FIELDNAME = 'VBELN' .
WA_SORT-UP = 'X' .
WA_SORT-SUBTOT = 'X' .
www.sapui5tutors.com/2017/02/alv-reports-example.html 10/21
3/25/2021 ALV Reports Example - SAPUI5 Tutorials
www.sapui5tutors.com/2017/02/alv-reports-example.html 11/21
3/25/2021 ALV Reports Example - SAPUI5 Tutorials
PERFORM GET_DATA .
PERFORM CREATE_FCAT .
PERFORM GET_EVENTS .
PERFORM DISPLAY_DATA .
END-OF-SELECTION .
*&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM GET_DATA .
SELECT * FROM MARA INTO TABLE I_MARA UP TO 100 ROWS .
ENDFORM. "GET_DATA
*&---------------------------------------------------------------------*
*& Form DISPLAY_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM DISPLAY_DATA .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IT_FIELDCAT = I_FCAT
IT_EVENTS = I_EVENTS
TABLES
T_OUTTAB = I_MARA.
ENDFORM. "DISPLAY_DATA
*&---------------------------------------------------------------------*
*& Form CREATE_FCAT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM CREATE_FCAT .
V_POS = 1 .
WA_FCAT-COL_POS = V_POS.
WA_FCAT-FIELDNAME = 'MATNR' .
WA_FCAT-SELTEXT_M = 'Material.NO' .
WA_FCAT-HOTSPOT = 'X' .
APPEND WA_FCAT TO I_FCAT .
CLEAR WA_FCAT .
V_POS = V_POS + 1.
WA_FCAT-COL_POS = V_POS .
WA_FCAT-FIELDNAME = 'MTART' .
www.sapui5tutors.com/2017/02/alv-reports-example.html 12/21
3/25/2021 ALV Reports Example - SAPUI5 Tutorials
WA_FCAT-SELTEXT_M = 'Material.Type' .
APPEND WA_FCAT TO I_FCAT .
CLEAR WA_FCAT .
V_POS = V_POS + 1.
WA_FCAT-COL_POS = V_POS .
WA_FCAT-FIELDNAME = 'MBRSH' .
WA_FCAT-SELTEXT_M = 'Ind.Sector' .
APPEND WA_FCAT TO I_FCAT .
CLEAR WA_FCAT .
V_POS = V_POS + 1.
WA_FCAT-COL_POS = V_POS .
WA_FCAT-FIELDNAME = 'MATKL' .
WA_FCAT-SELTEXT_M = 'Mat.Grp' .
APPEND WA_FCAT TO I_FCAT .
CLEAR WA_FCAT .
V_POS = V_POS + 1.
WA_FCAT-COL_POS = V_POS .
WA_FCAT-FIELDNAME = 'MEINS' .
WA_FCAT-SELTEXT_M = 'Units' .
APPEND WA_FCAT TO I_FCAT .
CLEAR WA_FCAT .
ENDFORM. "CREATE_FCAT
*&---------------------------------------------------------------------*
*& Form GET_EVENTS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM GET_EVENTS .
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
* EXPORTING
* I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = I_EVENTS .
* ******** TOP OF PAGE
READ TABLE I_EVENTS INTO WA_EVENTS WITH KEY NAME = 'TOP_OF_PAGE' .
WA_EVENTS-FORM = 'FORM_TOP_OF_PAGE' .
MODIFY I_EVENTS FROM WA_EVENTS INDEX SY-TABIX .
* ***********END OF LIST
www.sapui5tutors.com/2017/02/alv-reports-example.html 13/21
3/25/2021 ALV Reports Example - SAPUI5 Tutorials
WA_HEADING-TYP = 'S' .
WA_HEADING-KEY = 'USERNAME:' .
WA_HEADING-INFO = SY-UNAME .
APPEND WA_HEADING TO I_HEADING .
WA_HEADING-TYP = 'S'.
WA_HEADING-KEY = 'DATE:'.
WA_HEADING-INFO = V_DATE.
APPEND WA_HEADING TO I_HEADING .
www.sapui5tutors.com/2017/02/alv-reports-example.html 14/21
3/25/2021 ALV Reports Example - SAPUI5 Tutorials
IT_LIST_COMMENTARY = I_HEADING
I_END_OF_LIST_GRID = 'X'. ENDFORM . "FORM_END_OF_LIST
Interactive ALV
TYPE-POOLS : SLIS.
************ DATA DECLARATIONS
DATA : I_VBAK TYPE TABLE OF VBAK.DATA : WA_VBAK TYPE VBAK.DATA : I_VBAP TYPE TA
BLE OF VBAP.DATA : WA_VBAP TYPE VBAP.DATA : V_VBELN TYPE VBAK-VBELN.
************ ALV DECLARATIONS
DATA : I_EVENTS TYPE SLIS_T_EVENT .DATA : WA_EVENTS LIKE LINE OF I_EVENTS.DATA
: I_FCAT TYPE SLIS_T_FIELDCAT_ALV.DATA : WA_FCAT LIKE LINE OF I_FCAT.
START-OF-SELECTION.
PERFORM GET_DATA.
PERFORM get_events.
PERFORM DISPALY_DATA.
END-OF-SELECTION.
*&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM GET_DATA.
SELECT * FROM VBAK INTO CORRESPONDING FIELDS OF TABLE I_VBAK
UP TO 100 ROWS.
ENDFORM. "GET_DATA
*&---------------------------------------------------------------------*
*& Form DISPALY_DATA
www.sapui5tutors.com/2017/02/alv-reports-example.html 15/21
3/25/2021 ALV Reports Example - SAPUI5 Tutorials
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM DISPALY_DATA.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_STRUCTURE_NAME = 'VBAK'
IT_EVENTS = I_EVENTS
TABLES
T_OUTTAB = I_VBAK.
ENDFORM. "DISPALY_DATA
*&---------------------------------------------------------------------*
*& Form GET_EVENTS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM GET_EVENTS.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
IMPORTING
ET_EVENTS = i_events.
READ TABLE I_EVENTS INTO WA_EVENTS WITH KEY NAME = 'USER_COMMAND'.
WA_EVENTS-FORM = 'FORM_USER_COMMAND'.
MODIFY I_EVENTS FROM WA_EVENTS INDEX SY-TABIX.
ENDFORM. "GET_EVENTS
*&---------------------------------------------------------------------*
*& Form FORM_USER_COMMAND
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->UCOMM text
* -->SELFIELD text
*----------------------------------------------------------------------*
FORM FORM_USER_COMMAND USING UCOMM TYPE SY-UCOMM
SELFIELD TYPE SLIS_SELFIELD.
READ TABLE I_VBAK INTO WA_VBAK INDEX SELFIELD-TABINDEX.
www.sapui5tutors.com/2017/02/alv-reports-example.html 16/21
3/25/2021 ALV Reports Example - SAPUI5 Tutorials
I_STRUCTURE_NAME = 'VBAP'
TABLES
T_OUTTAB = I_VBAP.
ENDFORM. "FORM_USER_COMMAND
Hierarchial ALV
TYPE-POOLS : SLIS .
TYPES : BEGIN OF TY_VBAK,
VBELN TYPE VBAK-VBELN,
VKORG TYPE VBAK-VKORG,
VTWEG TYPE VBAK-VTWEG,
END OF TY_VBAK.
TYPES : BEGIN OF TY_VBAP,
VBELN TYPE VBAP-VBELN,
POSNR TYPE VBAP-POSNR,
MATNR TYPE VBAP-MATNR,
www.sapui5tutors.com/2017/02/alv-reports-example.html 17/21
3/25/2021 ALV Reports Example - SAPUI5 Tutorials
*&---------------------------------------------------------------------*
*& Form GET_DATA_VBAK
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM GET_DATA_VBAK .
SELECT * FROM VBAK INTO CORRESPONDING FIELDS OF TABLE I_VBAK UP TO 100 ROWS .
ENDFORM. "GET_DATA_VBAK
*&---------------------------------------------------------------------*
*& Form GET_DATA_VBAP
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM GET_DATA_VBAP .
IF I_VBAK IS NOT INITIAL .
SELECT * FROM VBAP INTO CORRESPONDING FIELDS OF TABLE I_VBAP
FOR ALL ENTRIES IN I_VBAK WHERE VBELN = I_VBAK-VBELN .
ENDIF .
ENDFORM. "GET_DATA_VBAP
*&---------------------------------------------------------------------*
*& Form CREATE_FCAT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM CREATE_FCAT .
WA_FCAT-COL_POS = '1' .
WA_FCAT-FIELDNAME = 'VBELN' .
WA_FCAT-TABNAME = 'I_VBAK' .
WA_FCAT-SELTEXT_M = 'Doc.NO' .
www.sapui5tutors.com/2017/02/alv-reports-example.html 18/21
3/25/2021 ALV Reports Example - SAPUI5 Tutorials
WA_FCAT-COL_POS = '2' .
WA_FCAT-FIELDNAME = 'VKORG' .
WA_FCAT-TABNAME = 'I_VBAK' .
WA_FCAT-SELTEXT_M = 'SalesOrg' .
APPEND WA_FCAT TO I_FCAT .
CLEAR WA_FCAT .
WA_FCAT-COL_POS = '3' .
WA_FCAT-FIELDNAME = 'VTWEG' .
WA_FCAT-TABNAME = 'I_VBAK' .
WA_FCAT-SELTEXT_M = 'D.CHANNEL' .
APPEND WA_FCAT TO I_FCAT .
CLEAR WA_FCAT .
WA_FCAT-COL_POS = '4' .
WA_FCAT-FIELDNAME = 'POSNR' .
WA_FCAT-TABNAME = 'I_VBAP' .
WA_FCAT-SELTEXT_M = 'ITEM.NO' .
APPEND WA_FCAT TO I_FCAT .
CLEAR WA_FCAT .
WA_FCAT-COL_POS = '5' .
WA_FCAT-FIELDNAME = 'MATNR' .
WA_FCAT-TABNAME = 'I_VBAP' .
WA_FCAT-SELTEXT_M = 'MAT.NO' .
APPEND WA_FCAT TO I_FCAT .
CLEAR WA_FCAT .
WA_FCAT-COL_POS = '6' .
WA_FCAT-FIELDNAME = 'NETWR' .
WA_FCAT-TABNAME = 'I_VBAP' .
WA_FCAT-DO_SUM = 'X'.
WA_FCAT-SELTEXT_M = 'NET.PRICE' .
APPEND WA_FCAT TO I_FCAT .
CLEAR WA_FCAT .
ENDFORM. "CREATE_FCAT
*&---------------------------------------------------------------------*
*& Form CALC_SUB_TOTALS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
www.sapui5tutors.com/2017/02/alv-reports-example.html 19/21
3/25/2021 ALV Reports Example - SAPUI5 Tutorials
FORM CALC_SUB_TOTALS.
WA_SORT-FIELDNAME = 'VBELN'.
WA_SORT-UP = 'X'.
WA_SORT-SUBTOT = 'X'.
APPEND WA_SORT TO I_SORT.
ENDFORM. "CALC_SUB_TOTALS
*&---------------------------------------------------------------------*
*& Form CREATE_HIERARCHY
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM CREATE_HIERARCHY .
KEY-HEADER01 = 'VBELN' .
KEY-ITEM01 = 'VBELN' .
ENDFORM. "CREATE_HIERARCHY
*&---------------------------------------------------------------------*
*& Form DISPLAY_ALV
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM DISPLAY_ALV .
CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IT_FIELDCAT = I_FCAT
IT_SORT = I_SORT
I_TABNAME_HEADER = 'I_VBAK'
I_TABNAME_ITEM = 'I_VBAP'
IS_KEYINFO = KEY
TABLES
T_OUTTAB_HEADER = I_VBAK
T_OUTTAB_ITEM = I_VBAP.
ENDFORM. "DISPLAY_ALV
www.sapui5tutors.com/2017/02/alv-reports-example.html 20/21
3/25/2021 ALV Reports Example - SAPUI5 Tutorials
www.sapui5tutors.com/2017/02/alv-reports-example.html 21/21