38
**** (1) ALV REPORT USING REUSE_ALV_LIST_DISPLAY FUNCTION MODULE*** data : it_flight type table of sflight, wa_flight type sflight. select-options : s_carrid for wa_flight-carrid. start-of-selection. select * from sflight into table it_flight where carrid in s_carrid. end-of-selection. call function 'REUSE_ALV_LIST_DISPLAY' EXPORTING I_CALLBACK_PROGRAM = SY-REPID " Pass the program name "which is stored in the system variable I_STRUCTURE_NAME = 'SFLIGHT' " Passing the name of " the Global dictionary structure tables t_outtab = it_flight . " Passing the "internal table name which holds the records to display

1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

Embed Size (px)

Citation preview

Page 1: 1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

**** (1) ALV REPORT USING REUSE_ALV_LIST_DISPLAY FUNCTION MODULE***

data : it_flight type table of sflight, wa_flight type sflight. select-options : s_carrid for wa_flight-carrid. start-of-selection. select * from sflight into table it_flight where carrid in s_carrid. end-of-selection.

call function 'REUSE_ALV_LIST_DISPLAY' EXPORTING

I_CALLBACK_PROGRAM = SY-REPID " Pass the program name "which is stored in the system variable

I_STRUCTURE_NAME = 'SFLIGHT' " Passing the name of " the Global dictionary structure tables

t_outtab = it_flight . " Passing the "internal table name which holds the records to display

Page 3: 1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

------------------------------------------------------------------

ALV REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE

data : itab type table of vbak. start-of-selection. select * from vbak into table itab UP TO 20 ROWS . end-of-selection. CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC' EXPORTING

I_CALLBACK_PROGRAM = SY-CPROG

I_STRUCTURE_NAME = 'VBAK' TABLES

T_OUTTAB = ITAB. Output-

------------------------------------------------------------

Page 4: 1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

* (3) ALV REPORT USING REUSE_ALV_GRID_DISPLAY FUNCTION MODULE*

data : it_flight type table of sflight, wa_flight type sflight. select-options : s_carrid for wa_flight-carrid.

start-of-selection. select * from sflight into table it_flight where carrid in s_carrid.

end-of-selection. call function 'REUSE_ALV_GRID_DISPLAY' EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

I_STRUCTURE_NAME = 'SFLIGHT' tables

t_outtab = IT_FLIGHT. Output-

Page 6: 1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

----------------------------------------------------------------------------------------------------------------------

(4) ALV REPORT USING REUSE_ALV_GRID_DISPLAY FUNCTION MODULE***

TYPE-POOLS : SLIS. data : it_flight type table of sflight, wa_flight type sflight.

DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV. select-options : s_carrid for wa_flight-carrid.

start-of-selection. select * from sflight into table it_flight where carrid in s_carrid.

call function 'REUSE_ALV_FIELDCATALOG_MERGE' EXPORTING

I_PROGRAM_NAME = SY-CPROG

I_STRUCTURE_NAME = 'SFLIGHT' changing

ct_fieldcat = IT_FIELDCAT.

call function 'REUSE_ALV_GRID_DISPLAY' EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

IT_FIELDCAT = IT_FIELDCAT

tables

t_outtab = IT_FLIGHT.

Page 8: 1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

(5) ALV REPORT USING REUSE_ALV_GRID_DISPLAY FUNCTION MODULE& FIELD CATALOG & LAYOUT

type-pools : slis. types : begin of ty_flight, CH TYPE C, carrid type sflight-carrid, connid type sflight-connid, fldate type sflight-fldate, price type sflight-price, seatsmax type sflight-seatsmax, seatsocc type sflight-seatsocc, end of ty_flight.

data : it_flight type table of ty_flight, wa_flight type ty_flight.

data : it_fieldcat type slis_t_fieldcat_alv, wa_fieldcat type slis_fieldcat_alv.

DATA : WA_LAYOUT TYPE SLIS_LAYOUT_ALV. select-options : s_carrid for wa_flight-carrid.

start-of-selection. select * from sflight into corresponding fields of table it_flight where carrid in s_carrid. ****** Building field catalog for the ALV ****************

wa_fieldcat-row_pos = 1. wa_fieldcat-col_pos = 1. wa_fieldcat-fieldname = 'CH'. wa_fieldcat-TABNAME = 'IT_FLIGHT'. wa_fieldcat-CHECKBOX = 'X'. wa_fieldcat-SELTEXT_S = 'CHECK'.

APPEND WA_FIELDCAT TO IT_FIELDCAT. CLEAR WA_FIELDCAT.

Page 9: 1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

wa_fieldcat-row_pos = 1. wa_fieldcat-col_pos = 2. wa_fieldcat-fieldname = 'CARRID'. wa_fieldcat-TABNAME = 'IT_FLIGHT'. wa_fieldcat-REF_TABNAME = 'SFLIGHT'. wa_fieldcat-KEY = 'X'. wa_fieldcat-SELTEXT_S = 'FLIGHT CODE'. APPEND WA_FIELDCAT TO IT_FIELDCAT. CLEAR WA_FIELDCAT.

wa_fieldcat-row_pos = 1. wa_fieldcat-col_pos = 3. wa_fieldcat-fieldname = 'CONNID'. wa_fieldcat-TABNAME = 'IT_FLIGHT'. wa_fieldcat-REF_TABNAME = 'SFLIGHT'. wa_fieldcat-KEY = 'X'. APPEND WA_FIELDCAT TO IT_FIELDCAT. CLEAR WA_FIELDCAT.

