Alv Programming Examples
Alv Programming Examples
html
ALV REPORTS
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.
*********** (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. 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'. 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 = I_GRID_TITLE = IS_LAYOUT = module IT_FIELDCAT = function Module
SY-CPROG 'Flight Details' WA_LAYOUT " pass the layout to the Function IT_FIELDCAT " pass the fieldcatlog to the
tables t_outtab
= IT_FLIGHT.
*********** (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. 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'. 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 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
TO DISPLAY
*********** (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. 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'. 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' exporting i_callback_program = i_callback_user_command = INERACTIVE LIST i_callback_top_of_page = i_grid_title = is_layout = it_fieldcat = tables
sy-cprog 'DISPLAY_SECOND_ALV' " SUBROUTINE NAME FOR 'DISPLAY_LOGO' " SUBROUTINE NAME FOR LOGO 'Flight Details' wa_layout it_fieldcat
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. 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'. 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 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
= 'AEROPLANE'.
*----------------------------------------------------------------------* form BLOCKED_ALV_APPEND using ITAB1 TYPE C ITAB2 TYPE STANDARD TABLE. call function 'REUSE_ALV_BLOCK_LIST_APPEND' exporting
= = = =
= ITAB2.
endform. " BLOCKED_ALV_APPEND *----------------------------------------------------------------------* form BLOCKED_ALV_DISPLAY . call function 'REUSE_ALV_BLOCK_LIST_DISPLAY'. endform. " BLOCKED_ALV_DISPLAY
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. 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.
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. 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.
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. FORM SET_GUI_STATUS. SET PF-STATUS 'STST'. ENDFORM. "INTERACTIVE_LIST
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. 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_DD02LTABNAME. 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 = wa_fieldcat-fieldname wa_fieldcat-tabname = wa_fieldcat-seltext_m wa_fieldcat-emphasize append wa_fieldcat to clear wa_fieldcat. wa_fieldcat-col_pos = wa_fieldcat-fieldname wa_fieldcat-tabname = wa_fieldcat-seltext_m wa_fieldcat-emphasize append wa_fieldcat to clear wa_fieldcat. 2. = 'TABCLASS'. 'IT_DD02L'. = 'Tablecategory'. = 'C600'. it_fieldcat. 3. = 'CONTFLAG'. 'IT_DD02L'. = 'DeliveryClass'. = 'C510'. it_fieldcat.
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 = wa_fieldcat-fieldname wa_fieldcat-tabname = wa_fieldcat-seltext_m wa_fieldcat-emphasize append wa_fieldcat to clear wa_fieldcat. wa_fieldcat-col_pos = wa_fieldcat-fieldname wa_fieldcat-tabname = wa_fieldcat-seltext_m wa_fieldcat-emphasize append wa_fieldcat to clear wa_fieldcat. wa_fieldcat-col_pos = wa_fieldcat-fieldname wa_fieldcat-tabname = wa_fieldcat-seltext_m wa_fieldcat-emphasize append wa_fieldcat to clear wa_fieldcat. wa_fieldcat-col_pos = wa_fieldcat-fieldname wa_fieldcat-tabname = wa_fieldcat-seltext_m wa_fieldcat-emphasize append wa_fieldcat to clear wa_fieldcat. 6. = 'BUFFERED'. 'IT_DD02L'. = 'BufferFlag'. = 'C400'. it_fieldcat. 7. = 'AS4USER'. 'IT_DD02L'. = 'User'. = 'C310'. it_fieldcat. 8. = 'AS4DATE'. 'IT_DD02L'. = 'Date'. = 'C300'. it_fieldcat. 9. = 'AS4TIME'. 'IT_DD02L'. = 'Time'. = 'C210'. it_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 wa_fieldcat-tabname = wa_fieldcat-seltext_m wa_fieldcat-emphasize append wa_fieldcat to clear wa_fieldcat. wa_fieldcat-col_pos = wa_fieldcat-fieldname wa_fieldcat-tabname = wa_fieldcat-seltext_m wa_fieldcat-emphasize append wa_fieldcat to clear wa_fieldcat. wa_fieldcat-col_pos = wa_fieldcat-fieldname wa_fieldcat-tabname = wa_fieldcat-seltext_m wa_fieldcat-emphasize append wa_fieldcat to clear wa_fieldcat.
= 'KEYFLAG'. 'IT_DD03L'. = 'Key'. = 'C500'. it_fieldcat. 13. = 'CHECKTABLE'. 'IT_DD03L'. = 'Checktable'. = 'C400'. it_fieldcat. 14. = 'MANDATORY'. 'IT_DD03L'. = 'Mandatory'. = 'C300'. it_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 . 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