*&---------------------------------------------------------------------* *& Include ZSOFTCOPY_GUI * *& * *&---------------------------------------------------------------------* *& * *& This file is part of ZSOFTCOPY. * *& * *& ZSOFTCOPY is free software: you can redistribute it and/or modify * *& it under the terms of the GNU General Public License as published * *& by the Free Software Foundation, either version 3 of the License, * *& or any later version. * *& * *& ZSOFTCOPY is distributed in the hope that it will be useful, * *& but WITHOUT ANY WARRANTY; without even the implied warranty of * *& MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * *& GNU General Public License for more details. * *& * *& You should have received a copy of the GNU General Public License * *& along with ZDOWNLOAD. If not, see . * *& * *&---------------------------------------------------------------------* *& * *& Author: Ruediger von Creytz ruediger.creytz@globalbit.net * *& Copyright: globalBIT, LLC http://www.globalbit.net * *& * *&---------------------------------------------------------------------* *----------------------------------------------------------------------- * Selection screen declaration *----------------------------------------------------------------------- SELECTION-SCREEN FUNCTION KEY 1. SELECTION-SCREEN FUNCTION KEY 2. SELECTION-SCREEN FUNCTION KEY 3. *----------------------------------------------------------------------- SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE t_choice. * Package SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 1(22) t_pack. SELECT-OPTIONS p_devcl FOR tdevc-devclass. SELECTION-SCREEN END OF LINE. * Folder SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 1(25) t_path. PARAMETERS p_folder TYPE rlgrap-filename MEMORY ID mfolder. SELECTION-SCREEN END OF LINE. SELECTION-SCREEN END OF BLOCK b1. *----------------------------------------------------------------------- SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE t_opts. * Add SourceCode SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 1(25) t_add_sc. PARAMETERS p_add_sc AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN END OF LINE. * Empty Tab: display|disabled|hidden SELECTION-SCREEN ULINE. SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 1(25) t_etab. PARAMETERS p_etab_n RADIOBUTTON GROUP etab. SELECTION-SCREEN COMMENT 34(10) t_etab_n FOR FIELD p_etab_n. PARAMETERS p_etab_d RADIOBUTTON GROUP etab DEFAULT 'X'. SELECTION-SCREEN COMMENT 49(10) t_etab_d FOR FIELD p_etab_d. PARAMETERS p_etab_h RADIOBUTTON GROUP etab. SELECTION-SCREEN COMMENT 64(10) t_etab_h FOR FIELD p_etab_h. SELECTION-SCREEN END OF LINE. * database content SELECTION-SCREEN ULINE. SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 1(25) t_dbcont. PARAMETERS p_dbcont AS CHECKBOX DEFAULT abap_true MODIF ID dis USER-COMMAND u_dbcont. SELECTION-SCREEN END OF LINE. SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 6(20) t_dbform. PARAMETERS p_db_csv AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 29(15) t_db_csv. PARAMETERS p_db_xml AS CHECKBOX DEFAULT abap_false. SELECTION-SCREEN COMMENT 47(15) t_db_xml. SELECTION-SCREEN END OF LINE. SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 6(20) t_dbmax. PARAMETERS p_dbmax TYPE i DEFAULT 2000. SELECTION-SCREEN END OF LINE. SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 6(17) t_dblim. SELECT-OPTIONS p_dblim FOR dd02l-tabname. SELECTION-SCREEN END OF LINE. SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 6(20) t_dbcls. PARAMETERS p_dbclsa AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 29(4) t_dbclsa. PARAMETERS p_dbclsc AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 36(4) t_dbclsc. PARAMETERS p_dbclse AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 43(4) t_dbclse. PARAMETERS p_dbclsg AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 50(4) t_dbclsg. PARAMETERS p_dbclsl AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 57(4) t_dbclsl. PARAMETERS p_dbclss AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 64(4) t_dbclss. PARAMETERS p_dbclsw AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 71(4) t_dbclsw. SELECTION-SCREEN PUSHBUTTON 78(4) b_dbcls USER-COMMAND b_dbcls. SELECTION-SCREEN END OF LINE. * variants of reports SELECTION-SCREEN ULINE. SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 1(25) t_add_rv. PARAMETERS p_add_rv AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN END OF LINE. SELECTION-SCREEN END OF BLOCK b2. *----------------------------------------------------------------------- SELECTION-SCREEN: BEGIN OF BLOCK b3 WITH FRAME TITLE t_elems. SELECTION-SCREEN BEGIN OF LINE. * Dictionary Objects PARAMETERS p_ddic AS CHECKBOX DEFAULT abap_true MODIF ID dis USER-COMMAND u_ddic. SELECTION-SCREEN COMMENT 5(39) t_ddic. * Transactions PARAMETERS p_tran AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 49(39) t_tran. * --- SELECTION-SCREEN END OF LINE. SELECTION-SCREEN BEGIN OF LINE. * Dictionary Objects - Database Tables SELECTION-SCREEN POSITION 6. PARAMETERS p_tabl AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 10(34) t_tabl. * Message Classes PARAMETERS p_msag AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 49(39) t_msag. * --- SELECTION-SCREEN END OF LINE. SELECTION-SCREEN BEGIN OF LINE. * Dictionary Objects - Views SELECTION-SCREEN POSITION 6. PARAMETERS p_view AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 10(34) t_view. * SET/GET Parameters PARAMETERS p_para AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 49(39) t_para. * --- SELECTION-SCREEN END OF LINE. SELECTION-SCREEN BEGIN OF LINE. * Dictionary Objects - Table Types SELECTION-SCREEN POSITION 6. PARAMETERS p_ttyp AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 10(34) t_ttyp. * Authorization Object PARAMETERS p_tobj AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 49(39) t_tobj. * --- SELECTION-SCREEN END OF LINE. SELECTION-SCREEN BEGIN OF LINE. * Dictionary Objects - Structures SELECTION-SCREEN POSITION 6. PARAMETERS p_struc AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 10(34) t_struc. * Transformations PARAMETERS p_xslt AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 49(39) t_xslt. * --- SELECTION-SCREEN END OF LINE. SELECTION-SCREEN BEGIN OF LINE. * Dictionary Objects - Data Elements SELECTION-SCREEN POSITION 6. PARAMETERS p_dtel AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 10(34) t_dtel. * BSP Library PARAMETERS p_bsplib AS CHECKBOX DEFAULT abap_true MODIF ID dis USER-COMMAND u_bsplib. SELECTION-SCREEN COMMENT 49(39) t_bsplib. * --- SELECTION-SCREEN END OF LINE. SELECTION-SCREEN BEGIN OF LINE. * Dictionary Objects - Domains SELECTION-SCREEN POSITION 6. PARAMETERS p_doma AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 10(34) t_doma. * BSP Library - BSP Applications SELECTION-SCREEN POSITION 50. PARAMETERS p_bspapp AS CHECKBOX DEFAULT abap_true MODIF ID dis USER-COMMAND u_bspapp. SELECTION-SCREEN COMMENT 54(34) t_bspapp. * --- SELECTION-SCREEN END OF LINE. SELECTION-SCREEN BEGIN OF LINE. * Dictionary Objects - Search Helps SELECTION-SCREEN POSITION 6. PARAMETERS p_shlp AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 10(34) t_shlp. * BSP Library - BSP Applications - Controller SELECTION-SCREEN POSITION 55. PARAMETERS p_wctrl AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 59(29) t_wctrl. * --- SELECTION-SCREEN END OF LINE. SELECTION-SCREEN BEGIN OF LINE. * Dictionary Objects - Lock Objects SELECTION-SCREEN POSITION 6. PARAMETERS p_enqu AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 10(34) t_enqu. * BSP Library - BSP Applications - Views SELECTION-SCREEN POSITION 55. PARAMETERS p_wview AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 59(29) t_wview. * --- SELECTION-SCREEN END OF LINE. SELECTION-SCREEN BEGIN OF LINE. * Dictionary Objects - Type Groups SELECTION-SCREEN POSITION 6. PARAMETERS p_type AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 10(34) t_type. * BSP Library - BSP Applications - Pages with Flow Logic SELECTION-SCREEN POSITION 55. PARAMETERS p_wbsp AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 59(29) t_wbsp. * --- SELECTION-SCREEN END OF LINE. SELECTION-SCREEN BEGIN OF LINE. * Class Library PARAMETERS p_clslib AS CHECKBOX DEFAULT abap_true MODIF ID dis USER-COMMAND u_clslib. SELECTION-SCREEN COMMENT 5(39) t_clslib. * BSP Library - BSP Applications - Page Fragments SELECTION-SCREEN POSITION 55. PARAMETERS p_wincl AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 59(29) t_wincl. * --- SELECTION-SCREEN END OF LINE. SELECTION-SCREEN BEGIN OF LINE. * Class Library - Classes SELECTION-SCREEN POSITION 6. PARAMETERS p_clas AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 10(34) t_clas. * BSP Library - BSP Applications - MIMEs SELECTION-SCREEN POSITION 55. PARAMETERS p_wmime AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 59(29) t_wmime. * --- SELECTION-SCREEN END OF LINE. SELECTION-SCREEN BEGIN OF LINE. * Class Library - Interfaces SELECTION-SCREEN POSITION 6. PARAMETERS p_intf AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 10(34) t_intf. * BSP Library - BSP Extensions SELECTION-SCREEN POSITION 50. PARAMETERS p_bsptag AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 54(34) t_bsptag. * --- SELECTION-SCREEN END OF LINE. SELECTION-SCREEN BEGIN OF LINE. * Programs PARAMETERS p_prog AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 5(39) t_prog. * --- SELECTION-SCREEN END OF LINE. SELECTION-SCREEN BEGIN OF LINE. * Function Groups PARAMETERS p_fugr AS CHECKBOX DEFAULT abap_true MODIF ID dis USER-COMMAND u_fugr. SELECTION-SCREEN COMMENT 5(39) t_fugr. * --- SELECTION-SCREEN END OF LINE. SELECTION-SCREEN BEGIN OF LINE. * Function Groups - Function Modules SELECTION-SCREEN POSITION 6. PARAMETERS p_fuba AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 10(34) t_fuba. * --- SELECTION-SCREEN END OF LINE. SELECTION-SCREEN BEGIN OF LINE. * Function Groups - Screens SELECTION-SCREEN POSITION 6. PARAMETERS p_scr AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 10(34) t_scr. * --- SELECTION-SCREEN END OF LINE. SELECTION-SCREEN BEGIN OF LINE. * Function Groups - Includes SELECTION-SCREEN POSITION 6. PARAMETERS p_fuincl AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 10(34) t_fuincl. * --- SELECTION-SCREEN END OF LINE. SELECTION-SCREEN BEGIN OF LINE. * Includes PARAMETERS p_incl AS CHECKBOX DEFAULT abap_true. SELECTION-SCREEN COMMENT 5(39) t_incl. * --- SELECTION-SCREEN END OF LINE. SELECTION-SCREEN END OF BLOCK b3. *----------------------------------------------------------------------- * Display a directory picker window *----------------------------------------------------------------------- AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_folder. DATA: l_obj_file TYPE REF TO cl_gui_frontend_services, l_selected_folder TYPE string, l_initial_folder TYPE string, l_message TYPE string, l_txt TYPE string, l_subrc TYPE sysubrc. IF sy-batch IS INITIAL. PERFORM cl_gui_get_folder CHANGING l_selected_folder l_subrc. IF l_subrc = 0. p_folder = l_selected_folder. ELSE. PERFORM get_message_text USING 'EA' '334' p_folder space space space CHANGING l_message. PERFORM decode_html_io USING txt_please_enter_a_root_dir CHANGING l_txt. WRITE: / l_message, / l_txt. ENDIF. ENDIF. *----------------------------------------------------------------------- * at selection-screen *----------------------------------------------------------------------- AT SELECTION-SCREEN. CASE sscrfields-ucomm. WHEN 'FC01'. p_bsplib = abap_true. p_bspapp = abap_true. p_wbsp = abap_true. p_wctrl = abap_true. p_wincl = abap_true. p_wmime = abap_true. p_wview = abap_true. p_bsptag = abap_true. * p_clslib = abap_true. p_clas = abap_true. p_intf = abap_true. * p_ddic = abap_true. p_doma = abap_true. p_dtel = abap_true. p_enqu = abap_true. p_shlp = abap_true. p_struc = abap_true. p_tabl = abap_true. p_ttyp = abap_true. p_type = abap_true. p_view = abap_true. * p_fugr = abap_true. p_fuba = abap_true. p_fuincl = abap_true. p_scr = abap_true. * p_incl = abap_true. * p_msag = abap_true. * p_para = abap_true. * p_prog = abap_true. * p_tobj = abap_true. * p_tran = abap_true. * p_xslt = abap_true. WHEN 'FC02'. p_bsplib = abap_false. p_bspapp = abap_false. p_wbsp = abap_false. p_wctrl = abap_false. p_wincl = abap_false. p_wmime = abap_false. p_wview = abap_false. p_bsptag = abap_false. * p_clslib = abap_false. p_clas = abap_false. p_intf = abap_false. p_ddic = abap_false. p_doma = abap_false. p_dtel = abap_false. p_enqu = abap_false. p_shlp = abap_false. p_struc = abap_false. p_tabl = abap_false. p_ttyp = abap_false. p_type = abap_false. p_view = abap_false. * p_fugr = abap_false. p_fuba = abap_false. p_fuincl = abap_false. p_scr = abap_false. * p_incl = abap_false. * p_msag = abap_false. * p_para = abap_false. * p_prog = abap_false. * p_tobj = abap_false. * p_tran = abap_false. * p_xslt = abap_false. WHEN 'FC03'. PERFORM gui_info_page. ENDCASE. *--------------------------- CASE sy-ucomm. WHEN 'B_DBCLS'. PERFORM gui_info_dbcls. WHEN 'U_BSPAPP'. IF p_bspapp = abap_false. p_wbsp = abap_false. p_wctrl = abap_false. p_wincl = abap_false. p_wmime = abap_false. p_wview = abap_false. ELSE. p_wbsp = abap_true. p_wctrl = abap_true. p_wincl = abap_true. p_wmime = abap_true. p_wview = abap_true. ENDIF. WHEN 'U_BSPLIB'. IF p_bsplib = abap_false. p_bspapp = abap_false. p_bsptag = abap_false. p_wbsp = abap_false. p_wctrl = abap_false. p_wincl = abap_false. p_wmime = abap_false. p_wview = abap_false. ELSE. p_bspapp = abap_true. p_bsptag = abap_true. p_wbsp = abap_true. p_wctrl = abap_true. p_wincl = abap_true. p_wmime = abap_true. p_wview = abap_true. ENDIF. WHEN 'U_CLSLIB'. IF p_clslib = abap_false. p_clas = abap_false. p_intf = abap_false. ELSE. p_clas = abap_true. p_intf = abap_true. ENDIF. WHEN 'U_DBCONT'. IF p_dbcont = abap_false. p_db_csv = abap_false. p_db_xml = abap_false. p_dbclsa = abap_false. p_dbclsc = abap_false. p_dbclsl = abap_false. p_dbclsg = abap_false. p_dbclse = abap_false. p_dbclss = abap_false. p_dbclsw = abap_false. ELSE. p_db_csv = abap_true. p_db_xml = abap_true. p_dbclsa = abap_true. p_dbclsc = abap_true. p_dbclsl = abap_true. p_dbclsg = abap_true. p_dbclse = abap_true. p_dbclss = abap_true. p_dbclsw = abap_true. ENDIF. WHEN 'U_DDIC'. IF p_ddic = abap_false. p_doma = abap_false. p_dtel = abap_false. p_enqu = abap_false. p_shlp = abap_false. p_struc = abap_false. p_tabl = abap_false. p_ttyp = abap_false. p_type = abap_false. p_view = abap_false. ELSE. p_doma = abap_true. p_dtel = abap_true. p_enqu = abap_true. p_shlp = abap_true. p_struc = abap_true. p_tabl = abap_true. p_ttyp = abap_true. p_type = abap_true. p_view = abap_true. ENDIF. WHEN 'U_FUGR'. IF p_fugr = abap_false. p_fuba = abap_false. p_fuincl = abap_false. p_scr = abap_false. ELSE. p_fuba = abap_true. p_fuincl = abap_true. p_scr = abap_true. ENDIF. ENDCASE. *----------------------------------------------------------------------- * at selection-screen OUTPUT *----------------------------------------------------------------------- AT SELECTION-SCREEN OUTPUT. LOOP AT SCREEN. * BSP Library IF screen-name = 'P_BSPAPP' OR screen-name = 'P_BSPTAG'. IF p_bsplib = abap_false. screen-input = 0. ELSE. screen-input = 1. ENDIF. MODIFY SCREEN. ENDIF. IF screen-name = 'P_WBSP' OR screen-name = 'P_WCTRL' OR screen-name = 'P_WINCL' OR screen-name = 'P_WMIME' OR screen-name = 'P_WVIEW'. IF p_bspapp = abap_false. screen-input = 0. ELSE. screen-input = 1. ENDIF. MODIFY SCREEN. ENDIF. * Class Library IF screen-name = 'P_CLAS' OR screen-name = 'P_INTF'. IF p_clslib = abap_false. screen-input = 0. ELSE. screen-input = 1. ENDIF. MODIFY SCREEN. ENDIF. * Dictionary Objects IF screen-name = 'P_DOMA' OR screen-name = 'P_DTEL' OR screen-name = 'P_ENQU' OR screen-name = 'P_SHLP' OR screen-name = 'P_STRUC' OR screen-name = 'P_TABL' OR screen-name = 'P_TTYP' OR screen-name = 'P_TYPE' OR screen-name = 'P_VIEW'. IF p_ddic = abap_false. screen-input = 0. ELSE. screen-input = 1. ENDIF. MODIFY SCREEN. ENDIF. * Function Group IF screen-name = 'P_FUBA' OR screen-name = 'P_FUINCL' OR screen-name = 'P_SCR'. IF p_fugr = abap_false. screen-input = 0. ELSE. screen-input = 1. ENDIF. MODIFY SCREEN. ENDIF. * database content IF screen-name = 'P_DB_CSV' OR screen-name = 'P_DB_XML' OR screen-name = 'P_DBCLSA' OR screen-name = 'P_DBCLSC' OR screen-name = 'P_DBCLSL' OR screen-name = 'P_DBCLSG' OR screen-name = 'P_DBCLSE' OR screen-name = 'P_DBCLSS' OR screen-name = 'P_DBCLSW' OR screen-name = 'P_DBMAX' OR screen-name = 'P_DBLIM-HIGH' OR screen-name = 'P_DBLIM-LOW' OR screen-name = '%_P_DBLIM_%_APP_%-VALU_PUSH'. IF p_dbcont = abap_false. screen-input = 0. ELSE. screen-input = 1. ENDIF. MODIFY SCREEN. ENDIF. ENDLOOP. *----------------------------------------------------------------------- * Initialization *----------------------------------------------------------------------- INITIALIZATION. * load... PERFORM csv_tools. DATA: lt_exclude TYPE TABLE OF sy-ucomm, ls_dyntxt TYPE smp_dyntxt, ls_fupararef TYPE fupararef, l_text TYPE string. * Remove buttons APPEND 'DOCU' TO lt_exclude. CALL FUNCTION 'RS_SET_SELSCREEN_STATUS' EXPORTING p_status = sy-pfkey TABLES p_exclude = lt_exclude EXCEPTIONS OTHERS = 1. * button "Select All" ls_dyntxt-icon_id = '@4B@'. ls_dyntxt-quickinfo = txt_select_all. sscrfields-functxt_01 = ls_dyntxt. * button "Deselect All" ls_dyntxt-icon_id = '@4D@'. ls_dyntxt-quickinfo = txt_deselect_all. sscrfields-functxt_02 = ls_dyntxt. * button "Information" ls_dyntxt-icon_id = '@0S@'. ls_dyntxt-quickinfo = txt_information. sscrfields-functxt_03 = ls_dyntxt. b_dbcls = '@0S@'. PERFORM decode_html_io USING txt_source_code CHANGING t_add_sc. PERFORM decode_html_io USING txt_variants_of_reports CHANGING t_add_rv. PERFORM decode_html_io USING txt_bsp_applications CHANGING t_bspapp. PERFORM decode_html_io USING txt_bsp_library CHANGING t_bsplib. PERFORM decode_html_io USING txt_bsp_extensions CHANGING t_bsptag. PERFORM decode_html_io USING txt_selection CHANGING t_choice. PERFORM decode_html_io USING txt_classes CHANGING t_clas. PERFORM decode_html_io USING txt_class_library CHANGING t_clslib. t_db_csv = gc_extension_csv. t_db_xml = gc_extension_xml. PERFORM decode_html_io USING txt_database_content CHANGING t_dbcont. PERFORM decode_html_io USING txt_format CHANGING t_dbform. PERFORM decode_html_io USING txt_restrict CHANGING t_dblim. PERFORM decode_html_io USING txt_max_no_of_lines CHANGING t_dbmax. PERFORM decode_html_io USING txt_delivery_class CHANGING t_dbcls. t_dbclsa = 'A'. t_dbclsc = 'C'. t_dbclsl = 'L'. t_dbclsg = 'G'. t_dbclse = 'E'. t_dbclss = 'S'. t_dbclsw = 'W'. PERFORM decode_html_io USING txt_dict_objs CHANGING t_ddic. PERFORM decode_html_io USING txt_domains CHANGING t_doma. PERFORM decode_html_io USING txt_data_elements CHANGING t_dtel. PERFORM decode_html_io USING txt_objects CHANGING t_elems. PERFORM decode_html_io USING txt_lock_objects CHANGING t_enqu. PERFORM decode_html_io USING txt_empty_tab CHANGING t_etab. PERFORM decode_html_io USING txt_disabled CHANGING t_etab_d. PERFORM decode_html_io USING txt_hidden CHANGING t_etab_h. PERFORM decode_html_io USING txt_display CHANGING t_etab_n. PERFORM decode_html_io USING txt_function_modules CHANGING t_fuba. PERFORM decode_html_io USING txt_function_groups CHANGING t_fugr. PERFORM decode_html_io USING txt_includes CHANGING t_fuincl. PERFORM decode_html_io USING txt_includes CHANGING t_incl. PERFORM decode_html_io USING txt_interfaces CHANGING t_intf. PERFORM decode_html_io USING txt_message_classes CHANGING t_msag. PERFORM decode_html_io USING txt_options CHANGING t_opts. PERFORM decode_html_io USING txt_package CHANGING t_pack. PERFORM decode_html_io USING txt_set_get_parameters CHANGING t_para. PERFORM decode_html_io USING txt_directory CHANGING t_path. PERFORM decode_html_io USING txt_programs CHANGING t_prog. PERFORM decode_html_io USING txt_screens CHANGING t_scr. PERFORM decode_html_io USING txt_srch_helps CHANGING t_shlp. PERFORM decode_html_io USING txt_structures CHANGING t_struc. PERFORM decode_html_io USING txt_database_tables CHANGING t_tabl. PERFORM decode_html_io USING txt_authorization_object___2 CHANGING t_tobj. PERFORM decode_html_io USING txt_transactions CHANGING t_tran. PERFORM decode_html_io USING txt_table_types CHANGING t_ttyp. PERFORM decode_html_io USING txt_type_grps CHANGING t_type. PERFORM decode_html_io USING txt_views CHANGING t_view. PERFORM decode_html_io USING txt_pages_with_flow_logic CHANGING t_wbsp. PERFORM decode_html_io USING txt_controller CHANGING t_wctrl. PERFORM decode_html_io USING txt_page_fragments CHANGING t_wincl. PERFORM decode_html_io USING txt_mimes CHANGING t_wmime. PERFORM decode_html_io USING txt_views CHANGING t_wview. PERFORM decode_html_io USING txt_transformations CHANGING t_xslt. SELECT SINGLE * FROM fupararef INTO ls_fupararef WHERE funcname = 'GUI_DOWNLOAD' AND r3state = 'A' AND parameter = 'SHOW_TRANSFER_STATUS'. IF sy-subrc = 0. g_has_download_status = abap_true. ENDIF. *----------------------------------------------------------------------- * start-of-selection *----------------------------------------------------------------------- START-OF-SELECTION. DATA: l_dir TYPE string, l_dir_check TYPE flag, l_dir_rc TYPE i, l_message TYPE string, l_txt TYPE string, lt_tadir TYPE STANDARD TABLE OF tadir, l_tabname TYPE tabname, ls_contflag TYPE st_contflag_range, lt_contflag TYPE it_contflag_range. FIELD-SYMBOLS: TYPE tadir. CLEAR: g_folder, g_pack. REFRESH: gt_tadir. IF p_devcl IS INITIAL. PERFORM decode_html_io USING txt_enter_a_package CHANGING l_txt. WRITE / l_txt. ELSEIF p_folder IS INITIAL. PERFORM decode_html_io USING txt_please_enter_a_root_dir CHANGING l_txt. WRITE / l_txt. ELSE. * block3 g_add_elem_ddic = p_ddic. g_add_elem_tabl = p_tabl. g_add_elem_view = p_view. g_add_elem_ttyp = p_ttyp. g_add_elem_struc = p_struc. g_add_elem_dtel = p_dtel. g_add_elem_doma = p_doma. g_add_elem_shlp = p_shlp. g_add_elem_enqu = p_enqu. g_add_elem_type = p_type. g_add_elem_clslib = p_clslib. g_add_elem_clas = p_clas. g_add_elem_intf = p_intf. g_add_elem_prog = p_prog. g_add_elem_fugr = p_fugr. g_add_elem_fuba = p_fuba. g_add_elem_msag = p_msag. g_add_elem_scr = p_scr. g_add_elem_fuincl = p_fuincl. g_add_elem_incl = p_incl. g_add_elem_o2appl = p_bspapp. g_add_elem_o2applbsp = p_wbsp. g_add_elem_o2applctrl = p_wctrl. g_add_elem_o2applincl = p_wincl. g_add_elem_o2applmime = p_wmime. g_add_elem_o2applview = p_wview. g_add_elem_o2taglib = p_bsptag. g_add_elem_para = p_para. g_add_elem_tobj = p_tobj. g_add_elem_tran = p_tran. g_add_elem_xslt = p_xslt. * block2 g_add_sourcecode = p_add_sc. CASE abap_true. WHEN p_etab_n. g_empty_tab = gc_empty_tab_display. WHEN p_etab_d. g_empty_tab = gc_empty_tab_disable. WHEN p_etab_h. g_empty_tab = gc_empty_tab_hide. ENDCASE. g_add_db_content = p_dbcont. g_add_db_format_csv = p_db_csv. g_add_db_format_xml = p_db_xml. g_add_db_max_lines = p_dbmax. ls_contflag-sign = 'I'. ls_contflag-option = 'EQ'. IF p_dbclsa = abap_true. ls_contflag-low = 'A'. APPEND ls_contflag TO lt_contflag. ENDIF. IF p_dbclsc = abap_true. ls_contflag-low = 'C'. APPEND ls_contflag TO lt_contflag. ENDIF. IF p_dbclse = abap_true. ls_contflag-low = 'E'. APPEND ls_contflag TO lt_contflag. ENDIF. IF p_dbclsg = abap_true. ls_contflag-low = 'G'. APPEND ls_contflag TO lt_contflag. ENDIF. IF p_dbclsl = abap_true. ls_contflag-low = 'L'. APPEND ls_contflag TO lt_contflag. ENDIF. IF p_dbclss = abap_true. ls_contflag-low = 'S'. APPEND ls_contflag TO lt_contflag. ENDIF. IF p_dbclsw = abap_true. ls_contflag-low = 'W'. APPEND ls_contflag TO lt_contflag. ENDIF. IF g_add_db_content = abap_true AND NOT lt_contflag IS INITIAL. IF NOT p_dblim IS INITIAL. SELECT * FROM tadir INTO TABLE lt_tadir WHERE pgmid = 'R3TR' AND object = 'TABL' AND obj_name IN p_dblim AND devclass IN p_devcl. ELSE. SELECT * FROM tadir INTO TABLE lt_tadir WHERE pgmid = 'R3TR' AND object = 'TABL' AND devclass IN p_devcl. ENDIF. LOOP AT lt_tadir ASSIGNING . l_tabname = -obj_name. SELECT SINGLE tabname FROM dd02l INTO l_tabname WHERE as4local = 'A' AND tabclass = 'TRANSP' AND tabname = l_tabname AND contflag IN lt_contflag. IF sy-subrc = 0. APPEND TO gt_tadir. ENDIF. ENDLOOP. REFRESH lt_tadir. REFRESH lt_contflag. ENDIF. g_add_report_variants = p_add_rv. * block 1 l_dir = p_folder. CALL METHOD cl_gui_frontend_services=>directory_exist EXPORTING directory = l_dir RECEIVING result = l_dir_check EXCEPTIONS OTHERS = 1. IF sy-subrc = 0 AND l_dir_check = abap_false. CALL METHOD cl_gui_frontend_services=>directory_create EXPORTING directory = l_dir CHANGING rc = l_dir_rc EXCEPTIONS OTHERS = 1. IF sy-subrc = 0 AND l_dir_rc = 0. g_folder = p_folder. ENDIF. ELSEIF sy-subrc = 0. g_folder = p_folder. ENDIF. IF g_folder IS INITIAL. CLEAR l_message. PERFORM get_message_text USING 'EA' '334' p_folder space space space CHANGING l_message. PERFORM decode_html_io USING txt_please_enter_a_valid_path CHANGING l_txt. WRITE: / l_message, / l_txt. ELSE. SELECT * FROM tdevc INTO TABLE gt_tdevc WHERE devclass IN p_devcl. IF sy-subrc <> 0. CLEAR l_message. DO. IF p_devcl-low NA '%'. EXIT. ENDIF. PERFORM replace_all USING '%' '*' CHANGING p_devcl-low. ENDDO. PERFORM get_message_text USING 'PACKAGE_BUILDER01' '411' p_devcl-low space space space CHANGING l_message. PERFORM decode_html_io USING txt_please_enter_a_root_dir CHANGING l_txt. WRITE: / l_message, / l_txt. ENDIF. ENDIF. ENDIF. END-OF-SELECTION. *----------------------------------------------------------------------- IF NOT gt_tdevc IS INITIAL AND NOT g_folder IS INITIAL. LOOP AT gt_tdevc INTO gs_tdevc. g_pack = gs_tdevc-devclass. PERFORM init. PERFORM select. PERFORM html_base. PERFORM optionals. PERFORM system. ENDLOOP. PERFORM decode_html_io USING txt_completed CHANGING l_txt. WRITE l_txt. ENDIF. *----------------------------------------------------------------------- * gui_info_dbcls *----------------------------------------------------------------------- FORM gui_info_dbcls. DATA: lt_type TYPE it_dom_value, ls_hinfo TYPE help_info, * ls_oheader type thead, ls_exclfun TYPE hlpfcode, lt_exclfun TYPE STANDARD TABLE OF hlpfcode, ls_hline TYPE tline, lt_hline TYPE STANDARD TABLE OF tline. FIELD-SYMBOLS: TYPE st_dom_value. PERFORM get_dom_value_texts USING 'CONTFLAG' CHANGING lt_type. ls_hline-tdformat = 'U1'. ls_hline-tdline = txt_delivery_class. APPEND ls_hline TO lt_hline. SORT lt_type BY value. LOOP AT lt_type ASSIGNING . ls_hline-tdformat = 'B1'. CONCATENATE '' -value ':' INTO ls_hline-tdline. CONCATENATE ls_hline-tdline -text INTO ls_hline-tdline SEPARATED BY space. APPEND ls_hline TO lt_hline. ENDLOOP. CALL FUNCTION 'HELP_DOCULINES_SHOW' EXPORTING * cucol = 10 * curow = 3 help_infos = ls_hinfo * linenr = 1 * not_help = abap_false * overlay_header = ls_oheader * suppress_viewer = abap_false * classic_sapscript = abap_false * importing * help_popup_cancel = TABLES excludefun = lt_exclfun helplines = lt_hline. ENDFORM. "gui_info_dbcls *----------------------------------------------------------------------- * gui_info_page *----------------------------------------------------------------------- FORM gui_info_page. DATA: lt_type TYPE it_dom_value, ls_hinfo TYPE help_info, * ls_oheader type thead, ls_exclfun TYPE hlpfcode, lt_exclfun TYPE STANDARD TABLE OF hlpfcode, ls_hline TYPE tline, lt_hline TYPE STANDARD TABLE OF tline. ls_hline-tdformat = 'U1'. ls_hline-tdline = 'SoftCopy'. PERFORM decode_html CHANGING ls_hline-tdline. APPEND ls_hline TO lt_hline. ls_hline-tdformat = 'AS'. CONCATENATE '' txt_version ':' INTO ls_hline-tdline. CONCATENATE ls_hline-tdline gc_version INTO ls_hline-tdline SEPARATED BY space. PERFORM decode_html CHANGING ls_hline-tdline. APPEND ls_hline TO lt_hline. ls_hline-tdformat = '*'. CONCATENATE '© 2008-' gc_version+0(4) ' globalBIT, LLC.' INTO ls_hline-tdline. PERFORM decode_html CHANGING ls_hline-tdline. APPEND ls_hline TO lt_hline. ls_hline-tdformat = '/'. ls_hline-tdline = txt_all_rights_reserved. PERFORM decode_html CHANGING ls_hline-tdline. APPEND ls_hline TO lt_hline. ls_hline-tdformat = 'AS'. ls_hline-tdline = txt_product_under_gpl. PERFORM replace_single USING '#GPL#' 'GNU General Public License' CHANGING ls_hline-tdline. PERFORM decode_html CHANGING ls_hline-tdline. APPEND ls_hline TO lt_hline. CALL FUNCTION 'HELP_DOCULINES_SHOW' EXPORTING * cucol = 10 * curow = 3 help_infos = ls_hinfo * linenr = 1 * not_help = abap_false * overlay_header = ls_oheader * suppress_viewer = abap_false * classic_sapscript = abap_false * importing * help_popup_cancel = TABLES excludefun = lt_exclfun helplines = lt_hline. ENDFORM. "gui_info_page