wa_fieldcat-row_pos = 1. wa_fieldcat-col_pos = 4. wa_fieldcat-fieldname = 'FLDATE'. wa_fieldcat-TABNAME = 'IT_FLIGHT'. wa_fieldcat-REF_TABNAME = 'SFLIGHT'. wa_fieldcat-KEY = 'X'. APPEND WA_FIELDCAT TO IT_FIELDCAT. CLEAR WA_FIELDCAT.

wa_fieldcat-row_pos = 1. wa_fieldcat-col_pos = 5. wa_fieldcat-fieldname = 'PRICE'. wa_fieldcat-TABNAME = 'IT_FLIGHT'. wa_fieldcat-REF_TABNAME = 'SFLIGHT'. wa_fieldcat-EMPHASIZE = 'C515'. APPEND WA_FIELDCAT TO IT_FIELDCAT.

Page 10: 1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

CLEAR WA_FIELDCAT.

wa_fieldcat-row_pos = 1. wa_fieldcat-col_pos = 6. wa_fieldcat-fieldname = 'SEATSMAX'. wa_fieldcat-TABNAME = 'IT_FLIGHT'. wa_fieldcat-REF_TABNAME = 'SFLIGHT'. wa_fieldcat-EMPHASIZE = 'C615'. APPEND WA_FIELDCAT TO IT_FIELDCAT. CLEAR WA_FIELDCAT.

wa_fieldcat-row_pos = 1. wa_fieldcat-col_pos = 7. wa_fieldcat-fieldname = 'SEATSOCC'. wa_fieldcat-TABNAME = 'IT_FLIGHT'. wa_fieldcat-REF_TABNAME = 'SFLIGHT'. wa_fieldcat-EMPHASIZE = 'C300'. * wa_fieldcat-no_out = 'X'. APPEND WA_FIELDCAT TO IT_FIELDCAT. CLEAR WA_FIELDCAT. ****** Building Layout for the ALV **********

WA_LAYOUT-NO_COLHEAD = 'X'. WA_LAYOUT-NO_VLINE = 'X'. WA_LAYOUT-NO_HLINE = 'X'. WA_LAYOUT-EDIT = 'X'. WA_LAYOUT-zebra = 'X'. WA_LAYOUT-colwidth_optimize = 'X'. call function 'REUSE_ALV_GRID_DISPLAY' EXPORTING

I_CALLBACK_PROGRAM = SY-CPROG

I_GRID_TITLE = 'Flight Details' IS_LAYOUT = WA_LAYOUT " pass the layout to the Func mod

Page 11: 1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

IT_FIELDCAT = IT_FIELDCAT " pass the fieldcatlog to func Mod

tables

t_outtab = IT_FLIGHT. Output-

Page 12: 1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

---------------------------------------------------------------

Page 13: 1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

(6) ALV REPORT USING REUSE_ALV_GRID_DISPLAY FUNCTION MODULE& FIELD CATALOG & LAYOUT & WITH HEADER LOGO

type-pools : slis. types : begin of ty_flight, CH TYPE C, carrid type sflight-carrid, connid type sflight-connid, fldate type sflight-fldate, price type sflight-price, seatsmax type sflight-seatsmax, seatsocc type sflight-seatsocc, end of ty_flight.

data : it_flight type table of ty_flight, wa_flight type ty_flight.

data : it_fieldcat type slis_t_fieldcat_alv, wa_fieldcat type slis_fieldcat_alv.

DATA : WA_LAYOUT TYPE SLIS_LAYOUT_ALV.

DATA : IT_HEADER TYPE SLIS_T_LISTHEADER, WA_HEADER TYPE SLIS_LISTHEADER.

select-options : s_carrid for wa_flight-carrid.

start-of-selection. select * from sflight into corresponding fields of table it_flight where carrid in s_carrid.

wa_fieldcat-row_pos = 1. wa_fieldcat-col_pos = 1. wa_fieldcat-fieldname = 'CH'. wa_fieldcat-TABNAME = 'IT_FLIGHT'. wa_fieldcat-CHECKBOX = 'X'. wa_fieldcat-SELTEXT_S = 'CHECK'.

APPEND WA_FIELDCAT TO IT_FIELDCAT. CLEAR WA_FIELDCAT.

Page 14: 1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

wa_fieldcat-row_pos = 1. wa_fieldcat-col_pos = 2. wa_fieldcat-fieldname = 'CARRID'. wa_fieldcat-TABNAME = 'IT_FLIGHT'. wa_fieldcat-REF_TABNAME = 'SFLIGHT'. wa_fieldcat-KEY = 'X'. wa_fieldcat-SELTEXT_S = 'FLIGHT CODE'. APPEND WA_FIELDCAT TO IT_FIELDCAT. CLEAR WA_FIELDCAT.

wa_fieldcat-row_pos = 1. wa_fieldcat-col_pos = 3. wa_fieldcat-fieldname = 'CONNID'. wa_fieldcat-TABNAME = 'IT_FLIGHT'. wa_fieldcat-REF_TABNAME = 'SFLIGHT'. wa_fieldcat-KEY = 'X'. APPEND WA_FIELDCAT TO IT_FIELDCAT. CLEAR WA_FIELDCAT.

wa_fieldcat-row_pos = 1. wa_fieldcat-col_pos = 4. wa_fieldcat-fieldname = 'FLDATE'. wa_fieldcat-TABNAME = 'IT_FLIGHT'. wa_fieldcat-REF_TABNAME = 'SFLIGHT'. wa_fieldcat-KEY = 'X'. APPEND WA_FIELDCAT TO IT_FIELDCAT. CLEAR WA_FIELDCAT.

wa_fieldcat-row_pos = 1. wa_fieldcat-col_pos = 5. wa_fieldcat-fieldname = 'PRICE'. wa_fieldcat-TABNAME = 'IT_FLIGHT'. wa_fieldcat-REF_TABNAME = 'SFLIGHT'. wa_fieldcat-EMPHASIZE = 'C515'. APPEND WA_FIELDCAT TO IT_FIELDCAT. CLEAR WA_FIELDCAT.

wa_fieldcat-row_pos = 1. wa_fieldcat-col_pos = 6. wa_fieldcat-fieldname = 'SEATSMAX'. wa_fieldcat-TABNAME = 'IT_FLIGHT'.

Page 15: 1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

wa_fieldcat-REF_TABNAME = 'SFLIGHT'. wa_fieldcat-EMPHASIZE = 'C615'. APPEND WA_FIELDCAT TO IT_FIELDCAT. CLEAR WA_FIELDCAT.

wa_fieldcat-row_pos = 1. wa_fieldcat-col_pos = 7. wa_fieldcat-fieldname = 'SEATSOCC'. wa_fieldcat-TABNAME = 'IT_FLIGHT'. wa_fieldcat-REF_TABNAME = 'SFLIGHT'. wa_fieldcat-EMPHASIZE = 'C300'. * wa_fieldcat-no_out = 'X'. APPEND WA_FIELDCAT TO IT_FIELDCAT. CLEAR WA_FIELDCAT.

WA_LAYOUT-NO_COLHEAD = 'X'. WA_LAYOUT-NO_VLINE = 'X'. WA_LAYOUT-NO_HLINE = 'X'. WA_LAYOUT-EDIT = 'X'. WA_LAYOUT-zebra = 'X'. WA_LAYOUT-colwidth_optimize = 'X'.

call function 'REUSE_ALV_GRID_DISPLAY' EXPORTING

I_CALLBACK_PROGRAM = SY-CPROG

I_CALLBACK_TOP_OF_PAGE = 'DISPLAY_LOGO' " SUBROUTINE NAME TO "DISPLAY LOGO

I_GRID_TITLE = 'Flight Details' IS_LAYOUT = WA_LAYOUT

IT_FIELDCAT = IT_FIELDCAT

tables

t_outtab = IT_FLIGHT.

FORM DISPLAY_LOGO.

WA_HEADER-TYP = 'H'. WA_HEADER-INFO = 'INDIAN AIRLINES'. APPEND WA_HEADER TO IT_HEADER. CLEAR WA_HEADER.

Page 16: 1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

call function 'REUSE_ALV_COMMENTARY_WRITE' exporting

it_list_commentary = IT_HEADER

I_LOGO = 'AEROPLANE'. " INSERT A LOGO IN ( OAER ) TRANSACTION

ENDFORM.

*********** (7) INTERACTIVE ALV REPORT USING REUSE_ALV_GRID_DISPLAY FUNCTION MODULE& FIELD CATALOG & LAYOUT & WITH HEADER LOGO*******

type-pools : slis. types : begin of ty_flight, carrid type sflight-carrid, connid type sflight-connid, fldate type sflight-fldate, price type sflight-price, seatsmax type sflight-seatsmax, seatsocc type sflight-seatsocc, end of ty_flight.

types : begin of ty_spfli, carrid type spfli-carrid, connid type spfli-connid, countryfr type spfli-countryfr, countryto type spfli-countryto, airpfrom type spfli-airpfrom, airpto type spfli-airpto, cityfrom type spfli-cityfrom, cityto type spfli-cityto, end of ty_spfli.

data : it_flight type table of ty_flight, wa_flight type ty_flight. data : it_spfli type table of ty_spfli, wa_spfli type ty_spfli.

data : it_fieldcat type slis_t_fieldcat_alv, wa_fieldcat type slis_fieldcat_alv.

Page 17: 1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

data : it_fieldcat1 type slis_t_fieldcat_alv, wa_fieldcat1 type slis_fieldcat_alv.

data : wa_layout type slis_layout_alv. data : wa_layout1 type slis_layout_alv.

data : it_header type slis_t_listheader, wa_header type slis_listheader.

data : it_header1 type slis_t_listheader, wa_header1 type slis_listheader.

select-options : s_carrid for wa_flight-carrid.

start-of-selection. select * from sflight into corresponding fields of table it_flight where carrid in s_carrid.

wa_fieldcat-row_pos = 1. wa_fieldcat-col_pos = 1. wa_fieldcat-fieldname = 'CARRID'. wa_fieldcat-tabname = 'IT_FLIGHT'. wa_fieldcat-ref_tabname = 'SFLIGHT'. wa_fieldcat-key = 'X'. wa_fieldcat-seltext_s = 'FLIGHT CODE'. append wa_fieldcat to it_fieldcat. clear wa_fieldcat.

wa_fieldcat-row_pos = 1. wa_fieldcat-col_pos = 2. wa_fieldcat-fieldname = 'CONNID'. wa_fieldcat-tabname = 'IT_FLIGHT'. wa_fieldcat-ref_tabname = 'SFLIGHT'. wa_fieldcat-key = 'X'. append wa_fieldcat to it_fieldcat. clear wa_fieldcat.

wa_fieldcat-row_pos = 1. wa_fieldcat-col_pos = 3. wa_fieldcat-fieldname = 'FLDATE'. wa_fieldcat-tabname = 'IT_FLIGHT'.

Page 18: 1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

wa_fieldcat-ref_tabname = 'SFLIGHT'. wa_fieldcat-key = 'X'. append wa_fieldcat to it_fieldcat. clear wa_fieldcat.

wa_fieldcat-row_pos = 1. wa_fieldcat-col_pos = 4. wa_fieldcat-fieldname = 'PRICE'. wa_fieldcat-tabname = 'IT_FLIGHT'. wa_fieldcat-ref_tabname = 'SFLIGHT'. wa_fieldcat-emphasize = 'C515'. append wa_fieldcat to it_fieldcat. clear wa_fieldcat.

wa_fieldcat-row_pos = 1. wa_fieldcat-col_pos = 5. wa_fieldcat-fieldname = 'SEATSMAX'. wa_fieldcat-tabname = 'IT_FLIGHT'. wa_fieldcat-ref_tabname = 'SFLIGHT'. wa_fieldcat-emphasize = 'C615'. append wa_fieldcat to it_fieldcat. clear wa_fieldcat.

wa_fieldcat-row_pos = 1. wa_fieldcat-col_pos = 6. wa_fieldcat-fieldname = 'SEATSOCC'. wa_fieldcat-tabname = 'IT_FLIGHT'. wa_fieldcat-ref_tabname = 'SFLIGHT'. wa_fieldcat-emphasize = 'C300'. * wa_fieldcat-no_out = 'X'. append wa_fieldcat to it_fieldcat. clear wa_fieldcat.

WA_LAYOUT-NO_COLHEAD = 'X'. WA_LAYOUT-NO_VLINE = 'X'. WA_LAYOUT-NO_HLINE = 'X'. WA_LAYOUT-EDIT = 'X'. WA_LAYOUT-zebra = 'X'. wa_layout-colwidth_optimize = 'X'. call function 'REUSE_ALV_GRID_DISPLAY'

Page 19: 1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

exporting

i_callback_program = sy-cprog

i_callback_user_command = 'DISPLAY_SECOND_ALV' " SUBROUTINE " NAME FOR INERACTIVE LIST

i_callback_top_of_page = 'DISPLAY_LOGO' " SUBROUTINE NAME FOR "LOGO

i_grid_title = 'Flight Details' is_layout = wa_layout

it_fieldcat = it_fieldcat

tables

t_outtab = it_flight. *----------------------------------------------------------------------*

form display_logo.

wa_header-typ = 'H'. wa_header-info = 'INDIAN AIRLINES'. append wa_header to it_header. clear wa_header.

call function 'REUSE_ALV_COMMENTARY_WRITE' exporting

it_list_commentary = it_header

i_logo = 'AEROPLANE'.

refresh it_header. endform. "DISPLAY_LOGO

*----------------------------------------------------------------------*

form display_second_alv using ok_code type sy-ucomm

selfield type slis_selfield.

case ok_code. when '&IC1'." fcode for double click

read table it_flight into wa_flight index selfield-tabindex.

select * from spfli into corresponding fields of table it_spfli where carrid = wa_flight-carrid.

wa_fieldcat1-row_pos = 1. wa_fieldcat1-col_pos = 1.

Page 20: 1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

wa_fieldcat1-fieldname = 'CARRID'. wa_fieldcat1-tabname = 'IT_SPFLI'. wa_fieldcat1-ref_tabname = 'SPFLI'. wa_fieldcat1-key = 'X'. wa_fieldcat1-seltext_s = 'FLIGHT CODE'. append wa_fieldcat1 to it_fieldcat1. clear wa_fieldcat1.

wa_fieldcat1-row_pos = 1. wa_fieldcat1-col_pos = 2. wa_fieldcat1-fieldname = 'CONNID'. wa_fieldcat1-tabname = 'IT_SPFLI'. wa_fieldcat1-ref_tabname = 'SPFLI'. wa_fieldcat1-key = 'X'. wa_fieldcat1-seltext_s = 'FLIGHT CONN'. append wa_fieldcat1 to it_fieldcat1. clear wa_fieldcat1.

wa_fieldcat1-row_pos = 1. wa_fieldcat1-col_pos = 3. wa_fieldcat1-fieldname = 'COUNTRYFR'. wa_fieldcat1-tabname = 'IT_SPFLI'. wa_fieldcat1-ref_tabname = 'SPFLI'. wa_fieldcat1-seltext_s = 'COUNTRY FROM'. append wa_fieldcat1 to it_fieldcat1. clear wa_fieldcat1.

wa_fieldcat1-row_pos = 1. wa_fieldcat1-col_pos = 4. wa_fieldcat1-fieldname = 'COUNTRYTO'. wa_fieldcat1-tabname = 'IT_SPFLI'. wa_fieldcat1-ref_tabname = 'SPFLI'. wa_fieldcat1-seltext_s = 'COUNTRY TO'. append wa_fieldcat1 to it_fieldcat1. clear wa_fieldcat1.

wa_fieldcat1-row_pos = 1. wa_fieldcat1-col_pos = 5. wa_fieldcat1-fieldname = 'AIRPFROM'. wa_fieldcat1-tabname = 'IT_SPFLI'. wa_fieldcat1-ref_tabname = 'SPFLI'.

Page 21: 1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

wa_fieldcat1-seltext_s = 'AIRPORT FROM'. append wa_fieldcat1 to it_fieldcat1. clear wa_fieldcat1.

wa_fieldcat1-row_pos = 1. wa_fieldcat1-col_pos = 6. wa_fieldcat1-fieldname = 'AIRPTO'. wa_fieldcat1-tabname = 'IT_SPFLI'. wa_fieldcat1-ref_tabname = 'SPFLI'. wa_fieldcat1-seltext_s = 'AIRPORT TO'. append wa_fieldcat1 to it_fieldcat1. clear wa_fieldcat1.

wa_fieldcat1-row_pos = 1. wa_fieldcat1-col_pos = 7. wa_fieldcat1-fieldname = 'CITYFROM'. wa_fieldcat1-tabname = 'IT_SPFLI'. wa_fieldcat1-ref_tabname = 'SPFLI'. wa_fieldcat1-seltext_s = 'CITY FROM'. append wa_fieldcat1 to it_fieldcat1. clear wa_fieldcat1.

wa_fieldcat1-row_pos = 1. wa_fieldcat1-col_pos = 8. wa_fieldcat1-fieldname = 'CITYTO'. wa_fieldcat1-tabname = 'IT_SPFLI'. wa_fieldcat1-ref_tabname = 'SPFLI'. wa_fieldcat1-seltext_s = 'CITY TO'. append wa_fieldcat1 to it_fieldcat1. clear wa_fieldcat1.

wa_layout1-zebra = 'X'. wa_layout1-colwidth_optimize = 'X'. call function 'REUSE_ALV_GRID_DISPLAY' exporting

i_callback_program = sy-cprog

I_CALLBACK_TOP_OF_PAGE = 'PAGE_HEAD1' is_layout = wa_layout1

it_fieldcat = it_fieldcat1

tables

Page 22: 1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

t_outtab = it_spfli. endcase. endform. "DISPLAY_SECOND_ALV

FORM PAGE_HEAD1. wa_header1-typ = 'H'. wa_header1-info = 'JET AIRLINES'. append wa_header1 to it_header1. clear wa_header1.

call function 'REUSE_ALV_COMMENTARY_WRITE' exporting

it_list_commentary = it_header1

i_logo = 'AEROPLANE'. REFRESH IT_HEADER1. ENDFORM.

*********** (8) BLOCKED ALV REPORT *************

TYPE-POOLS : SLIS. DATA : IT_SPFLI TYPE TABLE OF SPFLI, IT_SFLIGHT TYPE TABLE OF SFLIGHT, IT_SBOOK TYPE TABLE OF SBOOK.

DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV. DATA : WA_LAYOUT TYPE SLIS_LAYOUT_ALV. DATA : IT_EVENT TYPE SLIS_T_EVENT. START-OF-SELECTION.

PERFORM FETCH_DATA.

END-OF-SELECTION. PERFORM BLOCKED_ALV_INITIALIZATION.

PERFORM FIELD_CAT USING 'IT_SPFLI' 'SPFLI'. PERFORM BLOCKED_ALV_APPEND USING 'IT_SPFLI' IT_SPFLI. REFRESH IT_FIELDCAT[].

PERFORM FIELD_CAT USING 'IT_SFLIGHT' 'SFLIGHT'. PERFORM BLOCKED_ALV_APPEND USING 'IT_SFLIGHT' IT_SFLIGHT.

Page 23: 1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

REFRESH IT_FIELDCAT[].

PERFORM FIELD_CAT USING 'IT_SBOOK' 'SBOOK'. PERFORM BLOCKED_ALV_APPEND USING 'IT_SBOOK' IT_SBOOK. REFRESH IT_FIELDCAT[]. PERFORM BLOCKED_ALV_DISPLAY. *----------------------------------------------------------------------*

form FETCH_DATA . SELECT * FROM SPFLI INTO TABLE IT_SPFLI UP TO 10 ROWS. SELECT * FROM SFLIGHT INTO TABLE IT_SFLIGHT UP TO 10 ROWS. SELECT * FROM SBOOK INTO TABLE IT_SBOOK UP TO 10 ROWS. endform. " FETCH_DATA

*----------------------------------------------------------------------*

form BLOCKED_ALV_INITIALIZATION . call function 'REUSE_ALV_BLOCK_LIST_INIT' exporting

i_callback_program = SY-CPROG. endform. " BLOCKED_ALV_INITIALIZATION

*----------------------------------------------------------------------*

form FIELD_CAT using ITAB TYPE C

TAB_STRUC TYPE C.

call function 'REUSE_ALV_FIELDCATALOG_MERGE' EXPORTING

I_PROGRAM_NAME = SY-CPROG

I_INTERNAL_TABNAME = ITAB

I_STRUCTURE_NAME = TAB_STRUC

changing

ct_fieldcat = IT_FIELDCAT.

endform. " FIELD_CAT

*----------------------------------------------------------------------*

form BLOCKED_ALV_APPEND using ITAB1 TYPE C

ITAB2 TYPE STANDARD TABLE.

call function 'REUSE_ALV_BLOCK_LIST_APPEND' exporting

is_layout = WA_LAYOUT

it_fieldcat = IT_FIELDCAT

i_tabname = ITAB1

Page 24: 1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

it_events = IT_EVENT

tables

t_outtab = ITAB2.

endform. " BLOCKED_ALV_APPEND

*----------------------------------------------------------------------*

form BLOCKED_ALV_DISPLAY . call function 'REUSE_ALV_BLOCK_LIST_DISPLAY'.

endform. " BLOCKED_ALV_DISPLAY

Output-

Page 25: 1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

*********** (9) SIMPLE TREE ALV REPORT **************

type-pools : slis. types : begin of ty_scarr, carrid type scarr-carrid, end of ty_scarr. types : begin of ty_spfli, carrid type spfli-carrid, connid type spfli-connid, end of ty_spfli.

types : begin of ty_sflight, carrid type sflight-carrid, connid type sflight-connid, fldate type sflight-fldate, end of ty_sflight.

data : it_scarr type table of ty_scarr , wa_scarr type ty_scarr, it_spfli type table of ty_spfli, wa_spfli type ty_spfli, it_sflight type table of ty_sflight , wa_sflight type ty_sflight, it_node type table of snodetext, wa_node type snodetext .

start-of-selection. perform data-fetch. perform build_tree. perform display_tree. *----------------------------------------------------------------------*

form data-fetch . select carrid from scarr into table it_scarr.

if it_scarr is not initial. select carrid connid from spfli into table it_spfli for all entries in it_scarr where carrid = it_scarr-carrid. if it_spfli is not initial. select carrid

connid

Page 26: 1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

fldate from sflight into table it_sflight for all entries in it_spfli where carrid = it_spfli-carrid and connid = it_spfli-connid. endif. endif.

sort : it_scarr by carrid, it_spfli by carrid connid, it_sflight by carrid connid fldate. endform. " DATA-FETCH

*----------------------------------------------------------------------*

form build_tree . clear : wa_node, it_node.

wa_node-type = 'T'. wa_node-name = 'Airline'. wa_node-tlevel = '01'. wa_node-nlength = '08'. wa_node-color = '05'. wa_node-text = 'CODE'. wa_node-tlength = '04'. wa_node-tcolor = '05'. append wa_node to it_node. clear wa_node.

loop at it_scarr into wa_scarr. wa_node-type = 'P'. wa_node-name = 'CARRID'. wa_node-tlevel = '02'. wa_node-nlength = '08'. wa_node-color = '06'. wa_node-text = wa_scarr-carrid. wa_node-tlength = '04'. wa_node-tcolor = '06'. append wa_node to it_node. clear wa_node.

loop at it_spfli into wa_spfli. wa_node-type = 'P'. wa_node-name = 'CONNID'. wa_node-tlevel = '03'.

Page 27: 1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

wa_node-nlength = '08'. wa_node-color = '04'. wa_node-text = wa_spfli-connid. wa_node-tlength = '04'. wa_node-tcolor = '04'. append wa_node to it_node. clear wa_node.

LOOP AT IT_SFLIGHT INTO WA_SFLIGHT. wa_node-type = 'P'. wa_node-name = 'fldate'. wa_node-tlevel = '04'. wa_node-nlength = '06'. wa_node-color = '04'. wa_node-text = wa_sflight-fldate. wa_node-tlength = '10'. wa_node-tcolor = '04'. append wa_node to it_node. clear wa_node.

ENDLOOP. endloop. endloop. endform. " BUILD_TREE

*----------------------------------------------------------------------*

form display_tree . call function 'RS_TREE_CONSTRUCT' * EXPORTING

* INSERT_ID = '000000' * RELATIONSHIP = ' ' * LOG =

tables

nodetab = it_node. call function 'RS_TREE_LIST_DISPLAY' exporting

callback_program = sy-cprog. . endform. " DISPLAY_TREE

Output-

Page 29: 1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

****** (10) INTERACTIVE TREE ALV REPORT ********

type-pools : slis. types : begin of ty_scarr, carrid type scarr-carrid, end of ty_scarr. types : begin of ty_spfli, carrid type spfli-carrid, connid type spfli-connid, end of ty_spfli.

types : begin of ty_sflight, carrid type sflight-carrid, connid type sflight-connid, fldate type sflight-fldate, end of ty_sflight.

data : it_scarr type table of ty_scarr , wa_scarr type ty_scarr, it_spfli type table of ty_spfli, wa_spfli type ty_spfli, it_sflight type table of ty_sflight , wa_sflight type ty_sflight, it_node type table of snodetext, wa_node type snodetext . data : it_fcat type slis_t_fieldcat_alv, wa_fcat type slis_fieldcat_alv.

start-of-selection. perform data-fetch. perform build_tree. perform display_tree. *----------------------------------------------------------------------*

form data-fetch . select carrid from scarr into table it_scarr.

if it_scarr is not initial. select carrid connid from spfli into table it_spfli for all entries in it_scarr where carrid = it_scarr-carrid. endif.

Page 30: 1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

sort : it_scarr by carrid, it_spfli by carrid connid.

endform. " DATA-FETCH

*----------------------------------------------------------------------*

form build_tree . clear : wa_node, it_node.

wa_node-type = 'T'. wa_node-name = 'Airline'. wa_node-tlevel = '01'. wa_node-nlength = '08'. wa_node-color = '05'. wa_node-text = 'CODE'. wa_node-tlength = '04'. wa_node-tcolor = '05'. append wa_node to it_node. clear wa_node.

loop at it_scarr into wa_scarr. wa_node-type = 'P'. wa_node-name = 'CARRID'. wa_node-tlevel = '02'. wa_node-nlength = '08'. wa_node-color = '06'. wa_node-text = wa_scarr-carrid. wa_node-tlength = '04'. wa_node-tcolor = '06'. append wa_node to it_node. clear wa_node.

loop at it_spfli into wa_spfli. wa_node-type = 'P'. wa_node-name = 'CONNID'. wa_node-tlevel = '03'. wa_node-nlength = '08'. wa_node-color = '04'. wa_node-text = wa_spfli-connid. wa_node-tlength = '04'. wa_node-tcolor = '04'. append wa_node to it_node.

Page 31: 1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

clear wa_node.

endloop. endloop. endform. " BUILD_TREE

*----------------------------------------------------------------------*

form display_tree . call function 'RS_TREE_CONSTRUCT' * EXPORTING

* INSERT_ID = '000000' * RELATIONSHIP = ' ' * LOG =

tables

nodetab = it_node. call function 'RS_TREE_LIST_DISPLAY' exporting

callback_program = sy-cprog

callback_user_command = 'INTERACTIVE_LIST' CALLBACK_GUI_STATUS = 'SET_GUI_STATUS'. endform. " DISPLAY_TREE

*----------------------------------------------------------------------*

form interactive_list tables node structure seucomm

using command " DOUBLE CLICK F2 -FCODE-TRSL

changing exit

list_refresh.

list_refresh = 'M'.

if node-tlevel = '03'. select carrid connid fldate from sflight into table it_sflight where connid = node-text.

wa_fcat-row_pos = '1'. wa_fcat-col_pos = '1'. wa_fcat-fieldname = 'CARRID'. wa_fcat-key = 'X'. wa_fcat-seltext_m = 'airline carrier'. wa_fcat-hotspot = 'X'. append wa_fcat to it_fcat. clear wa_fcat.

Page 32: 1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

wa_fcat-row_pos = '1'. wa_fcat-col_pos = '2'. wa_fcat-fieldname = 'CONNID'. wa_fcat-key = 'X'. wa_fcat-seltext_m = 'airline cONNECTION'. wa_fcat-hotspot = 'X'. append wa_fcat to it_fcat. clear wa_fcat.

wa_fcat-row_pos = '1'. wa_fcat-col_pos = '3'. wa_fcat-fieldname = 'FLDATE'. wa_fcat-key = 'X'. wa_fcat-seltext_m = 'airline DAT'. wa_fcat-hotspot = 'X'. append wa_fcat to it_fcat. clear wa_fcat.

call function 'REUSE_ALV_GRID_DISPLAY' exporting

i_callback_program = sy-cprog

it_fieldcat = it_fcat

tables

t_outtab = it_sflight. REFRESH : IT_SFLIGHT[], IT_FCAT[].

endif. endform. "INTERACTIVE_LIST

FORM SET_GUI_STATUS. SET PF-STATUS 'STST'. ENDFORM.

Page 33: 1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

**** (11) HEIRARCHICAL SQUENTIAL ALV REPORT*****

type-pools : slis , icon.

types : begin of ty_dd02l, icon type icon_d, tabname type tabname, tabclass type tabclass, contflag type contflag, actflag type actflag, mainflag type maintflag, buffered type buffered, as4user type as4user, as4date type as4date, as4time type as4time, expand, end of ty_dd02l.

types : begin of ty_dd03l, tabname type tabname, fieldname type fieldname, keyflag type keyflag, mandatory type mandatory, checktable type checktable, rollname type rollname, end of ty_dd03l.

data : it_dd02l type standard table of ty_dd02l, wa_dd02l type ty_dd02l, it_dd03l type standard table of ty_dd03l, wa_dd03l type ty_dd03l.

data : it_fieldcat type slis_t_fieldcat_alv, wa_fieldcat type slis_fieldcat_alv, wa_layout type slis_layout_alv, key type slis_keyinfo_alv. select-options : s_table for wa_dd02l-tabname no intervals.

start-of-selection. perform fetch_data. perform build_catalog.

Page 34: 1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

perform build_layout. perform build_key. perform dispaly_hier_alv. *----------------------------------------------------------------------*

form fetch_data . select * from dd02l into corresponding fields of table it_dd02l where tabname in s_table. if it_dd02l is not initial. select * from dd03l into corresponding fields of table it_dd03l for all entries in it_dd02l where tabname = it_dd02l-tabname. endif.

LOOP AT IT_DD02L INTO WA_DD02L. AT NEW TABNAME. WA_DD02L-ICON = '@3M@'. MODIFY IT_DD02L FROM WA_DD02L TRANSPORTING ICON WHERE TABNAME = WA_DD02L-TABNAME. CLEAR WA_DD02L. ENDAT. ENDLOOP. endform. " FETCH_DATA

*----------------------------------------------------------------------*

form build_catalog . clear wa_fieldcat. wa_fieldcat-col_pos = 1. wa_fieldcat-fieldname = 'TABNAME'. wa_fieldcat-tabname = 'IT_DD02L'. wa_fieldcat-seltext_m = 'Tablename'. wa_fieldcat-key = 'X'. wa_fieldcat-emphasize = 'C610'. append wa_fieldcat to it_fieldcat. clear wa_fieldcat.

wa_fieldcat-col_pos = 2. wa_fieldcat-fieldname = 'TABCLASS'. wa_fieldcat-tabname = 'IT_DD02L'. wa_fieldcat-seltext_m = 'Tablecategory'. wa_fieldcat-emphasize = 'C600'. append wa_fieldcat to it_fieldcat.

Page 35: 1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

clear wa_fieldcat.

wa_fieldcat-col_pos = 3. wa_fieldcat-fieldname = 'CONTFLAG'. wa_fieldcat-tabname = 'IT_DD02L'. wa_fieldcat-seltext_m = 'DeliveryClass'. wa_fieldcat-emphasize = 'C510'. append wa_fieldcat to it_fieldcat. clear wa_fieldcat.

wa_fieldcat-col_pos = 4. wa_fieldcat-fieldname = 'ACTFLAG'. wa_fieldcat-tabname = 'IT_DD02L'. wa_fieldcat-seltext_m = 'Activationstatus'. wa_fieldcat-emphasize = 'C500'. append wa_fieldcat to it_fieldcat. clear wa_fieldcat. wa_fieldcat-col_pos = 5. wa_fieldcat-fieldname = 'MAINFLAG'. wa_fieldcat-tabname = 'IT_DD02L'. wa_fieldcat-seltext_m = 'MaintainenceFlag'. wa_fieldcat-emphasize = 'C410'. append wa_fieldcat to it_fieldcat. clear wa_fieldcat.

wa_fieldcat-col_pos = 6. wa_fieldcat-fieldname = 'BUFFERED'. wa_fieldcat-tabname = 'IT_DD02L'. wa_fieldcat-seltext_m = 'BufferFlag'. wa_fieldcat-emphasize = 'C400'. append wa_fieldcat to it_fieldcat. clear wa_fieldcat. wa_fieldcat-col_pos = 7. wa_fieldcat-fieldname = 'AS4USER'. wa_fieldcat-tabname = 'IT_DD02L'. wa_fieldcat-seltext_m = 'User'. wa_fieldcat-emphasize = 'C310'. append wa_fieldcat to it_fieldcat.

Page 36: 1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

clear wa_fieldcat.

wa_fieldcat-col_pos = 8. wa_fieldcat-fieldname = 'AS4DATE'. wa_fieldcat-tabname = 'IT_DD02L'. wa_fieldcat-seltext_m = 'Date'. wa_fieldcat-emphasize = 'C300'. append wa_fieldcat to it_fieldcat. clear wa_fieldcat.

wa_fieldcat-col_pos = 9. wa_fieldcat-fieldname = 'AS4TIME'. wa_fieldcat-tabname = 'IT_DD02L'. wa_fieldcat-seltext_m = 'Time'. wa_fieldcat-emphasize = 'C210'. append wa_fieldcat to it_fieldcat. clear wa_fieldcat.

wa_fieldcat-col_pos = 10. wa_fieldcat-fieldname = 'ICON'. wa_fieldcat-tabname = 'IT_DD02L'. wa_fieldcat-seltext_m = 'ICON'. wa_fieldcat-icon = 'X'. append wa_fieldcat to it_fieldcat. clear wa_fieldcat.

wa_fieldcat-col_pos = 11. wa_fieldcat-fieldname = 'FIELDNAME'. wa_fieldcat-tabname = 'IT_DD03L'. wa_fieldcat-key = 'X'. wa_fieldcat-seltext_m = 'Field'. wa_fieldcat-emphasize = 'C600'. append wa_fieldcat to it_fieldcat. clear wa_fieldcat

wa_fieldcat-col_pos = 12. wa_fieldcat-fieldname = 'KEYFLAG'. wa_fieldcat-tabname = 'IT_DD03L'. wa_fieldcat-seltext_m = 'Key'. wa_fieldcat-emphasize = 'C500'. append wa_fieldcat to it_fieldcat.

Page 37: 1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

clear wa_fieldcat.

wa_fieldcat-col_pos = 13. wa_fieldcat-fieldname = 'CHECKTABLE'. wa_fieldcat-tabname = 'IT_DD03L'. wa_fieldcat-seltext_m = 'Checktable'. wa_fieldcat-emphasize = 'C400'. append wa_fieldcat to it_fieldcat. clear wa_fieldcat.

wa_fieldcat-col_pos = 14. wa_fieldcat-fieldname = 'MANDATORY'. wa_fieldcat-tabname = 'IT_DD03L'. wa_fieldcat-seltext_m = 'Mandatory'. wa_fieldcat-emphasize = 'C300'. append wa_fieldcat to it_fieldcat. clear wa_fieldcat.

wa_fieldcat-col_pos = 15. wa_fieldcat-fieldname = 'ROLLNAME'. wa_fieldcat-tabname = 'IT_DD03L'. wa_fieldcat-seltext_m = 'Dataelement'. wa_fieldcat-emphasize = 'C200'. append wa_fieldcat to it_fieldcat. clear wa_fieldcat. endform. " BUILD_CATALOG

*----------------------------------------------------------------------*

form build_layout . wa_layout-expand_fieldname = 'EXPAND'. wa_layout-window_titlebar = 'Hierarchical ALV list display'. wa_layout-lights_tabname = 'IT_DD03L'. wa_layout-colwidth_optimize = 'X'. endform. " BUILD_LAYOUT

*----------------------------------------------------------------------*

form BUILD_KEY . key-header01 = 'TABNAME'. key-item01 = 'TABNAME'. endform. " BUILD_KEY

*----------------------------------------------------------------------*

form DISPALY_HIER_ALV .

Page 38: 1) ALV REPORT USING REUSE ALV LIST DISPLAY … REPORT USING REUSE_ALV_GRID_DISPLAY_LVC FUNCTION MODULE data : itab type table of vbak. start-of-selection. select * from vbak into table

call function 'REUSE_ALV_HIERSEQ_LIST_DISPLAY' exporting

I_CALLBACK_PROGRAM = sy-cprog

IS_LAYOUT = wa_layout

IT_FIELDCAT = it_fieldcat

i_tabname_header = 'IT_DD02L' i_tabname_item = 'IT_DD03L' is_keyinfo = key

tables

t_outtab_header = it_dd02l t_outtab_item = it_dd03l.

endform. " DISPALY_HIER_ALV

Output-

------------------------------------------------------------------------------