Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 442

*&---------------------------------------------------------------------* *& Report ZSOFTCOPY * *& * *&---------------------------------------------------------------------* *& * *& This program 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. * *& * *& This program 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 this program. If not, see <http://www.gnu.org/licenses/>.* *& * *&---------------------------------------------------------------------* *& * *& Author: Ruediger von Creytz ruediger.creytz@globalbit.net * *& Copyright: globalBIT, LLC http://www.globalbit.net * *& Version: 20091027 * *& * *&---------------------------------------------------------------------* REPORT ZSOFTCOPY. ***required *&---------------------------------------------------------------------* *& Include ZSOFTCOPY_TYPES * *& * *&---------------------------------------------------------------------* *& * *& 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 <http://www.gnu.org/licenses/>. * *& * *&---------------------------------------------------------------------* *& * *& Author: Ruediger von Creytz ruediger.creytz@globalbit.net * *& Copyright: globalBIT, LLC http://www.globalbit.net * *& * *&---------------------------------------------------------------------* type-pools: abap.

types: it_abapsource type standard table of abapsource, begin of st_abaptxt255, line(255) type c, end of st_abaptxt255, it_abaptxt255 type standard table of st_abaptxt255, begin of st_access, checked type flag, ddtext type string, sub type n, end of st_access, it_access type standard table of st_access, begin of st_attributes, descript type string, person_responsible type as4user, person_responsible_text type ad_namtext, author type bname, author_text type ad_namtext, date_created type string, bname type bname, name_text type ad_namtext, date_last_changed type string, time_last_changed type string, date_last_generation type string, time_last_generation type string, devclass type devclass, devclass_descr type as4text, laiso type laiso, sptxt type sptxt, display_appview type flag, appview type string, display_rfcenable type flag, rfcenable type flag, application_component type akhkompo, end of st_attributes, begin of st_component, component type dlvunit, release type saprelease, level type num4, high_package type patch, desc_text type comp_desc, end of st_component, it_component type standard table of st_component, it_d021s type standard table of d021s, begin of st_data_type, domname type domname, domdescr type as4text, datatype type datatype_d, datadescr type val_text, dataleng type ddleng, datadeci type decimals, refkind type typekind, reftype(1) type c,

end of st_data_type, begin of st_definition_1, datatype type datatype_d, datadescr type string, dataleng type ddleng, datadeci type decimals, outputlen type outputlen, convexit type convexit, signflag type signflag, lowercase type lowercase, end of st_definition_1, begin of st_definition_2, selmethod type selmethod, texttab type selmethtxt, dialogtype type ddshdiatyp, hotkey type ddshhotkey, selmexit type ddshselext, end of st_definition_2, begin of st_deliv_maint, display_cont type flag, contflag type contflag, contflag_text type string, display_main type flag, mainflag_text type string, sqltab type sqlappdtab, end of st_deliv_maint, begin of st_dom_value, text type val_text, value type domvalue_l, end of st_dom_value, it_dom_value type standard table of st_dom_value, begin of st_dynpro_function_new, "since version 4.01 type(1) type c, code type tcode, end of st_dynpro_function_new, begin of st_dynpro_function_old, "till version 4.00 code(4) type c, type(1) type c, end of st_dynpro_function_old, begin of st_dynpro_name, prog like d020s-prog, dnum like d020s-dnum, end of st_dynpro_name, begin of st_dynpro_release, rel(1) type c, dot(1) type c, version(2) type c, end of st_dynpro_release, it_feld type standard table of feld, begin of st_feld_redef,

dropdown type string, fobl type string, end of st_feld_redef, it_feld_redef type standard table of st_feld_redef, begin of st_field_label, scrlen_s type scrlen_s, scrtext_s type scrtext_s, scrlen_m type scrlen_m, scrtext_m type scrtext_m, scrlen_l type scrlen_l, scrtext_l type scrtext_l, headlen type headlen, reptext type reptext, end of st_field_label, begin of st_further_char, shlpname type shlpname, shlpfield type shlpfield, memoryid type memoryid, deffdname type deffdname, logflag type logflag, end of st_further_char, begin of st_init_access, info1 type string, info2 type string, occurs(5) type n, unknown type flag, end of st_init_access, begin of st_join_conditions, tabname_l type tabname, fieldname_l type fieldname, operator type string, tabname_r type tabname, fieldname_r type fieldname, end of st_join_conditions, it_join_conditions type standard table of st_join_conditions, begin of st_key, info type string, end of st_key, begin of st_last_logon, date type sydatum, time type syuzeit, date_now type sydatum, time_now type syuzeit, end of st_last_logon, begin of st_line_type, info type string, rowkind type string, rowtype type string, rowdescr type string, datatype type datatype_d, dataleng type ddleng, datadeci type decimals, reftype(1) type c,

refdescr type string, range_ctyp type string, ctdatatype type datatype_d, ctleng type ddleng, ctdecimals type decimals, end of st_line_type, begin of st_link, descript type as4text, title type string, href type string, onclick type string, end of st_link, it_link type standard table of st_link, begin of st_o2pageline, line type char255, end of st_o2pageline, it_o2pageline type standard table of st_o2pageline, begin of st_pack_intf, intf_name type scomifnam, forsys type as4text, descript type as4text, end of st_pack_intf, it_pack_intf type standard table of st_pack_intf, begin of st_pack_perm, pack_name type packname, intf_name type scomifnam, err_sever type as4text, end of st_pack_perm, it_pack_perm type standard table of st_pack_perm, begin of st_pack_sub, devclass type packname, ctext type as4text, end of st_pack_sub, it_pack_sub type standard table of st_pack_sub, begin of st_parameter, name type string, typing type string, structure type string, defvalue type string, optional type flag, passvalue type flag, stext type string, ltext type string, ltext_onclick type string, ltext_doku_obj type doku_obj, end of st_parameter, it_parameter type standard table of st_parameter, begin of st_prop, name(5) type c, value(40) type c, end of st_prop, it_prop type standard table of st_prop,

begin of st_properties, superclass type seoclsref, check_model_inh type seostatf1c, descript type seodescr, creatable type ddtext, clsfinal type seofinal, end of st_properties, begin of st_ref_seoalias, cpdname type seocpdname, cmptype type seocmptype, type type string, refcmpname type seocmpname, exposure type string, owner type seoclsname, end of st_ref_seoalias, it_ref_seoalias type standard table of st_ref_seoalias, begin of st_ref_seoattrib, cpdname type seocpdname, inherited type flag, exposure type string, check_model type flag, decltype type string, attrdonly type seordonly, typtype type string, type type rs38l_typ, onclick type string, typelink type string, descript type seodescr, attvalue type seovalue, owner type seoclsname, end of st_ref_seoattrib, it_ref_seoattrib type standard table of st_ref_seoattrib, begin of st_ref_seoevent, cpdname type seocpdname, inherited type flag, type type string, exposure type string, check_model type flag, descript type seodescr, owner type seoclsname, end of st_ref_seoevent, it_ref_seoevent type standard table of st_ref_seoevent, begin of st_ref_seofriends, refclsname type seoclsname, check_model type boolean, descript type seodescr, end of st_ref_seofriends, it_ref_seofriends type standard table of st_ref_seofriends, begin of st_ref_seointerface, refclsname type seoclsname, hierlevel type i, inherited type flag, impfinal type flag, impabstrct type flag, check_model type flag,

descript type seodescr, owner type seoclsname, end of st_ref_seointerface, it_ref_seointerface type standard table of st_ref_seointerface, begin of st_ref_seomethod, cpdname type seocpdname, inherited type flag, active type string, onclick type string, redefin type flag, type type string, exposure type string, check_model type flag, methodtype type string, descript type seodescr, owner type seoclsname, end of st_ref_seomethod, it_ref_seomethod type standard table of st_ref_seomethod, begin of st_ref_seosignature, declaration type string, parameter type string, type type string, descript type string, end of st_ref_seosignature, it_ref_seosignature type standard table of st_ref_seosignature, begin of st_ref_seotype, cpdname type seocpdname, inherited type flag, typtype type string, type type rs38l_typ, exposure type string, check_model type flag, onclick type string, typelink type string, descript type seodescr, owner type seoclsname, end of st_ref_seotype, it_ref_seotype type standard table of st_ref_seotype, begin of st_seo_super_class, clsname type seoclsname, hierlevel type i, end of st_seo_super_class, it_seo_super_class type standard table of st_seo_super_class, it_string type standard table of string, begin of st_table_structure, id type char10, row_nr(3) type n, fieldname type fieldname, title_elem type fieldname, link_row type fieldname, row_def type char1, colored_row type fieldname, comparator type char2, comp_value type char30,

title type as4text, end of st_table_structure, it_table_structure type standard table of st_table_structure, begin of st_tables, primary type flag, tabname type tabname, enqmode type string, end of st_tables, it_tables type standard table of st_tables, begin of st_tabname, tabname type tabname, end of st_tabname, it_tabname type standard table of st_tabname, begin of st_tabstrip, form type fieldname, id(100) type c, parent_id(100) type c, tab_nr(2) type n, firstrow type flag, active_order(1) type n, text_elem type char30, comparator type char2, comp_value type char30, active type flag, disabled type flag, hidden type flag, empty type flag, text type as4text, end of st_tabstrip, it_tabstrip type standard table of st_tabstrip, begin of st_text_element, fieldname type fieldname, txt_prefix type char30, dtel_rollname type rollname, dtel_field type c, domname type char30, domvalue(10) type c, icon_id type icon_d, icon_field type c, conc_v1 type fieldname, conc_copula(20) type c, conc_v2 type fieldname, conc_sep_space type flag, msg_id(20) type c, msg_nr(3) type n, msg_v1 type fieldname, msg_v2 type fieldname, msg_v3 type fieldname, msg_v4 type fieldname, is_set type flag, end of st_text_element, it_text_element type standard table of st_text_element, begin of st_text_element_t, fieldname type fieldname, spras type spras,

text type as4text, end of st_text_element_t, it_text_element_t type standard table of st_text_element_t, begin of st_textinput, space type flag, name type string, name_suffix type string, no_name type flag, value type string, value_text type string, value_double_length type flag, value_ext type string, value_ext_text type string, description type string, flag type flag, input type flag, has_value_ext type flag, flag_col type i, end of st_textinput, it_textinput type standard table of st_textinput, it_textpool type standard table of textpool, begin of st_textpool_addons, entry type textpooltx, strlen type i, dict_ref type flag, end of st_textpool_addons, it_textpool_addons type standard table of st_textpool_addons, it_seotypepls type standard table of seotypepls, begin of st_value_range, domvalue_l type domvalue_l, domvalue_h type domvalue_h, ddtext type ddtext, end of st_value_range, it_value_range type standard table of st_value_range, begin of st_varid, report type vari_reprt, vari type variant, end of st_varid, it_varid type standard table of st_varid, begin of st_variant, program type syrepid, variant type syslset, selname type rsscr_name, text type sychar30, kind type string, sign type string, option type string, low type tvarv_val, high type tvarv_val, end of st_variant, it_variant type standard table of st_variant, begin of st_version_info,

type(21) type c, value(59) type c, end of st_version_info, it_version_info type table of st_version_info, begin of st_zdd03p_ext, shlporigin_f type flag, shlporigin_p type flag, shlporigin_ddtext type string, end of st_zdd03p_ext, it_zdd03p_ext type standard table of st_zdd03p_ext, begin of st_zseomethod, pgmid type pgmid, object type trobjtype, devclass type devclass, clsname type seoclsname, cpdname type seocpdname, active type string, downloaded type flag, subrc type sysubrc, end of st_zseomethod, it_zseomethod type standard table of st_zseomethod, begin of st_ztadir, pgmid type pgmid, object type trobjtype, subc type subc, obj_name type sobj_name, devclass type devclass, progname type progname, futype type char1, funcname type rs38l_fnam, dynpronr type dynpronr, descript type string, tabclass type tabclass, aggtype type aggtype, masterlang type masterlang, downloaded type flag, subrc type sysubrc, end of st_ztadir, it_ztadir type standard table of st_ztadir. *&---------------------------------------------------------------------* *& Include ZSOFTCOPY_TXT * *&---------------------------------------------------------------------* *&!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!* *&!!!!!!!!!!! generated by ZSOFTCOPY_MAKE !!!!! do not edit !!!!!!!!!!!* *&!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!* *&---------------------------------------------------------------------* constants g_c_version type sydatum value '20091026'. data: TPT_DDIC_DOMA type string, TPT_DDIC_DTEL type string, TPT_DDIC_ENQU type string, TPT_DDIC_SHLP type string, TPT_DDIC_STRU type string, TPT_DDIC_TABL type string, TPT_DDIC_TTYP type string, TPT_DDIC_TYPE type string,

TPT_DDIC_VIEW type string, TPT_FUGR_FUBA type string, TPT_FUGR_FUGR type string, TPT_FUGR_INCL type string, TPT_FUGR_SCR type string, TPT_O2_XSLT type string, TPT_PACK_DEVC type string, TPT_PROG_INCL type string, TPT_PROG_REPO type string, TPT_SEO_CLAS type string, TPT_SEO_INTF type string, TXTT_CLASS_NAME_VALUE type string, TXTT_CONTEXT_MENU_FORM_ON_CTME type string, TXTT_CURRENCY_QUANTITY_FIELD type string, TXTT_ENTRY_HELP_CHECK type string, TXTT_INCLUDE_NAME_VALUE type string, TXTT_INTERFACE_NAME_VALUE type string, TXTT_LINES_COLUMNS type string, TXTT_REPORT_NAME_VALUE type string, TXTT_SCREEN_FOR_NAME_VALUE type string, TXTT_TABLES_JOIN_CONDITIONS type string, TXTT_TRANSFORMATION_NAME_VALUE type string, TXTT_TYPE_GROUP_OBJECT_TYPE type string, TXTT_UNICODE_CHECKS_ACTIVE type string, TXT_2_DIMENSIONAL type string, TXT_ABAP_LOAD type string, TXT_ABOUT type string, TXT_ABSTRACT type string, TXT_ACCESS type string, TXT_ACCESS_TYPE_IS_GIVEN_FOR_A type string, TXT_ACTIVATED type string, TXT_ACTIVE___1 type string, TXT_ACTIVE___2 type string, TXT_ALIAS type string, TXT_ALIASES type string, TXT_ALLOWED_OBJECT_TYPES type string, TXT_ALLOW_RFC type string, TXT_ALL_RIGHTS_RESERVED type string, TXT_AND_OR type string, TXT_APPENDING_VIEW type string, TXT_APPLICATION type string, TXT_APPLICATION_COMPONENT type string, TXT_ASSOCIATED_TYPE type string, TXT_ASSOCIATED_TYPE_FOR_LOW_HI type string, TXT_AS_LABEL_LEFT type string, TXT_AS_LABEL_RIGHT type string, TXT_ATTRIBUTE type string, TXT_ATTRIBUTES___1 type string, TXT_ATTRIBUTES___2 type string, TXT_AUTHORIZATION_GROUP type string, TXT_AUTHORIZATION_OBJECT type string, TXT_BRG type string, TXT_BUFFERING type string, TXT_BUFFERING_TYPE type string, TXT_BUILT_IN_TYPE type string, TXT_CATEGORY type string, TXT_CHANGED_ON type string, TXT_CHANGES_ARE_RECORDED type string, TXT_CHANGE_DOCUMENT type string, TXT_CHANGING type string,

TXT_CHECK type string, TXT_CHECK_TABLE type string, TXT_CLASS type string, TXT_CLASSES type string, TXT_CLASSIFICATION type string, TXT_CLASS_DOCUMENTATION type string, TXT_CLASS_LIBRARY type string, TXT_CLIENT type string, TXT_CLUSTER_TABLE type string, TXT_COLL_RUN type string, TXT_COLUMN type string, TXT_COLUMNS type string, TXT_COLUMN_HEADING type string, TXT_COMPARE_FLAG type string, TXT_COMPARISON_VALUE type string, TXT_COMPILATION type string, TXT_COMPLETE type string, TXT_COMPLETED type string, TXT_COMPONENT type string, TXT_COMPONENTS type string, TXT_COMPONENT_INFORMATION type string, TXT_COMPONENT_TYPE type string, TXT_COMPONENT_VERSION type string, TXT_COMPRESSED type string, TXT_CONTEXT_MENU type string, TXT_CONTROL_COMPOSITE_NAME type string, TXT_CONVERSION_EXIT type string, TXT_CONVERS_ROUTINE type string, TXT_CREATED type string, TXT_CREATED_BY___1 type string, TXT_CREATED_BY___2 type string, TXT_CREATED_ON type string, TXT_CREATE_STATEMENT type string, TXT_CUA_LOAD type string, TXT_CURRENCY type string, TXT_CURSOR_POSITION type string, TXT_DATABASE_CONTENT type string, TXT_DATABASE_DATA type string, TXT_DATABASE_INFORMATION type string, TXT_DATABASE_SYSTEM type string, TXT_DATABASE_TABLES type string, TXT_DATA_BROWSER_TABLE_VIEW_MA type string, TXT_DATA_CLASS type string, TXT_DATA_COLLECTION type string, TXT_DATA_ELEM type string, TXT_DATA_ELEMENTS type string, TXT_DATA_ELEMENT___1 type string, TXT_DATA_ELEMENT___2 type string, TXT_DATA_TYPE type string, TXT_DBSL_PATCH_LEVEL type string, TXT_DBSL_VERSION type string, TXT_DB_CLIENT_LIB type string, TXT_DB_RELEASES type string, TXT_DECIMAL_PLACES___M type string, TXT_DECIMAL_PLACES___T type string, TXT_DEFAULTS type string, TXT_DEFAULT_COMPONENT_NAME type string, TXT_DEFAULT_VALUE___1 type string, TXT_DEFAULT_VALUE___2 type string, TXT_DEFINITION type string,

TXT_DEFLG type string, TXT_DELIVERY_AND_MAINTENANCE type string, TXT_DELIVERY_CLASS type string, TXT_DESCRIPTION type string, TXT_DIALOG_BEHAVIOR type string, TXT_DIALOG_DATA_TRANSPORT_DETA type string, TXT_DIALOG_TYPE type string, TXT_DICTIONARY_REFERENCE type string, TXT_DICT_FIELD type string, TXT_DICT_MODIFIED type string, TXT_DICT_OBJS type string, TXT_DIRECTORY type string, TXT_DISABLED type string, TXT_DISPLAY type string, TXT_DISPLAY_ATTR type string, TXT_DLEN type string, TXT_DOCUMENTATION type string, TXT_DOMAIN type string, TXT_DOMAINS type string, TXT_DROPDOWN type string, TXT_DTYP type string, TXT_DYNAMIC_CONTEXT_MENU type string, TXT_EDITOR_LOCK type string, TXT_EDIT_LOCK type string, TXT_ELEMENTARY_SRCH_HLP type string, TXT_ELEMENTARY_TYPE type string, TXT_ELEMENT_LIST type string, TXT_EMPTY_TAB type string, TXT_ENHANCEMENT_CATEGORY type string, TXT_ENHANCEMENT_CATEGORY_FOR_S type string, TXT_ENTER_A_PACKAGE type string, TXT_ENTRY type string, TXT_ENTRY_HELP type string, TXT_EQ type string, TXT_ERROR_SEVERITY type string, TXT_EVENT type string, TXT_EVENTS type string, TXT_EXCEPTIONS type string, TXT_EXCEPTION___1 type string, TXT_EXCEPTION___2 type string, TXT_EXCLUSIVE type string, TXT_EXP type string, TXT_EXPORT type string, TXT_FIELD type string, TXT_FIELDS type string, TXT_FIELD_LABEL type string, TXT_FIELD_NAME type string, TXT_FINAL type string, TXT_FIRST_PAGE type string, TXT_FIXED_FONT type string, TXT_FIXED_POINT_ARITHMETIC type string, TXT_FIX_VAL type string, TXT_FLOW_LOGIC type string, TXT_FOREIGN_KEY type string, TXT_FOREIGN_SOURCE_SYSTEM type string, TXT_FORMAT type string, TXT_FORMATTING type string, TXT_FORWARD_DECLARATIONS type string, TXT_FRAMESET type string, TXT_FRIENDS type string,

TXT_FULLY_BUFFERED type string, TXT_FUNCTIONAL_TYPE type string, TXT_FUNCTION_CODE type string, TXT_FUNCTION_GROUP type string, TXT_FUNCTION_GROUPS type string, TXT_FUNCTION_GROUP_DOC type string, TXT_FUNCTION_MODULE type string, TXT_FUNCTION_MODULES type string, TXT_FUNCTION_MODULE_DOCUMENTAT type string, TXT_FURTHER_CHARACTERISTICS type string, TXT_GENERAL_ATTR type string, TXT_GENERAL_DATA type string, TXT_GENERIC_AREA_BUFFERED type string, TXT_GET_PARAMETER type string, TXT_GLOBAL type string, TXT_GROUP type string, TXT_GROUP_1 type string, TXT_GROUP_2 type string, TXT_GROUP_3 type string, TXT_GROUP_4 type string, TXT_GUI_STATUS type string, TXT_HEADING type string, TXT_HEIGHT type string, TXT_HELP type string, TXT_HIDDEN type string, TXT_HIERARCHY type string, TXT_HIGHEST_SUPPORT_PACKAGE type string, TXT_HOLD_DATA type string, TXT_HOLD_SCROLL_POSITION type string, TXT_HOST type string, TXT_HOST_DATA type string, TXT_HOT_KEY type string, TXT_ICON type string, TXT_ICON_NAME type string, TXT_ICON_TEXT type string, TXT_IMMEDIATE_START_NO_RESTART type string, TXT_IMP type string, TXT_IMPLEMENTATION type string, TXT_IMPLEMENTED_ACTIVE type string, TXT_IMPORT type string, TXT_INACTIVE type string, TXT_INCLUDE type string, TXT_INCLUDES type string, TXT_INCLUDE_NAME type string, TXT_INCLUSIVE type string, TXT_INFO type string, TXT_INITIALIZATION_AND_ACCESS type string, TXT_INITIAL_LINE_NUMBER type string, TXT_INITIAL_VALUE type string, TXT_INITIAL_VALUES type string, TXT_INPUT type string, TXT_INSTALLATION_NUMBER type string, TXT_INSTANTIATION type string, TXT_INTERFACE type string, TXT_INTERFACES type string, TXT_INTERFACE_COMPONENT type string, TXT_INTERFACE_DOCUMENTATION type string, TXT_INTERNALLY_RELEASED_ON type string, TXT_INTERVALS type string, TXT_INVISIBLE type string,

TXT_IP_ADDRESS type string, TXT_JOIN_CONDITIONS type string, TXT_KERNEL_INFORMATION___1 type string, TXT_KERNEL_INFORMATION___2 type string, TXT_KERNEL_RELEASE type string, TXT_KEY type string, TXT_KEY_ATTRIBUTE_DEFINED_FOR1 type string, TXT_KEY_ATTRIBUTE_DEFINED_FOR2 type string, TXT_KEY_CATEGORY type string, TXT_KEY_COMPONENTS type string, TXT_KEY_DEFINITION type string, TXT_KEY___KEY type string, TXT_LANGUAGE type string, TXT_LAST_CHANGED_BY___1 type string, TXT_LAST_CHANGED_BY___2 type string, TXT_LAST_CHANGED_ON_BY type string, TXT_LAST_GENERATION type string, TXT_LEADING_ZEROS type string, TXT_LENGTH type string, TXT_LEVEL type string, TXT_LICENSE_EXPIRATION type string, TXT_LINE type string, TXT_LINES type string, TXT_LINE_TYPE type string, TXT_LIST_HEADER type string, TXT_LIST_HEADINGS type string, TXT_LOCAL_TYPES type string, TXT_LOCK_MODE type string, TXT_LOCK_OBJECTS type string, TXT_LOCK_OBJECT___1 type string, TXT_LOCK_OBJECT___2 type string, TXT_LOCK_PARAMETER type string, TXT_LOGICAL_DATABASE type string, TXT_LOGICAL_STORAGE_PARAMETERS type string, TXT_LOGON type string, TXT_LOG_DATA_CHANGES type string, TXT_LONG type string, TXT_LONG_TEXT type string, TXT_LOWERCASE type string, TXT_LOWER_LIMIT type string, TXT_LPOS type string, TXT_MACHINE_TYPE type string, TXT_MACROS type string, TXT_MAINTENANCE type string, TXT_MAINTENANCE_SCREENS type string, TXT_MAINTENANCE_TYPE type string, TXT_MAINT_SCREEN_NO type string, TXT_MAINT_STATUS type string, TXT_MAIN_PACKAGE type string, TXT_MAIN_PROGRAM type string, TXT_MAX_NO_OF_LINES type string, TXT_MEDIUM type string, TXT_MENU type string, TXT_MESSAGE_CLASS type string, TXT_METHOD type string, TXT_METHODS type string, TXT_METHOD_TYPE type string, TXT_MOD type string, TXT_MODAL_DIALOG_BOX type string, TXT_MODE type string,

TXT_MODELED_ONLY type string, TXT_MODIFIED type string, TXT_MOD_GROUPS_FUNCTIONS type string, TXT_NAME type string, TXT_NAME_OF_REF_TYPE type string, TXT_NEXT_SCREEN type string, TXT_NO type string, TXT_NORMAL type string, TXT_NORMAL_FUNCTION_MODULE type string, TXT_NOT_RELEASED type string, TXT_NO_LENGTH_RESTRICTION type string, TXT_NO_OF_CHARACTERS type string, TXT_NO_OF_KEY_FIELDS type string, TXT_NO_OR_USER_RECORDING_ROUTI type string, TXT_NO_RESET type string, TXT_OBJECTS type string, TXT_OBJECT_TYPE type string, TXT_OCCUPIED type string, TXT_ONE_STEP type string, TXT_OPERATING_SYSTEM type string, TXT_OPERATOR type string, TXT_OPTION type string, TXT_OPTIONAL type string, TXT_OPTIONS type string, TXT_OP_RELEASE type string, TXT_ORIGINAL_LANGUAGE type string, TXT_ORIGIN_OF_THE_INPUT_HELP type string, TXT_OTHER_ATTRIBUTES type string, TXT_OUTPUT type string, TXT_OUTPUT_CHARACTERISTICS type string, TXT_OUTPUT_LENGTH type string, TXT_OUTPUT_ONLY type string, TXT_OVERVIEW_SCREEN type string, TXT_OWNER type string, TXT_PACKAGE type string, TXT_PACKAGES_INCLUDED type string, TXT_PACKAGE_CHECK_AS_CLIENT type string, TXT_PACKAGE_CHECK_AS_SERVER type string, TXT_PACKAGE_INTERFACE type string, TXT_PACKAGE_INTERFACES type string, TXT_PACKAGE_NOT_EXTENDABLE type string, TXT_PACKAGE_PROPERTIES type string, TXT_PARAMETER type string, TXT_PARAMETERS type string, TXT_PARAMETER_ID type string, TXT_PARAMETER_NAME type string, TXT_PASS_VALUE type string, TXT_PERSON_RESPONSIBLE___1 type string, TXT_PERSON_RESPONSIBLE___2 type string, TXT_PLATFORM_ID type string, TXT_PLEASE_ENTER_A_ROOT_DIR type string, TXT_PLEASE_ENTER_A_VALID_PATH type string, TXT_POOLED_TABLE type string, TXT_POOL_CLUSTER type string, TXT_POSITION type string, TXT_POSS_ENTRIES_KEY type string, TXT_PREVIOUS_LOGON type string, TXT_PRIMARY_TABLE type string, TXT_PROCESSING_TYPE type string, TXT_PRODUCT_UNDER_GPL type string,

TXT_PROGRAMS type string, TXT_PROGRAM_GUI type string, TXT_PROGRAM_NAME type string, TXT_PROGRAM_SCREEN type string, TXT_PROGRAM_STATUS type string, TXT_PROPERTIES type string, TXT_PROPERTY_LIST type string, TXT_QUANTITY_FIELD type string, TXT_READ_ONLY type string, TXT_RECORDING_ROUTINE type string, TXT_REFERENCES type string, TXT_REFERENCE_FIELD type string, TXT_REFERENCE_TABLE type string, TXT_REFERENCE_TO_PREDEFINED_TY type string, TXT_REFERENCE_TYPE type string, TXT_REF_FIELD type string, TXT_RELEASE type string, TXT_RELEASED_INTERNALLY type string, TXT_REMOTE_ENABLED_MODULE type string, TXT_REPORT type string, TXT_REPOSITORY_DATA type string, TXT_RESP_TO_DBLCLK type string, TXT_RESTRICT type string, TXT_RIGHT_JUST type string, TXT_RSYN_FILE type string, TXT_RTYPE type string, TXT_SAP_DATA type string, TXT_SAP_SYSTEM_DATA type string, TXT_SAP_VERSIONS type string, TXT_SAVED type string, TXT_SCREENS type string, TXT_SCREEN_FOR type string, TXT_SCREEN_GROUP type string, TXT_SCREEN_NUMBER type string, TXT_SCREEN_TYPE type string, TXT_SCROLLABLE type string, TXT_SDIS type string, TXT_SEARCH_HELP type string, TXT_SEARCH_HELP_EXIT type string, TXT_SEARCH_HELP_PARAMETER type string, TXT_SECONDARY_TABLES type string, TXT_SELECTION type string, TXT_SELECTION_CONDITIONS type string, TXT_SELECTION_CRITERIA type string, TXT_SELECTION_METHOD type string, TXT_SELECTION_SCREEN type string, TXT_SELECTION_SCREEN_VERSION type string, TXT_SELECTION_TEXTS type string, TXT_SERVER_NAME type string, TXT_SETTINGS type string, TXT_SET_PARAMETER type string, TXT_SHARED_MEMORY_ENABLED type string, TXT_SHORT type string, TXT_SHORT_DESCRIPTION_OF_SOFTW type string, TXT_SHORT_DESCRIPTION___1 type string, TXT_SHORT_DESCRIPTION___2 type string, TXT_SHORT_TEXT___1 type string, TXT_SHORT_TEXT___2 type string, TXT_SIGN type string, TXT_SINGLE_RECORDS_BUFF type string,

TXT_SINGLE_SCREEN type string, TXT_SINGLE_VARS type string, TXT_SIZE_CATEGORY type string, TXT_SOFTWARE_COMPONENT type string, TXT_SOURCECDE type string, TXT_SOURCE_CODE type string, TXT_SPECIAL_ATTR type string, TXT_SPOS type string, TXT_SRCH_HELP type string, TXT_SRCH_HELPS type string, TXT_STANDARD_RECORDING_ROUTINE type string, TXT_START_DELAYED type string, TXT_START_IMMED type string, TXT_START_USING_VARIANT type string, TXT_STATUS type string, TXT_STRUCTURE type string, TXT_STRUCTURED_ROW_TYPE type string, TXT_STRUCTURED_TYPE type string, TXT_STRUCTURES type string, TXT_SUBSCREEN type string, TXT_SUPERCLASS type string, TXT_SUPPLEMENTARY_DOCUMENTATIO type string, TXT_SUP_PKG_LVL type string, TXT_SURROUNDING_PACKAGE type string, TXT_SWITCH_OFF_RUNTIME_COMPRES type string, TXT_SYMBOL type string, TXT_SYSTEM type string, TXT_SYSTEM_INFORMATION type string, TXT_SYSTEM_TIME type string, TXT_TABLE type string, TXT_TABLES type string, TXT_TABLE_MAINTENANCE_GENERATO type string, TXT_TABLE_TYPE type string, TXT_TABLE_TYPES type string, TXT_TECHNICAL_DIALOG_DETAILS type string, TXT_TECHNICAL_SETTINGS type string, TXT_TEMPLATE_NON_EXECUTABLE type string, TXT_TEXT type string, TXT_TEXTS_IO_TEMPLATES type string, TXT_TEXT_ELEMENTS type string, TXT_TEXT_OR_IO_FIELD type string, TXT_TEXT_TABLE type string, TXT_TITLE type string, TXT_TRANSACTION type string, TXT_TRANSFORMATION type string, TXT_TRANSFORMATIONS type string, TXT_TRANSPORT_ATTRIBUTES type string, TXT_TRANSPORT_LAYER type string, TXT_TRANSP_TABLE type string, TXT_TWO_STEP type string, TXT_TYPES type string, TXT_TYPE_GROUP type string, TXT_TYPE_GRPS type string, TXT_TYPE_IS_GENERIC type string, TXT_TYPE_OF_SCREEN_ELEMENT type string, TXT_TYPE_SPEC type string, TXT_TYPE___1 type string, TXT_TYPE___2 type string, TXT_TYPING type string, TXT_UNICODE_CHECKS type string,

TXT_UNICODE_SYSTEM type string, TXT_UPDATES type string, TXT_UPDATE_MODULE type string, TXT_UPPERLIMIT type string, TXT_UPPER_LOWER_CASE_ENTRY type string, TXT_USAGE_DATA type string, TXT_USER type string, TXT_USE_ACCESS type string, TXT_VALUE_LIST type string, TXT_VALUE_RANGE type string, TXT_VARIANT type string, TXT_VARIANTS type string, TXT_VARIANTS_OF_REPORTS type string, TXT_VERSION type string, TXT_VIEW type string, TXT_VIEWS type string, TXT_VIEW_FIELD type string, TXT_VIEW_FLDS type string, TXT_VISIBILITY type string, TXT_VISIBLE type string, TXT_VISLG type string, TXT_W type string, TXT_WITHOUT_APPLICATION_TOOLBA type string, TXT_WITHOUT_TEMPLATE type string, TXT_WITH_ICON type string, TXT_YES type string, VAR_NAME_VALUE type string. *&---------------------------------------------------------------------* *& Include ZSOFTCOPY_VARIABLES * *& * *&---------------------------------------------------------------------* *& * *& 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 <http://www.gnu.org/licenses/>. * *& * *&---------------------------------------------------------------------* *& * *& Author: Ruediger von Creytz ruediger.creytz@globalbit.net * *& Copyright: globalBIT, LLC http://www.globalbit.net * *& * *&---------------------------------------------------------------------* data: g_add_db_content g_add_db_format_csv g_add_db_format_xml g_add_db_max_lines

type type type type

flag flag flag i

value value value value

abap_true, abap_true, abap_true, 500,

g_add_elem_ddic g_add_elem_tabl g_add_elem_view g_add_elem_ttyp g_add_elem_struc g_add_elem_dtel g_add_elem_doma g_add_elem_shlp g_add_elem_enqu g_add_elem_type g_add_elem_clslib g_add_elem_clas g_add_elem_intf g_add_elem_prog g_add_elem_fugr g_add_elem_fuba g_add_elem_scr g_add_elem_fuincl g_add_elem_incl g_add_elem_xslt g_add_sourcecode g_add_report_variants g_empty_tab g_folder g_pack g_cnt_elems g_cnt_downloads

type type type type type type type type type type type type type type type type type type type type type type type type type type type

flag flag flag flag flag flag flag flag flag flag flag flag flag flag flag flag flag flag flag flag flag flag c string, devclass, i i

value value value value value value value value value value value value value value value value value value value value value value value

abap_true, abap_true, abap_true, abap_true, abap_true, abap_true, abap_true, abap_true, abap_true, abap_true, abap_true, abap_true, abap_true, abap_true, abap_true, abap_true, abap_true, abap_true, abap_true, abap_true, abap_true, abap_true, 'D',

value 0, value 0,

*must be initial g_it_link type it_link, *download database contents (all packages) g_it_tadir type standard table of tadir, *download elements g_it_ztadir type it_ztadir, *download class methods g_it_zseomethod type it_zseomethod, g_it_tdevc type standard table of tdevc, g_st_tdevc type tdevc, g_it_table_structure type it_table_structure, g_it_tabstrip type it_tabstrip, g_it_text_element type it_text_element, g_it_text_element_t type it_text_element_t, g_it_varid_broken type it_varid. constants: g_c_delimiter g_c_empty_tab_disable g_c_empty_tab_display g_c_empty_tab_hide g_c_extension_csv g_c_extension_htm g_c_extension_txt g_c_extension_xml g_c_extension_xsl g_c_futype_group g_c_futype_include g_c_futype_screen g_c_futype_module g_c_subrc_deselected g_c_subrc_do_not_add type type type type type type type type type type type type type type type c c c c char3 char3 char3 char3 char3 c c c c sysubrc sysubrc value value value value value value value value value value value value value value value '\', 'D', 'N', 'H', 'csv', 'htm', 'txt', 'xml', 'xsl', 'G', 'I', 'S', 'M', 97, 98,

g_c_subrc_not_found g_c_src_max_rows tables: dd02l, tdevc.

type sysubrc type i

value 99, value 16000.

*----------------------------------------------------------------------* form: init *----------------------------------------------------------------------form init. refresh: g_it_ztadir, g_it_zseomethod. g_cnt_elems = 0. g_cnt_downloads = 0. endform. *&---------------------------------------------------------------------* *& 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 <http://www.gnu.org/licenses/>. * *& * *&---------------------------------------------------------------------* *& * *& Author: Ruediger von Creytz ruediger.creytz@globalbit.net * *& Copyright: globalBIT, LLC http://www.globalbit.net * *& * *&---------------------------------------------------------------------* *----------------------------------------------------------------------* Selection screen declaration *----------------------------------------------------------------------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 500. 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. * 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. * Dictionary Objects selection-screen begin of line. parameters p_ddic as checkbox default abap_true modif id dis user-command u_ddic. selection-screen comment 5(20) t_ddic.

selection-screen end of line. * * Database Tables selection-screen begin of line. selection-screen position 6. parameters p_tabl as checkbox default abap_true. selection-screen comment 10(20) t_tabl. selection-screen end of line. * * Views selection-screen begin of line. selection-screen position 6. parameters p_view as checkbox default abap_true. selection-screen comment 10(20) t_view. selection-screen end of line. * * Table Types selection-screen begin of line. selection-screen position 6. parameters p_ttyp as checkbox default abap_true. selection-screen comment 10(20) t_ttyp. selection-screen end of line. * * Structures selection-screen begin of line. selection-screen position 6. parameters p_struc as checkbox default abap_true. selection-screen comment 10(20) t_struc. selection-screen end of line. * * Data Elements selection-screen begin of line. selection-screen position 6. parameters p_dtel as checkbox default abap_true. selection-screen comment 10(20) t_dtel. selection-screen end of line. * * Domains selection-screen begin of line. selection-screen position 6. parameters p_doma as checkbox default abap_true. selection-screen comment 10(20) t_doma. selection-screen end of line. * * Search Helps selection-screen begin of line. selection-screen position 6. parameters p_shlp as checkbox default abap_true. selection-screen comment 10(20) t_shlp. selection-screen end of line. * * Lock Objects selection-screen begin of line. selection-screen position 6. parameters p_enqu as checkbox default abap_true. selection-screen comment 10(20) t_enqu. selection-screen end of line. * * Type Groups selection-screen begin of line. selection-screen position 6. parameters p_type as checkbox default abap_true. selection-screen comment 10(20) t_type. selection-screen end of line. * Class Library selection-screen begin of line. parameters p_clslib as checkbox default abap_true modif id dis user-command u_clslib.

selection-screen comment 5(20) t_clslib. selection-screen end of line. * * Classes selection-screen begin of line. selection-screen position 6. parameters p_clas as checkbox default abap_true. selection-screen comment 10(20) t_clas. selection-screen end of line. * * Interfaces selection-screen begin of line. selection-screen position 6. parameters p_intf as checkbox default abap_true. selection-screen comment 10(20) t_intf. selection-screen end of line. * Programs selection-screen begin of line. parameters p_prog as checkbox default abap_true. selection-screen comment 5(20) t_prog. selection-screen end of line. * Function Groups selection-screen begin of line. parameters p_fugr as checkbox default abap_true modif id dis user-command u_fugr. selection-screen comment 5(20) t_fugr. selection-screen end of line. * * Function Modules selection-screen begin of line. selection-screen position 6. parameters p_fuba as checkbox default abap_true. selection-screen comment 10(20) t_fuba. selection-screen end of line. * * Screens selection-screen begin of line. selection-screen position 6. parameters p_scr as checkbox default abap_true. selection-screen comment 10(20) t_scr. selection-screen end of line. * * Includes selection-screen begin of line. selection-screen position 6. parameters p_fuincl as checkbox default abap_true. selection-screen comment 10(20) t_fuincl. selection-screen end of line. * Includes selection-screen begin of line. parameters p_incl as checkbox default abap_true. selection-screen comment 5(20) t_incl. selection-screen end of line. * Transformations selection-screen begin of line. parameters p_xslt as checkbox default abap_true. selection-screen comment 5(20) t_xslt. 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 sy-ucomm. 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. else. p_db_csv = abap_true. p_db_xml = 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. * 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_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. perform decode_html_io using txt_source_code changing perform decode_html_io using txt_variants_of_reports changing t_add_rv. perform decode_html_io using txt_selection changing perform decode_html_io using txt_classes changing perform decode_html_io using txt_class_library changing t_db_csv = g_c_extension_csv. t_db_xml = g_c_extension_xml. perform decode_html_io using txt_database_content changing perform decode_html_io using txt_format changing perform decode_html_io using txt_restrict changing perform decode_html_io using txt_max_no_of_lines changing perform decode_html_io using txt_dict_objs changing perform decode_html_io using txt_domains changing perform decode_html_io using txt_data_elements changing perform decode_html_io using txt_objects changing perform decode_html_io using txt_lock_objects changing perform decode_html_io using txt_empty_tab changing perform decode_html_io using txt_disabled changing perform decode_html_io using txt_hidden changing perform decode_html_io using txt_display changing perform decode_html_io using txt_function_modules changing perform decode_html_io using txt_function_groups changing perform decode_html_io using txt_includes changing perform decode_html_io using txt_includes changing perform decode_html_io using txt_interfaces changing perform decode_html_io using txt_options changing t_add_sc. t_choice. t_clas. t_clslib. t_dbcont. t_dbform. t_dblim. t_dbmax. t_ddic. t_doma. t_dtel. t_elems. t_enqu. t_etab. t_etab_d. t_etab_h. t_etab_n. t_fuba. t_fugr. t_fuincl. t_incl. t_intf. t_opts.

perform perform perform perform perform perform perform perform perform perform perform

decode_html_io decode_html_io decode_html_io decode_html_io decode_html_io decode_html_io decode_html_io decode_html_io decode_html_io decode_html_io decode_html_io

using using using using using using using using using using using

txt_package txt_directory txt_programs txt_screens txt_srch_helps txt_structures txt_database_tables txt_table_types txt_type_grps txt_views txt_transformations

changing changing changing changing changing changing changing changing changing changing changing

t_pack. t_path. t_prog. t_scr. t_shlp. t_struc. t_tabl. t_ttyp. t_type. t_view. t_xslt.

*----------------------------------------------------------------------* start-of-selection *----------------------------------------------------------------------start-of-selection. data: s_dir type string, s_dir_check type flag, s_dir_rc type i, s_message type string, s_txt type string, s_it_tadir type standard table of tadir, s_tabname type tabname. field-symbols: <s_st_tadir> type tadir. clear: g_folder, g_pack. refresh: g_it_tadir. if p_devcl is initial. perform decode_html_io using txt_enter_a_package changing s_txt. write / s_txt. elseif p_folder is initial. perform decode_html_io using txt_please_enter_a_root_dir changing s_txt. write / s_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_scr = p_scr. g_add_elem_fuincl = p_fuincl. g_add_elem_incl = p_incl. g_add_elem_xslt = p_xslt. block2 g_add_sourcecode = p_add_sc. case abap_true. when p_etab_n. g_empty_tab = g_c_empty_tab_display. when p_etab_d. g_empty_tab = g_c_empty_tab_disable. when p_etab_h. g_empty_tab = g_c_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. if g_add_db_content = abap_true. if not p_dblim is initial. select * from tadir into table s_it_tadir where pgmid = 'R3TR' and object = 'TABL' and obj_name in p_dblim and devclass in p_devcl. else. select * from tadir into table s_it_tadir where pgmid = 'R3TR' and object = 'TABL' and devclass in p_devcl. endif. loop at s_it_tadir assigning <s_st_tadir>. s_tabname = <s_st_tadir>-obj_name. select single tabname from dd02l into s_tabname where as4local = 'A' and tabclass = 'TRANSP' and tabname = s_tabname. if sy-subrc = 0. append <s_st_tadir> to g_it_tadir. endif. endloop. refresh s_it_tadir. endif. g_add_report_variants = p_add_rv. block 1 s_dir = p_folder. call method cl_gui_frontend_services=>directory_exist exporting directory = s_dir receiving result = s_dir_check exceptions others = 1. if sy-subrc = 0 and s_dir_check = abap_false. call method cl_gui_frontend_services=>directory_create

exporting directory = s_dir changing rc = s_dir_rc exceptions others = 1. if sy-subrc = 0 and s_dir_rc = 0. g_folder = p_folder. endif. elseif sy-subrc = 0. g_folder = p_folder. endif. if g_folder is initial. clear s_message. perform get_message_text using 'EA' '334' p_folder space space space changing s_message. perform decode_html_io using txt_please_enter_a_valid_path changing s_txt. write: / s_message, / s_txt. else. select * from tdevc into table g_it_tdevc where devclass in p_devcl. if sy-subrc <> 0. clear s_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 s_message. perform decode_html_io using txt_please_enter_a_root_dir changing s_txt. write: / s_message, / s_txt. endif. endif. endif. end-of-selection. *----------------------------------------------------------------------if not g_it_tdevc is initial and not g_folder is initial. loop at g_it_tdevc into g_st_tdevc. g_pack = g_st_tdevc-devclass. perform init. perform select. perform html_base. perform links. perform optionals. perform system.

endloop. perform decode_html_io using txt_completed changing s_txt. write s_txt. endif. *&---------------------------------------------------------------------* *& Include ZCOMMAND__REPLACE * *& * *&---------------------------------------------------------------------* *& * *& This file is part of ZDOWNLOAD. * *& * *& ZDOWNLOAD 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. * *& * *& ZDOWNLOAD 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 <http://www.gnu.org/licenses/>. * *& * *&---------------------------------------------------------------------* *& * *& Author: Ruediger von Creytz ruediger.creytz@globalbit.net * *& Copyright: globalBIT, LLC http://www.globalbit.net * *& * *&---------------------------------------------------------------------* *----------------------------------------------------------------------* replace_all *----------------------------------------------------------------------form replace_all using value(i_old) value(i_new) changing c_str type any. replace all occurrences of i_old in c_str with i_new. endform. "replace_all

*----------------------------------------------------------------------* replace_single *----------------------------------------------------------------------form replace_single using value(i_old) value(i_new) changing c_str type any.

replace i_old in c_str with i_new. endform. "replace_single *&---------------------------------------------------------------------* *& Include ZCONVERT_NUM * *& * *&---------------------------------------------------------------------* *& * *& This file is part of ZDOWNLOAD. * *& * *& ZDOWNLOAD 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. * *& * *& ZDOWNLOAD 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 <http://www.gnu.org/licenses/>. * *& * *&---------------------------------------------------------------------* *& * *& Author: Ruediger von Creytz ruediger.creytz@globalbit.net * *& Copyright: globalBIT, LLC http://www.globalbit.net * *& * *&---------------------------------------------------------------------* *----------------------------------------------------------------------* number_to_hex_char *----------------------------------------------------------------------form number_to_hex_char using i_num type i changing c_hex type c. clear c_hex. if i_num <= 9. c_hex = i_num. else. case i_num. when 10. c_hex when 11. c_hex when 12. c_hex when 13. c_hex when 14. c_hex when 15. c_hex endcase. endif. endform.

= = = = = =

'A'. 'B'. 'C'. 'D'. 'E'. 'F'. "number_to_hex_char

*----------------------------------------------------------------------* number_to_hex_string *-----------------------------------------------------------------------

form number_to_hex_string using i_num type any changing c_hex type string. data: l_num type l_cal type l_cnt type l_hex_char i, i value 1, i, type c.

clear c_hex. l_num = i_num. if l_num = 0. c_hex = '0'. else. do. l_cnt = 0. if l_cal <= l_num. l_cal = l_cal * 16. endif. if l_cal > l_num. l_cal = l_cal / 16. do. if l_cal <= l_num. l_num = l_num - l_cal. l_cnt = l_cnt + 1. else. exit. endif. enddo. perform number_to_hex_char using l_cnt changing l_hex_char. concatenate c_hex l_hex_char into c_hex. endif. if l_num = 0 and l_cal = 1. exit. endif. enddo. endif. endform. "number_to_hex_string *&---------------------------------------------------------------------* *& Include ZCONVERT_TXT * *& * *&---------------------------------------------------------------------* *& * *& This file is part of ZDOWNLOAD. * *& * *& ZDOWNLOAD 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. * *& * *& ZDOWNLOAD 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 <http://www.gnu.org/licenses/>. * *& * *&---------------------------------------------------------------------* *& * *& Author: Ruediger von Creytz ruediger.creytz@globalbit.net * *& Copyright: globalBIT, LLC http://www.globalbit.net * *& * *&---------------------------------------------------------------------* *----------------------------------------------------------------------* decode_html *----------------------------------------------------------------------form decode_html changing c_txt type any. data: l_xstr type xstring, l_hex type string, l_xpos type i, l_str type string, l_fdpos type i, l_strlen type i, l_out type string, l_outlen type i, l_char type string. check not c_txt is initial. check c_txt cs '&#x'. l_str = c_txt. do. if l_str cs '&#x'. l_fdpos = sy-fdpos. if l_fdpos > 0. concatenate l_out+0(l_outlen) l_str+0(l_fdpos) into l_out. l_outlen = l_outlen + l_fdpos. endif. l_xpos = l_fdpos + 3. l_strlen = strlen( l_str ). l_strlen = l_strlen - l_xpos. l_str = l_str+l_xpos(l_strlen). split l_str at ';' into l_hex l_str. l_xstr = l_hex. call function 'NLS_STRING_CONVERT_TO_SYS' exporting lang_used = sy-langu source = l_xstr importing result = l_char exceptions others = 1. if sy-subrc = 0. concatenate l_out+0(l_outlen) l_char+0(1) into l_out. else.

concatenate l_out+0(l_outlen) '#' into l_out. endif. l_outlen = l_outlen + 1. else. exit. endif. enddo. l_strlen = strlen( l_str ). concatenate l_out+0(l_outlen) l_str+0(l_strlen) into l_out. c_txt = l_out. endform. "decode_html *----------------------------------------------------------------------* decode_html_io *----------------------------------------------------------------------form decode_html_io using i_html type string changing c_txt type any. c_txt = i_html. perform decode_html changing c_txt. endform. "decode_html_io

*----------------------------------------------------------------------* encode_html *----------------------------------------------------------------------form encode_html changing c_txt type string. data: l_xstr type xstring, l_hex type string, l_hexlen type i, l_xlen type i, l_xpos type i, l_str type string, l_strlen type i, l_out type string, l_outlen type i, l_pos type i, l_chars(255) type c. check not c_txt is initial. check c_txt ns '&#'. concatenate "characters not to encode ' :;,./()-_+*#' '0123456789' 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

into l_chars. l_str = c_txt. call function 'NLS_STRING_CONVERT_FROM_SYS' exporting lang_used = sy-langu source = l_str importing result = l_xstr. l_hex = l_xstr. l_hexlen = strlen( l_hex ). l_strlen = strlen( l_str ). l_xlen = l_hexlen / l_strlen. do. if l_chars na l_str+l_pos(1). l_xpos = l_pos * l_xlen. if l_outlen = 0. concatenate '&#x' l_hex+l_xpos(l_xlen) ';' into l_out. else. concatenate l_out+0(l_outlen) '&#x' l_hex+l_xpos(l_xlen) ';' into l_out. endif. l_outlen = l_outlen + 4 + l_xlen. else. if l_outlen = 0. l_out = l_str+l_pos(1). else. concatenate l_out+0(l_outlen) l_str+l_pos(1) into l_out. endif. l_outlen = l_outlen + 1. endif. l_pos = l_pos + 1. l_strlen = strlen( l_str ). if l_pos = l_strlen. exit. endif. enddo. c_txt = l_out. endform. "encode_html

*----------------------------------------------------------------------* form: encode_uri *----------------------------------------------------------------------form encode_uri changing c_url type string. data: l_url type string, l_params type string, l_it_param type it_string, l_key type string, l_value type string,

l_len type i. field-symbols: <l_param> type string. check not c_url is initial. if c_url ca '?'. split c_url at '?' into l_url l_params. concatenate l_url '?' into l_url. else. l_params = c_url. endif. split l_params at '&' into table l_it_param. loop at l_it_param assigning <l_param>. clear: l_key, l_value. split <l_param> at '=' into l_key l_value. perform encode_uri_value changing l_value. concatenate l_url l_key '=' l_value '&' into l_url. endloop. l_len = strlen( l_url ). l_len = l_len - 1. "remove last '&' c_url = l_url+0(l_len). endform. "encode_uri *----------------------------------------------------------------------* form: encode_uri_value *----------------------------------------------------------------------form encode_uri_value changing c_value type string. data: l_xstr type xstring, l_hex type string, l_hexlen type i, l_chex type string, l_chex_pos type i, l_xlen type i, l_xpos type i, l_str type string, l_strlen type i, l_out type string, l_outlen type i, l_pos type i, l_chars(62) type c. check not c_value is initial. concatenate "characters not to encode '0123456789' 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' into l_chars. l_str = c_value.

call function 'NLS_STRING_CONVERT_FROM_SYS' exporting lang_used = sy-langu source = l_str importing result = l_xstr. l_hex = l_xstr. l_hexlen = strlen( l_hex ). l_strlen = strlen( l_str ). l_xlen = l_hexlen / l_strlen. do. if l_chars na l_str+l_pos(1). l_xpos = l_pos * l_xlen. l_chex = l_hex+l_xpos(l_xlen). l_chex_pos = strlen( l_chex ). l_chex_pos = l_chex_pos - 2. l_chex = l_chex+l_chex_pos(2). if l_outlen = 0. concatenate '%' l_chex into l_out. else. concatenate l_out+0(l_outlen) '%' l_chex into l_out. endif. l_outlen = l_outlen + 3. else. if l_outlen = 0. l_out = l_str+l_pos(1). else. concatenate l_out+0(l_outlen) l_str+l_pos(1) into l_out. endif. l_outlen = l_outlen + 1. endif. l_pos = l_pos + 1. l_strlen = strlen( l_str ). if l_pos = l_strlen. exit. endif. enddo. c_value = l_out. endform. "encode_uri_value *&---------------------------------------------------------------------* *& Include ZDB_DOWNLOAD_CONVERT_DATA * *& * *&---------------------------------------------------------------------* *& * *& This file is part of ZDB_DOWNLOAD. * *& * *& ZDB_DOWNLOAD 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. * *& * *& ZDB_DOWNLOAD 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 <http://www.gnu.org/licenses/>. * *& * *&---------------------------------------------------------------------* *& * *& Author: Ruediger von Creytz ruediger.creytz@globalbit.net * *& Copyright: globalBIT, LLC http://www.globalbit.net * *& * *&---------------------------------------------------------------------* *----------------------------------------------------------------------* form: data2csv *----------------------------------------------------------------------form data2csv using value(i_tabname) changing c_it_csv type it_string. data: l_it_dd03l type standard table of dd03l, l_st_dd02l type dd02l, l_fieldname type fieldname, l_position type tabfdpos, l_value type string, l_csv type string, l_len type i, l_length type string, l_st_fs type ref to data. field-symbols: <l_st_dd03l> type dd03l, <l_st_fs> type any, <l_value> type any. refresh c_it_csv. select * from dd03l into table l_it_dd03l where tabname = i_tabname and as4local = 'A' order by position. select single * from dd02l into l_st_dd02l where tabname = i_tabname and as4local = 'A'. loop at l_it_dd03l assigning <l_st_dd03l>. if not l_csv is initial. concatenate l_csv ';' into l_csv. endif. l_len = <l_st_dd03l>-intlen. l_length = l_len. condense l_length. concatenate l_csv '"' <l_st_dd03l>-fieldname '(' <l_st_dd03l>-inttype l_length ')"' into l_csv. endloop. append l_csv to c_it_csv.

*content create data l_st_fs type (i_tabname). assign l_st_fs->* to <l_st_fs>. select * from (i_tabname) into <l_st_fs>. clear l_csv. loop at l_it_dd03l assigning <l_st_dd03l>. clear l_value. assign component <l_st_dd03l>-fieldname of structure <l_st_fs> to <l_value>. l_value = <l_value>. if not l_csv is initial. concatenate l_csv ';' into l_csv. endif. concatenate l_csv '"' l_value '"' into l_csv. endloop. append l_csv to c_it_csv. if sy-dbcnt = g_add_db_max_lines. exit. endif. endselect. endform. "select_data2csv

*----------------------------------------------------------------------* form: data2xml *----------------------------------------------------------------------form data2xml using value(i_tabname) changing c_it_xml type it_string. data: l_it_dd03l type standard table of dd03l, l_st_dd03t type dd03t, l_st_dd02l type dd02l, l_st_dd02t type dd02t, l_fieldname(30) type c, l_position type tabfdpos, l_value type string, l_xml type string, l_st_fs type ref to data. field-symbols: <l_st_dd03l> type dd03l, <l_st_fs> type any, <l_value> type any. refresh c_it_xml. select * from dd03l into table l_it_dd03l where tabname = i_tabname and as4local = 'A' order by position. append '<?xml version="1.0" encoding="UTF-8" ?>' to c_it_xml. append '<db>' to c_it_xml. append '<definition><table>' to c_it_xml. select single * from dd02l into l_st_dd02l where tabname = i_tabname

and as4local = 'A'. select fieldname position from dd03l into (l_fieldname, l_position) where tabname = 'DD02L' order by position. assign component l_fieldname of structure l_st_dd02l to <l_value>. if not <l_value> is initial. l_value = <l_value>. perform encode_html changing l_value. translate l_fieldname to lower case. concatenate '<' l_fieldname ' value="' l_value '"/>' into l_xml. append l_xml to c_it_xml. endif. endselect. select * from dd02t into l_st_dd02t where tabname = i_tabname and as4local = 'A'. concatenate '<text language="' l_st_dd02t-ddlanguage '">' l_st_dd02t-ddtext '</text>' into l_xml. append l_xml to c_it_xml. endselect. append '</table>' to c_it_xml. loop at l_it_dd03l assigning <l_st_dd03l>. append '<col>' to c_it_xml. select fieldname position from dd03l into (l_fieldname, l_position) where tabname = 'DD03L' and fieldname <> 'TABNAME' order by position. assign component l_fieldname of structure <l_st_dd03l> to <l_value>. l_value = <l_value>. if not <l_value> is initial. perform encode_html changing l_value. translate l_fieldname to lower case. concatenate '<' l_fieldname '>' l_value '</' l_fieldname '>' into l_xml. append l_xml to c_it_xml. endif. endselect. select * from dd03t into l_st_dd03t where tabname = <l_st_dd03l>-tabname and fieldname = <l_st_dd03l>-fieldname and as4local = 'A'. concatenate '<text language="' l_st_dd03t-ddlanguage '">' l_st_dd03t-ddtext '</text>' into l_xml. append l_xml to c_it_xml. endselect. append '</col>' to c_it_xml.

endloop. append '</definition>' to c_it_xml. *content append '<lines>' to c_it_xml. create data l_st_fs type (i_tabname). assign l_st_fs->* to <l_st_fs>. select * from (i_tabname) into <l_st_fs>. clear l_xml. append '<line>' to c_it_xml. loop at l_it_dd03l assigning <l_st_dd03l>. clear l_value. assign component <l_st_dd03l>-fieldname of structure <l_st_fs> to <l_value>. l_value = <l_value>. perform encode_html changing l_value. if not <l_value> is initial. if <l_st_dd03l>-fieldname(1) = '.'. <l_st_dd03l>-fieldname(1) = '_'. endif. concatenate '<cell name="' <l_st_dd03l>-fieldname '">' l_value '</cell>' into l_xml. append l_xml to c_it_xml. endif. endloop. append '</line>' to c_it_xml. if sy-dbcnt = g_add_db_max_lines. exit. endif. endselect. append '</lines></db>' to c_it_xml. endform. "select_data2xml *&---------------------------------------------------------------------* *& Include ZGPL * *& * *&---------------------------------------------------------------------* *& * *& This file is part of ZDOWNLOAD. * *& * *& ZDOWNLOAD 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. * *& * *& ZDOWNLOAD 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 <http://www.gnu.org/licenses/>. * *& *

*&---------------------------------------------------------------------* *& * *& Author: Ruediger von Creytz ruediger.creytz@globalbit.net * *& Copyright: globalBIT, LLC http://www.globalbit.net * *& * *&---------------------------------------------------------------------* *----------------------------------------------------------------------* gpl_html *----------------------------------------------------------------------form gpl_html changing c_title type string c_it_html type it_string. data: l_st_html type string. c_title = 'GNU General Public License'. concatenate '<p style="text-align: center;">Version 3, 29 June 2007</p>' '<p>Copyright &copy; 2007 Free Software Foundation, Inc.' ' &lt;http://fsf.org/&gt;</p>' '<p>Everyone is permitted to copy and distribute verbatim copies' ' of this license document, but changing it is not allowed.</p>' into l_st_html. append l_st_html to c_it_html. append '<h3><a name="preamble"></a>Preamble</h3>' to c_it_html. concatenate '<p>The GNU General Public License is a free, copyleft license for' ' software and other kinds of works.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>The licenses for most software and other practical works are' ' designed to take away your freedom to share and change the works.' ' By contrast, the GNU General Public License is intended to' ' guarantee your freedom to share and change all versions of a' ' program--to make sure it remains free software for all its users.' ' We, the Free Software Foundation, use the GNU General Public' ' License for most of our software; it applies also to any other' ' work released this way by its authors. You can apply it to your' ' programs, too.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>When we speak of free software, we are referring to freedom, not' ' price. Our General Public Licenses are designed to make sure that' ' you have the freedom to distribute copies of free software (and' ' charge for them if you wish), that you receive source code or can' ' get it if you want it, that you can change the software or use' ' pieces of it in new free programs, and that you know you can do' ' these things.</p>' into l_st_html.

append l_st_html to c_it_html. concatenate '<p>To protect your rights, we need to prevent others from denying' ' you these rights or asking you to surrender the rights.' ' Therefore, you have certain responsibilities if you distribute' ' copies of the software, or if you modify it: responsibilities to' ' respect the freedom of others.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>For example, if you distribute copies of such a program, whether' ' gratis or for a fee, you must pass on to the recipients the same' ' freedoms that you received. You must make sure that they, too,' ' receive or can get the source code. And you must show them these' ' terms so they know their rights.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>Developers that use the GNU GPL protect your rights with two' ' steps: (1) assert copyright on the software, and (2) offer you' ' this License giving you legal permission to copy, distribute' ' and/or modify it.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>For the developers'' and authors'' protection, the GPL clearly' ' explains that there is no warranty for this free software. For' ' both users'' and authors'' sake, the GPL requires that modified' ' versions be marked as changed, so that their problems will not be' ' attributed erroneously to authors of previous versions.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>Some devices are designed to deny users access to install or run' ' modified versions of the software inside them, although the' ' manufacturer can do so. This is fundamentally incompatible with' ' the aim of protecting users'' freedom to change the software. The' ' systematic pattern of such abuse occurs in the area of products' ' for individuals to use, which is precisely where it is most' ' unacceptable. Therefore, we have designed this version of the GPL' ' to prohibit the practice for those products. If such problems' ' arise substantially in other domains, we stand ready to extend' ' this provision to those domains in future versions of the GPL, as' ' needed to protect the freedom of users.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>Finally, every program is threatened constantly by' ' software patents. States should not allow patents to restrict' ' development and use of software on general-purpose computers, but' ' in those that do, we wish to avoid the special danger that' ' patents applied to a free program could make it effectively' ' proprietary. To prevent this, the GPL assures that patents' ' cannot be used to render the program non-free.</p>'

into l_st_html. append l_st_html to c_it_html. concatenate '<p>The precise terms and conditions for copying, distribution and' ' modification follow.</p>' into l_st_html. append l_st_html to c_it_html. append '<h3><a name="terms"></a>TERMS AND CONDITIONS</h3>' to c_it_html. append '<h4><a name="section0"></a>0. Definitions.</h4>' to c_it_html. concatenate '<p>&ldquo;This License&rdquo; refers to version 3 of the GNU' ' General Public License.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>&ldquo;Copyright&rdquo; also means copyright-like laws that' ' apply to other kinds of works, such as semiconductor masks.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>&ldquo;The Program&rdquo; refers to any copyrightable work' ' licensed under this License. Each licensee is addressed as' ' &ldquo;you&rdquo;. &ldquo;Licensees&rdquo; and' ' &ldquo;recipients&rdquo; may be individuals or organizations.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>To &ldquo;modify&rdquo; a work means to copy from or adapt all' ' or part of the work in a fashion requiring copyright permission,' ' other than the making of an exact copy. The resulting work is' ' called a &ldquo;modified version&rdquo; of the earlier work or a' ' work &ldquo;based on&rdquo; the earlier work.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>A &ldquo;covered work&rdquo; means either the unmodified' ' Program or a work based on the Program.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>To &ldquo;propagate&rdquo; a work means to do anything with it' ' that, without permission, would make you directly or secondarily' ' liable for infringement under applicable copyright law, except' ' executing it on a computer or modifying a private copy.' ' Propagation includes copying, distribution (with or without' ' modification), making available to the public, and in some' ' countries other activities as well.</p>' into l_st_html. append l_st_html to c_it_html.

concatenate '<p>To &ldquo;convey&rdquo; a work means any kind of propagation' ' that enables other parties to make or receive copies. Mere' ' interaction with a user through a computer network, with no' ' transfer of a copy, is not conveying.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>An interactive user interface displays &ldquo;Appropriate Legal' ' Notices&rdquo; to the extent that it includes a convenient and' ' prominently visible feature that (1) displays an appropriate' ' copyright notice, and (2) tells the user that there is no' ' warranty for the work (except to the extent that warranties are' ' provided), that licensees may convey the work under this License,' ' and how to view a copy of this License. If the interface presents' ' a list of user commands or options, such as a menu, a prominent' ' item in the list meets this criterion.</p>' into l_st_html. append l_st_html to c_it_html. append '<h4><a name="section1"></a>1. Source Code.</h4>' to c_it_html. concatenate '<p>The &ldquo;source code&rdquo; for a work means the preferred' ' form of the work for making modifications to it. &ldquo;Object' ' code&rdquo; means any non-source form of a work.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>A &ldquo;Standard Interface&rdquo; means an interface that' ' either is an official standard defined by a recognized standards' ' body, or, in the case of interfaces specified for a particular' ' programming language, one that is widely used among developers' ' working in that language.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>The &ldquo;System Libraries&rdquo; of an executable work' ' include anything, other than the work as a whole, that (a) is' ' included in the normal form of packaging a Major Component, but' ' which is not part of that Major Component, and (b) serves only' ' to enable use of the work with that Major Component, or to' ' implement a Standard Interface for which an implementation is' ' available to the public in source code form. A' ' &ldquo;Major Component&rdquo;, in this context, means a major' ' essential component (kernel, window system, and so on) of the' ' specific operating system (if any) on which the executable work' ' runs, or a compiler used to produce the work, or an object code' ' interpreter used to run it.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>The &ldquo;Corresponding Source&rdquo; for a work in object' ' code form means all the source code needed to generate, install,'

' and (for an executable work) run the object code and to modify' ' the work, including scripts to control those activities. However,' ' it does not include the work''s System Libraries, or' ' general-purpose tools or generally available free programs which' ' are used unmodified in performing those activities but which are' ' not part of the work. For example, Corresponding Source includes' ' interface definition files associated with source files for the' ' work, and the source code for shared libraries and dynamically' ' linked subprograms that the work is specifically designed to' ' require, such as by intimate data communication or control flow' ' between those subprograms and other parts of the work.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>The Corresponding Source need not include anything that users' ' can regenerate automatically from other parts of the' ' Corresponding Source.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>The Corresponding Source for a work in source code form is that' ' same work.</p>' into l_st_html. append l_st_html to c_it_html. append '<h4><a name="section2"></a>2. Basic Permissions.</h4>' to c_it_html. concatenate '<p>All rights granted under this License are granted for the term' ' of copyright on the Program, and are irrevocable provided the' ' stated conditions are met. This License explicitly affirms your' ' unlimited permission to run the unmodified Program. The output' ' from running a covered work is covered by this License only if' ' the output, given its content, constitutes a covered work. This' ' License acknowledges your rights of fair use or other equivalent,' ' as provided by copyright law.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>You may make, run and propagate covered works that you do not' ' convey, without conditions so long as your license otherwise' ' remains in force. You may convey covered works to others for the' ' sole purpose of having them make modifications exclusively for' ' you, or provide you with facilities for running those works,' ' provided that you comply with the terms of this License in' ' conveying all material for which you do not control copyright.' ' Those thus making or running the covered works for you must do so' ' exclusively on your behalf, under your direction and control, on' ' terms that prohibit them from making any copies of your' ' copyrighted material outside their relationship with you.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>Conveying under any other circumstances is permitted solely' ' under the conditions stated below. Sublicensing is not allowed;'

' section 10 makes it unnecessary.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<h4><a name="section3"></a>3. Protecting Users'' Legal Rights From' ' Anti-Circumvention Law.</h4>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>No covered work shall be deemed part of an effective' ' technological measure under any applicable law fulfilling' ' obligations under article 11 of the WIPO copyright treaty adopted' ' on 20 December 1996, or similar laws prohibiting or restricting' ' circumvention of such measures.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>When you convey a covered work, you waive any legal power to' ' forbid circumvention of technological measures to the extent such' ' circumvention is effected by exercising rights under this License' ' with respect to the covered work, and you disclaim any intention' ' to limit operation or modification of the work as a means of' ' enforcing, against the work''s users, your or third parties''' ' legal rights to forbid circumvention of technological measures.' '</p>' into l_st_html. append l_st_html to c_it_html. append '<h4><a name="section4"></a>4. Conveying Verbatim Copies.</h4>' to c_it_html. concatenate '<p>You may convey verbatim copies of the Program''s source code as' ' you receive it, in any medium, provided that you conspicuously' ' and appropriately publish on each copy an appropriate copyright' ' notice; keep intact all notices stating that this License and any' ' non-permissive terms added in accord with section 7 apply to the' ' code; keep intact all notices of the absence of any warranty; and' ' give all recipients a copy of this License along with the' ' Program.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>You may charge any price or no price for each copy that you' ' convey, and you may offer support or warranty protection for a' ' fee.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<h4><a name="section5"></a>5. Conveying Modified Source' ' Versions.</h4>' into l_st_html. append l_st_html to c_it_html.

concatenate '<p>You may convey a work based on the Program, or the' ' modifications to produce it from the Program, in the form of' ' source code under the terms of section 4, provided that you also' ' meet all of these conditions:</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<ul>' '<li>a) The work must carry prominent notices stating that you' ' modified it, and giving a relevant date.</li>' into l_st_html. append l_st_html to c_it_html. concatenate '<li>b) The work must carry prominent notices stating that it is' ' released under this License and any conditions added under' ' section 7. This requirement modifies the requirement in section 4' ' to &ldquo;keep intact all notices&rdquo;.</li>' into l_st_html. append l_st_html to c_it_html. concatenate '<li>c) You must license the entire work, as a whole, under this' ' License to anyone who comes into possession of a copy. This' ' License will therefore apply, along with any applicable section 7' ' additional terms, to the whole of the work, and all its parts,' ' regardless of how they are packaged. This License gives no' ' permission to license the work in any other way, but it does not' ' invalidate such permission if you have separately received it.' '</li>' into l_st_html. append l_st_html to c_it_html. concatenate '<li>d) If the work has interactive user interfaces, each must' ' display Appropriate Legal Notices; however, if the Program has' ' interactive interfaces that do not display Appropriate Legal' ' Notices, your work need not make them do so.</li>' '</ul>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>A compilation of a covered work with other separate and' ' independent works, which are not by their nature extensions of' ' the covered work, and which are not combined with it such as to' ' form a larger program, in or on a volume of a storage or' ' distribution medium, is called an &ldquo;aggregate&rdquo; if the' ' compilation and its resulting copyright are not used to limit the' ' access or legal rights of the compilation''s users beyond what the' ' individual works permit. Inclusion of a covered work in an' ' aggregate does not cause this License to apply to the other parts' ' of the aggregate.</p>' into l_st_html. append l_st_html to c_it_html. append '<h4><a name="section6"></a>6. Conveying Non-Source Forms.</h4>'

to c_it_html. concatenate '<p>You may convey a covered work in object code form under the terms' ' of sections 4 and 5, provided that you also convey the' ' machine-readable Corresponding Source under the terms of this' ' License, in one of these ways:</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<ul>' '<li>a) Convey the object code in, or embodied in, a physical' ' product (including a physical distribution medium), accompanied' ' by the Corresponding Source fixed on a durable physical medium' ' customarily used for software interchange.</li>' into l_st_html. append l_st_html to c_it_html. concatenate '<li>b) Convey the object code in, or embodied in, a physical' ' product (including a physical distribution medium), accompanied' ' by a written offer, valid for at least three years and valid for' ' as long as you offer spare parts or customer support for that' ' product model, to give anyone who possesses the object code' ' either (1) a copy of the Corresponding Source for all the' ' software in the product that is covered by this License, on a' ' durable physical medium customarily used for software' ' interchange, for a price no more than your reasonable cost of' ' physically performing this conveying of source, or (2) access to' ' copy the Corresponding Source from a network server at no charge.' '</li>' into l_st_html. append l_st_html to c_it_html. concatenate '<li>c) Convey individual copies of the object code with a copy of' ' the written offer to provide the Corresponding Source. This' ' alternative is allowed only occasionally and noncommercially, and' ' only if you received the object code with such an offer, in' ' accord with subsection 6b.</li>' into l_st_html. append l_st_html to c_it_html. concatenate '<li>d) Convey the object code by offering access from a designated' ' place (gratis or for a charge), and offer equivalent access to' ' the Corresponding Source in the same way through the same place' ' at no further charge. You need not require recipients to copy the' ' Corresponding Source along with the object code. If the place to' ' copy the object code is a network server, the Corresponding' ' Source may be on a different server (operated by you or a third' ' party) that supports equivalent copying facilities, provided you' ' maintain clear directions next to the object code saying where to' ' find the Corresponding Source. Regardless of what server hosts the' ' Corresponding Source, you remain obligated to ensure that it is' ' available for as long as needed to satisfy these requirements.' '</li>' into l_st_html. append l_st_html to c_it_html.

concatenate '<li>e) Convey the object code using peer-to-peer transmission,' ' provided you inform other peers where the object code and' ' Corresponding Source of the work are being offered to the general' 'public at no charge under subsection 6d.</li>' '</ul>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>A separable portion of the object code, whose source code is' ' excluded from the Corresponding Source as a System Library, need' ' not be included in conveying the object code work.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>A &ldquo;User Product&rdquo; is either (1) a &ldquo;consumer' ' product&rdquo;, which means any tangible personal property which' ' is normally used for personal, family, or household purposes, or' ' (2) anything designed or sold for incorporation into a dwelling.' ' In determining whether a product is a consumer product, doubtful' ' cases shall be resolved in favor of coverage. For a particular' ' product received by a particular user, &ldquo;normally used&rdquo;' ' refers to a typical or common use of that class of product,' ' regardless of the status of the particular user or of the way in' ' which the particular user actually uses, or expects or is' ' expected to use, the product. A product is a consumer product' ' regardless of whether the product has substantial commercial,' ' industrial or non-consumer uses, unless such uses represent' ' the only significant mode of use of the product.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>&ldquo;Installation Information&rdquo; for a User Product means' ' any methods, procedures, authorization keys, or other information' ' required to install and execute modified versions of a covered' ' work in that User Product from a modified version of its' ' Corresponding Source. The information must suffice to ensure that' ' the continued functioning of the modified object code is in no' ' case prevented or interfered with solely because modification has' ' been made.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>If you convey an object code work under this section in, or' ' with, or specifically for use in, a User Product, and the' ' conveying occurs as part of a transaction in which the right of' ' possession and use of the User Product is transferred to the' ' recipient in perpetuity or for a fixed term (regardless of how' ' the transaction is characterized), the Corresponding Source' ' conveyed under this section must be accompanied by the' ' Installation Information. But this requirement does not apply if' ' neither you nor any third party retains the ability to install' ' modified object code on the User Product (for example, the work' ' has been installed in ROM).</p>' into l_st_html.

append l_st_html to c_it_html. concatenate '<p>The requirement to provide Installation Information does not' ' include a requirement to continue to provide support service,' ' warranty, or updates for a work that has been modified or installed' ' by the recipient, or for the User Product in which it has been' ' modified or installed. Access to a network may be denied when the' ' modification itself materially and adversely affects the operation' ' of the network or violates the rules and protocols for' ' communication across the network.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>Corresponding Source conveyed, and Installation Information' ' provided, in accord with this section must be in a format that is' ' publicly documented (and with an implementation available to the' ' public in source code form), and must require no special password' ' or key for unpacking, reading or copying.</p>' into l_st_html. append l_st_html to c_it_html. append '<h4><a name="section7"></a>7. Additional Terms.</h4>' to c_it_html. concatenate '<p>&ldquo;Additional permissions&rdquo; are terms that supplement' ' the terms of this License by making exceptions from one or more' ' of its conditions. Additional permissions that are applicable to' ' the entire Program shall be treated as though they were included' ' in this License, to the extent that they are valid under' ' applicable law. If additional permissions apply only to part of' ' the Program, that part may be used separately under those' ' permissions, but the entire Program remains governed by this' ' License without regard to the additional permissions.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>When you convey a copy of a covered work, you may at your' ' option remove any additional permissions from that copy, or from' ' any part of it. (Additional permissions may be written to require' ' their own removal in certain cases when you modify the work.)' ' You may place additional permissions on material, added by you to' ' a covered work, for which you have or can give appropriate' ' copyright permission.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>Notwithstanding any other provision of this License, for' ' material you add to a covered work, you may (if authorized by the' ' copyright holders of that material) supplement the terms of this' ' License with terms:</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<ul>'

'<li>a) Disclaiming warranty or limiting liability differently from' ' the terms of sections 15 and 16 of this License; or</li>' into l_st_html. append l_st_html to c_it_html. concatenate '<li>b) Requiring preservation of specified reasonable legal' ' notices or author attributions in that material or in the' ' Appropriate Legal Notices displayed by works containing it;' ' or</li>' into l_st_html. append l_st_html to c_it_html. concatenate '<li>c) Prohibiting misrepresentation of the origin of that' ' material, or requiring that modified versions of such material be' ' marked in reasonable ways as different from the original version;' ' or</li>' into l_st_html. append l_st_html to c_it_html. concatenate '<li>d) Limiting the use for publicity purposes of names of' ' licensors or authors of the material; or</li>' into l_st_html. append l_st_html to c_it_html. concatenate '<li>e) Declining to grant rights under trademark law for use of' ' some trade names, trademarks, or service marks; or</li>' into l_st_html. append l_st_html to c_it_html. concatenate '<li>f) Requiring indemnification of licensors and authors of that' ' material by anyone who conveys the material (or modified versions' ' of it) with contractual assumptions of liability to the' ' recipient, for any liability that these contractual assumptions' ' directly impose on those licensors and authors.</li>' '</ul>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>All other non-permissive additional terms are considered' ' &ldquo;further restrictions&rdquo; within the meaning of section' ' 10. If the Program as you received it, or any part of it, contains' ' a notice stating that it is governed by this License along with a' ' term that is a further restriction, you may remove that term. If a' ' license document contains a further restriction but permits' ' relicensing or conveying under this License, you may add to a' ' covered work material governed by the terms of that license' ' document, provided that the further restriction does not survive' ' such relicensing or conveying.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>If you add terms to a covered work in accord with this section,' ' you must place, in the relevant source files, a statement of the'

' additional terms that apply to those files, or a notice' ' indicating where to find the applicable terms.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>Additional terms, permissive or non-permissive, may be stated' ' in the form of a separately written license, or stated as' ' exceptions; the above requirements apply either way.</p>' into l_st_html. append l_st_html to c_it_html. append '<h4><a name="section8"></a>8. Termination.</h4>' to c_it_html. concatenate '<p>You may not propagate or modify a covered work except as' ' expressly provided under this License. Any attempt otherwise to' ' propagate or modify it is void, and will automatically terminate' ' your rights under this License (including any patent licenses' ' granted under the third paragraph of section 11).</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>However, if you cease all violation of this License, then your' ' license from a particular copyright holder is reinstated (a)' ' provisionally, unless and until the copyright holder explicitly' ' and finally terminates your license, and (b) permanently, if the' ' copyright holder fails to notify you of the violation by some' ' reasonable means prior to 60 days after the cessation.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>Moreover, your license from a particular copyright holder is' ' reinstated permanently if the copyright holder notifies you of' ' the violation by some reasonable means, this is the first time' ' you have received notice of violation of this License (for any' ' work) from that copyright holder, and you cure the violation' ' prior to 30 days after your receipt of the notice.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>Termination of your rights under this section does not' ' terminate the licenses of parties who have received copies or' ' rights from you under this License. If your rights have been' ' terminated and not permanently reinstated, you do not qualify' ' to receive new licenses for the same material under section 10.' '</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<h4><a name="section9"></a>9. Acceptance Not Required for Having' ' Copies.</h4>' into l_st_html. append l_st_html to c_it_html.

concatenate '<p>You are not required to accept this License in order to receive' ' or run a copy of the Program. Ancillary propagation of a covered' ' work occurring solely as a consequence of using peer-to-peer' ' transmission to receive a copy likewise does not require' ' acceptance. However, nothing other than this License grants you' ' permission to propagate or modify any covered work. These actions' ' infringe copyright if you do not accept this License. Therefore,' ' by modifying or propagating a covered work, you indicate your' ' acceptance of this License to do so.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<h4><a name="section10"></a>10. Automatic Licensing of Downstream' ' Recipients.</h4>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>Each time you convey a covered work, the recipient' ' automatically receives a license from the original licensors, to' ' run, modify and propagate that work, subject to this License. You' ' are not responsible for enforcing compliance by third parties' ' with this License.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>An &ldquo;entity transaction&rdquo; is a transaction' ' transferring control of an organization, or substantially all' ' assets of one, or subdividing an organization, or merging' ' organizations. If propagation of a covered work results from an' ' entity transaction, each party to that transaction who receives a' ' copy of the work also receives whatever licenses to the work the' ' party''s predecessor in interest had or could give under the' ' previous paragraph, plus a right to possession of the' ' Corresponding Source of the work from the predecessor in' ' interest, if the predecessor has it or can get it with reasonable' ' efforts.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>You may not impose any further restrictions on the exercise of' ' the rights granted or affirmed under this License. For example,' ' you may not impose a license fee, royalty, or other charge for' ' exercise of rights granted under this License, and you may not' ' initiate litigation (including a cross-claim or counterclaim in a' ' lawsuit) alleging that any patent claim is infringed by making,' ' using, selling, offering for sale, or importing the Program or' ' any portion of it.</p>' into l_st_html. append l_st_html to c_it_html. append '<h4><a name="section11"></a>11. Patents.</h4>' to c_it_html. concatenate '<p>A &ldquo;contributor&rdquo; is a copyright holder who' ' authorizes use under this License of the Program or a work on'

' which the Program is based. The work thus licensed is called the' ' contributor''s &ldquo;contributor version&rdquo;.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>A contributor''s &ldquo;essential patent claims&rdquo; are all' ' patent claims owned or controlled by the contributor, whether' ' already acquired or hereafter acquired, that would be infringed' ' by some manner, permitted by this License, of making, using, or' ' selling its contributor version, but do not include claims that' ' would be infringed only as a consequence of further modification' ' of the contributor version. For purposes of this definition,' ' &ldquo;control&rdquo; includes the right to grant patent' ' sublicenses in a manner consistent with the requirements of this' ' License.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>Each contributor grants you a non-exclusive, worldwide,' ' royalty-free patent license under the contributor''s essential' ' patent claims, to make, use, sell, offer for sale, import and' ' otherwise run, modify and propagate the contents of its' ' contributor version.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>In the following three paragraphs, a &ldquo;patent' ' license&rdquo; is any express agreement or commitment, however' ' denominated, not to enforce a patent (such as an express' ' permission to practice a patent or covenant not to sue for patent' ' infringement). To &ldquo;grant&rdquo; such a patent license to a' ' party means to make such an agreement or commitment not to' ' enforce a patent against the party.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>If you convey a covered work, knowingly relying on a patent' ' license, and the Corresponding Source of the work is not' ' available for anyone to copy, free of charge and under the terms' ' of this License, through a publicly available network server or' ' other readily accessible means, then you must either (1) cause' ' the Corresponding Source to be so available, or (2) arrange to' ' deprive yourself of the benefit of the patent license for this' ' particular work, or (3) arrange, in a manner consistent with the' ' requirements of this License, to extend the patent license to' ' downstream recipients. &ldquo;Knowingly relying&rdquo; means you' ' have actual knowledge that, but for the patent license, your' ' conveying the covered work in a country, or your recipient''s use' ' of the covered work in a country, would infringe one or more' ' identifiable patents in that country that you have reason to' ' believe are valid.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>If, pursuant to or in connection with a single transaction or'

' arrangement, you convey, or propagate by procuring conveyance of,' ' a covered work, and grant a patent license to some of the parties' ' receiving the covered work authorizing them to use, propagate,' ' modify or convey a specific copy of the covered work, then the' ' patent license you grant is automatically extended to all' ' recipients of the covered work and works based on it.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>A patent license is &ldquo;discriminatory&rdquo; if it does not' ' include within the scope of its coverage, prohibits the exercise' ' of, or is conditioned on the non-exercise of one or more of the' ' rights that are specifically granted under this License. You may' ' not convey a covered work if you are a party to an arrangement' ' with a third party that is in the business of distributing' ' software, under which you make payment to the third party based' ' on the extent of your activity of conveying the work, and under' ' which the third party grants, to any of the parties who would' ' receive the covered work from you, a discriminatory patent' ' license (a) in connection with copies of the covered work' ' conveyed by you (or copies made from those copies), or (b)' ' primarily for and in connection with specific products or' ' compilations that contain the covered work, unless you entered' ' into that arrangement, or that patent license was granted, prior' ' to 28 March 2007.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>Nothing in this License shall be construed as excluding or' ' limiting any implied license or other defenses to infringement' ' that may otherwise be available to you under applicable patent' ' law.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<h4><a name="section12"></a>12. No Surrender of Others'' Freedom.' '</h4>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>If conditions are imposed on you (whether by court order,' ' agreement or otherwise) that contradict the conditions of this' ' License, they do not excuse you from the conditions of this' ' License. If you cannot convey a covered work so as to satisfy' ' simultaneously your obligations under this License and any other' ' pertinent obligations, then as a consequence you may not convey' ' it at all. For example, if you agree to terms that obligate you' ' to collect a royalty for further conveying from those to whom you' ' convey the Program, the only way you could satisfy both those' ' terms and this License would be to refrain entirely from' ' conveying the Program.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<h4><a name="section13"></a>13. Use with the GNU Affero General'

' Public License.</h4>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>Notwithstanding any other provision of this License, you have' ' permission to link or combine any covered work with a work' ' licensed under version 3 of the GNU Affero General Public License' ' into a single combined work, and to convey the resulting work.' ' The terms of this License will continue to apply to the part' ' which is the covered work, but the special requirements of the' ' GNU Affero General Public License, section 13, concerning' ' interaction through a network will apply to the combination as' ' such.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<h4><a name="section14"></a>14. Revised Versions of this License.' '</h4>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>The Free Software Foundation may publish revised and/or new' ' versions of the GNU General Public License from time to time. Such' ' new versions will be similar in spirit to the present version, but' ' may differ in detail to address new problems or concerns.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>Each version is given a distinguishing version number. If the' ' Program specifies that a certain numbered version of the GNU' ' General Public License &ldquo;or any later version&rdquo; applies' ' to it, you have the option of following the terms and conditions' ' either of that numbered version or of any later version published' ' by the Free Software Foundation. If the Program does not specify' ' a version number of the GNU General Public License, you may' ' choose any version ever published by the Free Software' ' Foundation.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>If the Program specifies that a proxy can decide which future' ' versions of the GNU General Public License can be used, that' ' proxy''s public statement of acceptance of a version permanently' ' authorizes you to choose that version for the Program.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>Later license versions may give you additional or different' ' permissions. However, no additional obligations are imposed on' ' any author or copyright holder as a result of your choosing to' ' follow a later version.</p>' into l_st_html. append l_st_html to c_it_html.

append '<h4><a name="section15"></a>15. Disclaimer of Warranty.</h4>' to c_it_html. concatenate '<p>THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED' ' BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE' ' COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM' ' &ldquo;AS IS&rdquo; WITHOUT WARRANTY OF ANY KIND, EITHER' ' EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED' ' WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR' ' PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE' ' PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU' ' ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.' '</p>' into l_st_html. append l_st_html to c_it_html. append '<h4><a name="section16"></a>16. Limitation of Liability.</h4>' to c_it_html. concatenate '<p>IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN' ' WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO' ' MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE' ' TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR' ' CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE' ' THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA' ' BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD' ' PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER' ' PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF' ' THE POSSIBILITY OF SUCH DAMAGES.</p>' into l_st_html. append l_st_html to c_it_html. concatenate '<h4><a name="section17"></a>17. Interpretation of Sections 15 and' ' 16.</h4>' into l_st_html. append l_st_html to c_it_html. concatenate '<p>If the disclaimer of warranty and limitation of liability' ' provided above cannot be given local legal effect according to' ' their terms, reviewing courts shall apply local law that most' ' closely approximates an absolute waiver of all civil liability' ' in connection with the Program, unless a warranty or assumption' ' of liability accompanies a copy of the Program in return for a' ' fee.</p>' into l_st_html. append l_st_html to c_it_html. endform. "gpl_html *&---------------------------------------------------------------------* *& Include ZSOFTCOPY_ADD * *& * *&---------------------------------------------------------------------* *& * *& 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 <http://www.gnu.org/licenses/>. * *& * *&---------------------------------------------------------------------* *& * *& Author: Ruediger von Creytz ruediger.creytz@globalbit.net * *& Copyright: globalBIT, LLC http://www.globalbit.net * *& * *&---------------------------------------------------------------------* *----------------------------------------------------------------------* add_report_sourceCode *----------------------------------------------------------------------form add_report_sourceCode using value(i_progname) value(i_filename) value(i_extension) value(i_add_no_includes) i_st_ztadir type st_ztadir value(i_id) value(i_on) changing c_it_html type it_string. data: l_it_initial type it_string, l_it_src type it_string, l_it_src_compressed type it_string, l_it_src_no_includes type it_string, l_lines type i, l_lines_no_includes type i, l_filename type string, l_filename_compressed type string, l_filename_no_includes type string. perform try_read_report using i_progname changing l_it_src. if g_add_sourcecode = abap_true. l_filename = i_filename. perform download using l_it_src i_st_ztadir-pgmid i_st_ztadir-object l_filename i_extension

abap_false. if i_add_no_includes = abap_true. perform try_create_src_no_includes using l_it_initial i_progname i_progname changing l_it_src_no_includes. describe table l_it_src lines l_lines. describe table l_it_src_no_includes lines l_lines_no_includes. if l_lines < l_lines_no_includes. concatenate l_filename '.complete' into l_filename_no_includes. perform download using l_it_src_no_includes i_st_ztadir-pgmid i_st_ztadir-object l_filename_no_includes i_extension abap_false. endif. if g_c_src_max_rows < l_lines_no_includes. concatenate l_filename '.compressed' into l_filename_compressed. perform get_src_compressed using l_it_src_no_includes changing l_it_src_compressed. perform download using l_it_src_compressed i_st_ztadir-pgmid i_st_ztadir-object l_filename_compressed i_extension abap_false. endif. endif. endif. perform html_add_sourceCode using l_it_src l_filename l_filename_no_includes l_filename_compressed i_extension i_id i_on changing c_it_html. endform. "addReportSrc *&---------------------------------------------------------------------* *& Include ZSOFTCOPY_CSV * *&---------------------------------------------------------------------* *&!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!* *&!!!!!!!!!!! generated by ZSOFTCOPY_MAKE !!!!! do not edit !!!!!!!!!!!* *&!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!* *&---------------------------------------------------------------------* form csv_table_structure

changing c_it_csv type it_string. refresh c_it_csv. data l_st_csv type string. concatenate l_st_csv 'CLAS_ALIAS;01;CPDNAME;TXT_INTERFACE_COMPONENT;;L;;;|' 'CLAS_ALIAS;02;TYPE;TXT_LEVEL;;L;;;|' 'CLAS_ALIAS;03;REFCMPNAME;TXT_ALIAS;;L;;;|' 'CLAS_ALIAS;04;EXPOSURE;TXT_VISIBLE;;L;;;|' 'CLAS_ATTRI;01;CPDNAME;TXT_ATTRIBUTE;;L;INHERITED;;|' 'CLAS_ATTRI;02;DECLTYPE;TXT_LEVEL;;L;;;|' 'CLAS_ATTRI;03;EXPOSURE;TXT_VISIBILITY;;L;;;|' 'CLAS_ATTRI;04;CHECK_MODEL;TXT_MODELED_ONLY;;F;;;|' 'CLAS_ATTRI;05;ATTRDONLY;TXT_READ_ONLY;;F;;;|' 'CLAS_ATTRI;06;TYPTYPE;TXT_TYPING;;L;;;|' 'CLAS_ATTRI;07;TYPE;TXT_ASSOCIATED_TYPE;;L;;;|' 'CLAS_ATTRI;08;TYPELINK;;ONCLICK;B;;;|' 'CLAS_ATTRI;09;DESCRIPT;TXT_DESCRIPTION;;L;;;|' 'CLAS_ATTRI;10;ATTVALUE;TXT_INITIAL_VALUE;;L;;;|' 'CLAS_EVENT;01;CPDNAME;TXT_EVENT;;L;INHERITED;;|' 'CLAS_EVENT;02;TYPE;TXT_LEVEL;;L;;;|' 'CLAS_EVENT;03;EXPOSURE;TXT_VISIBILITY;;L;;;|' 'CLAS_EVENT;04;CHECK_MODEL;TXT_MODELED_ONLY;;F;;;|' 'CLAS_EVENT;05;DESCRIPT;TXT_DESCRIPTION;;L;;;|' 'CLAS_FRIEN;01;REFCLSNAME;TXT_INTERFACE;;L;;;|' 'CLAS_FRIEN;02;CHECK_MODEL;TXT_MODELED_ONLY;;F;;;|' 'CLAS_FRIEN;03;DESCRIPT;TXT_DESCRIPTION;;L;;;|' 'CLAS_INTER;01;REFCLSNAME;TXT_INTERFACE;;L;INHERITED;;|' 'CLAS_INTER;02;IMPABSTRCT;TXT_ABSTRACT;;F;;;|' 'CLAS_INTER;03;IMPFINAL;TXT_FINAL;;F;;;|' 'CLAS_INTER;04;CHECK_MODEL;TXT_MODELED_ONLY;;F;;;|' 'CLAS_INTER;05;DESCRIPT;TXT_DESCRIPTION;;L;;;|' 'CLAS_METHO;01;CPDNAME;TXT_METHOD;ONCLICK;H;INHERITED;;|' 'CLAS_METHO;02;TYPE;TXT_LEVEL;;L;;;|' 'CLAS_METHO;03;EXPOSURE;TXT_VISIBILITY;;L;;;|' 'CLAS_METHO;04;CHECK_MODEL;TXT_MODELED_ONLY;;F;;;|' 'CLAS_METHO;05;METHODTYPE;TXT_METHOD_TYPE;;L;;;|' 'CLAS_METHO;06;DESCRIPT;TXT_DESCRIPTION;;L;;;|' 'CLAS_SIGNA;01;DECLARATION;TXT_LEVEL;;L;;;|' 'CLAS_SIGNA;02;PARAMETER;TXT_PARAMETERS;;L;;;|' 'CLAS_SIGNA;03;TYPE;TXT_TYPE_SPEC;;L;;;|' 'CLAS_SIGNA;04;DESCRIPT;TXT_DESCRIPTION;;L;;;|' 'CLAS_SYMBO;01;KEY;TXT_SYMBOL;;L;;;|' 'CLAS_SYMBO;02;ENTRY;TXT_TEXT;;L;;;|' 'CLAS_SYMBO;03;STRLEN;TXT_DLEN;;L;;;|' 'CLAS_SYMBO;04;LENGTH;TXT_LENGTH;;L;;;|' 'CLAS_TYPEG;01;TYPEGROUP;TXTT_TYPE_GROUP_OBJECT_TYPE;;L;;;|' 'CLAS_TYPES;01;CPDNAME;TXT_TYPE___1;;L;INHERITED;;|' 'CLAS_TYPES;02;EXPOSURE;TXT_VISIBILITY;;L;;;|' 'CLAS_TYPES;03;CHECK_MODEL;TXT_MODELED_ONLY;;F;;;|' 'CLAS_TYPES;04;TYPTYPE;TXT_TYPING;;L;;;|' 'CLAS_TYPES;05;TYPE;TXT_ASSOCIATED_TYPE;;L;;;|' 'CLAS_TYPES;06;TYPELINK;;ONCLICK;B;;;|' 'CLAS_TYPES;07;DESCRIPT;TXT_DESCRIPTION;;L;;;|' 'DEVC_INTF;01;INTF_NAME;TXT_PACKAGE_INTERFACE;;L;;;|' 'DEVC_INTF;02;FORSYS;TXT_SYSTEM;;L;;;|' 'DEVC_INTF;03;DESCRIPT;TXT_SHORT_TEXT___2;;L;;;|' 'DEVC_PERM;01;INTF_NAME;TXT_PACKAGE_INTERFACE;;L;;;|' 'DEVC_PERM;02;PACK_NAME;TXT_PACKAGE;;L;;;|' 'DEVC_PERM;03;ERR_SEVER;TXT_ERROR_SEVERITY;;L;;;|' 'DEVC_SUB;01;DEVCLASS;TXT_PACKAGE;;L;;;|'

'DEVC_SUB;02;CTEXT;TXT_SHORT_TEXT___2;;L;;;|' 'ENQU_PARAM;01;KEYFLAG;TXT_W;;F;;;|' 'ENQU_PARAM;02;VIEWFIELD;TXT_LOCK_PARAMETER;;L;;;|' 'ENQU_PARAM;03;TABNAME;TXT_TABLE;;L;;;|' 'ENQU_PARAM;04;FIELDNAME;TXT_FIELD;;L;;;|' 'INTF_ALIAS;01;CPDNAME;TXT_INTERFACE_COMPONENT;;L;;;|' 'INTF_ALIAS;02;TYPE;;;L;;;|' 'INTF_ALIAS;03;REFCMPNAME;TXT_ALIAS;;L;;;|' 'INTF_ATTRI;01;CPDNAME;TXT_ATTRIBUTE;;L;;;|' 'INTF_ATTRI;02;DECLTYPE;TXT_LEVEL;;L;;;|' 'INTF_ATTRI;03;CHECK_MODEL;TXT_MODELED_ONLY;;F;;;|' 'INTF_ATTRI;04;ATTRDONLY;TXT_READ_ONLY;;F;;;|' 'INTF_ATTRI;05;TYPTYPE;TXT_TYPING;;L;;;|' 'INTF_ATTRI;06;TYPELINK;;ONCLICK;B;;;|' 'INTF_ATTRI;07;TYPE;TXT_ASSOCIATED_TYPE;;L;;;|' 'INTF_ATTRI;08;ATTVALUE;TXT_INITIAL_VALUE;;L;;;|' 'INTF_EVENT;01;CPDNAME;TXT_EVENT;;L;;;|' 'INTF_EVENT;02;TYPE;TXT_LEVEL;;L;;;|' 'INTF_EVENT;03;CHECK_MODEL;TXT_MODELED_ONLY;;F;;;|' 'INTF_EVENT;04;DESCRIPT;TXT_DESCRIPTION;;L;;;|' 'INTF_INTER;01;REFCLSNAME;TXT_INCLUDES;;L;;;|' 'INTF_INTER;02;CHECK_MODEL;TXT_MODELED_ONLY;;F;;;|' 'INTF_INTER;03;DESCRIPT;TXT_DESCRIPTION;;L;;;|' 'INTF_METHO;01;CPDNAME;TXT_METHOD;;L;;;|' 'INTF_METHO;02;TYPE;TXT_LEVEL;;L;;;|' 'INTF_METHO;03;CHECK_MODEL;TXT_MODELED_ONLY;;F;;;|' 'INTF_METHO;04;METHODTYPE;TXT_METHOD_TYPE;;L;;;|' 'INTF_METHO;05;DESCRIPT;TXT_DESCRIPTION;;L;;;|' 'INTF_TYPEG;01;TYPEGROUP;TXTT_TYPE_GROUP_OBJECT_TYPE;;L;;;|' 'INTF_TYPES;01;CPDNAME;TXT_TYPE___1;;L;;;|' 'INTF_TYPES;02;TYPTYPE;TXT_TYPING;;L;;;|' 'INTF_TYPES;03;TYPE;TXT_ASSOCIATED_TYPE;;L;;;|' 'INTF_TYPES;04;TYPELINK;;ONCLICK;B;;;|' 'INTF_TYPES;05;DESCRIPT;TXT_DESCRIPTION;;L;;;|' 'MENU_COMPO;01;COMPONENT;TXT_SOFTWARE_COMPONENT;;L;;;|' 'MENU_COMPO;02;RELEASE;TXT_RELEASE;;L;;;|' 'MENU_COMPO;03;LEVEL;TXT_LEVEL;;L;;;|' 'MENU_COMPO;04;HIGH_PACKAGE;TXT_HIGHEST_SUPPORT_PACKAGE;;L;;;|' 'MENU_COMPO;05;DESC_TEXT;TXT_SHORT_DESCRIPTION_OF_SOFTW;;L;;;|' 'MODU_EXCEP;01;NAME;TXT_EXCEPTION___2;;L;;;|' 'MODU_EXCEP;02;STEXT;TXT_SHORT_TEXT___1;;L;;;|' 'MODU_EXCEP;03;LTEXT;TXT_LONG_TEXT;LTEXT_ONCLICK;B;;;|' 'MODU_EXPOR;01;NAME;TXT_PARAMETER_NAME;;L;;;|' 'MODU_EXPOR;02;TYPING;TXT_TYPE_SPEC;;L;;;|' into l_st_csv. append l_st_csv to c_it_csv. clear l_st_csv. concatenate l_st_csv 'MODU_EXPOR;03;STRUCTURE;TXT_ASSOCIATED_TYPE;;L;;;|' 'MODU_EXPOR;04;PASSVALUE;TXT_PASS_VALUE;;F;;;|' 'MODU_EXPOR;05;STEXT;TXT_SHORT_TEXT___1;;L;;;|' 'MODU_EXPOR;06;LTEXT;TXT_LONG_TEXT;LTEXT_ONCLICK;B;;;|' 'MODU_IMPOR;01;NAME;TXT_PARAMETER_NAME;;L;;;|' 'MODU_IMPOR;02;TYPING;TXT_TYPE_SPEC;;L;;;|' 'MODU_IMPOR;03;STRUCTURE;TXT_ASSOCIATED_TYPE;;L;;;|' 'MODU_IMPOR;04;DEFAULTVAL;TXT_DEFAULT_VALUE___2;;L;;;|' 'MODU_IMPOR;05;OPTIONAL;TXT_OPTIONAL;;F;;;|' 'MODU_IMPOR;06;PASSVALUE;TXT_PASS_VALUE;;F;;;|' 'MODU_IMPOR;07;STEXT;TXT_SHORT_TEXT___1;;L;;;|' 'MODU_IMPOR;08;LTEXT;TXT_LONG_TEXT;LTEXT_ONCLICK;B;;;|'

'MODU_TABLE;01;NAME;TXT_PARAMETER_NAME;;L;;;|' 'MODU_TABLE;02;TYPING;TXT_TYPE_SPEC;;L;;;|' 'MODU_TABLE;03;STRUCTURE;TXT_ASSOCIATED_TYPE;;L;;;|' 'MODU_TABLE;04;OPTIONAL;TXT_OPTIONAL;;F;;;|' 'MODU_TABLE;05;STEXT;TXT_SHORT_TEXT___1;;L;;;|' 'MODU_TABLE;06;LTEXT;TXT_LONG_TEXT;LTEXT_ONCLICK;B;;;|' 'PROG_SELEC;01;KEY;TXT_NAME;;L;;;|' 'PROG_SELEC;02;ENTRY;TXT_TEXT;;L;;;|' 'PROG_SELEC;03;DICT_REF;TXT_DICTIONARY_REFERENCE;;F;;;|' 'PROG_SYMBO;01;KEY;TXT_SYMBOL;;L;;;|' 'PROG_SYMBO;02;ENTRY;TXT_TEXT;;L;;;|' 'PROG_SYMBO;03;STRLEN;TXT_DLEN;;L;;;|' 'PROG_SYMBO;04;LENGTH;TXT_LENGTH;;L;;;|' 'PROG_VARIA;01;VARIANT;TXT_VARIANT;;L;;;|' 'PROG_VARIA;02;SELNAME;TXT_PARAMETER;;L;;;|' 'PROG_VARIA;03;TEXT;TXT_PARAMETER_NAME;;L;;;|' 'PROG_VARIA;04;KIND;TXT_TYPE___2;;C;;;|' 'PROG_VARIA;05;SIGN;TXT_SIGN;;C;;;|' 'PROG_VARIA;06;OPTION;TXT_OPTION;;C;;;|' 'PROG_VARIA;07;LOW;TXT_LOWER_LIMIT;;L;;;|' 'PROG_VARIA;08;HIGH;TXT_UPPERLIMIT;;L;;;|' 'SCRN_DISPL;01;HIERARCHY;TXT_HIERARCHY;;L;;;|' 'SCRN_DISPL;02;EXTEND;TXT_MODIFIED;;L;;;|' 'SCRN_DISPL;03;NAME;TXT_NAME;;L;;;|' 'SCRN_DISPL;04;GTYP;TXT_TYPE_OF_SCREEN_ELEMENT;;L;;;|' 'SCRN_DISPL;05;HELL;TXT_BRG;;F;;;|' 'SCRN_DISPL;06;UNSI;TXT_INVISIBLE;;F;;;|' 'SCRN_DISPL;07;FJUS;TXT_RIGHT_JUST;;F;;;|' 'SCRN_DISPL;08;FILL;TXT_LEADING_ZEROS;;F;;;|' 'SCRN_DISPL;09;NO3D;TXT_2_DIMENSIONAL;;F;;;|' 'SCRN_DISPL;10;FIXF;TXT_FIXED_FONT;;F;;;|' 'SCRN_DISPL;11;LABELLEFT;TXT_AS_LABEL_LEFT;;F;;;|' 'SCRN_DISPL;12;LABELRIGHT;TXT_AS_LABEL_RIGHT;;F;;;|' 'SCRN_DISPL;13;DBLCLICK;TXT_RESP_TO_DBLCLK;;F;;;|' 'SCRN_GENER;01;HIERARCHY;TXT_HIERARCHY;;L;;;|' 'SCRN_GENER;02;EXTEND;TXT_MODIFIED;;L;;;|' 'SCRN_GENER;03;NAME;TXT_NAME;;L;;;|' 'SCRN_GENER;04;GTYP;TXT_TYPE_OF_SCREEN_ELEMENT;;L;;;|' 'SCRN_GENER;05;LINE;TXT_LINE;;R;;;|' 'SCRN_GENER;06;COLN;TXT_COLUMN;;R;;;|' 'SCRN_GENER;07;LENG;TXT_DEFLG;;R;;;|' 'SCRN_GENER;08;VLENG;TXT_VISLG;;R;;;|' 'SCRN_GENER;09;HIGH;TXT_HEIGHT;;R;;;|' 'SCRN_GENER;10;SCROLL;TXT_SCROLLABLE;;F;;;|' 'SCRN_GENER;11;TYPE;TXT_FORMAT;;L;;;|' 'SCRN_GENER;12;FEIN;TXT_INPUT;;F;;;|' 'SCRN_GENER;13;FOUT;TXT_OUTPUT;;F;;;|' 'SCRN_GENER;14;OOUT;TXT_OUTPUT_ONLY;;F;;;|' 'SCRN_GENER;15;DICT;TXT_DICT_FIELD;;F;;;|' 'SCRN_GENER;16;DMOD;TXT_DICT_MODIFIED;;L;;;|' 'SCRN_IOTEM;01;HIERARCHY;TXT_HIERARCHY;;L;;;|' 'SCRN_IOTEM;02;EXTEND;TXT_MODIFIED;;L;;;|' 'SCRN_IOTEM;03;NAME;TXT_NAME;;L;;;|' 'SCRN_IOTEM;04;GTYP;TXT_TYPE_OF_SCREEN_ELEMENT;;L;;;|' 'SCRN_IOTEM;05;STXT;TXT_TEXT_OR_IO_FIELD;;L;;;|' 'SCRN_IOTEM;06;DROPDOWN;TXT_DROPDOWN;;L;;;|' 'SCRN_IOTEM;07;ICON_X;TXT_WITH_ICON;;F;;;|' 'SCRN_IOTEM;08;ICON;TXT_ICON;;L;;;|' 'SCRN_IOTEM;09;ICON_N;TXT_ICON_NAME;;L;;;|' 'SCRN_IOTEM;10;ICON_Q;TXT_ICON_TEXT;;L;;;|'

'SCRN_MODGR;01;HIERARCHY;TXT_HIERARCHY;;L;;;|' 'SCRN_MODGR;02;EXTEND;TXT_MODIFIED;;L;;;|' 'SCRN_MODGR;03;NAME;TXT_NAME;;L;;;|' 'SCRN_MODGR;04;GTYP;TXT_TYPE_OF_SCREEN_ELEMENT;;L;;;|' 'SCRN_MODGR;05;GRP1;TXT_GROUP_1;;L;;;|' 'SCRN_MODGR;06;GRP2;TXT_GROUP_2;;L;;;|' 'SCRN_MODGR;07;GRP3;TXT_GROUP_3;;L;;;|' 'SCRN_MODGR;08;GRP4;TXT_GROUP_4;;L;;;|' 'SCRN_MODGR;09;CMBFOC;TXT_ENTRY_HELP;;F;;;|' 'SCRN_MODGR;10;DROPFROM;TXT_VALUE_LIST;;L;;;|' 'SCRN_MODGR;11;CMBTAST;TXT_POSS_ENTRIES_KEY;;L;;;|' 'SCRN_MODGR;12;FCOD;TXT_FUNCTION_CODE;;L;;;|' 'SCRN_MODGR;13;PTYPE;TXT_FUNCTIONAL_TYPE;;L;;;|' 'SCRN_MODGR;14;CTMENUONCT;TXT_DYNAMIC_CONTEXT_MENU;;L;;;|' 'SCRN_REFER;01;HIERARCHY;TXT_HIERARCHY;;L;;;|' 'SCRN_REFER;02;EXTEND;TXT_MODIFIED;;L;;;|' 'SCRN_REFER;03;NAME;TXT_NAME;;L;;;|' 'SCRN_REFER;04;GTYP;TXT_TYPE_OF_SCREEN_ELEMENT;;L;;;|' 'SCRN_REFER;05;MTCH;TXT_SEARCH_HELP;;L;;;|' 'SCRN_REFER;06;WAER;TXT_REFERENCE_FIELD;;L;;;|' 'SCRN_REFER;07;CCNAME;TXT_CONTROL_COMPOSITE_NAME;;L;;;|' 'SCRN_SPECI;01;HIERARCHY;TXT_HIERARCHY;;L;;;|' 'SCRN_SPECI;02;EXTEND;TXT_MODIFIED;;L;;;|' 'SCRN_SPECI;03;NAME;TXT_NAME;;L;;;|' 'SCRN_SPECI;04;GTYP;TXT_TYPE_OF_SCREEN_ELEMENT;;L;;;|' 'SCRN_SPECI;05;FOBL;TXT_INPUT;;L;;;|' 'SCRN_SPECI;06;FSTR;TXT_ENTRY;;F;;;|' 'SCRN_SPECI;07;FNRS;TXT_NO_RESET;;F;;;|' into l_st_csv. append l_st_csv to c_it_csv. clear l_st_csv. concatenate l_st_csv 'SCRN_SPECI;08;FGKS;TXT_UPPER_LOWER_CASE_ENTRY;;F;;;|' 'SCRN_SPECI;09;FOSB;TXT_WITHOUT_TEMPLATE;;F;;;|' 'SCRN_SPECI;10;FFKY;TXT_FOREIGN_KEY;;F;;;|' 'SCRN_SPECI;11;FSPA;TXT_SET_PARAMETER;;F;;;|' 'SCRN_SPECI;12;FGPA;TXT_GET_PARAMETER;;F;;;|' 'SCRN_SPECI;13;PAID;TXT_PARAMETER_ID;;L;;;|' 'SCRN_SPECI;14;UCNV;TXT_CONVERSION_EXIT;;L;;;|' 'SHLP_PARAM;01;FIELDNAME;TXT_SEARCH_HELP_PARAMETER;;L;;;|' 'SHLP_PARAM;02;SHLPINPUT;TXT_IMP;;F;;;|' 'SHLP_PARAM;03;SHLPOUTPUT;TXT_EXP;;F;;;|' 'SHLP_PARAM;04;SHLPLISPOS;TXT_LPOS;;L;;;|' 'SHLP_PARAM;05;SHLPSELPOS;TXT_SPOS;;L;;;|' 'SHLP_PARAM;06;SHLPSELDIS;TXT_SDIS;;F;;;|' 'SHLP_PARAM;07;ROLLNAME;TXT_DATA_ELEMENT___1;;L;;;|' 'SHLP_PARAM;08;ROLLCHANGE;TXT_MODIFIED;;F;;;|' 'SHLP_PARAM;09;DEFAULTVAL;TXT_DEFAULT_VALUE___1;;L;;;|' 'TABL1COMPO;01;FIELDNAME;TXT_COMPONENT;;L;;;|' 'TABL1COMPO;02;REFTYPE;TXT_RTYPE;;F;;;|' 'TABL1COMPO;03;ROLLNAME;TXT_COMPONENT_TYPE;;L;;;|' 'TABL1COMPO;04;DATATYPE;TXT_DATA_TYPE;;L;;;|' 'TABL1COMPO;05;LENG;TXT_LENGTH;;I;;;|' 'TABL1COMPO;06;DECIMALS;TXT_DECIMAL_PLACES___T;;I;;;|' 'TABL1COMPO;07;DDTEXT;TXT_SHORT_TEXT___2;;L;;;|' 'TABL1COMPO;08;GROUPNAME;TXT_GROUP;;L;;;|' 'TABL1CURRQ;01;FIELDNAME;TXT_COMPONENT;;L;;;|' 'TABL1CURRQ;02;REFTYPE;TXT_RTYPE;;F;;;|' 'TABL1CURRQ;03;ROLLNAME;TXT_COMPONENT_TYPE;;L;;;|' 'TABL1CURRQ;04;DATATYPE;TXT_DATA_TYPE;;L;;;|'

'TABL1CURRQ;05;REFTABLE;TXT_REFERENCE_TABLE;;L;;;|' 'TABL1CURRQ;06;REFFIELD;TXT_REF_FIELD;;L;;;|' 'TABL1CURRQ;07;DDTEXT;TXT_SHORT_TEXT___2;;L;;;|' 'TABL1ENTRY;01;FIELDNAME;TXT_COMPONENT;;L;;;|' 'TABL1ENTRY;02;REFTYPE;TXT_RTYPE;;F;;;|' 'TABL1ENTRY;03;ROLLNAME;TXT_COMPONENT_TYPE;;L;;;|' 'TABL1ENTRY;04;DATATYPE;TXT_DATA_TYPE;;L;;;|' 'TABL1ENTRY;05;SHLPORIGIN_P;TXT_FOREIGN_KEY;;F;;;|' 'TABL1ENTRY;06;CHECKTABLE;TXT_CHECK_TABLE;;L;;;|' 'TABL1ENTRY;07;SHLPORIGIN_DDTEXT;TXT_ORIGIN_OF_THE_INPUT_HELP;;L;;;|' 'TABL1ENTRY;08;SHLPNAME;TXT_SRCH_HELP;;L;;;|' 'TABL1ENTRY;09;VALEXI;TXT_DEFAULTS;;F;;;|' 'TABL1ENTRY;10;DOMNAME;TXT_DOMAIN;;L;;;|' 'TABL2CURRQ;01;FIELDNAME;TXT_FIELD;;L;;;|' 'TABL2CURRQ;02;ROLLNAME;TXT_DATA_ELEMENT___1;;L;;;|' 'TABL2CURRQ;03;DATATYPE;TXT_DATA_TYPE;;L;;;|' 'TABL2CURRQ;04;REFTABLE;TXT_REFERENCE_TABLE;;L;;;|' 'TABL2CURRQ;05;REFFIELD;TXT_REF_FIELD;;L;;;|' 'TABL2CURRQ;06;DDTEXT;TXT_SHORT_TEXT___2;;L;;;|' 'TABL2ENTRY;01;FIELDNAME;TXT_FIELD;;L;;;|' 'TABL2ENTRY;02;ROLLNAME;TXT_DATA_ELEMENT___1;;L;;;|' 'TABL2ENTRY;03;DATATYPE;TXT_DATA_TYPE;;L;;;|' 'TABL2ENTRY;04;SHLPORIGIN_P;TXT_FOREIGN_KEY;;F;;;|' 'TABL2ENTRY;05;CHECKTABLE;TXT_CHECK_TABLE;;L;;;|' 'TABL2ENTRY;06;SHLPORIGIN_DDTEXT;TXT_ORIGIN_OF_THE_INPUT_HELP;;L;;;|' 'TABL2ENTRY;07;SHLPNAME;TXT_SRCH_HELP;;L;;;|' 'TABL2ENTRY;08;VALEXI;TXT_DEFAULTS;;F;;;|' 'TABL2ENTRY;09;DOMNAME;TXT_DOMAIN;;L;;;|' 'TABL2FIELD;01;FIELDNAME;TXT_FIELD;;L;;;|' 'TABL2FIELD;02;KEYFLAG;TXT_KEY___KEY;;F;;;|' 'TABL2FIELD;03;NOTNULL;TXT_INITIAL_VALUES;;F;;;|' 'TABL2FIELD;04;ROLLNAME;TXT_DATA_ELEMENT___1;;L;;;|' 'TABL2FIELD;05;DATATYPE;TXT_DATA_TYPE;;L;;;|' 'TABL2FIELD;06;LENG;TXT_LENGTH;;I;;;|' 'TABL2FIELD;07;DECIMALS;TXT_DECIMAL_PLACES___T;;I;;;|' 'TABL2FIELD;08;DDTEXT;TXT_SHORT_TEXT___2;;L;;;|' 'TABL2FIELD;09;PRECFIELD;TXT_GROUP;;L;;;|' 'TTYP_DD42V;01;KEYFDPOS;TXT_POSITION;;L;;;|' 'TTYP_DD42V;02;KEYFIELD;TXT_NAME;;L;;;|' 'VIEW_FIELD;01;VIEWFIELD;TXT_VIEW_FIELD;;L;;CO;AHDPSCV|' 'VIEW_FIELD;02;TABNAME;TXT_TABLE;;L;;CO;HDPSCV|' 'VIEW_FIELD;03;FIELDNAME;TXT_FIELD;;L;;CO;HDPSCV|' 'VIEW_FIELD;04;KEYFLAG;TXT_KEY___KEY;;F;;CO;P|' 'VIEW_FIELD;05;ROLLNAMEVI;TXT_DATA_ELEM;;L;;CO;PSCV|' 'VIEW_FIELD;06;ROLLCHANGE;TXT_MOD;;F;;CO;AHDPSCV|' 'VIEW_FIELD;07;DATATYPE;TXT_DTYP;;L;;CO;AHDPSCV|' 'VIEW_FIELD;08;FLENGTH;TXT_LENGTH;;I;;CO;AHDPSCV|' 'VIEW_FIELD;09;DDTEXT;TXT_SHORT_DESCRIPTION___1;;L;;CO;HDPCV|' 'VIEW_JOINC;01;TABNAME_L;TXT_TABLE;;L;;;|' 'VIEW_JOINC;02;FIELDNAME_L;TXT_FIELD_NAME;;L;;;|' 'VIEW_JOINC;03;OPERATOR;TXT_EQ;;C;;;|' 'VIEW_JOINC;04;TABNAME_R;TXT_TABLE;;L;;;|' 'VIEW_JOINC;05;FIELDNAME_R;TXT_FIELD_NAME;;L;;;|' 'VIEW_JOINT;01;TABNAME;TXT_TABLES;;L;;;|' 'VIEW_SELEC;01;TABNAME;TXT_TABLE;;L;;;|' 'VIEW_SELEC;02;FIELDNAME;TXT_FIELD_NAME;;L;;;|' 'VIEW_SELEC;03;OPERATOR;TXT_OPERATOR;;L;;;|' 'VIEW_SELEC;04;CONSTANTS;TXT_COMPARISON_VALUE;;L;;;|' 'VIEW_SELEC;05;AND_OR;TXT_AND_OR;;L;;;|' into l_st_csv.

append l_st_csv to c_it_csv. endform. "csv_table_structure form csv_tabstrip changing c_it_csv type it_string. refresh c_it_csv. data l_st_csv type string. concatenate l_st_csv 'DDIC_R3TR_DOMA;DOC;;01;X;0;TXT_DOCUMENTATION;;|' 'DDIC_R3TR_DOMA;ATTRIBUTES;;02;;0;TXT_PROPERTIES;;|' 'DDIC_R3TR_DOMA;DEFINITION;;03;;1;TXT_DEFINITION;;|' 'DDIC_R3TR_DOMA;VALUERANGE;;04;;0;TXT_VALUE_RANGE;;|' 'DDIC_R3TR_DTEL;DOC;;01;X;0;TXT_DOCUMENTATION;;|' 'DDIC_R3TR_DTEL;DOCDZ;;02;X;0;TXT_SUPPLEMENTARY_DOCUMENTATIO;;|' 'DDIC_R3TR_DTEL;ATTRIBUTES;;03;;0;TXT_ATTRIBUTES___1;;|' 'DDIC_R3TR_DTEL;DATATYPE;;04;;1;TXT_DATA_TYPE;;|' 'DDIC_R3TR_DTEL;FURTHERCHAR;;05;;0;TXT_FURTHER_CHARACTERISTICS;;|' 'DDIC_R3TR_DTEL;FIELDLABEL;;06;;0;TXT_FIELD_LABEL;;|' 'DDIC_R3TR_ENQU;ATTRIBUTES;;01;;0;TXT_ATTRIBUTES___1;;|' 'DDIC_R3TR_ENQU;TABLES;;02;;1;TXT_TABLES;;|' 'DDIC_R3TR_ENQU;LOCKPARAMETER;;03;;0;TXT_LOCK_PARAMETER;;|' 'DDIC_R3TR_SHLP;ATTRIBUTES;;01;;0;TXT_ATTRIBUTES___1;;|' 'DDIC_R3TR_SHLP;DEFINITION;;02;;1;TXT_DEFINITION;;|' 'DDIC_R3TR_TABL_1;EXCLASS;;01;X;0;TXT_ENHANCEMENT_CATEGORY;;|' 'DDIC_R3TR_TABL_1;DOC;;02;X;0;TXT_DOCUMENTATION;;|' 'DDIC_R3TR_TABL_1;ATTRIBUTES;;03;;0;TXT_ATTRIBUTES___1;;|' 'DDIC_R3TR_TABL_1;COMPONENTS;;04;;1;TXT_COMPONENTS;;|' 'DDIC_R3TR_TABL_1;ENTRY_HELP_CHECK;;05;;0;TXTT_ENTRY_HELP_CHECK;;|' 'DDIC_R3TR_TABL_1;CURR_QUANT_FIELDS;;06;;0;TXTT_CURRENCY_QUANTITY_FIE' 'LD;;|' 'DDIC_R3TR_TABL_2;TECH_SETTINGS;;01;X;0;TXT_TECHNICAL_SETTINGS;;|' 'DDIC_R3TR_TABL_2;EXCLASS;;02;X;0;TXT_ENHANCEMENT_CATEGORY;;|' 'DDIC_R3TR_TABL_2;TABLE_MAINT_GEN;;03;X;0;TXT_TABLE_MAINTENANCE_GENER' 'ATO;;|' 'DDIC_R3TR_TABL_2;DOC;;04;X;0;TXT_DOCUMENTATION;;|' 'DDIC_R3TR_TABL_2;ATTRIBUTES;;05;;0;TXT_ATTRIBUTES___1;;|' 'DDIC_R3TR_TABL_2;DELIVMAINT;;06;;0;TXT_DELIVERY_AND_MAINTENANCE;;|' 'DDIC_R3TR_TABL_2;FIELDS;;07;;1;TXT_FIELDS;;|' 'DDIC_R3TR_TABL_2;ENTRY_HELP_CHECK;;08;;0;TXTT_ENTRY_HELP_CHECK;;|' 'DDIC_R3TR_TABL_2;CURR_QUANT_FIELDS;;09;;0;TXTT_CURRENCY_QUANTITY_FIE' 'LD;;|' 'DDIC_R3TR_TTYP;ATTRIBUTES;;01;;0;TXT_ATTRIBUTES___1;;|' 'DDIC_R3TR_TTYP;LINETYPE;;02;;1;TXT_LINE_TYPE;;|' 'DDIC_R3TR_TTYP;INITACCESS;;03;;0;TXT_INITIALIZATION_AND_ACCESS;;|' 'DDIC_R3TR_TTYP;KEY;;04;;0;TXT_KEY;;|' 'DDIC_R3TR_TYPE;ATTRIBUTES;;01;;0;TXT_ATTRIBUTES___1;;|' 'DDIC_R3TR_TYPE;SOURCECODE;;02;;1;TXT_SOURCECDE;;|' 'DDIC_R3TR_VIEW;TECH_SETTINGS;;01;X;0;TXT_TECHNICAL_SETTINGS;CO;HDPSC' 'V|' 'DDIC_R3TR_VIEW;CREATE;;02;X;0;TXT_CREATE_STATEMENT;CO;HDPSCV|' 'DDIC_R3TR_VIEW;ATTRIBUTES;;03;;0;TXT_ATTRIBUTES___1;;|' 'DDIC_R3TR_VIEW;TABJOINCONDITIONS;;04;;0;TXTT_TABLES_JOIN_CONDITIONS;' 'CO;HDCV|' 'DDIC_R3TR_VIEW;VIEWFIELDS;;05;;1;TXT_VIEW_FLDS;;|' 'DDIC_R3TR_VIEW;SELECTIONCONDITIONS;;06;;0;TXT_SELECTION_CONDITIONS;C' 'O;HDPSCV|' 'DDIC_R3TR_VIEW;DELIVMAINT;;07;;0;TXT_MAINT_STATUS;CO;HDCV|' 'FUGR_R3TR_FUGR;ATTRIBUTES;;01;;1;TXT_ATTRIBUTES___1;;|' 'FUGR_R3TR_FUGR;MAIN_PROG;;02;;0;TXT_MAIN_PROGRAM;;|' 'FUGR_R3TR_FUGR;DOCUMENTATION;;03;;0;TXT_FUNCTION_GROUP_DOC;;|' 'FUGR_R3TR_INCLUDES;ATTRIBUTES;;01;;0;TXT_PROPERTIES;;|'

'FUGR_R3TR_INCLUDES;SOURCECODE;;02;;1;TXT_SOURCECDE;;|' 'FUGR_R3TR_MODULES;DOCUMENTATION;;01;X;0;TXT_FUNCTION_MODULE_DOCUMENT' 'AT;;|' 'FUGR_R3TR_MODULES;ATTRIBUTES;;02;;2;TXT_ATTRIBUTES___1;;|' 'FUGR_R3TR_MODULES;IMPORT;;03;;0;TXT_IMPORT;;|' 'FUGR_R3TR_MODULES;EXPORT;;04;;0;TXT_EXPORT;;|' 'FUGR_R3TR_MODULES;CHANGING;;05;;0;TXT_CHANGING;;|' 'FUGR_R3TR_MODULES;TABLES;;06;;0;TXT_TABLES;;|' 'FUGR_R3TR_MODULES;EXCEPTIONS;;07;;0;TXT_EXCEPTIONS;;|' 'FUGR_R3TR_MODULES;SOURCECODE;;08;;1;TXT_SOURCE_CODE;;|' 'FUGR_R3TR_SCREEN;ATTRIBUTES;;01;;2;TXT_ATTRIBUTES___1;;|' 'FUGR_R3TR_SCREEN;ELEMENT_LIST;;02;;0;TXT_ELEMENT_LIST;;|' 'FUGR_R3TR_SCREEN;GENERAL_ATTR;ELEMENT_LIST;03;;1;TXT_GENERAL_ATTR;;|' 'FUGR_R3TR_SCREEN;TEXTS_IO_TEMPLATES;ELEMENT_LIST;04;;0;TXT_TEXTS_IO_' 'TEMPLATES;;|' 'FUGR_R3TR_SCREEN;SPECIAL_ATTR;ELEMENT_LIST;05;;0;TXT_SPECIAL_ATTR;;|' 'FUGR_R3TR_SCREEN;DISPLAY_ATTR;ELEMENT_LIST;06;;0;TXT_DISPLAY_ATTR;;|' 'FUGR_R3TR_SCREEN;MOD_GROUPS_FUNCTIONS;ELEMENT_LIST;07;;0;TXT_MOD_GRO' 'UPS_FUNCTIONS;;|' 'FUGR_R3TR_SCREEN;REFERENCES;ELEMENT_LIST;08;;0;TXT_REFERENCES;;|' 'FUGR_R3TR_SCREEN;FLOW_LOGIC;;09;;1;TXT_FLOW_LOGIC;;|' 'O2_R3TR_XSLT;ATTRIBUTES;;01;;2;TXT_ATTRIBUTES___1;;|' 'O2_R3TR_XSLT;SOURCECODE;;02;;1;TXT_SOURCECDE;;|' 'PACK_DEVC;ATTRIBUTES;;01;;1;TXT_ATTRIBUTES___1;;|' 'PACK_DEVC;INTERFACE;;02;;0;TXT_PACKAGE_INTERFACES;;|' 'PACK_DEVC;PERM;;03;;0;TXT_USE_ACCESS;;|' 'PACK_DEVC;SUB;;04;;0;TXT_PACKAGES_INCLUDED;;|' 'PROG_R3TR_INCL;ATTRIBUTES;;01;;2;TXT_PROPERTIES;;|' 'PROG_R3TR_INCL;SOURCECODE;;02;;1;TXT_SOURCECDE;;|' 'PROG_R3TR_PROG;LISTTITLE;;01;X;0;TXT_LIST_HEADINGS;;|' 'PROG_R3TR_PROG;SELECTIONTEXTS;;02;X;0;TXT_SELECTION_TEXTS;;|' 'PROG_R3TR_PROG;TEXTSYMBOLS;;03;X;0;TXT_TEXT_ELEMENTS;;|' 'PROG_R3TR_PROG;DOC;;04;X;0;TXT_DOCUMENTATION;;|' 'PROG_R3TR_PROG;VARIANT;;05;X;0;TXT_VARIANTS;;|' 'PROG_R3TR_PROG;ATTRIBUTES;;06;;2;TXT_PROPERTIES;;|' 'PROG_R3TR_PROG;SOURCECODE;;07;;1;TXT_SOURCECDE;;|' 'SEO_R3TR_CLAS;LOCTYPES;;01;X;0;TXT_LOCAL_TYPES;;|' 'SEO_R3TR_CLAS;IMPL;;02;X;0;TXT_IMPLEMENTATION;CO;N|' 'SEO_R3TR_CLAS;MACROS;;03;X;0;TXT_MACROS;CO;N|' 'SEO_R3TR_CLAS;DOC;;04;X;0;TXT_CLASS_DOCUMENTATION;;|' 'SEO_R3TR_CLAS;TEXTSYMBOLS;;05;X;0;TXT_TEXT_ELEMENTS;;|' 'SEO_R3TR_CLAS;PROPERTIES;;06;;0;TXT_PROPERTIES;;|' 'SEO_R3TR_CLAS;INTERFACES;;07;;3;TXT_INTERFACES;;|' 'SEO_R3TR_CLAS;FRIENDS;;08;;0;TXT_FRIENDS;;|' 'SEO_R3TR_CLAS;ATTRIBUTES;;09;;2;TXT_ATTRIBUTES___2;;|' 'SEO_R3TR_CLAS;METHODS;;10;;1;TXT_METHODS;;|' 'SEO_R3TR_CLAS;EVENTS;;11;;0;TXT_EVENTS;;|' 'SEO_R3TR_CLAS;TYPES;;12;;0;TXT_TYPES;;|' 'SEO_R3TR_CLAS;ALIASES;;13;;0;TXT_ALIASES;;|' 'SEO_R3TR_INTF;DOC;;01;X;0;TXT_INTERFACE_DOCUMENTATION;;|' 'SEO_R3TR_INTF;PROPERTIES;;02;;3;TXT_PROPERTIES;;|' 'SEO_R3TR_INTF;INTERFACES;;03;;0;TXT_INTERFACES;;|' 'SEO_R3TR_INTF;ATTRIBUTES;;04;;2;TXT_ATTRIBUTES___2;;|' 'SEO_R3TR_INTF;METHODS;;05;;1;TXT_METHODS;;|' 'SEO_R3TR_INTF;EVENTS;;06;;0;TXT_EVENTS;;|' 'SEO_R3TR_INTF;TYPES;;07;;0;TXT_TYPES;;|' into l_st_csv. append l_st_csv to c_it_csv. clear l_st_csv. concatenate l_st_csv

'SEO_R3TR_INTF;ALIASES;;08;;0;TXT_ALIASES;;|' into l_st_csv. append l_st_csv to c_it_csv. endform. "csv_tabstrip form csv_text_elements_1 changing c_it_csv type it_string. refresh c_it_csv. data l_st_csv type string. concatenate l_st_csv 'TPT_DDIC_DOMA;Dictionary:;;;;;;;;;;;ECATT;212;TXT_DOMAIN;;;;|' 'TPT_DDIC_DTEL;Dictionary:;;;;;;;;;;;ECATT;212;TXT_DATA_ELEMENT___2;;' ';;|' 'TPT_DDIC_ENQU;Dictionary:;;;;;;;;;;;ECATT;212;TXT_LOCK_OBJECT___2;;;' ';|' 'TPT_DDIC_SHLP;Dictionary:;;;;;;;;;;;ECATT;212;TXT_SEARCH_HELP;;;;|' 'TPT_DDIC_STRU;Dictionary:;;;;;;;;;;;ECATT;212;TXT_STRUCTURE;;;;|' 'TPT_DDIC_TABL;Dictionary:;;;;;;;;;;;ECATT;212;TXT_TABLE;;;;|' 'TPT_DDIC_TTYP;Dictionary:;;;;;;;;;;;ECATT;212;TXT_TABLE_TYPE;;;;|' 'TPT_DDIC_TYPE;Dictionary:;;;;;;;;;;;ECATT;212;TXT_TYPE_GROUP;;;;|' 'TPT_DDIC_VIEW;Dictionary:;;;;;;;;;;;ECATT;212;TXT_VIEW;;;;|' 'TPT_FUGR_FUBA;Function Builder:;;;;;;;;;;;ECATT;212;VAR_NAME_VALUE;;' ';;|' 'TPT_FUGR_FUGR;;;;;;;;;;;;ECATT;212;TXT_FUNCTION_GROUP;;;;|' 'TPT_FUGR_INCL;ABAP Editor:;;;;;;;;;;;ECATT;212;TXTT_INCLUDE_NAME_VAL' 'UE;;;;|' 'TPT_FUGR_SCR;Screen Painter:;;;;;;;;;;;ECATT;212;TXTT_SCREEN_FOR_NAM' 'E_VALUE;;;;|' 'TPT_O2_XSLT;;;;;;;;;;;;ECATT;212;TXTT_TRANSFORMATION_NAME_VALUE;;;;|' 'TPT_PACK_DEVC;Package Builder:;;;;;;;;;;;ECATT;212;TXT_PACKAGE;;;;|' 'TPT_PROG_INCL;ABAP Editor:;;;;;;;;;;;ECATT;212;TXTT_INCLUDE_NAME_VAL' 'UE;;;;|' 'TPT_PROG_REPO;ABAP Editor:;;;;;;;;;;;ECATT;212;TXTT_REPORT_NAME_VALU' 'E;;;;|' 'TPT_SEO_CLAS;Class Builder:;;;;;;;;;;;ECATT;212;TXTT_CLASS_NAME_VALU' 'E;;;;|' 'TPT_SEO_INTF;Class Builder:;;;;;;;;;;;ECATT;212;TXTT_INTERFACE_NAME_' 'VALUE;;;;|' 'TXTT_CLASS_NAME_VALUE;;;;;;;;TXT_CLASS;;VAR_NAME_VALUE;X;;000;;;;;|' 'TXTT_CONTEXT_MENU_FORM_ON_CTME;;;;;;;;TXT_CONTEXT_MENU;FORM ON CTMEN' 'U;;X;;000;;;;;|' 'TXTT_CURRENCY_QUANTITY_FIELD;;;;;;;;TXT_CURRENCY;/;TXT_QUANTITY_FIEL' 'D;;;000;;;;;|' 'TXTT_ENTRY_HELP_CHECK;;;;;;;;TXT_ENTRY_HELP;/;TXT_CHECK;;;000;;;;;|' 'TXTT_INCLUDE_NAME_VALUE;;;;;;;;TXT_INCLUDE;;VAR_NAME_VALUE;X;;000;;;' ';;|' 'TXTT_INTERFACE_NAME_VALUE;;;;;;;;TXT_INTERFACE;;VAR_NAME_VALUE;X;;00' '0;;;;;|' 'TXTT_LINES_COLUMNS;;;;;;;;TXT_LINES;/;TXT_COLUMNS;;;000;;;;;|' 'TXTT_REPORT_NAME_VALUE;;;;;;;;TXT_REPORT;;VAR_NAME_VALUE;X;;000;;;;;|' 'TXTT_SCREEN_FOR_NAME_VALUE;;;;;;;;TXT_SCREEN_FOR;;VAR_NAME_VALUE;X;;' '000;;;;;|' 'TXTT_TABLES_JOIN_CONDITIONS;;;;;;;;TXT_TABLES;/;TXT_JOIN_CONDITIONS;' ';;000;;;;;|' 'TXTT_TRANSFORMATION_NAME_VALUE;;;;;;;;TXT_TRANSFORMATION;;VAR_NAME_V' 'ALUE;X;;000;;;;;|' 'TXTT_TYPE_GROUP_OBJECT_TYPE;;;;;;;;TXT_TYPE_GROUP;/;TXT_OBJECT_TYPE;' ';;000;;;;;|' 'TXTT_UNICODE_CHECKS_ACTIVE;;;;;;;;TXT_UNICODE_CHECKS;;TXT_ACTIVE___2' ';X;;000;;;;;|' 'TXT_2_DIMENSIONAL;;SCRFNO3D;M;;;;;;;;;;000;;;;;|'

'TXT_ABAP_LOAD;;;;;;;;;;;;;000;;;;;|' 'TXT_ABOUT;;;;;;;;;;;;;000;;;;;|' 'TXT_ABSTRACT;;SEOABSTRCT;M;;;;;;;;;;000;;;;;|' 'TXT_ACCESS;;DD_V_ACC;D;;;;;;;;;;000;;;;;|' 'TXT_ACCESS_TYPE_IS_GIVEN_FOR_A;;;;;;;;;;;;;000;;;;;|' 'TXT_ACTIVATED;;AIND_ACTIV;S;;;;;;;;;;000;;;;;|' 'TXT_ACTIVE___1;;SAAACTIVE;M;;;;;;;;;;000;;;;;|' 'TXT_ACTIVE___2;;AD_ACTIVE;M;;;;;;;;;;000;;;;;|' 'TXT_ALIAS;;UDALIAS;M;;;;;;;;;;000;;;;;|' 'TXT_ALIASES;;;;;;;;;;;;;000;;;;;|' 'TXT_ALLOWED_OBJECT_TYPES;;;;;;;;;;;;;000;;;;;|' 'TXT_ALLOW_RFC;;RFCENABLE;M;;;;;;;;;;000;;;;;|' 'TXT_ALL_RIGHTS_RESERVED;;;;;;;;;;;;;000;;;;;|' 'TXT_AND_OR;;VSCONJ;M;;;;;;;;;;000;;;;;|' 'TXT_APPENDING_VIEW;;APPENDVIEW;T;;;;;;;;;;000;;;;;|' 'TXT_APPLICATION;;RS38L_APPL;M;;;;;;;;;;000;;;;;|' 'TXT_APPLICATION_COMPONENT;;TM_COMPONT;T;;;;;;;;;;000;;;;;|' 'TXT_ASSOCIATED_TYPE;;RS38L_TYP;M;;;;;;;;;;000;;;;;|' 'TXT_ASSOCIATED_TYPE_FOR_LOW_HI;;;;;;;;;;;;;000;;;;;|' 'TXT_AS_LABEL_LEFT;;SCRPLABELL;M;;;;;;;;;;000;;;;;|' 'TXT_AS_LABEL_RIGHT;;SCRPLABELR;M;;;;;;;;;;000;;;;;|' 'TXT_ATTRIBUTE;;SEOATTNAME;M;;;;;;;;;;000;;;;;|' 'TXT_ATTRIBUTES___1;;EX_DPA;M;;;;;;;;;;000;;;;;|' 'TXT_ATTRIBUTES___2;;STAT_ATTR;M;;;;;;;;;;000;;;;;|' 'TXT_AUTHORIZATION_GROUP;;P_GROUP;T;;;;;;;;;;000;;;;;|' 'TXT_AUTHORIZATION_OBJECT;;BROBJ;D;;;;;;;;;;000;;;;;|' 'TXT_BRG;;SCRFHELL;M;;;;;;;;;;000;;;;;|' 'TXT_BUFFERING;;BUFSTATE;M;;;;;;;;;;000;;;;;|' 'TXT_BUFFERING_TYPE;;PUFFERUNGT;M;;;;;;;;;;000;;;;;|' 'TXT_BUILT_IN_TYPE;;;;;;;;;;;;;000;;;;;|' 'TXT_CATEGORY;;SEOCATEGRY;M;;;;;;;;;;000;;;;;|' 'TXT_CHANGED_ON;;UPDAT;M;;;;;;;;;;000;;;;;|' 'TXT_CHANGES_ARE_RECORDED;;KORRFLAG;D;;;;;;;;;;000;;;;;|' 'TXT_CHANGE_DOCUMENT;;LOGFLAG;M;;;;;;;;;;000;;;;;|' 'TXT_CHANGING;;RS38L_PACH;S;;;;;;;;;;000;;;;;|' 'TXT_CHECK;;AM_CHECC;M;;;;;;;;;;000;;;;;|' 'TXT_CHECK_TABLE;;CHECKTABLE;M;;;;;;;;;;000;;;;;|' 'TXT_CLASS;;SEOCLNAME;M;;;;;;;;;;000;;;;;|' 'TXT_CLASSES;;CT_CLASSES_FLAG;M;;;;;;;;;;000;;;;;|' 'TXT_CLASSIFICATION;;SDC_CLS;M;;;;;;;;;;000;;;;;|' 'TXT_CLASS_DOCUMENTATION;;;;;;;;;;;;;000;;;;;|' 'TXT_CLASS_LIBRARY;;;;;;;;;;;;;000;;;;;|' 'TXT_CLIENT;;MANDT;M;;;;;;;;;;000;;;;;|' 'TXT_CLUSTER_TABLE;;;;;;;;;;;;;000;;;;;|' 'TXT_COLL_RUN;;RS38L_TSK4;M;;;;;;;;;;000;;;;;|' 'TXT_COLUMN;;SCRFTLFNR;M;;;;;;;;;;000;;;;;|' 'TXT_COLUMNS;;SYSCOLS;M;;;;;;;;;;000;;;;;|' 'TXT_COLUMN_HEADING;;DDCMPTITLE;D;;;;;;;;;;000;;;;;|' 'TXT_COMPARE_FLAG;;;;;;;;;;;;;000;;;;;|' 'TXT_COMPARISON_VALUE;;;;;;;;;;;;;000;;;;;|' 'TXT_COMPILATION;;;;;;;;;;;;;000;;;;;|' 'TXT_COMPLETE;;COMPLETE;M;;;;;;;;;;000;;;;;|' 'TXT_COMPLETED;;;;RF_TRLISTSTATUS;3;;;;;;;;000;;;;;|' 'TXT_COMPONENT;;COMPONENTE;M;;;;;;;;;;000;;;;;|' 'TXT_COMPONENTS;;MODEDIT;M;;;;;;;;;;000;;;;;|' 'TXT_COMPONENT_INFORMATION;;;;;;;;;;;;;000;;;;;|' 'TXT_COMPONENT_TYPE;;RELC_TYPE;M;;;;;;;;;;000;;;;;|' 'TXT_COMPONENT_VERSION;;ETKVNR;T;;;;;;;;;;000;;;;;|' 'TXT_COMPRESSED;;LTCOMP;M;;;;;;;;;;000;;;;;|' 'TXT_CONTEXT_MENU;;GUI_CTX;M;;;;;;;;;;000;;;;;|'

'TXT_CONTROL_COMPOSITE_NAME;;CC_NAME;L;;;;;;;;;;000;;;;;|' 'TXT_CONVERSION_EXIT;;SCRFUCNV;D;;;;;;;;;;000;;;;;|' 'TXT_CONVERS_ROUTINE;;KCD_KONVR;M;;;;;;;;;;000;;;;;|' 'TXT_CREATED;;CATS_ERSDA;S;;;;;;;;;;000;;;;;|' 'TXT_CREATED_BY___1;;UDFUSER;S;;;;;;;;;;000;;;;;|' 'TXT_CREATED_BY___2;;CNAM;M;;;;;;;;;;000;;;;;|' 'TXT_CREATED_ON;;CRDATE;D;;;;;;;;;;000;;;;;|' into l_st_csv. append l_st_csv to c_it_csv. clear l_st_csv. concatenate l_st_csv 'TXT_CREATE_STATEMENT;;;;;;;;;;;;;000;;;;;|' 'TXT_CUA_LOAD;;STA_CLTIMI;S;;;;;;;;;;000;;;;;|' 'TXT_CURRENCY;;RSCURRENCY;M;;;;;;;;;;000;;;;;|' 'TXT_CURSOR_POSITION;;SCRHCUPO;M;;;;;;;;;;000;;;;;|' 'TXT_DATABASE_CONTENT;;;;;;;;;;;;;000;;;;;|' 'TXT_DATABASE_DATA;;;;;;;;;;;;;000;;;;;|' 'TXT_DATABASE_INFORMATION;;;;;;;;;;;;;000;;;;;|' 'TXT_DATABASE_SYSTEM;;SYDBSYS;M;;;;;;;;;;000;;;;;|' 'TXT_DATABASE_TABLES;;EX_CDT;M;;;;;;;;;;000;;;;;|' 'TXT_DATA_BROWSER_TABLE_VIEW_MA;;;;;;;;;;;;;000;;;;;|' 'TXT_DATA_CLASS;;TABART;M;;;;;;;;;;000;;;;;|' 'TXT_DATA_COLLECTION;;SLDPH;T;;;;;;;;;;000;;;;;|' 'TXT_DATA_ELEM;;DATAELEM;S;;;;;;;;;;000;;;;;|' 'TXT_DATA_ELEMENTS;;CLASSDE;M;;;;;;;;;;000;;;;;|' 'TXT_DATA_ELEMENT___1;;DATAELEM;M;;;;;;;;;;000;;;;;|' 'TXT_DATA_ELEMENT___2;;SCRP_DATN;T;;;;;;;;;;000;;;;;|' 'TXT_DATA_TYPE;;DATATYPE_D;M;;;;;;;;;;000;;;;;|' 'TXT_DBSL_PATCH_LEVEL;;;;;;;;;;;;;000;;;;;|' 'TXT_DBSL_VERSION;;DB_DBSLV;M;;;;;;;;;;000;;;;;|' 'TXT_DB_CLIENT_LIB;;DB_CLIREL;M;;;;;;;;;;000;;;;;|' 'TXT_DB_RELEASES;;DB_RELTEXT;M;;;;;;;;;;000;;;;;|' 'TXT_DECIMAL_PLACES___M;;DECIMALS;M;;;;;;;;;;000;;;;;|' 'TXT_DECIMAL_PLACES___T;;DECIMALS;T;;;;;;;;;;000;;;;;|' 'TXT_DEFAULTS;;VALEXI;S;;;;;;;;;;000;;;;;|' 'TXT_DEFAULT_COMPONENT_NAME;;DEFFDNAME;T;;;;;;;;;;000;;;;;|' 'TXT_DEFAULT_VALUE___1;;DDSHDEFVAL;T;;;;;;;;;;000;;;;;|' 'TXT_DEFAULT_VALUE___2;;RS38L_DEFO;M;;;;;;;;;;000;;;;;|' 'TXT_DEFINITION;;UFDYDOCU;M;;;;;;;;;;000;;;;;|' 'TXT_DEFLG;;SCRFLENG;M;;;;;;;;;;000;;;;;|' 'TXT_DELIVERY_AND_MAINTENANCE;;;;;;;;;;;;;000;;;;;|' 'TXT_DELIVERY_CLASS;;DIP0220;D;;;;;;;;;;000;;;;;|' 'TXT_DESCRIPTION;;SEODESCR;M;;;;;;;;;;000;;;;;|' 'TXT_DIALOG_BEHAVIOR;;;;;;;;;;;;;000;;;;;|' 'TXT_DIALOG_DATA_TRANSPORT_DETA;;;;;;;;;;;;;000;;;;;|' 'TXT_DIALOG_TYPE;;DDSHDIATYP;M;;;;;;;;;;000;;;;;|' 'TXT_DICTIONARY_REFERENCE;;STEXTA;T;;;;;;;;;;000;;;;;|' 'TXT_DICT_FIELD;;SCRFDICT;M;;;;;;;;;;000;;;;;|' 'TXT_DICT_MODIFIED;;SCRFDMOD;M;;;;;;;;;;000;;;;;|' 'TXT_DICT_OBJS;;EX_BD;M;;;;;;;;;;000;;;;;|' 'TXT_DIRECTORY;;SCMS_FTPDI;M;;;;;;;;;;000;;;;;|' 'TXT_DISABLED;;ALEDISABL;M;;;;;;;;;;000;;;;;|' 'TXT_DISPLAY;;PUSH_SHOW;M;;;;;;;;;;000;;;;;|' 'TXT_DISPLAY_ATTR;;;;;;;;;;;;;000;;;;;|' 'TXT_DLEN;;DDINTLENG;T;;;;;;;;;;000;;;;;|' 'TXT_DOCUMENTATION;;RS38L_DOCU;M;;;;;;;;;;000;;;;;|' 'TXT_DOMAIN;;DOMNAME;M;;;;;;;;;;000;;;;;|' 'TXT_DOMAINS;;CLASSDOM;M;;;;;;;;;;000;;;;;|' 'TXT_DROPDOWN;;SCRFDRDOWN;M;;;;;;;;;;000;;;;;|' 'TXT_DTYP;;DDVIEWDTYP;T;;;;;;;;;;000;;;;;|'

'TXT_DYNAMIC_CONTEXT_MENU;;SCRPMENDY;L;;;;;;;;;;000;;;;;|' 'TXT_EDITOR_LOCK;;IW_NO_EDIT;M;;;;;;;;;;000;;;;;|' 'TXT_EDIT_LOCK;;;;;;;;;;;;;000;;;;;|' 'TXT_ELEMENTARY_SRCH_HLP;;DDSHLPELEM;T;;;;;;;;;;000;;;;;|' 'TXT_ELEMENTARY_TYPE;;CHK_ELEM;M;;;;;;;;;;000;;;;;|' 'TXT_ELEMENT_LIST;;SCRAFNFL;M;;;;;;;;;;000;;;;;|' 'TXT_EMPTY_TAB;;;;;;;;;;;;;000;;;;;|' 'TXT_ENHANCEMENT_CATEGORY;;DDEXTCLASS;D;;;;;;;;;;000;;;;;|' 'TXT_ENHANCEMENT_CATEGORY_FOR_S;;;;;;;;;;;;;000;;;;;|' 'TXT_ENTER_A_PACKAGE;;;;;;;;;;;;PACKAGE_BUILDER01;201;;;;;|' 'TXT_ENTRY;;SCRFFSTR;D;;;;;;;;;;000;;;;;|' 'TXT_ENTRY_HELP;;SCRFCMBFOC;M;;;;;;;;;;000;;;;;|' 'TXT_EQ;;;;;;;;;;;;;000;;;;;|' 'TXT_ERROR_SEVERITY;;ERRORTYP;L;;;;;;;;;;000;;;;;|' 'TXT_EVENT;;SEOEVTNAME;M;;;;;;;;;;000;;;;;|' 'TXT_EVENTS;;SE30OKEVNT;S;;;;;;;;;;000;;;;;|' 'TXT_EXCEPTIONS;;RS38L_EXCE;M;;;;;;;;;;000;;;;;|' 'TXT_EXCEPTION___1;;SWF_CX_REF;M;;;;;;;;;;000;;;;;|' 'TXT_EXCEPTION___2;;RS38L_EXCN;M;;;;;;;;;;000;;;;;|' 'TXT_EXCLUSIVE;;CLEXCL;M;;;;;;;;;;000;;;;;|' 'TXT_EXP;;SHLPOUTPUT;T;;;;;;;;;;000;;;;;|' 'TXT_EXPORT;;RS38L_PAEX;S;;;;;;;;;;000;;;;;|' 'TXT_FIELD;;FIELDNAME;S;;;;;;;;;;000;;;;;|' 'TXT_FIELDS;;CLASSFEL;M;;;;;;;;;;000;;;;;|' 'TXT_FIELD_LABEL;;OTXT;M;;;;;;;;;;000;;;;;|' 'TXT_FIELD_NAME;;FELD_NAME;M;;;;;;;;;;000;;;;;|' 'TXT_FINAL;;SEOFINAL;M;;;;;;;;;;000;;;;;|' 'TXT_FIRST_PAGE;;S_INITPAGE;M;;;;;;;;;;000;;;;;|' 'TXT_FIXED_FONT;;SCRFFIXF;M;;;;;;;;;;000;;;;;|' 'TXT_FIXED_POINT_ARITHMETIC;;FIXPT;D;;;;;;;;;;000;;;;;|' 'TXT_FIX_VAL;;VAL_SINGLE;T;;;;;;;;;;000;;;;;|' 'TXT_FLOW_LOGIC;;DYNTXLINE;M;;;;;;;;;;000;;;;;|' 'TXT_FOREIGN_KEY;;SCRFFFKY;M;;;;;;;;;;000;;;;;|' 'TXT_FOREIGN_SOURCE_SYSTEM;;;;;;@6L@;S;;;;;;000;;;;;|' 'TXT_FORMAT;;SCRFTYPE;M;;;;;;;;;;000;;;;;|' 'TXT_FORMATTING;;SYPRORIENT;M;;;;;;;;;;000;;;;;|' 'TXT_FORWARD_DECLARATIONS;;;;;;;;;;;;;000;;;;;|' 'TXT_FRAMESET;;IW_FRMOBJ;M;;;;;;;;;;000;;;;;|' 'TXT_FRIENDS;;;;;;;;;;;;;000;;;;;|' 'TXT_FULLY_BUFFERED;;;;;;;;;;;;;000;;;;;|' 'TXT_FUNCTIONAL_TYPE;;S_FUNCTYP;M;;;;;;;;;;000;;;;;|' 'TXT_FUNCTION_CODE;;FCODE;M;;;;;;;;;;000;;;;;|' 'TXT_FUNCTION_GROUP;;RS38L_AREA;T;;;;;;;;;;000;;;;;|' 'TXT_FUNCTION_GROUPS;;;;;;;;;;;;;000;;;;;|' 'TXT_FUNCTION_GROUP_DOC;;;;;;;;;;;;;000;;;;;|' 'TXT_FUNCTION_MODULE;;RSTFB;T;;;;;;;;;;000;;;;;|' 'TXT_FUNCTION_MODULES;;;;;;;;;;;;;000;;;;;|' 'TXT_FUNCTION_MODULE_DOCUMENTAT;;;;;;;;;;;;;000;;;;;|' 'TXT_FURTHER_CHARACTERISTICS;;;;;;;;;;;;;000;;;;;|' 'TXT_GENERAL_ATTR;;;;;;;;;;;;;000;;;;;|' 'TXT_GENERAL_DATA;;ALSHGNDTL;M;;;;;;;;;;000;;;;;|' into l_st_csv. append l_st_csv to c_it_csv. clear l_st_csv. concatenate l_st_csv 'TXT_GENERIC_AREA_BUFFERED;;;;;;;;;;;;;000;;;;;|' 'TXT_GET_PARAMETER;;SCRFFGPA;M;;;;;;;;;;000;;;;;|' 'TXT_GLOBAL;;RS38L_GLOB;M;;;;;;;;;;000;;;;;|' 'TXT_GROUP;;GROUP_NAME;M;;;;;;;;;;000;;;;;|' 'TXT_GROUP_1;;SCRFGRP1;M;;;;;;;;;;000;;;;;|'

'TXT_GROUP_2;;SCRFGRP2;M;;;;;;;;;;000;;;;;|' 'TXT_GROUP_3;;SCRFGRP3;M;;;;;;;;;;000;;;;;|' 'TXT_GROUP_4;;SCRFGRP4;M;;;;;;;;;;000;;;;;|' 'TXT_GUI_STATUS;;;;;;;;;;;;;000;;;;;|' 'TXT_HEADING;;REPTEXT;M;;;;;;;;;;000;;;;;|' 'TXT_HEIGHT;;SCRNHIGH;M;;;;;;;;;;000;;;;;|' 'TXT_HELP;;SWL_HELP;M;;;;;;;;;;000;;;;;|' 'TXT_HIDDEN;;SUB_HIDDEN;M;;;;;;;;;;000;;;;;|' 'TXT_HIERARCHY;;UDHIERID;M;;;;;;;;;;000;;;;;|' 'TXT_HIGHEST_SUPPORT_PACKAGE;;;;;;;;;;;;;000;;;;;|' 'TXT_HOLD_DATA;;SCRHHDAT;M;;;;;;;;;;000;;;;;|' 'TXT_HOLD_SCROLL_POSITION;;SCRPKSCR;D;;;;;;;;;;000;;;;;|' 'TXT_HOST;;IACHOST;M;;;;;;;;;;000;;;;;|' 'TXT_HOST_DATA;;;;;;;;;;;;;000;;;;;|' 'TXT_HOT_KEY;;DDSHHOTKEY;M;;;;;;;;;;000;;;;;|' 'TXT_ICON;;SCRFICON;M;;;;;;;;;;000;;;;;|' 'TXT_ICON_NAME;;SCRFICON_N;M;;;;;;;;;;000;;;;;|' 'TXT_ICON_TEXT;;SCRFICON_Q;M;;;;;;;;;;000;;;;;|' 'TXT_IMMEDIATE_START_NO_RESTART;;;;;;;;;;;;;000;;;;;|' 'TXT_IMP;;SHLPINPUT;T;;;;;;;;;;000;;;;;|' 'TXT_IMPLEMENTATION;;;;;;;;;;;;;000;;;;;|' 'TXT_IMPLEMENTED_ACTIVE;;;;;;;;;;;;;000;;;;;|' 'TXT_IMPORT;;SAEIMPORT;S;;;;;;;;;;000;;;;;|' 'TXT_INACTIVE;;ALEDISABLD;S;;;;;;;;;;000;;;;;|' 'TXT_INCLUDE;;INCLNAME;M;;;;;;;;;;000;;;;;|' 'TXT_INCLUDES;;INCLU;S;;;;;;;;;;000;;;;;|' 'TXT_INCLUDE_NAME;;RSYNT_INCL;M;;;;;;;;;;000;;;;;|' 'TXT_INCLUSIVE;;CLINCL;M;;;;;;;;;;000;;;;;|' 'TXT_INFO;;BDL_INFO;S;;;;;;;;;;000;;;;;|' 'TXT_INITIALIZATION_AND_ACCESS;;;;;;;;;;;;;000;;;;;|' 'TXT_INITIAL_LINE_NUMBER;;;;;;;;;;;;;000;;;;;|' 'TXT_INITIAL_VALUE;;SEOVALUE;M;;;;;;;;;;000;;;;;|' 'TXT_INITIAL_VALUES;;HR_BIN_INI;M;;;;;;;;;;000;;;;;|' 'TXT_INPUT;;SCRFFEIN;M;;;;;;;;;;000;;;;;|' 'TXT_INSTALLATION_NUMBER;;DNOT_INSTN;T;;;;;;;;;;000;;;;;|' 'TXT_INSTANTIATION;;SEOCREATE;M;;;;;;;;;;000;;;;;|' 'TXT_INTERFACE;;SEOITFNAME;M;;;;;;;;;;000;;;;;|' 'TXT_INTERFACES;;EX_COI;M;;;;;;;;;;000;;;;;|' 'TXT_INTERFACE_COMPONENT;;SEOCPDNAME;T;;;;;;;;;;000;;;;;|' 'TXT_INTERFACE_DOCUMENTATION;;;;;;;;;;;;;000;;;;;|' 'TXT_INTERNALLY_RELEASED_ON;;;;;;;;;;;;;000;;;;;|' 'TXT_INTERVALS;;;;;;;;;;;;;000;;;;;|' 'TXT_INVISIBLE;;SCRFUNSI;M;;;;;;;;;;000;;;;;|' 'TXT_IP_ADDRESS;;RFCIP;M;;;;;;;;;;000;;;;;|' 'TXT_JOIN_CONDITIONS;;;;;;;;;;;;;000;;;;;|' 'TXT_KERNEL_INFORMATION___1;;;;;;;;;;;;;000;;;;;|' 'TXT_KERNEL_INFORMATION___2;;;;;;;;;;;;;000;;;;;|' 'TXT_KERNEL_RELEASE;;SYKERNRL;M;;;;;;;;;;000;;;;;|' 'TXT_KEY;;OJ_KEY;M;;;;;;;;;;000;;;;;|' 'TXT_KEY_ATTRIBUTE_DEFINED_FOR1;;;;;;;;;;;;;000;;;;;|' 'TXT_KEY_ATTRIBUTE_DEFINED_FOR2;;;;;;;;;;;;;000;;;;;|' 'TXT_KEY_CATEGORY;;KEYKINDTXT;M;;;;;;;;;;000;;;;;|' 'TXT_KEY_COMPONENTS;;;;;;;;;;;;;000;;;;;|' 'TXT_KEY_DEFINITION;;;;;;;;;;;;;000;;;;;|' 'TXT_KEY___KEY;;KEYFLAG;T;;;;;;;;;;000;;;;;|' 'TXT_LANGUAGE;;LANGU;M;;;;;;;;;;000;;;;;|' 'TXT_LAST_CHANGED_BY___1;;UFTSTAMP;M;;;;;;;;;;000;;;;;|' 'TXT_LAST_CHANGED_BY___2;;UNAM;M;;;;;;;;;;000;;;;;|' 'TXT_LAST_CHANGED_ON_BY;;UFTSTAMP;D;;;;;;;;;;000;;;;;|' 'TXT_LAST_GENERATION;;SCRHGEND;T;;;;;;;;;;000;;;;;|'

'TXT_LEADING_ZEROS;;SCRFFILL;M;;;;;;;;;;000;;;;;|' 'TXT_LENGTH;;DDLENG;T;;;;;;;;;;000;;;;;|' 'TXT_LEVEL;;SEOATTDECL;S;;;;;;;;;;000;;;;;|' 'TXT_LICENSE_EXPIRATION;;;;;;;;;;;;;000;;;;;|' 'TXT_LINE;;SCRFLINE;M;;;;;;;;;;000;;;;;|' 'TXT_LINES;;SYSROWS;M;;;;;;;;;;000;;;;;|' 'TXT_LINE_TYPE;;SRET_RTYPE;M;;;;;;;;;;000;;;;;|' 'TXT_LIST_HEADER;;;;;;;;;;;;;000;;;;;|' 'TXT_LIST_HEADINGS;;;;;;;;;;;;;000;;;;;|' 'TXT_LOCAL_TYPES;;;;;;;;;;;;;000;;;;;|' 'TXT_LOCK_MODE;;ENQMODE;M;;;;;;;;;;000;;;;;|' 'TXT_LOCK_OBJECTS;;CLASSSPO;M;;;;;;;;;;000;;;;;|' 'TXT_LOCK_OBJECT___1;;ENQUETAB;M;;;;;;;;;;000;;;;;|' 'TXT_LOCK_OBJECT___2;;E_ENQNAME;M;;;;;;;;;;000;;;;;|' 'TXT_LOCK_PARAMETER;;DDENQUPAR;M;;;;;;;;;;000;;;;;|' 'TXT_LOGICAL_DATABASE;;SYDBNAM;M;;;;;;;;;;000;;;;;|' 'TXT_LOGICAL_STORAGE_PARAMETERS;;;;;;;;;;;;;000;;;;;|' 'TXT_LOGON;;RSAULOGIN;S;;;;;;;;;;000;;;;;|' 'TXT_LOG_DATA_CHANGES;;DDPROTOCOL;D;;;;;;;;;;000;;;;;|' 'TXT_LONG;;SCRTEXT_L;S;;;;;;;;;;000;;;;;|' 'TXT_LONG_TEXT;;UFLONGNAME;M;;;;;;;;;;000;;;;;|' 'TXT_LOWERCASE;;TRWLOWCASE;M;;;;;;;;;;000;;;;;|' 'TXT_LOWER_LIMIT;;VAL_LOWER;M;;;;;;;;;;000;;;;;|' 'TXT_LPOS;;SHLPLISPOS;T;;;;;;;;;;000;;;;;|' 'TXT_MACHINE_TYPE;;;;;;;;;;;;;000;;;;;|' 'TXT_MACROS;;FORMINFOPK;M;;;;;;;;;;000;;;;;|' 'TXT_MAINTENANCE;;MAINTAUTH;M;;;;;;;;;;000;;;;;|' 'TXT_MAINTENANCE_SCREENS;;DYNP_MNT;L;;;;;;;;;;000;;;;;|' 'TXT_MAINTENANCE_TYPE;;MAINT_TYPE;T;;;;;;;;;;000;;;;;|' 'TXT_MAINT_SCREEN_NO;;;;;;;;;;;;;000;;;;;|' 'TXT_MAINT_STATUS;;VIEWGRANT;M;;;;;;;;;;000;;;;;|' 'TXT_MAIN_PACKAGE;;MAINPACK;M;;;;;;;;;;000;;;;;|' 'TXT_MAIN_PROGRAM;;ASTAT_PROG;T;;;;;;;;;;000;;;;;|' 'TXT_MAX_NO_OF_LINES;;BAPIMAXROW;L;;;;;;;;;;000;;;;;|' 'TXT_MEDIUM;;SCRTEXT_M;S;;;;;;;;;;000;;;;;|' into l_st_csv. append l_st_csv to c_it_csv. clear l_st_csv. concatenate l_st_csv 'TXT_MENU;;PPMENUE;M;;;;;;;;;;000;;;;;|' 'TXT_MESSAGE_CLASS;;MSGID;T;;;;;;;;;;000;;;;;|' 'TXT_METHOD;;SEOMTDNAME;M;;;;;;;;;;000;;;;;|' 'TXT_METHODS;;SE30OKMETH;M;;;;;;;;;;000;;;;;|' 'TXT_METHOD_TYPE;;SEOMTDTYPE;M;;;;;;;;;;000;;;;;|' 'TXT_MOD;;DDMODKZ;T;;;;;;;;;;000;;;;;|' 'TXT_MODAL_DIALOG_BOX;;SCRHTYPM;M;;;;;;;;;;000;;;;;|' 'TXT_MODE;;R3MODE;M;;;;;;;;;;000;;;;;|' 'TXT_MODELED_ONLY;;;;;;;;;;;;;000;;;;;|' 'TXT_MODIFIED;;TFMJMODIF;M;;;;;;;;;;000;;;;;|' 'TXT_MOD_GROUPS_FUNCTIONS;;;;;;;;;;;;;000;;;;;|' 'TXT_NAME;;CUNAM;M;;;;;;;;;;000;;;;;|' 'TXT_NAME_OF_REF_TYPE;;REFTYPNAME;M;;;;;;;;;;000;;;;;|' 'TXT_NEXT_SCREEN;;SCRHFNUM;M;;;;;;;;;;000;;;;;|' 'TXT_NO;;;;XFELD;;;;;;;;;000;;;;;|' 'TXT_NORMAL;;SCRHTYPN;M;;;;;;;;;;000;;;;;|' 'TXT_NORMAL_FUNCTION_MODULE;;RS38L_NORM;T;;;;;;;;;;000;;;;;|' 'TXT_NOT_RELEASED;;;;SEORELSTAT;0;;;;;;;;000;;;;;|' 'TXT_NO_LENGTH_RESTRICTION;;;;;;;;;;;;;000;;;;;|' 'TXT_NO_OF_CHARACTERS;;DDLENG;M;;;;;;;;;;000;;;;;|' 'TXT_NO_OF_KEY_FIELDS;;;;;;;;;;;;;000;;;;;|'

'TXT_NO_OR_USER_RECORDING_ROUTI;;CORR_CON_I;T;;;;;;;;;;000;;;;;|' 'TXT_NO_RESET;;SCRFFNRS;D;;;;;;;;;;000;;;;;|' 'TXT_OBJECTS;;SCIOBJCNT;T;;;;;;;;;;000;;;;;|' 'TXT_OBJECT_TYPE;;OBJECTTYP;M;;;;;;;;;;000;;;;;|' 'TXT_OCCUPIED;;S_SEATSOCC;S;;;;;;;;;;000;;;;;|' 'TXT_ONE_STEP;;MTYPE1;M;;;;;;;;;;000;;;;;|' 'TXT_OPERATING_SYSTEM;;SAAOPSYS;D;;;;;;;;;;000;;;;;|' 'TXT_OPERATOR;;VSOPERATOR;M;;;;;;;;;;000;;;;;|' 'TXT_OPTION;;SWFMOD_OPTION;M;;;;;;;;;;000;;;;;|' 'TXT_OPTIONAL;;RS38L_OPTI;S;;;;;;;;;;000;;;;;|' 'TXT_OPTIONS;;IWEXOPTT;M;;;;;;;;;;000;;;;;|' 'TXT_OP_RELEASE;;;;;;;;;;;;;000;;;;;|' 'TXT_ORIGINAL_LANGUAGE;;DD_LANGU;M;;;;;;;;;;000;;;;;|' 'TXT_ORIGIN_OF_THE_INPUT_HELP;;;;;;;;;;;;;000;;;;;|' 'TXT_OTHER_ATTRIBUTES;;;;;;;;;;;;;000;;;;;|' 'TXT_OUTPUT;;SCRFFOUT;M;;;;;;;;;;000;;;;;|' 'TXT_OUTPUT_CHARACTERISTICS;;;;;;;;;;;;;000;;;;;|' 'TXT_OUTPUT_LENGTH;;TTOUTLENG;M;;;;;;;;;;000;;;;;|' 'TXT_OUTPUT_ONLY;;SCRFOOUT;M;;;;;;;;;;000;;;;;|' 'TXT_OVERVIEW_SCREEN;;LIST_SCR;M;;;;;;;;;;000;;;;;|' 'TXT_OWNER;;PTOWNER;M;;;;;;;;;;000;;;;;|' 'TXT_PACKAGE;;DEVCLASS;M;;;;;;;;;;000;;;;;|' 'TXT_PACKAGES_INCLUDED;;;;;;;;;;;;;000;;;;;|' 'TXT_PACKAGE_CHECK_AS_CLIENT;;;;;;;;;;;;;000;;;;;|' 'TXT_PACKAGE_CHECK_AS_SERVER;;;;;;;;;;;;;000;;;;;|' 'TXT_PACKAGE_INTERFACE;;SCOMIFNAM;M;;;;;;;;;;000;;;;;|' 'TXT_PACKAGE_INTERFACES;;EX_CKI;M;;;;;;;;;;000;;;;;|' 'TXT_PACKAGE_NOT_EXTENDABLE;;;;;;;;;;;;;000;;;;;|' 'TXT_PACKAGE_PROPERTIES;;;;;;;;;;;;;000;;;;;|' 'TXT_PARAMETER;;PARAM_011A;M;;;;;;;;;;000;;;;;|' 'TXT_PARAMETERS;;PARNAME;T;;;;;;;;;;000;;;;;|' 'TXT_PARAMETER_ID;;PARID;M;;;;;;;;;;000;;;;;|' 'TXT_PARAMETER_NAME;;PARAMETER;M;;;;;;;;;;000;;;;;|' 'TXT_PASS_VALUE;;RS38L_VAL;M;;;;;;;;;;000;;;;;|' 'TXT_PERSON_RESPONSIBLE___1;;SCI_USER;T;;;;;;;;;;000;;;;;|' 'TXT_PERSON_RESPONSIBLE___2;;AUTHOR3;T;;;;;;;;;;000;;;;;|' 'TXT_PLATFORM_ID;;SCE_PLID;M;;;;;;;;;;000;;;;;|' 'TXT_PLEASE_ENTER_A_ROOT_DIR;;;;;;;;;;;;SHDI;002;;;;;|' 'TXT_PLEASE_ENTER_A_VALID_PATH;;;;;;;;;;;;UD;851;;;;;|' 'TXT_POOLED_TABLE;;;;;;;;;;;;;000;;;;;|' 'TXT_POOL_CLUSTER;;CLASSPC;M;;;;;;;;;;000;;;;;|' 'TXT_POSITION;;DDPOSD;M;;;;;;;;;;000;;;;;|' 'TXT_POSS_ENTRIES_KEY;;SCRFCMBPRM;M;;;;;;;;;;000;;;;;|' 'TXT_PREVIOUS_LOGON;;;;;;;;;;;;;000;;;;;|' 'TXT_PRIMARY_TABLE;;ROOTTAB;M;;;;;;;;;;000;;;;;|' 'TXT_PROCESSING_TYPE;;CDUPDATE;M;;;;;;;;;;000;;;;;|' 'TXT_PRODUCT_UNDER_GPL;;;;;;;;;;;;;000;;;;;|' 'TXT_PROGRAMS;;CLASSPROG;M;;;;;;;;;;000;;;;;|' 'TXT_PROGRAM_GUI;;;;;;;;;;;;;000;;;;;|' 'TXT_PROGRAM_NAME;;PRGNAME;M;;;;;;;;;;000;;;;;|' 'TXT_PROGRAM_SCREEN;;;;;;;;;;;;;000;;;;;|' 'TXT_PROGRAM_STATUS;;PROG_STAT;M;;;;;;;;;;000;;;;;|' 'TXT_PROPERTIES;;COCOFPRO;M;;;;;;;;;;000;;;;;|' 'TXT_PROPERTY_LIST;;SCRFPRSHOW;M;;;;;;;;;;000;;;;;|' 'TXT_QUANTITY_FIELD;;FQUAN;D;;;;;;;;;;000;;;;;|' 'TXT_READ_ONLY;;FIELD_READ;M;;;;;;;;;;000;;;;;|' 'TXT_RECORDING_ROUTINE;;;;;;;;;;;;;000;;;;;|' 'TXT_REFERENCES;;;;;;;;;;;;;000;;;;;|' 'TXT_REFERENCE_FIELD;;SCRFWAER;M;;;;;;;;;;000;;;;;|' 'TXT_REFERENCE_TABLE;;REFTABLE;M;;;;;;;;;;000;;;;;|'

'TXT_REFERENCE_TO_PREDEFINED_TY;;;;;;;;;;;;;000;;;;;|' 'TXT_REFERENCE_TYPE;;CLASSNAME;M;;;;;;;;;;000;;;;;|' 'TXT_REF_FIELD;;REFFIELD;M;;;;;;;;;;000;;;;;|' 'TXT_RELEASE;;TDFRELES;M;;;;;;;;;;000;;;;;|' 'TXT_RELEASED_INTERNALLY;;;;SEORELSTAT;1;;;;;;;;000;;;;;|' 'TXT_REMOTE_ENABLED_MODULE;;;;;;;;;;;;;000;;;;;|' 'TXT_REPORT;;SYREPID;T;;;;;;;;;;000;;;;;|' 'TXT_REPOSITORY_DATA;;;;;;;;;;;;;000;;;;;|' 'TXT_RESP_TO_DBLCLK;;SCRPDBCL;M;;;;;;;;;;000;;;;;|' 'TXT_RESTRICT;;;;;;;;;;;;;000;;;;;|' 'TXT_RIGHT_JUST;;SCRFFJUS;M;;;;;;;;;;000;;;;;|' 'TXT_RSYN_FILE;;;;;;;;;;;;;000;;;;;|' 'TXT_RTYPE;;F_REFTYPE;T;;;;;;;;;;000;;;;;|' 'TXT_SAP_DATA;;;;;;;;;;;;;000;;;;;|' 'TXT_SAP_SYSTEM_DATA;;;;;;;;;;;;;000;;;;;|' 'TXT_SAP_VERSIONS;;;;;;;;;;;;;000;;;;;|' 'TXT_SAVED;;XUSAVED;S;;;;;;;;;;000;;;;;|' 'TXT_SCREENS;;CLASSDYNP;M;;;;;;;;;;000;;;;;|' 'TXT_SCREEN_FOR;;;;;;;;;;;;;000;;;;;|' into l_st_csv. append l_st_csv to c_it_csv. clear l_st_csv. concatenate l_st_csv 'TXT_SCREEN_GROUP;;SCRHDGRP;M;;;;;;;;;;000;;;;;|' 'TXT_SCREEN_NUMBER;;SCRADNUM;M;;;;;;;;;;000;;;;;|' 'TXT_SCREEN_TYPE;;SCRHTYPE;M;;;;;;;;;;000;;;;;|' 'TXT_SCROLLABLE;;SCRFSCROLL;M;;;;;;;;;;000;;;;;|' 'TXT_SDIS;;SHLPSELDIS;T;;;;;;;;;;000;;;;;|' 'TXT_SEARCH_HELP;;ISIS_CONTRACT_SHLP;M;;;;;;;;;;000;;;;;|' 'TXT_SEARCH_HELP_EXIT;;DDSHSELEXT;T;;;;;;;;;;000;;;;;|' 'TXT_SEARCH_HELP_PARAMETER;;SHLPFIELD;T;;;;;;;;;;000;;;;;|' 'TXT_SECONDARY_TABLES;;;;;;;;;;;;;000;;;;;|' 'TXT_SELECTION;;OPTSEL;M;;;;;;;;;;000;;;;;|' 'TXT_SELECTION_CONDITIONS;;;;;;;;;;;;;000;;;;;|' 'TXT_SELECTION_CRITERIA;;INSTMARK;D;;;;;;;;;;000;;;;;|' 'TXT_SELECTION_METHOD;;SELMETHOD;T;;;;;;;;;;000;;;;;|' 'TXT_SELECTION_SCREEN;;SCRHTYPS;M;;;;;;;;;;000;;;;;|' 'TXT_SELECTION_SCREEN_VERSION;;RDIR_TYPE;D;;;;;;;;;;000;;;;;|' 'TXT_SELECTION_TEXTS;;SELE;D;;;;;;;;;;000;;;;;|' 'TXT_SERVER_NAME;;SNAME;M;;;;;;;;;;000;;;;;|' 'TXT_SETTINGS;;SIN_SETTCO;D;;;;;;;;;;000;;;;;|' 'TXT_SET_PARAMETER;;SCRFFSPA;M;;;;;;;;;;000;;;;;|' 'TXT_SHARED_MEMORY_ENABLED;;;;;;;;;;;;;000;;;;;|' 'TXT_SHORT;;SCRTEXT_S;S;;;;;;;;;;000;;;;;|' 'TXT_SHORT_DESCRIPTION_OF_SOFTW;;COMP_DESC;T;;;;;;;;;;000;;;;;|' 'TXT_SHORT_DESCRIPTION___1;;DDVIEWSTXT;M;;;;;;;;;;000;;;;;|' 'TXT_SHORT_DESCRIPTION___2;;O2DESCR;T;;;;;;;;;;000;;;;;|' 'TXT_SHORT_TEXT___1;;PARAMTEXT;M;;;;;;;;;;000;;;;;|' 'TXT_SHORT_TEXT___2;;AS4TEXT;M;;;;;;;;;;000;;;;;|' 'TXT_SIGN;;SIGNFLAG;M;;;;;;;;;;000;;;;;|' 'TXT_SINGLE_RECORDS_BUFF;;;;;;;;;;;;;000;;;;;|' 'TXT_SINGLE_SCREEN;;EDYNR;M;;;;;;;;;;000;;;;;|' 'TXT_SINGLE_VARS;;;;;;;;;;;;;000;;;;;|' 'TXT_SIZE_CATEGORY;;TABKAT;M;;;;;;;;;;000;;;;;|' 'TXT_SOFTWARE_COMPONENT;;DLVUNIT;D;;;;;;;;;;000;;;;;|' 'TXT_SOURCECDE;;QUELLTEXT;T;;;;;;;;;;000;;;;;|' 'TXT_SOURCE_CODE;;QUELLTEXT;M;;;;;;;;;;000;;;;;|' 'TXT_SPECIAL_ATTR;;;;;;;;;;;;;000;;;;;|' 'TXT_SPOS;;SHLPSELPOS;T;;;;;;;;;;000;;;;;|' 'TXT_SRCH_HELP;;DDTABSHLP;M;;;;;;;;;;000;;;;;|'

'TXT_SRCH_HELPS;;CLASSSHLP;S;;;;;;;;;;000;;;;;|' 'TXT_STANDARD_RECORDING_ROUTINE;;CORR_CON_S;T;;;;;;;;;;000;;;;;|' 'TXT_START_DELAYED;;RS38L_TSK2;M;;;;;;;;;;000;;;;;|' 'TXT_START_IMMED;;RS38L_TSK1;M;;;;;;;;;;000;;;;;|' 'TXT_START_USING_VARIANT;;;;;;;;;;;;;000;;;;;|' 'TXT_STATUS;;RSTATT;M;;;;;;;;;;000;;;;;|' 'TXT_STRUCTURE;;CLASSSTRU;M;;;;;;;;;;000;;;;;|' 'TXT_STRUCTURED_ROW_TYPE;;;;;;;;;;;;;000;;;;;|' 'TXT_STRUCTURED_TYPE;;;;;;;;;;;;;000;;;;;|' 'TXT_STRUCTURES;;EX_CDS;M;;;;;;;;;;000;;;;;|' 'TXT_SUBSCREEN;;SCRHTYPI;M;;;;;;;;;;000;;;;;|' 'TXT_SUPERCLASS;;;;;;;;;;;;;000;;;;;|' 'TXT_SUPPLEMENTARY_DOCUMENTATIO;;;;;;;;;;;;;000;;;;;|' 'TXT_SUP_PKG_LVL;;SAPPATCHLV;M;;;;;;;;;;000;;;;;|' 'TXT_SURROUNDING_PACKAGE;;PACKPARENT;M;;;;;;;;;;000;;;;;|' 'TXT_SWITCH_OFF_RUNTIME_COMPRES;;SCRPCOMP;D;;;;;;;;;;000;;;;;|' 'TXT_SYMBOL;;SU0SYMBOL;M;;;;;;;;;;000;;;;;|' 'TXT_SYSTEM;;PBFORSYS;S;;;;;;;;;;000;;;;;|' 'TXT_SYSTEM_INFORMATION;;;;;;;;;;;;;000;;;;;|' 'TXT_SYSTEM_TIME;;;;;;;;;;;;;000;;;;;|' 'TXT_TABLE;;DDTABTYPE;M;;;;;;;;;;000;;;;;|' 'TXT_TABLES;;CLASSTAB;M;;;;;;;;;;000;;;;;|' 'TXT_TABLE_MAINTENANCE_GENERATO;;;;;;;;;;;;;000;;;;;|' 'TXT_TABLE_TYPE;;SQLTSCLASS;T;;;;;;;;;;000;;;;;|' 'TXT_TABLE_TYPES;;EX_CDA;M;;;;;;;;;;000;;;;;|' 'TXT_TECHNICAL_DIALOG_DETAILS;;;;;;;;;;;;;000;;;;;|' 'TXT_TECHNICAL_SETTINGS;;;;;;;;;;;;;000;;;;;|' 'TXT_TEMPLATE_NON_EXECUTABLE;;SCRPNOGEN;D;;;;;;;;;;000;;;;;|' 'TXT_TEXT;;SGTXT;M;;;;;;;;;;000;;;;;|' 'TXT_TEXTS_IO_TEMPLATES;;;;;;;;;;;;;000;;;;;|' 'TXT_TEXT_ELEMENTS;;TEXTELEM;M;;;;;;;;;;000;;;;;|' 'TXT_TEXT_OR_IO_FIELD;;;;;;;;;;;;;000;;;;;|' 'TXT_TEXT_TABLE;;DDTABTYPE;M;;;;;;;;;;000;;;;;|' 'TXT_TITLE;;REPTI;S;;;;;;;;;;000;;;;;|' 'TXT_TRANSACTION;;TRANSAKT;M;;;;;;;;;;000;;;;;|' 'TXT_TRANSFORMATION;;SWFEXTRANS;M;;;;;;;;;;000;;;;;|' 'TXT_TRANSFORMATIONS;;;;;;;;;;;;;000;;;;;|' 'TXT_TRANSPORT_ATTRIBUTES;;OB_TADIR;T;;;;;;;;;;000;;;;;|' 'TXT_TRANSPORT_LAYER;;DEVLAYER;L;;;;;;;;;;000;;;;;|' 'TXT_TRANSP_TABLE;;;;;;;;;;;;;000;;;;;|' 'TXT_TWO_STEP;;MTYPE2;M;;;;;;;;;;000;;;;;|' 'TXT_TYPES;;SPAR_TYP;M;;;;;;;;;;000;;;;;|' 'TXT_TYPE_GROUP;;TYPEGROUP;M;;;;;;;;;;000;;;;;|' 'TXT_TYPE_GRPS;;CLASSTYGR;S;;;;;;;;;;000;;;;;|' 'TXT_TYPE_IS_GENERIC;;;;;;;;;;;;;000;;;;;|' 'TXT_TYPE_OF_SCREEN_ELEMENT;;SCRFGTYP;D;;;;;;;;;;000;;;;;|' 'TXT_TYPE_SPEC;;RSFBTYPEF;T;;;;;;;;;;000;;;;;|' 'TXT_TYPE___1;;OB_TYP;M;;;;;;;;;;000;;;;;|' 'TXT_TYPE___2;;KIND;M;;;;;;;;;;000;;;;;|' 'TXT_TYPING;;SEOTYPTYPE;M;;;;;;;;;;000;;;;;|' 'TXT_UNICODE_CHECKS;;UCCHECK;M;;;;;;;;;;000;;;;;|' 'TXT_UNICODE_SYSTEM;;;;;;;;;;;;;000;;;;;|' 'TXT_UPDATES;;DB2CXUPDTE;M;;;;;;;;;;000;;;;;|' 'TXT_UPDATE_MODULE;;RS38L_TSK;T;;;;;;;;;;000;;;;;|' 'TXT_UPPERLIMIT;;VAL_UPPER;M;;;;;;;;;;000;;;;;|' 'TXT_UPPER_LOWER_CASE_ENTRY;;SCRFFGKS;D;;;;;;;;;;000;;;;;|' 'TXT_USAGE_DATA;;;;;;;;;;;;;000;;;;;|' 'TXT_USER;;UNAME;S;;;;;;;;;;000;;;;;|' 'TXT_USE_ACCESS;;PERMISFLAG;L;;;;;;;;;;000;;;;;|' 'TXT_VALUE_LIST;;SCRFCMBFRM;M;;;;;;;;;;000;;;;;|'

'TXT_VALUE_RANGE;;SQLTTEXT50;M;;;;;;;;;;000;;;;;|' 'TXT_VARIANT;;RSTI_VARI;S;;;;;;;;;;000;;;;;|' 'TXT_VARIANTS;;TVIMV_DEL;M;;;;;;;;;;000;;;;;|' into l_st_csv. append l_st_csv to c_it_csv. clear l_st_csv. concatenate l_st_csv 'TXT_VARIANTS_OF_REPORTS;;;;;;;;;;;;;000;;;;;|' 'TXT_VERSION;;SBORPVNR;S;;;;;;;;;;000;;;;;|' 'TXT_VIEW;;VIEWNAME;S;;;;;;;;;;000;;;;;|' 'TXT_VIEWS;;EX_CDV;M;;;;;;;;;;000;;;;;|' 'TXT_VIEW_FIELD;;VIEWFIELD;M;;;;;;;;;;000;;;;;|' 'TXT_VIEW_FLDS;;;;;;;;;;;;;000;;;;;|' 'TXT_VISIBILITY;;SEOEXPOSE;M;;;;;;;;;;000;;;;;|' 'TXT_VISIBLE;;SEOEXPOSE;S;;;;;;;;;;000;;;;;|' 'TXT_VISLG;;SCRFVLENG;M;;;;;;;;;;000;;;;;|' 'TXT_W;;;;;;;;;;;;;000;;;;;|' 'TXT_WITHOUT_APPLICATION_TOOLBA;;SCRPNOTOOL;D;;;;;;;;;;000;;;;;|' 'TXT_WITHOUT_TEMPLATE;;;;;;;;;;;;;000;;;;;|' 'TXT_WITH_ICON;;SCRFICONX;M;;;;;;;;;;000;;;;;|' 'TXT_YES;;;;XFELD;X;;;;;;;;000;;;;;|' 'VAR_NAME_VALUE;#NAME_VALUE#;;;;;;;;;;;;000;;;;;|' into l_st_csv. append l_st_csv to c_it_csv. endform. "csv_text_elements_1 form csv_text_elements_2 changing c_it_csv type it_string. refresh c_it_csv. data l_st_csv type string. concatenate l_st_csv 'TPT_DDIC_DOMA;D;Dictionary: Dom&#xE4;ne anzeigen|' 'TPT_DDIC_DOMA;E;Dictionary: Display Domain|' 'TPT_DDIC_DTEL;D;Dictionary: Datenelement anzeigen|' 'TPT_DDIC_DTEL;E;Dictionary: Display Data Element|' 'TPT_DDIC_ENQU;D;Dictionary: Sperrobjekt anzeigen|' 'TPT_DDIC_ENQU;E;Dictionary: Display Lock Object|' 'TPT_DDIC_SHLP;D;Dictionary: Suchhilfe anzeigen|' 'TPT_DDIC_SHLP;E;Dictionary: Display Search Help|' 'TPT_DDIC_STRU;D;Dictionary: Struktur anzeigen|' 'TPT_DDIC_STRU;E;Dictionary: Display Structure|' 'TPT_DDIC_TABL;D;Dictionary: Tabelle anzeigen|' 'TPT_DDIC_TABL;E;Dictionary: Display Table|' 'TPT_DDIC_TTYP;D;Dictionary: Tabellentyp anzeigen|' 'TPT_DDIC_TTYP;E;Dictionary: Display Table Type|' 'TPT_DDIC_TYPE;D;Dictionary: Typgruppe anzeigen|' 'TPT_DDIC_TYPE;E;Dictionary: Display Type Group|' 'TPT_DDIC_VIEW;D;Dictionary: View anzeigen|' 'TPT_DDIC_VIEW;E;Dictionary: Display View|' 'TPT_FUGR_FUBA;D;Function Builder: #NAME_VALUE# anzeigen|' 'TPT_FUGR_FUBA;E;Function Builder: Display #NAME_VALUE#|' 'TPT_FUGR_FUGR;D;Funktionsgruppe anzeigen|' 'TPT_FUGR_FUGR;E;Display Function Group|' 'TPT_FUGR_INCL;D;ABAP Editor: Include #NAME_VALUE# anzeigen|' 'TPT_FUGR_INCL;E;ABAP Editor: Display Include #NAME_VALUE#|' 'TPT_FUGR_SCR;D;Screen Painter: Dynpro zu #NAME_VALUE# anzeigen|' 'TPT_FUGR_SCR;E;Screen Painter: Display Screen for #NAME_VALUE#|' 'TPT_O2_XSLT;D;Transformation #NAME_VALUE# anzeigen|' 'TPT_O2_XSLT;E;Display XSLT Program #NAME_VALUE#|' 'TPT_PACK_DEVC;D;Package Builder: Paket anzeigen|' 'TPT_PACK_DEVC;E;Package Builder: Display Package|'

'TPT_PROG_INCL;D;ABAP Editor: Include #NAME_VALUE# anzeigen|' 'TPT_PROG_INCL;E;ABAP Editor: Display Include #NAME_VALUE#|' 'TPT_PROG_REPO;D;ABAP Editor: Report #NAME_VALUE# anzeigen|' 'TPT_PROG_REPO;E;ABAP Editor: Display Report #NAME_VALUE#|' 'TPT_SEO_CLAS;D;Class Builder: Klasse #NAME_VALUE# anzeigen|' 'TPT_SEO_CLAS;E;Class Builder: Display Class #NAME_VALUE#|' 'TPT_SEO_INTF;D;Class Builder: Interface #NAME_VALUE# anzeigen|' 'TPT_SEO_INTF;E;Class Builder: Display Interface #NAME_VALUE#|' 'TXTT_CLASS_NAME_VALUE;D;Klasse #NAME_VALUE#|' 'TXTT_CLASS_NAME_VALUE;E;Class #NAME_VALUE#|' 'TXTT_CONTEXT_MENU_FORM_ON_CTME;D;Kontextmen&#xFC; FORM ON CTMENU|' 'TXTT_CONTEXT_MENU_FORM_ON_CTME;E;Context menu FORM ON CTMENU|' 'TXTT_CURRENCY_QUANTITY_FIELD;D;W&#xE4;hrung/Mengenfeld|' 'TXTT_CURRENCY_QUANTITY_FIELD;E;Currency/Quantity field|' 'TXTT_ENTRY_HELP_CHECK;D;Eingabehilfe/Pr&#xFC;fung|' 'TXTT_ENTRY_HELP_CHECK;E;Entry help/check|' 'TXTT_INCLUDE_NAME_VALUE;D;Include #NAME_VALUE#|' 'TXTT_INCLUDE_NAME_VALUE;E;Include #NAME_VALUE#|' 'TXTT_INTERFACE_NAME_VALUE;D;Interface #NAME_VALUE#|' 'TXTT_INTERFACE_NAME_VALUE;E;Interface #NAME_VALUE#|' 'TXTT_LINES_COLUMNS;D;Zeilen/Spalten|' 'TXTT_LINES_COLUMNS;E;Lines/Columns|' 'TXTT_REPORT_NAME_VALUE;D;Report #NAME_VALUE#|' 'TXTT_REPORT_NAME_VALUE;E;Report #NAME_VALUE#|' 'TXTT_SCREEN_FOR_NAME_VALUE;D;Dynpro zu #NAME_VALUE#|' 'TXTT_SCREEN_FOR_NAME_VALUE;E;Screen for #NAME_VALUE#|' 'TXTT_TABLES_JOIN_CONDITIONS;D;Tabellen/Joinbedingungen|' 'TXTT_TABLES_JOIN_CONDITIONS;E;Table/Join Conditions|' 'TXTT_TRANSFORMATION_NAME_VALUE;D;Transformation #NAME_VALUE#|' 'TXTT_TRANSFORMATION_NAME_VALUE;E;Transformation #NAME_VALUE#|' 'TXTT_TYPE_GROUP_OBJECT_TYPE;D;Typgruppe/Objekttyp|' 'TXTT_TYPE_GROUP_OBJECT_TYPE;E;Type group/Object type|' 'TXTT_UNICODE_CHECKS_ACTIVE;D;Unicodepr&#xFC;fungen aktiv|' 'TXTT_UNICODE_CHECKS_ACTIVE;E;Unicode checks active|' 'TXT_2_DIMENSIONAL;D;2Dim|' 'TXT_2_DIMENSIONAL;E;2-dimensional|' 'TXT_ABAP_LOAD;D;ABAP-Load|' 'TXT_ABAP_LOAD;E;ABAP Load|' 'TXT_ABOUT;D;&#xFC;ber|' 'TXT_ABOUT;E;about|' 'TXT_ABSTRACT;D;Abstrakt|' 'TXT_ABSTRACT;E;Abstract|' 'TXT_ACCESS;D;Zugriff|' 'TXT_ACCESS;E;Access|' 'TXT_ACCESS_TYPE_IS_GIVEN_FOR_A;D;Zugriffsart ist f&#xFC;r einen Rang' 'es-Tabellentyp vorgegeben|' 'TXT_ACCESS_TYPE_IS_GIVEN_FOR_A;E;Access type is given for a ranges t' 'able type|' 'TXT_ACTIVATED;D;Aktiv|' 'TXT_ACTIVATED;E;Activated|' 'TXT_ACTIVE___1;D;aktiv|' 'TXT_ACTIVE___1;E;Active|' 'TXT_ACTIVE___2;D;aktiv|' 'TXT_ACTIVE___2;E;active|' 'TXT_ALIAS;D;Alias|' 'TXT_ALIAS;E;Alias|' 'TXT_ALIASES;D;Aliases|' 'TXT_ALIASES;E;Aliases|' 'TXT_ALLOWED_OBJECT_TYPES;D;Erlaubte Objekttypen|' 'TXT_ALLOWED_OBJECT_TYPES;E;Allowed object types|'

'TXT_ALLOW_RFC;D;RFC erlauben|' 'TXT_ALLOW_RFC;E;Allow RFC|' 'TXT_ALL_RIGHTS_RESERVED;D;Alle Rechte vorbehalten.|' 'TXT_ALL_RIGHTS_RESERVED;E;All rights reserved.|' 'TXT_AND_OR;D;AND/OR|' 'TXT_AND_OR;E;AND/OR|' 'TXT_APPENDING_VIEW;D;Appendierender View|' 'TXT_APPENDING_VIEW;E;Appending view|' 'TXT_APPLICATION;D;Anwendung|' 'TXT_APPLICATION;E;Application|' 'TXT_APPLICATION_COMPONENT;D;Anwendungskomponente|' 'TXT_APPLICATION_COMPONENT;E;Application Component|' into l_st_csv. append l_st_csv to c_it_csv. clear l_st_csv. concatenate l_st_csv 'TXT_ASSOCIATED_TYPE;D;Bezugstyp|' 'TXT_ASSOCIATED_TYPE;E;Associated Type|' 'TXT_ASSOCIATED_TYPE_FOR_LOW_HI;D;Bezugstyp f&#xFC;r LOW/HIGH-Kompone' 'nten|' 'TXT_ASSOCIATED_TYPE_FOR_LOW_HI;E;Associated type for LOW/HIGH compon' 'ents|' 'TXT_AS_LABEL_LEFT;D;als Bez. links|' 'TXT_AS_LABEL_LEFT;E;As label left|' 'TXT_AS_LABEL_RIGHT;D;als Bez. rechts|' 'TXT_AS_LABEL_RIGHT;E;As label right|' 'TXT_ATTRIBUTE;D;Attribut|' 'TXT_ATTRIBUTE;E;Attribute|' 'TXT_ATTRIBUTES___1;D;Eigenschaften|' 'TXT_ATTRIBUTES___1;E;Attributes|' 'TXT_ATTRIBUTES___2;D;Attribute|' 'TXT_ATTRIBUTES___2;E;Attributes|' 'TXT_AUTHORIZATION_GROUP;D;Berechtigungsgruppe|' 'TXT_AUTHORIZATION_GROUP;E;Authorization Group|' 'TXT_AUTHORIZATION_OBJECT;D;Berechtigungsobjekt|' 'TXT_AUTHORIZATION_OBJECT;E;Authorization object|' 'TXT_BRG;D;Hell|' 'TXT_BRG;E;Brg.|' 'TXT_BUFFERING;D;Pufferung|' 'TXT_BUFFERING;E;Buffering|' 'TXT_BUFFERING_TYPE;D;Pufferungsart|' 'TXT_BUFFERING_TYPE;E;Buffering type|' 'TXT_BUILT_IN_TYPE;D;Eingebauter Typ|' 'TXT_BUILT_IN_TYPE;E;Built-in type|' 'TXT_CATEGORY;D;Kategorie|' 'TXT_CATEGORY;E;Category|' 'TXT_CHANGED_ON;D;&#xC4;nderungsdatum|' 'TXT_CHANGED_ON;E;Changed on|' 'TXT_CHANGES_ARE_RECORDED;D;Mit &#xC4;nderungsaufzeichnung|' 'TXT_CHANGES_ARE_RECORDED;E;Changes are recorded|' 'TXT_CHANGE_DOCUMENT;D;&#xC4;nderungsbeleg|' 'TXT_CHANGE_DOCUMENT;E;Change document|' 'TXT_CHANGING;D;Changing|' 'TXT_CHANGING;E;Changing|' 'TXT_CHECK;D;Pr&#xFC;fung|' 'TXT_CHECK;E;Check|' 'TXT_CHECK_TABLE;D;Pr&#xFC;ftabelle|' 'TXT_CHECK_TABLE;E;Check table|' 'TXT_CLASS;D;Klasse|' 'TXT_CLASS;E;Class|'

'TXT_CLASSES;D;Klassen|' 'TXT_CLASSES;E;Classes|' 'TXT_CLASSIFICATION;D;Klassifikation|' 'TXT_CLASSIFICATION;E;Classification|' 'TXT_CLASS_DOCUMENTATION;D;Klassen-Dokumentation|' 'TXT_CLASS_DOCUMENTATION;E;Class documentation|' 'TXT_CLASS_LIBRARY;D;Klassenbibliothek|' 'TXT_CLASS_LIBRARY;E;Class Library|' 'TXT_CLIENT;D;Mandant|' 'TXT_CLIENT;E;Client|' 'TXT_CLUSTER_TABLE;D;Cluster-Tabelle|' 'TXT_CLUSTER_TABLE;E;Cluster Table|' 'TXT_COLL_RUN;D;Sammellauf|' 'TXT_COLL_RUN;E;Coll.run|' 'TXT_COLUMN;D;Spalte|' 'TXT_COLUMN;E;Column|' 'TXT_COLUMNS;D;Spalten|' 'TXT_COLUMNS;E;Columns|' 'TXT_COLUMN_HEADING;D;Spalten&#xFC;berschrift|' 'TXT_COLUMN_HEADING;E;Column heading|' 'TXT_COMPARE_FLAG;D;Abgleichkennzeichen|' 'TXT_COMPARE_FLAG;E;Compare Flag|' 'TXT_COMPARISON_VALUE;D;Vergleichswert|' 'TXT_COMPARISON_VALUE;E;Comparison Value|' 'TXT_COMPILATION;D;Compilation|' 'TXT_COMPILATION;E;Compilation|' 'TXT_COMPLETE;D;vollst&#xE4;ndig|' 'TXT_COMPLETE;E;Complete|' 'TXT_COMPLETED;D;Fertig|' 'TXT_COMPLETED;E;Completed|' 'TXT_COMPONENT;D;Komponente|' 'TXT_COMPONENT;E;Component|' 'TXT_COMPONENTS;D;Komponenten|' 'TXT_COMPONENTS;E;Components|' 'TXT_COMPONENT_INFORMATION;D;Komponenteninformationen|' 'TXT_COMPONENT_INFORMATION;E;Component information|' 'TXT_COMPONENT_TYPE;D;Komponententyp|' 'TXT_COMPONENT_TYPE;E;Component type|' 'TXT_COMPONENT_VERSION;D;Komponentenversion|' 'TXT_COMPONENT_VERSION;E;Component version|' 'TXT_COMPRESSED;D;komprimiert|' 'TXT_COMPRESSED;E;compressed|' 'TXT_CONTEXT_MENU;D;Kontextmen&#xFC;|' 'TXT_CONTEXT_MENU;E;Context menu|' 'TXT_CONTROL_COMPOSITE_NAME;D;Control Composite Name|' 'TXT_CONTROL_COMPOSITE_NAME;E;Control Composite name|' 'TXT_CONVERSION_EXIT;D;Konvertierungs-Exit|' 'TXT_CONVERSION_EXIT;E;Conversion exit|' 'TXT_CONVERS_ROUTINE;D;Konvert.-Routine|' 'TXT_CONVERS_ROUTINE;E;Convers. routine|' 'TXT_CREATED;D;Erstellt|' 'TXT_CREATED;E;Created|' 'TXT_CREATED_BY___1;D;Angelegt|' 'TXT_CREATED_BY___1;E;Created by|' 'TXT_CREATED_BY___2;D;Anleger|' 'TXT_CREATED_BY___2;E;Created by|' 'TXT_CREATED_ON;D;Erstellungsdatum|' 'TXT_CREATED_ON;E;Created on|' into l_st_csv. append l_st_csv to c_it_csv.

clear l_st_csv. concatenate l_st_csv 'TXT_CREATE_STATEMENT;D;CREATE-Anweisung|' 'TXT_CREATE_STATEMENT;E;CREATE Statement|' 'TXT_CUA_LOAD;D;CUA-Load|' 'TXT_CUA_LOAD;E;CUA load|' 'TXT_CURRENCY;D;W&#xE4;hrung|' 'TXT_CURRENCY;E;Currency|' 'TXT_CURSOR_POSITION;D;Cursorposition|' 'TXT_CURSOR_POSITION;E;Cursor position|' 'TXT_DATABASE_CONTENT;D;Datenbankinhalt|' 'TXT_DATABASE_CONTENT;E;database content|' 'TXT_DATABASE_DATA;D;Datenbankdaten|' 'TXT_DATABASE_DATA;E;Database data|' 'TXT_DATABASE_INFORMATION;D;Datenbankinformation|' 'TXT_DATABASE_INFORMATION;E;Database information|' 'TXT_DATABASE_SYSTEM;D;Datanbank-System|' 'TXT_DATABASE_SYSTEM;E;Database system|' 'TXT_DATABASE_TABLES;D;Datenbanktabellen|' 'TXT_DATABASE_TABLES;E;Database Tables|' 'TXT_DATA_BROWSER_TABLE_VIEW_MA;D;Data Browser/Tabellensicht-Pflege|' 'TXT_DATA_BROWSER_TABLE_VIEW_MA;E;Data Browser/Table View Maint.|' 'TXT_DATA_CLASS;D;Datenart|' 'TXT_DATA_CLASS;E;Data class|' 'TXT_DATA_COLLECTION;D;Datenbeschaffung|' 'TXT_DATA_COLLECTION;E;Data collection|' 'TXT_DATA_ELEM;D;Datenelem|' 'TXT_DATA_ELEM;E;Data elem.|' 'TXT_DATA_ELEMENTS;D;Datenelemente|' 'TXT_DATA_ELEMENTS;E;Data Elements|' 'TXT_DATA_ELEMENT___1;D;Datenelement|' 'TXT_DATA_ELEMENT___1;E;Data element|' 'TXT_DATA_ELEMENT___2;D;Datenelement|' 'TXT_DATA_ELEMENT___2;E;Data Element|' 'TXT_DATA_TYPE;D;Datentyp|' 'TXT_DATA_TYPE;E;Data Type|' 'TXT_DBSL_PATCH_LEVEL;D;DBSL Patch Level|' 'TXT_DBSL_PATCH_LEVEL;E;DBSL Patch Level|' 'TXT_DBSL_VERSION;D;DBSL Version|' 'TXT_DBSL_VERSION;E;DBSL version|' 'TXT_DB_CLIENT_LIB;D;DB Client Lib|' 'TXT_DB_CLIENT_LIB;E;DB client lib.|' 'TXT_DB_RELEASES;D;DB Releases|' 'TXT_DB_RELEASES;E;DB releases|' 'TXT_DECIMAL_PLACES___M;D;Dezimalstellen|' 'TXT_DECIMAL_PLACES___M;E;Decimal Places|' 'TXT_DECIMAL_PLACES___T;D;DezStellen|' 'TXT_DECIMAL_PLACES___T;E;Decimal Places|' 'TXT_DEFAULTS;D;Festwerte|' 'TXT_DEFAULTS;E;Defaults|' 'TXT_DEFAULT_COMPONENT_NAME;D;Default-Komponentenname|' 'TXT_DEFAULT_COMPONENT_NAME;E;Default component name|' 'TXT_DEFAULT_VALUE___1;D;Defaultwert|' 'TXT_DEFAULT_VALUE___1;E;Default value|' 'TXT_DEFAULT_VALUE___2;D;Vorschlagswert|' 'TXT_DEFAULT_VALUE___2;E;Default value|' 'TXT_DEFINITION;D;Definition|' 'TXT_DEFINITION;E;Definition|' 'TXT_DEFLG;D;defLg|' 'TXT_DEFLG;E;DefLg|'

'TXT_DELIVERY_AND_MAINTENANCE;D;Auslieferung und Pflege|' 'TXT_DELIVERY_AND_MAINTENANCE;E;Delivery and Maintenance|' 'TXT_DELIVERY_CLASS;D;Auslieferungsklasse|' 'TXT_DELIVERY_CLASS;E;Delivery Class|' 'TXT_DESCRIPTION;D;Beschreibung|' 'TXT_DESCRIPTION;E;Description|' 'TXT_DIALOG_BEHAVIOR;D;Dialogverhalten|' 'TXT_DIALOG_BEHAVIOR;E;Dialog behavior|' 'TXT_DIALOG_DATA_TRANSPORT_DETA;D;Angaben zum Datentransport des Dial' 'ogs|' 'TXT_DIALOG_DATA_TRANSPORT_DETA;E;Dialog Data Transport Details|' 'TXT_DIALOG_TYPE;D;Dialogtyp|' 'TXT_DIALOG_TYPE;E;Dialog type|' 'TXT_DICTIONARY_REFERENCE;D;Dictionary-Referenz|' 'TXT_DICTIONARY_REFERENCE;E;Dictionary reference|' 'TXT_DICT_FIELD;D;Dict-F|' 'TXT_DICT_FIELD;E;Dict.field|' 'TXT_DICT_MODIFIED;D;Dict-Mod|' 'TXT_DICT_MODIFIED;E;Dict.modified|' 'TXT_DICT_OBJS;D;DDIC-Objekte|' 'TXT_DICT_OBJS;E;Dict. objs.|' 'TXT_DIRECTORY;D;Verzeichnis|' 'TXT_DIRECTORY;E;Directory|' 'TXT_DISABLED;D;Disabled|' 'TXT_DISABLED;E;Disabled|' 'TXT_DISPLAY;D;Anzeigen|' 'TXT_DISPLAY;E;Display|' 'TXT_DISPLAY_ATTR;D;Anzeigeattrib.|' 'TXT_DISPLAY_ATTR;E;Display attr.|' 'TXT_DLEN;D;DLen|' 'TXT_DLEN;E;DLen|' 'TXT_DOCUMENTATION;D;Dokumentation|' 'TXT_DOCUMENTATION;E;Documentation|' 'TXT_DOMAIN;D;Dom&#xE4;ne|' 'TXT_DOMAIN;E;Domain|' 'TXT_DOMAINS;D;Dom&#xE4;nen|' 'TXT_DOMAINS;E;Domains|' 'TXT_DROPDOWN;D;Dropdown|' 'TXT_DROPDOWN;E;Dropdown|' 'TXT_DTYP;D;DTyp|' 'TXT_DTYP;E;DTyp|' 'TXT_DYNAMIC_CONTEXT_MENU;D;dynam. Kontextmen&#xFC;|' 'TXT_DYNAMIC_CONTEXT_MENU;E;Dynamic context menu|' into l_st_csv. append l_st_csv to c_it_csv. clear l_st_csv. concatenate l_st_csv 'TXT_EDITOR_LOCK;D;Editorsperre|' 'TXT_EDITOR_LOCK;E;Editor lock|' 'TXT_EDIT_LOCK;D;Editiersperre|' 'TXT_EDIT_LOCK;E;Edit lock|' 'TXT_ELEMENTARY_SRCH_HLP;D;elementare Suchhilfe|' 'TXT_ELEMENTARY_SRCH_HLP;E;Elementary srch hlp|' 'TXT_ELEMENTARY_TYPE;D;Elementarer Typ|' 'TXT_ELEMENTARY_TYPE;E;Elementary type|' 'TXT_ELEMENT_LIST;D;Elementliste|' 'TXT_ELEMENT_LIST;E;Element list|' 'TXT_EMPTY_TAB;D;Leere Tabreiter|' 'TXT_EMPTY_TAB;E;Empty Tab|' 'TXT_ENHANCEMENT_CATEGORY;D;Erweiterungskategorie...|'

'TXT_ENHANCEMENT_CATEGORY;E;Enhancement Category...|' 'TXT_ENHANCEMENT_CATEGORY_FOR_S;D;Erweiterungskategorie der Struktur|' 'TXT_ENHANCEMENT_CATEGORY_FOR_S;E;Enhancement Category for Structure|' 'TXT_ENTER_A_PACKAGE;D;Bitte geben Sie ein Paket ein|' 'TXT_ENTER_A_PACKAGE;E;Enter a package|' 'TXT_ENTRY;D;*-Eingabe|' 'TXT_ENTRY;E;* Entry|' 'TXT_ENTRY_HELP;D;Eingabehilfe|' 'TXT_ENTRY_HELP;E;Entry help|' 'TXT_EQ;D;&#x3D;|' 'TXT_EQ;E;&#x3D;|' 'TXT_ERROR_SEVERITY;D;Fehlerschwere|' 'TXT_ERROR_SEVERITY;E;Error Severity|' 'TXT_EVENT;D;Ereignis|' 'TXT_EVENT;E;Event|' 'TXT_EVENTS;D;Ereignisse|' 'TXT_EVENTS;E;Events|' 'TXT_EXCEPTIONS;D;Ausnahmen|' 'TXT_EXCEPTIONS;E;Exceptions|' 'TXT_EXCEPTION___1;D;Exception|' 'TXT_EXCEPTION___1;E;Exception|' 'TXT_EXCEPTION___2;D;Ausnahme|' 'TXT_EXCEPTION___2;E;Exception|' 'TXT_EXCLUSIVE;D;Exclusive|' 'TXT_EXCLUSIVE;E;Exclusive|' 'TXT_EXP;D;EXP|' 'TXT_EXP;E;EXP|' 'TXT_EXPORT;D;Export|' 'TXT_EXPORT;E;Export|' 'TXT_FIELD;D;Feld|' 'TXT_FIELD;E;Field|' 'TXT_FIELDS;D;Felder|' 'TXT_FIELDS;E;Fields|' 'TXT_FIELD_LABEL;D;Feldbezeichner|' 'TXT_FIELD_LABEL;E;Field label|' 'TXT_FIELD_NAME;D;Feldname|' 'TXT_FIELD_NAME;E;Field name|' 'TXT_FINAL;D;Final|' 'TXT_FINAL;E;Final|' 'TXT_FIRST_PAGE;D;Startseite|' 'TXT_FIRST_PAGE;E;First Page|' 'TXT_FIXED_FONT;D;&#xC4;quidistanz|' 'TXT_FIXED_FONT;E;Fixed font|' 'TXT_FIXED_POINT_ARITHMETIC;D;Festpunktarithmetik|' 'TXT_FIXED_POINT_ARITHMETIC;E;Fixed point arithmetic|' 'TXT_FIX_VAL;D;Festwert|' 'TXT_FIX_VAL;E;Fix.val.|' 'TXT_FLOW_LOGIC;D;Ablauflogik|' 'TXT_FLOW_LOGIC;E;Flow logic|' 'TXT_FOREIGN_KEY;D;Fremdschl&#xFC;ssel|' 'TXT_FOREIGN_KEY;E;Foreign Key|' 'TXT_FOREIGN_SOURCE_SYSTEM;D;fremdes Quellsystem|' 'TXT_FOREIGN_SOURCE_SYSTEM;E;foreign source system|' 'TXT_FORMAT;D;Format|' 'TXT_FORMAT;E;Format|' 'TXT_FORMATTING;D;Format|' 'TXT_FORMATTING;E;Formatting|' 'TXT_FORWARD_DECLARATIONS;D;Vorw&#xE4;rtsdeklarationen|' 'TXT_FORWARD_DECLARATIONS;E;Forward declarations|' 'TXT_FRAMESET;D;Frameset|'

'TXT_FRAMESET;E;Frameset|' 'TXT_FRIENDS;D;Friends|' 'TXT_FRIENDS;E;Friends|' 'TXT_FULLY_BUFFERED;D;vollst&#xE4;ndig gepuffert|' 'TXT_FULLY_BUFFERED;E;Fully buffered|' 'TXT_FUNCTIONAL_TYPE;D;Funktionstyp|' 'TXT_FUNCTIONAL_TYPE;E;Functional type|' 'TXT_FUNCTION_CODE;D;Funktionscode|' 'TXT_FUNCTION_CODE;E;Function code|' 'TXT_FUNCTION_GROUP;D;Funktionsgruppe|' 'TXT_FUNCTION_GROUP;E;Function group|' 'TXT_FUNCTION_GROUPS;D;Funktionsgruppen|' 'TXT_FUNCTION_GROUPS;E;Function Groups|' 'TXT_FUNCTION_GROUP_DOC;D;FGruppendoku|' 'TXT_FUNCTION_GROUP_DOC;E;Function group doc.|' 'TXT_FUNCTION_MODULE;D;Funktionsbaustein|' 'TXT_FUNCTION_MODULE;E;Function module|' 'TXT_FUNCTION_MODULES;D;Funktionsbausteine|' 'TXT_FUNCTION_MODULES;E;Function Modules|' 'TXT_FUNCTION_MODULE_DOCUMENTAT;D;Fbausteindokumentation|' 'TXT_FUNCTION_MODULE_DOCUMENTAT;E;Function module documentation|' 'TXT_FURTHER_CHARACTERISTICS;D;Zusatzeigenschaften|' 'TXT_FURTHER_CHARACTERISTICS;E;Further Characteristics|' 'TXT_GENERAL_ATTR;D;Allg. Attrib.|' 'TXT_GENERAL_ATTR;E;General attr.|' 'TXT_GENERAL_DATA;D;Allgemeine Daten|' 'TXT_GENERAL_DATA;E;General Data|' into l_st_csv. append l_st_csv to c_it_csv. clear l_st_csv. concatenate l_st_csv 'TXT_GENERIC_AREA_BUFFERED;D;generischer Bereich gepuffert|' 'TXT_GENERIC_AREA_BUFFERED;E;Generic area buffered|' 'TXT_GET_PARAMETER;D;Get Parameter|' 'TXT_GET_PARAMETER;E;GET parameter|' 'TXT_GLOBAL;D;Global|' 'TXT_GLOBAL;E;Global|' 'TXT_GROUP;D;Gruppe|' 'TXT_GROUP;E;Group|' 'TXT_GROUP_1;D;Gruppe1|' 'TXT_GROUP_1;E;Group 1|' 'TXT_GROUP_2;D;Gruppe2|' 'TXT_GROUP_2;E;Group 2|' 'TXT_GROUP_3;D;Gruppe3|' 'TXT_GROUP_3;E;Group 3|' 'TXT_GROUP_4;D;Gruppe4|' 'TXT_GROUP_4;E;Group 4|' 'TXT_GUI_STATUS;D;Oberfl&#xE4;chenstatus|' 'TXT_GUI_STATUS;E;GUI status|' 'TXT_HEADING;D;&#xDC;berschrift|' 'TXT_HEADING;E;Heading|' 'TXT_HEIGHT;D;H&#xF6;he|' 'TXT_HEIGHT;E;Height|' 'TXT_HELP;D;Hilfe|' 'TXT_HELP;E;Help|' 'TXT_HIDDEN;D;Versteckt|' 'TXT_HIDDEN;E;Hidden|' 'TXT_HIERARCHY;D;Hierarchie|' 'TXT_HIERARCHY;E;Hierarchy|' 'TXT_HIGHEST_SUPPORT_PACKAGE;D;H&#xF6;chstes Support Package|'

'TXT_HIGHEST_SUPPORT_PACKAGE;E;Highest Support Package|' 'TXT_HOLD_DATA;D;Halten Daten|' 'TXT_HOLD_DATA;E;Hold Data|' 'TXT_HOLD_SCROLL_POSITION;D;Scrollposition halten|' 'TXT_HOLD_SCROLL_POSITION;E;Hold Scroll Position|' 'TXT_HOST;D;Host|' 'TXT_HOST;E;Host|' 'TXT_HOST_DATA;D;Rechnerdaten|' 'TXT_HOST_DATA;E;Host data|' 'TXT_HOT_KEY;D;Kurzanwahl|' 'TXT_HOT_KEY;E;Hot key|' 'TXT_ICON;D;Ikone|' 'TXT_ICON;E;Icon|' 'TXT_ICON_NAME;D;Ikonenname|' 'TXT_ICON_NAME;E;Icon name|' 'TXT_ICON_TEXT;D;Ikonentext|' 'TXT_ICON_TEXT;E;Icon text|' 'TXT_IMMEDIATE_START_NO_RESTART;D;Start sofort-nicht nachverbuchbar|' 'TXT_IMMEDIATE_START_NO_RESTART;E;Immediate start, no restart|' 'TXT_IMP;D;IMP|' 'TXT_IMP;E;IMP|' 'TXT_IMPLEMENTATION;D;Impl.|' 'TXT_IMPLEMENTATION;E;Implementation|' 'TXT_IMPLEMENTED_ACTIVE;D;realisiert / aktiv|' 'TXT_IMPLEMENTED_ACTIVE;E;Implemented / Active|' 'TXT_IMPORT;D;Import|' 'TXT_IMPORT;E;Import|' 'TXT_INACTIVE;D;Inaktiv|' 'TXT_INACTIVE;E;Inactive|' 'TXT_INCLUDE;D;Include|' 'TXT_INCLUDE;E;Include|' 'TXT_INCLUDES;D;Includes|' 'TXT_INCLUDES;E;Includes|' 'TXT_INCLUDE_NAME;D;Includename|' 'TXT_INCLUDE_NAME;E;INCLUDE name|' 'TXT_INCLUSIVE;D;Inclusive|' 'TXT_INCLUSIVE;E;Inclusive|' 'TXT_INFO;D;Info|' 'TXT_INFO;E;Info.|' 'TXT_INITIALIZATION_AND_ACCESS;D;Initialisierung und Zugriff|' 'TXT_INITIALIZATION_AND_ACCESS;E;Initialization and Access|' 'TXT_INITIAL_LINE_NUMBER;D;Initiale Zeilenanzahl|' 'TXT_INITIAL_LINE_NUMBER;E;Initial Line Number|' 'TXT_INITIAL_VALUE;D;Initialwert|' 'TXT_INITIAL_VALUE;E;Initial value|' 'TXT_INITIAL_VALUES;D;Initialwerte|' 'TXT_INITIAL_VALUES;E;Initial values|' 'TXT_INPUT;D;Eingabe|' 'TXT_INPUT;E;Input|' 'TXT_INSTALLATION_NUMBER;D;Installationsnummer|' 'TXT_INSTALLATION_NUMBER;E;Installation number|' 'TXT_INSTANTIATION;D;Inst.-Erzeugung|' 'TXT_INSTANTIATION;E;Instantiation|' 'TXT_INTERFACE;D;Interface|' 'TXT_INTERFACE;E;Interface|' 'TXT_INTERFACES;D;Interfaces|' 'TXT_INTERFACES;E;Interfaces|' 'TXT_INTERFACE_COMPONENT;D;Interface-Komponente|' 'TXT_INTERFACE_COMPONENT;E;Interface Component|' 'TXT_INTERFACE_DOCUMENTATION;D;Interface-Dokumentation|'

'TXT_INTERFACE_DOCUMENTATION;E;Interface documentation|' 'TXT_INTERNALLY_RELEASED_ON;D;Intern freigegeben am|' 'TXT_INTERNALLY_RELEASED_ON;E;Internally-released on|' 'TXT_INTERVALS;D;Intervalle|' 'TXT_INTERVALS;E;Intervals|' 'TXT_INVISIBLE;D;Unsichtbar|' 'TXT_INVISIBLE;E;Invisible|' 'TXT_IP_ADDRESS;D;IP-Adresse|' 'TXT_IP_ADDRESS;E;IP address|' 'TXT_JOIN_CONDITIONS;D;Joinbedingungen|' 'TXT_JOIN_CONDITIONS;E;Join Conditions|' into l_st_csv. append l_st_csv to c_it_csv. clear l_st_csv. concatenate l_st_csv 'TXT_KERNEL_INFORMATION___1;D;Kernelinformationen|' 'TXT_KERNEL_INFORMATION___1;E;Kernel information|' 'TXT_KERNEL_INFORMATION___2;D;Kernelinformation|' 'TXT_KERNEL_INFORMATION___2;E;Kernel information|' 'TXT_KERNEL_RELEASE;D;Kernel-Release|' 'TXT_KERNEL_RELEASE;E;Kernel release|' 'TXT_KEY;D;Schl&#xFC;ssel|' 'TXT_KEY;E;Key|' 'TXT_KEY_ATTRIBUTE_DEFINED_FOR1;D;Schl&#xFC;sseleigenschaften sind f&' '#xFC;r einen|' 'TXT_KEY_ATTRIBUTE_DEFINED_FOR1;E;Key attribute defined for a ranges ' 'table type|' 'TXT_KEY_ATTRIBUTE_DEFINED_FOR2;D;Ranges-Tabellentyp vorgegeben|' 'TXT_KEY_CATEGORY;D;Schl&#xFC;sselart|' 'TXT_KEY_CATEGORY;E;Key category|' 'TXT_KEY_COMPONENTS;D;Schl&#xFC;sselkomponenten|' 'TXT_KEY_COMPONENTS;E;Key components|' 'TXT_KEY_DEFINITION;D;Schl&#xFC;sseldefinition|' 'TXT_KEY_DEFINITION;E;Key definition|' 'TXT_KEY___KEY;D;Key|' 'TXT_KEY___KEY;E;Key|' 'TXT_LANGUAGE;D;Sprache|' 'TXT_LANGUAGE;E;Language|' 'TXT_LAST_CHANGED_BY___1;D;Letzte &#xC4;nderung|' 'TXT_LAST_CHANGED_BY___1;E;Last changed by|' 'TXT_LAST_CHANGED_BY___2;D;letzter &#xC4;nderer|' 'TXT_LAST_CHANGED_BY___2;E;Last changed by|' 'TXT_LAST_CHANGED_ON_BY;D;Letzte &#xC4;nderung|' 'TXT_LAST_CHANGED_ON_BY;E;Last changed on/by|' 'TXT_LAST_GENERATION;D;Letzte Generierung|' 'TXT_LAST_GENERATION;E;Last generation|' 'TXT_LEADING_ZEROS;D;F&#xFC;hrende Nullen|' 'TXT_LEADING_ZEROS;E;Leading zeros|' 'TXT_LENGTH;D;L&#xE4;nge|' 'TXT_LENGTH;E;Length|' 'TXT_LEVEL;D;Art|' 'TXT_LEVEL;E;Level|' 'TXT_LICENSE_EXPIRATION;D;Lizenzablaufdatum|' 'TXT_LICENSE_EXPIRATION;E;License expiration|' 'TXT_LINE;D;Zeile|' 'TXT_LINE;E;Line|' 'TXT_LINES;D;Zeilen|' 'TXT_LINES;E;Lines|' 'TXT_LINE_TYPE;D;Zeilentyp|' 'TXT_LINE_TYPE;E;Line Type|'

'TXT_LIST_HEADER;D;Listen&#xFC;berschrift|' 'TXT_LIST_HEADER;E;List header|' 'TXT_LIST_HEADINGS;D;Listen&#xFC;berschriften|' 'TXT_LIST_HEADINGS;E;List Headings|' 'TXT_LOCAL_TYPES;D;Lokale Typen|' 'TXT_LOCAL_TYPES;E;Local types|' 'TXT_LOCK_MODE;D;Sperrmodus|' 'TXT_LOCK_MODE;E;Lock mode|' 'TXT_LOCK_OBJECTS;D;Sperrobjekte|' 'TXT_LOCK_OBJECTS;E;Lock Objects|' 'TXT_LOCK_OBJECT___1;D;Sperrobjekt|' 'TXT_LOCK_OBJECT___1;E;Lock object|' 'TXT_LOCK_OBJECT___2;D;Sperrobjekt|' 'TXT_LOCK_OBJECT___2;E;Lock Object|' 'TXT_LOCK_PARAMETER;D;Sperrparameter|' 'TXT_LOCK_PARAMETER;E;Lock parameter|' 'TXT_LOGICAL_DATABASE;D;Logische Datenbank|' 'TXT_LOGICAL_DATABASE;E;Logical database|' 'TXT_LOGICAL_STORAGE_PARAMETERS;D;Logische Speicher-Parameter|' 'TXT_LOGICAL_STORAGE_PARAMETERS;E;Logical storage parameters|' 'TXT_LOGON;D;Anmeldung|' 'TXT_LOGON;E;Logon|' 'TXT_LOG_DATA_CHANGES;D;Daten&#xE4;nderungen protokollieren|' 'TXT_LOG_DATA_CHANGES;E;Log data changes|' 'TXT_LONG;D;lang|' 'TXT_LONG;E;Long|' 'TXT_LONG_TEXT;D;Langtext|' 'TXT_LONG_TEXT;E;Long text|' 'TXT_LOWERCASE;D;Kleinbuchstaben|' 'TXT_LOWERCASE;E;Lowercase|' 'TXT_LOWER_LIMIT;D;Untergrenze|' 'TXT_LOWER_LIMIT;E;Lower limit|' 'TXT_LPOS;D;LPos|' 'TXT_LPOS;E;LPos|' 'TXT_MACHINE_TYPE;D;Maschinen-Typ|' 'TXT_MACHINE_TYPE;E;Machine type|' 'TXT_MACROS;D;Makros|' 'TXT_MACROS;E;Macros|' 'TXT_MAINTENANCE;D;Pflege|' 'TXT_MAINTENANCE;E;Maintenance|' 'TXT_MAINTENANCE_SCREENS;D;Pflegebilder|' 'TXT_MAINTENANCE_SCREENS;E;Maintenance Screens|' 'TXT_MAINTENANCE_TYPE;D;Pflegetyp|' 'TXT_MAINTENANCE_TYPE;E;Maintenance type|' 'TXT_MAINT_SCREEN_NO;D;Pflegebildnummer|' 'TXT_MAINT_SCREEN_NO;E;Maint. Screen No.|' 'TXT_MAINT_STATUS;D;Pflegestatus|' 'TXT_MAINT_STATUS;E;Maint. status|' 'TXT_MAIN_PACKAGE;D;Hauptpaket|' 'TXT_MAIN_PACKAGE;E;Main Package|' 'TXT_MAIN_PROGRAM;D;Rahmenprogramm|' 'TXT_MAIN_PROGRAM;E;Main program|' 'TXT_MAX_NO_OF_LINES;D;max. Zeilenanzahl|' 'TXT_MAX_NO_OF_LINES;E;max. no. of lines|' 'TXT_MEDIUM;D;mittel|' 'TXT_MEDIUM;E;Medium|' 'TXT_MENU;D;Men&#xFC;|' into l_st_csv. append l_st_csv to c_it_csv. clear l_st_csv.

concatenate l_st_csv 'TXT_MENU;E;Menu|' 'TXT_MESSAGE_CLASS;D;Nachrichtenklasse|' 'TXT_MESSAGE_CLASS;E;Message Class|' 'TXT_METHOD;D;Methode|' 'TXT_METHOD;E;Method|' 'TXT_METHODS;D;Methoden|' 'TXT_METHODS;E;Methods|' 'TXT_METHOD_TYPE;D;Methodentyp|' 'TXT_METHOD_TYPE;E;Method type|' 'TXT_MOD;D;Mod|' 'TXT_MOD;E;Mod|' 'TXT_MODAL_DIALOG_BOX;D;Modales Fenster|' 'TXT_MODAL_DIALOG_BOX;E;Modal dialog box|' 'TXT_MODE;D;Mode|' 'TXT_MODE;E;Mode|' 'TXT_MODELED_ONLY;D;Nur modelliert|' 'TXT_MODELED_ONLY;E;Modeled only|' 'TXT_MODIFIED;D;Modifiziert|' 'TXT_MODIFIED;E;Modified|' 'TXT_MOD_GROUPS_FUNCTIONS;D;ModifGruppen/Funktionen|' 'TXT_MOD_GROUPS_FUNCTIONS;E;Mod. Groups / functions|' 'TXT_NAME;D;Name|' 'TXT_NAME;E;Name|' 'TXT_NAME_OF_REF_TYPE;D;Referierter Typ|' 'TXT_NAME_OF_REF_TYPE;E;Name of Ref. Type|' 'TXT_NEXT_SCREEN;D;Folgedynpro|' 'TXT_NEXT_SCREEN;E;Next Screen|' 'TXT_NO;D;nein|' 'TXT_NO;E;No|' 'TXT_NORMAL;D;Normal|' 'TXT_NORMAL;E;Normal|' 'TXT_NORMAL_FUNCTION_MODULE;D;Normaler Funktionsbaustein|' 'TXT_NORMAL_FUNCTION_MODULE;E;Normal function module|' 'TXT_NOT_RELEASED;D;Nicht freigegeben|' 'TXT_NOT_RELEASED;E;Not released|' 'TXT_NO_LENGTH_RESTRICTION;D;L&#xE4;nge ist unbeschr&#xE4;nkt|' 'TXT_NO_LENGTH_RESTRICTION;E;No length restriction|' 'TXT_NO_OF_CHARACTERS;D;Zahl der Stellen|' 'TXT_NO_OF_CHARACTERS;E;No. of Characters|' 'TXT_NO_OF_KEY_FIELDS;D;Anzahl Schl&#xFC;sselfelder|' 'TXT_NO_OF_KEY_FIELDS;E;No. of key fields|' 'TXT_NO_OR_USER_RECORDING_ROUTI;D;keine oder individuelle Aufzeichnun' 'gsroutine|' 'TXT_NO_OR_USER_RECORDING_ROUTI;E;no, or user, recording routine|' 'TXT_NO_RESET;D;Keine R&#xFC;cknahme|' 'TXT_NO_RESET;E;No reset|' 'TXT_OBJECTS;D;Objekte|' 'TXT_OBJECT_TYPE;D;Objekttyp|' 'TXT_OBJECT_TYPE;E;Object type|' 'TXT_OCCUPIED;D;Belegt|' 'TXT_OCCUPIED;E;Occupied|' 'TXT_ONE_STEP;D;einstufig|' 'TXT_ONE_STEP;E;one step|' 'TXT_OPERATING_SYSTEM;D;Betriebssystem|' 'TXT_OPERATING_SYSTEM;E;Operating system|' 'TXT_OPERATOR;D;Operator|' 'TXT_OPERATOR;E;Operator|' 'TXT_OPTION;D;Option|' 'TXT_OPTION;E;Option|'

'TXT_OPTIONAL;D;Optional|' 'TXT_OPTIONAL;E;Optional|' 'TXT_OPTIONS;D;Optionen|' 'TXT_OPTIONS;E;Options|' 'TXT_OP_RELEASE;D;OP-Release|' 'TXT_OP_RELEASE;E;OP release|' 'TXT_ORIGINAL_LANGUAGE;D;Originalsprache|' 'TXT_ORIGINAL_LANGUAGE;E;Original language|' 'TXT_ORIGIN_OF_THE_INPUT_HELP;D;Herkunft der Eingabehilfe|' 'TXT_ORIGIN_OF_THE_INPUT_HELP;E;Origin of the Input Help|' 'TXT_OTHER_ATTRIBUTES;D;Weitere Attribute|' 'TXT_OTHER_ATTRIBUTES;E;Other attributes|' 'TXT_OUTPUT;D;Ausgabe|' 'TXT_OUTPUT;E;Output|' 'TXT_OUTPUT_CHARACTERISTICS;D;Ausgabeeigenschaften|' 'TXT_OUTPUT_CHARACTERISTICS;E;Output characteristics|' 'TXT_OUTPUT_LENGTH;D;Ausgabel&#xE4;nge|' 'TXT_OUTPUT_LENGTH;E;Output length|' 'TXT_OUTPUT_ONLY;D;NurAusgabe|' 'TXT_OUTPUT_ONLY;E;Output only|' 'TXT_OVERVIEW_SCREEN;D;&#xDC;bersichtsbild|' 'TXT_OVERVIEW_SCREEN;E;Overview screen|' 'TXT_OWNER;D;Owner|' 'TXT_OWNER;E;Owner|' 'TXT_PACKAGE;D;Paket|' 'TXT_PACKAGE;E;Package|' 'TXT_PACKAGES_INCLUDED;D;Enthaltene Pakete|' 'TXT_PACKAGES_INCLUDED;E;Packages included|' 'TXT_PACKAGE_CHECK_AS_CLIENT;D;Paketpr&#xFC;fung als Client|' 'TXT_PACKAGE_CHECK_AS_CLIENT;E;Package Check as Client|' 'TXT_PACKAGE_CHECK_AS_SERVER;D;Paketpr&#xFC;fung als Server|' 'TXT_PACKAGE_CHECK_AS_SERVER;E;Package Check as Server|' 'TXT_PACKAGE_INTERFACE;D;Paketschnittstelle|' 'TXT_PACKAGE_INTERFACE;E;Package Interface|' 'TXT_PACKAGE_INTERFACES;D;Paketschnittstellen|' 'TXT_PACKAGE_INTERFACES;E;Package interfaces|' 'TXT_PACKAGE_NOT_EXTENDABLE;D;Paket nicht erweiterbar|' 'TXT_PACKAGE_NOT_EXTENDABLE;E;Package not extendable|' 'TXT_PACKAGE_PROPERTIES;D;Paketeigenschaften|' 'TXT_PACKAGE_PROPERTIES;E;Package properties|' 'TXT_PARAMETER;D;Parameter|' 'TXT_PARAMETER;E;Parameter|' into l_st_csv. append l_st_csv to c_it_csv. clear l_st_csv. concatenate l_st_csv 'TXT_PARAMETERS;D;Parameter|' 'TXT_PARAMETERS;E;Parameters|' 'TXT_PARAMETER_ID;D;Parameter-Id|' 'TXT_PARAMETER_ID;E;Parameter ID|' 'TXT_PARAMETER_NAME;D;Parametername|' 'TXT_PARAMETER_NAME;E;Parameter Name|' 'TXT_PASS_VALUE;D;Wert&#xFC;bergabe|' 'TXT_PASS_VALUE;E;Pass Value|' 'TXT_PERSON_RESPONSIBLE___1;D;Verantwortlicher|' 'TXT_PERSON_RESPONSIBLE___1;E;Person Responsible|' 'TXT_PERSON_RESPONSIBLE___2;D;Verantwortlicher|' 'TXT_PERSON_RESPONSIBLE___2;E;Person responsible|' 'TXT_PLATFORM_ID;D;Plattform-Id|' 'TXT_PLATFORM_ID;E;Platform ID|'

'TXT_PLEASE_ENTER_A_ROOT_DIR;D;Bitte geben Sie ein Wurzelverzeichnis ' 'ein.|' 'TXT_PLEASE_ENTER_A_ROOT_DIR;E;Please enter a root directory.|' 'TXT_PLEASE_ENTER_A_VALID_PATH;D;Bitte ein g&#xFC;ltiges Verzeichnis ' 'angeben|' 'TXT_PLEASE_ENTER_A_VALID_PATH;E;Please enter a valid path name|' 'TXT_POOLED_TABLE;D;Pool-Tabelle|' 'TXT_POOLED_TABLE;E;Pooled Table|' 'TXT_POOL_CLUSTER;D;Pool/Cluster|' 'TXT_POOL_CLUSTER;E;Pool/cluster|' 'TXT_POSITION;D;Position|' 'TXT_POSITION;E;Position|' 'TXT_POSS_ENTRIES_KEY;D;Eingabehilfetaste|' 'TXT_POSS_ENTRIES_KEY;E;Poss. entries key|' 'TXT_PREVIOUS_LOGON;D;Vorige Anmeldung|' 'TXT_PREVIOUS_LOGON;E;Previous logon|' 'TXT_PRIMARY_TABLE;D;Prim&#xE4;rtabelle|' 'TXT_PRIMARY_TABLE;E;Primary table|' 'TXT_PROCESSING_TYPE;D;Ablaufart|' 'TXT_PROCESSING_TYPE;E;Processing type|' 'TXT_PRODUCT_UNDER_GPL;D;Dieses Produkt ist zu den Bedingungen der #G' 'PL# freigegeben.|' 'TXT_PRODUCT_UNDER_GPL;E;This product is released under the terms of ' 'the #GPL#.|' 'TXT_PROGRAMS;D;Programme|' 'TXT_PROGRAMS;E;Programs|' 'TXT_PROGRAM_GUI;D;Programm (GUI)|' 'TXT_PROGRAM_GUI;E;Program (GUI)|' 'TXT_PROGRAM_NAME;D;Programmname|' 'TXT_PROGRAM_NAME;E;Program name|' 'TXT_PROGRAM_SCREEN;D;Programm (Dynpro)|' 'TXT_PROGRAM_SCREEN;E;Program (screen)|' 'TXT_PROGRAM_STATUS;D;Programmstatus|' 'TXT_PROGRAM_STATUS;E;Program status|' 'TXT_PROPERTIES;D;Eigenschaften|' 'TXT_PROPERTIES;E;Properties|' 'TXT_PROPERTY_LIST;D;Property-Liste|' 'TXT_PROPERTY_LIST;E;Property list|' 'TXT_QUANTITY_FIELD;D;Mengenfeld|' 'TXT_QUANTITY_FIELD;E;Quantity field|' 'TXT_READ_ONLY;D;Read-Only|' 'TXT_READ_ONLY;E;Read-Only|' 'TXT_RECORDING_ROUTINE;D;Aufzeichnungsroutine|' 'TXT_RECORDING_ROUTINE;E;Recording routine|' 'TXT_REFERENCES;D;Referenzen|' 'TXT_REFERENCES;E;References|' 'TXT_REFERENCE_FIELD;D;Referenzfeld|' 'TXT_REFERENCE_FIELD;E;Reference field|' 'TXT_REFERENCE_TABLE;D;Referenztabelle|' 'TXT_REFERENCE_TABLE;E;Reference table|' 'TXT_REFERENCE_TO_PREDEFINED_TY;D;Referenz auf eingebauten Typ|' 'TXT_REFERENCE_TO_PREDEFINED_TY;E;Reference to Predefined Type|' 'TXT_REFERENCE_TYPE;D;Referenz auf|' 'TXT_REFERENCE_TYPE;E;Reference type|' 'TXT_REF_FIELD;D;Referenzfeld|' 'TXT_REF_FIELD;E;Ref. field|' 'TXT_RELEASE;D;Release|' 'TXT_RELEASE;E;Release|' 'TXT_RELEASED_INTERNALLY;D;Intern freigegeben|' 'TXT_RELEASED_INTERNALLY;E;Release internally|'

'TXT_REMOTE_ENABLED_MODULE;D;Remote f&#xE4;higer Baustein|' 'TXT_REMOTE_ENABLED_MODULE;E;Remote-enabled module|' 'TXT_REPORT;D;Report|' 'TXT_REPORT;E;Report|' 'TXT_REPOSITORY_DATA;D;Repository-Daten|' 'TXT_REPOSITORY_DATA;E;Repository data|' 'TXT_RESP_TO_DBLCLK;D;DKlick-sensitiv|' 'TXT_RESP_TO_DBLCLK;E;Resp. to DblClk|' 'TXT_RESTRICT;D;einschr&#xE4;nken|' 'TXT_RESTRICT;E;restrict|' 'TXT_RIGHT_JUST;D;Rechtsb&#xFC;ndig|' 'TXT_RIGHT_JUST;E;Right-just.|' 'TXT_RSYN_FILE;D;Rsyn-File|' 'TXT_RSYN_FILE;E;Rsyn file|' 'TXT_RTYPE;D;R.typ|' 'TXT_RTYPE;E;RType|' 'TXT_SAP_DATA;D;SAP-Daten|' 'TXT_SAP_DATA;E;SAP data|' 'TXT_SAP_SYSTEM_DATA;D;SAP-Systemdaten|' 'TXT_SAP_SYSTEM_DATA;E;SAP System data|' 'TXT_SAP_VERSIONS;D;SAP-Versionen|' 'TXT_SAP_VERSIONS;E;SAP versions|' 'TXT_SAVED;D;gesichert|' 'TXT_SAVED;E;Saved|' 'TXT_SCREENS;D;Dynpros|' 'TXT_SCREENS;E;Screens|' 'TXT_SCREEN_FOR;D;Dynpro zu|' 'TXT_SCREEN_FOR;E;Screen for|' 'TXT_SCREEN_GROUP;D;Bildgruppe|' 'TXT_SCREEN_GROUP;E;Screen group|' into l_st_csv. append l_st_csv to c_it_csv. clear l_st_csv. concatenate l_st_csv 'TXT_SCREEN_NUMBER;D;Dynpronummer|' 'TXT_SCREEN_NUMBER;E;Screen number|' 'TXT_SCREEN_TYPE;D;Dynprotyp|' 'TXT_SCREEN_TYPE;E;Screen type|' 'TXT_SCROLLABLE;D;rollbar|' 'TXT_SCROLLABLE;E;Scrollable|' 'TXT_SDIS;D;SAnz|' 'TXT_SDIS;E;SDis|' 'TXT_SEARCH_HELP;D;Suchhilfe|' 'TXT_SEARCH_HELP;E;Search Help|' 'TXT_SEARCH_HELP_EXIT;D;Suchhilfe-Exit|' 'TXT_SEARCH_HELP_EXIT;E;Search help exit|' 'TXT_SEARCH_HELP_PARAMETER;D;Suchhilfeparameter|' 'TXT_SEARCH_HELP_PARAMETER;E;Search help parameter|' 'TXT_SECONDARY_TABLES;D;Sekund&#xE4;rtabellen|' 'TXT_SECONDARY_TABLES;E;Secondary tables|' 'TXT_SELECTION;D;Auswahl|' 'TXT_SELECTION;E;Selection|' 'TXT_SELECTION_CONDITIONS;D;Selektionsbedingungen|' 'TXT_SELECTION_CONDITIONS;E;Selection Conditions|' 'TXT_SELECTION_CRITERIA;D;Auswahl|' 'TXT_SELECTION_CRITERIA;E;Selection criteria|' 'TXT_SELECTION_METHOD;D;Selektionsmethode|' 'TXT_SELECTION_METHOD;E;Selection method|' 'TXT_SELECTION_SCREEN;D;Selektionsdynpro|' 'TXT_SELECTION_SCREEN;E;Selection screen|'

'TXT_SELECTION_SCREEN_VERSION;D;Selektionsbildversion|' 'TXT_SELECTION_SCREEN_VERSION;E;Selection screen version|' 'TXT_SELECTION_TEXTS;D;Selektionstexte|' 'TXT_SELECTION_TEXTS;E;Selection texts|' 'TXT_SERVER_NAME;D;Servername|' 'TXT_SERVER_NAME;E;Server name|' 'TXT_SETTINGS;D;Einstellungen|' 'TXT_SETTINGS;E;Settings|' 'TXT_SET_PARAMETER;D;Set Parameter|' 'TXT_SET_PARAMETER;E;SET parameter|' 'TXT_SHARED_MEMORY_ENABLED;D;Shared memory f&#xE4;hig|' 'TXT_SHARED_MEMORY_ENABLED;E;Shared memory enabled|' 'TXT_SHORT;D;kurz|' 'TXT_SHORT;E;Short|' 'TXT_SHORT_DESCRIPTION_OF_SOFTW;D;Kurzbeschreibung der Softwarekompon' 'ente|' 'TXT_SHORT_DESCRIPTION_OF_SOFTW;E;Short Description of Software Compo' 'nent|' 'TXT_SHORT_DESCRIPTION___1;D;Kurzbeschreibung|' 'TXT_SHORT_DESCRIPTION___1;E;Short description|' 'TXT_SHORT_DESCRIPTION___2;D;Kurzbeschreibung|' 'TXT_SHORT_DESCRIPTION___2;E;Short Description|' 'TXT_SHORT_TEXT___1;D;Kurztext|' 'TXT_SHORT_TEXT___1;E;Short Text|' 'TXT_SHORT_TEXT___2;D;Kurzbeschreibung|' 'TXT_SHORT_TEXT___2;E;Short Text|' 'TXT_SIGN;D;Vorzeichen|' 'TXT_SIGN;E;Sign|' 'TXT_SINGLE_RECORDS_BUFF;D;Einzels&#xE4;tze gepuffert|' 'TXT_SINGLE_RECORDS_BUFF;E;Single records buff.|' 'TXT_SINGLE_SCREEN;D;Einzelbild|' 'TXT_SINGLE_SCREEN;E;Single screen|' 'TXT_SINGLE_VARS;D;Einzelwerte|' 'TXT_SINGLE_VARS;E;Single vars|' 'TXT_SIZE_CATEGORY;D;Gr&#xF6;&#xDF;enkategorie|' 'TXT_SIZE_CATEGORY;E;Size category|' 'TXT_SOFTWARE_COMPONENT;D;Softwarekomponente|' 'TXT_SOFTWARE_COMPONENT;E;Software Component|' 'TXT_SOURCECDE;D;Quelltext|' 'TXT_SOURCECDE;E;SourceCde|' 'TXT_SOURCE_CODE;D;Quelltext|' 'TXT_SOURCE_CODE;E;Source code|' 'TXT_SPECIAL_ATTR;D;Spez. Attrib.|' 'TXT_SPECIAL_ATTR;E;Special attr.|' 'TXT_SPOS;D;SPos|' 'TXT_SPOS;E;SPos|' 'TXT_SRCH_HELP;D;Suchhilfe|' 'TXT_SRCH_HELP;E;Srch help|' 'TXT_SRCH_HELPS;D;Suchhilfen|' 'TXT_SRCH_HELPS;E;Srch Helps|' 'TXT_STANDARD_RECORDING_ROUTINE;D;Standard Aufzeichnungsroutine|' 'TXT_STANDARD_RECORDING_ROUTINE;E;Standard recording routine|' 'TXT_START_DELAYED;D;Start verz&#xF6;gert|' 'TXT_START_DELAYED;E;Start delayed|' 'TXT_START_IMMED;D;Start sofort|' 'TXT_START_IMMED;E;Start immed.|' 'TXT_START_USING_VARIANT;D;Start &#xFC;ber Variante|' 'TXT_START_USING_VARIANT;E;Start using variant|' 'TXT_STATUS;D;Status|' 'TXT_STATUS;E;Status|'

'TXT_STRUCTURE;D;Struktur|' 'TXT_STRUCTURE;E;Structure|' 'TXT_STRUCTURED_ROW_TYPE;D;Strukturierter Zeilentyp|' 'TXT_STRUCTURED_ROW_TYPE;E;Structured row type|' 'TXT_STRUCTURED_TYPE;D;Strukturierter Typ|' 'TXT_STRUCTURED_TYPE;E;Structured Type|' 'TXT_STRUCTURES;D;Strukturen|' 'TXT_STRUCTURES;E;Structures|' 'TXT_SUBSCREEN;D;Subscreen|' 'TXT_SUBSCREEN;E;Subscreen|' 'TXT_SUPERCLASS;D;Erbt von|' 'TXT_SUPERCLASS;E;Superclass|' 'TXT_SUPPLEMENTARY_DOCUMENTATIO;D;Zusatzdokumentation|' 'TXT_SUPPLEMENTARY_DOCUMENTATIO;E;Supplementary Documentation|' 'TXT_SUP_PKG_LVL;D;Patch-Level|' 'TXT_SUP_PKG_LVL;E;Sup.Pkg lvl.|' into l_st_csv. append l_st_csv to c_it_csv. clear l_st_csv. concatenate l_st_csv 'TXT_SURROUNDING_PACKAGE;D;Direkt umgebendes Paket|' 'TXT_SURROUNDING_PACKAGE;E;Surrounding package|' 'TXT_SWITCH_OFF_RUNTIME_COMPRES;D;Abschalten der Komprimierung des Dy' 'npros zur Laufzeit|' 'TXT_SWITCH_OFF_RUNTIME_COMPRES;E;Switch off runtime compress|' 'TXT_SYMBOL;D;Symbol|' 'TXT_SYMBOL;E;Symbol|' 'TXT_SYSTEM;D;System|' 'TXT_SYSTEM;E;System|' 'TXT_SYSTEM_INFORMATION;D;Systeminformation|' 'TXT_SYSTEM_INFORMATION;E;System information|' 'TXT_SYSTEM_TIME;D;Systemzeit|' 'TXT_SYSTEM_TIME;E;System time|' 'TXT_TABLE;D;Tabelle|' 'TXT_TABLE;E;Table|' 'TXT_TABLES;D;Tabellen|' 'TXT_TABLES;E;Tables|' 'TXT_TABLE_MAINTENANCE_GENERATO;D;Tabellenpflegegenerator|' 'TXT_TABLE_MAINTENANCE_GENERATO;E;Table Maintenance Generator|' 'TXT_TABLE_TYPE;D;Tabellentyp|' 'TXT_TABLE_TYPE;E;Table Type|' 'TXT_TABLE_TYPES;D;Tabellentypen|' 'TXT_TABLE_TYPES;E;Table Types|' 'TXT_TECHNICAL_DIALOG_DETAILS;D;Technische Angaben zum Dialog|' 'TXT_TECHNICAL_DIALOG_DETAILS;E;Technical Dialog Details|' 'TXT_TECHNICAL_SETTINGS;D;Technische Einstellungen|' 'TXT_TECHNICAL_SETTINGS;E;Technical Settings|' 'TXT_TEMPLATE_NON_EXECUTABLE;D;Vorlagedynpro - nicht ausf&#xFC;hrbar|' 'TXT_TEMPLATE_NON_EXECUTABLE;E;Template - non-executable|' 'TXT_TEXT;D;Text|' 'TXT_TEXT;E;Text|' 'TXT_TEXTS_IO_TEMPLATES;D;Texte u. E/A-Schabl.|' 'TXT_TEXTS_IO_TEMPLATES;E;Texts/ I/O templates|' 'TXT_TEXT_ELEMENTS;D;Textelemente|' 'TXT_TEXT_ELEMENTS;E;Text elements|' 'TXT_TEXT_OR_IO_FIELD;D;Text o. E/A-Schablone|' 'TXT_TEXT_OR_IO_FIELD;E;Text or I/O field|' 'TXT_TEXT_TABLE;D;Texttabelle|' 'TXT_TEXT_TABLE;E;Text table|' 'TXT_TITLE;D;Titel|'

'TXT_TITLE;E;Title|' 'TXT_TRANSACTION;D;Transaktion|' 'TXT_TRANSACTION;E;Transaction|' 'TXT_TRANSFORMATION;D;Transformation|' 'TXT_TRANSFORMATION;E;Transformation|' 'TXT_TRANSFORMATIONS;D;Transformationen|' 'TXT_TRANSFORMATIONS;E;Transformations|' 'TXT_TRANSPORT_ATTRIBUTES;D;Transporteigenschaften|' 'TXT_TRANSPORT_ATTRIBUTES;E;Transport attributes|' 'TXT_TRANSPORT_LAYER;D;Transportschicht|' 'TXT_TRANSPORT_LAYER;E;Transport Layer|' 'TXT_TRANSP_TABLE;D;Transp.Tabelle|' 'TXT_TRANSP_TABLE;E;Transp. table|' 'TXT_TWO_STEP;D;zweistufig|' 'TXT_TWO_STEP;E;two step|' 'TXT_TYPES;D;Typen|' 'TXT_TYPES;E;Types|' 'TXT_TYPE_GROUP;D;Typgruppe|' 'TXT_TYPE_GROUP;E;Type group|' 'TXT_TYPE_GRPS;D;Typgruppen|' 'TXT_TYPE_GRPS;E;Type Grps|' 'TXT_TYPE_IS_GENERIC;D;Typ ist generisch|' 'TXT_TYPE_IS_GENERIC;E;Type is Generic|' 'TXT_TYPE_OF_SCREEN_ELEMENT;D;Typ des Dynproelementes|' 'TXT_TYPE_OF_SCREEN_ELEMENT;E;Type of screen element|' 'TXT_TYPE_SPEC;D;Typisierung|' 'TXT_TYPE_SPEC;E;Type spec.|' 'TXT_TYPE___1;D;Typ|' 'TXT_TYPE___1;E;Type|' 'TXT_TYPE___2;D;Art|' 'TXT_TYPE___2;E;Type|' 'TXT_TYPING;D;Typisierungsart|' 'TXT_TYPING;E;Typing|' 'TXT_UNICODE_CHECKS;D;Unicodepr&#xFC;fungen|' 'TXT_UNICODE_CHECKS;E;Unicode checks|' 'TXT_UNICODE_SYSTEM;D;Unicode-System|' 'TXT_UNICODE_SYSTEM;E;Unicode System|' 'TXT_UPDATES;D;Updates|' 'TXT_UPDATES;E;Updates|' 'TXT_UPDATE_MODULE;D;Verbuchungsbaustein|' 'TXT_UPDATE_MODULE;E;Update module|' 'TXT_UPPERLIMIT;D;Obergrenze|' 'TXT_UPPERLIMIT;E;UpperLimit|' 'TXT_UPPER_LOWER_CASE_ENTRY;D;Gro&#xDF;-Kleinschreibung bei Eingabe|' 'TXT_UPPER_LOWER_CASE_ENTRY;E;Upper/lower case entry|' 'TXT_USAGE_DATA;D;Benutzungsdaten|' 'TXT_USAGE_DATA;E;Usage data|' 'TXT_USER;D;Benutzer|' 'TXT_USER;E;User|' 'TXT_USE_ACCESS;D;Verwendungserkl&#xE4;rung|' 'TXT_USE_ACCESS;E;Use access|' 'TXT_VALUE_LIST;D;Werteliste|' 'TXT_VALUE_LIST;E;Value list|' 'TXT_VALUE_RANGE;D;Wertebereich|' 'TXT_VALUE_RANGE;E;Value range|' 'TXT_VARIANT;D;Variante|' 'TXT_VARIANT;E;Variant|' 'TXT_VARIANTS;D;Varianten|' 'TXT_VARIANTS;E;Variants|' 'TXT_VARIANTS_OF_REPORTS;D;Varianten der Programme|'

'TXT_VARIANTS_OF_REPORTS;E;variants of reports|' into l_st_csv. append l_st_csv to c_it_csv. clear l_st_csv. concatenate l_st_csv 'TXT_VERSION;D;Version|' 'TXT_VERSION;E;Version|' 'TXT_VIEW;D;View|' 'TXT_VIEW;E;View|' 'TXT_VIEWS;D;Views|' 'TXT_VIEWS;E;Views|' 'TXT_VIEW_FIELD;D;Viewfeld|' 'TXT_VIEW_FIELD;E;View field|' 'TXT_VIEW_FLDS;D;Viewfelder|' 'TXT_VIEW_FLDS;E;View Flds|' 'TXT_VISIBILITY;D;Sichtbarkeit|' 'TXT_VISIBILITY;E;Visibility|' 'TXT_VISIBLE;D;Sichtbar|' 'TXT_VISIBLE;E;Visible|' 'TXT_VISLG;D;visLg|' 'TXT_VISLG;E;VisLg|' 'TXT_W;D;Gew.|' 'TXT_W;E;W|' 'TXT_WITHOUT_APPLICATION_TOOLBA;D;Ohne Applikationstoolbar|' 'TXT_WITHOUT_APPLICATION_TOOLBA;E;Without Application Toolbar|' 'TXT_WITHOUT_TEMPLATE;D;Ohne Schablone|' 'TXT_WITHOUT_TEMPLATE;E;Without Template|' 'TXT_WITH_ICON;D;mit Ikone|' 'TXT_WITH_ICON;E;With icon|' 'TXT_YES;D;ja|' 'TXT_YES;E;Yes|' 'VAR_NAME_VALUE;D;#NAME_VALUE#|' 'VAR_NAME_VALUE;E;#NAME_VALUE#|' into l_st_csv. append l_st_csv to c_it_csv. endform. "csv_text_elements_2 form csv_varid_broken changing c_it_csv type it_string. refresh c_it_csv. data l_st_csv type string. concatenate l_st_csv 'RSAMTUSS;DEFAULT|' 'RSEIDOC2;ALLE-IDOCS|' 'RSEIDOC2;ALLE-IDOCS-AUS|' 'RSEINB00;UM-V1|' 'RSEOUT00;SAP_TESTHDI01|' into l_st_csv. append l_st_csv to c_it_csv. endform. "csv_varid_broken *&---------------------------------------------------------------------* *& Include ZSOFTCOPY_CSV_TOOLS * *& * *&---------------------------------------------------------------------* *& * *& 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 <http://www.gnu.org/licenses/>. * *& * *&---------------------------------------------------------------------* *& * *& Author: Ruediger von Creytz ruediger.creytz@globalbit.net * *& Copyright: globalBIT, LLC http://www.globalbit.net * *& * *&---------------------------------------------------------------------* *----------------------------------------------------------------------* csv_tools *----------------------------------------------------------------------form csv_tools. perform csv_tools_text_elements. perform txt_tools. perform csv_tools_table_structure. perform csv_tools_tabstrip. perform csv_tools_varid_broken. endform. "csv_tools *----------------------------------------------------------------------* csv_tools_table_structure *----------------------------------------------------------------------form csv_tools_table_structure. data: l_it_csv type it_string, l_it_row type it_string, l_st_row type string, l_st_table type st_table_structure. field-symbols: <l_st_csv> type string, <l_fs> type any. refresh g_it_table_structure. perform csv_table_structure changing l_it_csv. loop at l_it_csv assigning <l_st_csv>. split <l_st_csv> at '|' into table l_it_row. loop at l_it_row into l_st_row. if not l_st_row is initial. clear l_st_table. split l_st_row at ';' into l_st_table-id l_st_table-row_nr l_st_table-fieldname l_st_table-title_elem l_st_table-link_row l_st_table-row_def

l_st_table-colored_row l_st_table-comparator l_st_table-comp_value. if not l_st_table-title_elem is initial. assign (l_st_table-title_elem) to <l_fs>. l_st_table-title = <l_fs>. unassign <l_fs>. endif. append l_st_table to g_it_table_structure. endif. endloop. endloop. endform. "csv_tools_table_structure *----------------------------------------------------------------------* csv_tools_tabstrip *----------------------------------------------------------------------form csv_tools_tabstrip. data: l_it_csv type it_string, l_it_row type it_string, l_st_row type string, l_st_tabstrip type st_tabstrip. field-symbols: <l_st_csv> type string, <l_fs> type any. refresh g_it_tabstrip. perform csv_tabstrip changing l_it_csv. loop at l_it_csv assigning <l_st_csv>. split <l_st_csv> at '|' into table l_it_row. loop at l_it_row into l_st_row. if not l_st_row is initial. clear l_st_tabstrip. split l_st_row at ';' into l_st_tabstrip-form l_st_tabstrip-id l_st_tabstrip-parent_id l_st_tabstrip-tab_nr l_st_tabstrip-firstrow l_st_tabstrip-active_order l_st_tabstrip-text_elem l_st_tabstrip-comparator l_st_tabstrip-comp_value. if not l_st_tabstrip-text_elem is initial. assign (l_st_tabstrip-text_elem) to <l_fs>. l_st_tabstrip-text = <l_fs>. unassign <l_fs>. endif. append l_st_tabstrip to g_it_tabstrip. endif. endloop. endloop. endform. "csv_tools_tabstrip

*----------------------------------------------------------------------* csv_tools_text_elements *----------------------------------------------------------------------form csv_tools_text_elements. data: l_it_csv type it_string, l_it_row type it_string, l_st_row type string, l_st_text_element type st_text_element, l_st_text_element_t type st_text_element_t. field-symbols: <l_st_csv> type string. *txt refresh g_it_text_element. perform csv_text_elements_1 changing l_it_csv. loop at l_it_csv assigning <l_st_csv>. split <l_st_csv> at '|' into table l_it_row. loop at l_it_row into l_st_row. if not l_st_row is initial. split l_st_row at ';' into l_st_text_element-fieldname l_st_text_element-txt_prefix l_st_text_element-dtel_rollname l_st_text_element-dtel_field l_st_text_element-domname l_st_text_element-domvalue l_st_text_element-icon_id l_st_text_element-icon_field l_st_text_element-conc_v1 l_st_text_element-conc_copula l_st_text_element-conc_v2 l_st_text_element-conc_sep_space l_st_text_element-msg_id l_st_text_element-msg_nr l_st_text_element-msg_v1 l_st_text_element-msg_v2 l_st_text_element-msg_v3 l_st_text_element-msg_v4. append l_st_text_element to g_it_text_element. endif. endloop. endloop. *txtt refresh g_it_text_element_t. perform csv_text_elements_2 changing l_it_csv. loop at l_it_csv assigning <l_st_csv>. split <l_st_csv> at '|' into table l_it_row. loop at l_it_row into l_st_row. if not l_st_row is initial. split l_st_row at ';' into l_st_text_element_t-fieldname l_st_text_element_t-spras l_st_text_element_t-text.

append l_st_text_element_t to g_it_text_element_t. endif. endloop. endloop. endform. "csv_tools_text_elements *----------------------------------------------------------------------* csv_tools_varid_broken *----------------------------------------------------------------------form csv_tools_varid_broken. data: l_it_csv type it_string, l_it_row type it_string, l_st_row type string, l_st_varid type st_varid. field-symbols: <l_st_csv> type string. refresh g_it_varid_broken. perform csv_varid_broken changing l_it_csv. loop at l_it_csv assigning <l_st_csv>. split <l_st_csv> at '|' into table l_it_row. loop at l_it_row into l_st_row. if not l_st_row is initial. split l_st_row at ';' into l_st_varid-report l_st_varid-vari. append l_st_varid to g_it_varid_broken. endif. endloop. endloop. endform. "csv_tools_varid_broken *&---------------------------------------------------------------------* *& Include ZSOFTCOPY_DOWNLOAD * *& * *&---------------------------------------------------------------------* *& * *& 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 <http://www.gnu.org/licenses/>. * *& * *&---------------------------------------------------------------------* *& * *& Author: Ruediger von Creytz ruediger.creytz@globalbit.net * *& Copyright: globalBIT, LLC http://www.globalbit.net * *& * *&---------------------------------------------------------------------*

*----------------------------------------------------------------------* form: download *----------------------------------------------------------------------form download using i_it_html type it_string value(i_pgmid) value(i_object) value(i_filename) value(i_extension) value(i_do_count). data: l_infoline(80), l_uri type string, l_dbl_delimiter type string, l_cnt_downloads type string, l_cnt_elems type string, l_txt type string, l_message type string. if i_do_count = abap_true. g_cnt_downloads = g_cnt_downloads + 1. endif. l_cnt_downloads = g_cnt_downloads. condense l_cnt_downloads. l_cnt_elems = g_cnt_elems. condense l_cnt_elems. perform get_message_text using 'DSVAS' '226' i_filename space space space changing l_message. concatenate l_cnt_downloads '/' l_cnt_elems '|' l_message into l_infoline separated by space. concatenate g_folder g_c_delimiter g_pack g_c_delimiter into l_uri. if not i_pgmid is initial and not i_object is initial. concatenate l_uri i_pgmid '_' i_object g_c_delimiter into l_uri. endif. concatenate l_uri i_filename '.' i_extension into l_uri. concatenate g_c_delimiter g_c_delimiter into l_dbl_delimiter. perform replace_all using '/' g_c_delimiter changing l_uri. perform replace_all using '<' '-' changing l_uri. perform replace_all using '>' '-' changing l_uri. while l_uri cs l_dbl_delimiter. perform replace_all using l_dbl_delimiter g_c_delimiter changing l_uri. endwhile.

call function 'GUI_DOWNLOAD' exporting filename = l_uri tables data_tab = i_it_html exceptions others = 1. if sy-subrc <> 0. clear l_message. l_txt = sy-subrc. condense l_txt. concatenate 'RC=' l_txt ',' into l_txt. perform get_message_text using 'MEREP_00' '245' l_txt space space space changing l_message. concatenate l_message l_uri into l_message separated by space. write / l_message. else. call function 'SAPGUI_PROGRESS_INDICATOR' exporting text = l_infoline. endif. endform. "download *&---------------------------------------------------------------------* *& Include ZSOFTCOPY_GET * *& * *&---------------------------------------------------------------------* *& * *& 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 <http://www.gnu.org/licenses/>. * *& * *&---------------------------------------------------------------------* *& * *& Author: Ruediger von Creytz ruediger.creytz@globalbit.net * *& Copyright: globalBIT, LLC http://www.globalbit.net * *& * *&---------------------------------------------------------------------* *----------------------------------------------------------------------* get_class_exists *----------------------------------------------------------------------form get_class_exists using value(i_clsname) type seoclsname changing c_class_exists type flag.

data: l_clsname type seoclsname. c_class_exists = abap_false. select single clsname from seoclass into l_clsname where clsname = i_clsname. if sy-subrc = 0. c_class_exists = abap_true. endif. endform. "get_class_exists

*----------------------------------------------------------------------* get_date *----------------------------------------------------------------------form get_date using value(i_date) type sydatum changing c_date type string. call function 'CONVERT_DATE_TO_EXTERNAL' exporting date_internal = i_date importing date_external = c_date. endform. "get_date *----------------------------------------------------------------------* get_devClass *----------------------------------------------------------------------form get_devClass using value(i_devclass) type devclass changing c_text type as4text. clear c_text. select single ctext from tdevct into c_text where devclass = i_devclass and spras = sy-langu. endform. "get_devClass *----------------------------------------------------------------------* get_docu *----------------------------------------------------------------------form get_docu using value(i_id) type doku_id value(i_object) type any value(i_typ) type doku_typ changing c_it_str type it_string. data: l_it_html type standard table of htmlline,

l_object type doku_obj, l_it_line type standard table of tline, l_st_entry type glos_entry, l_pos type i. field-symbols: <l_st_html> type htmlline. refresh c_it_str. l_object = i_object. call function 'DOCU_GET' exporting id = i_id langu = sy-langu object = l_object typ = i_typ tables line = l_it_line exceptions others = 1. check sy-subrc = 0. l_st_entry-langu = sy-langu. call function 'DOC_SAPSCRIPT_TO_HTML_FORMAT' exporting entry = l_st_entry tables sapscript_text = l_it_line html_text = l_it_html. clear l_pos. loop at l_it_html assigning <l_st_html>. if <l_st_html>+0(5) = '<BODY'. l_pos = sy-tabix. endif. perform replace_all using '</BODY>' space changing <l_st_html>. perform replace_all using '</HTML>' space changing <l_st_html>. endloop. do l_pos times. delete l_it_html index 1. enddo. loop at l_it_html assigning <l_st_html>. append <l_st_html>-tdline to c_it_str. endloop. endform. "get_docu *----------------------------------------------------------------------* get_dom *----------------------------------------------------------------------form get_dom using value(i_domname) type domname changing

c_text type as4text. clear c_text. select single ddtext from dd01t into c_text where domname = i_domname and ddlanguage = sy-langu and as4local = 'A'. endform. "get_dom *----------------------------------------------------------------------* get_dom_value_text *----------------------------------------------------------------------form get_dom_value_text using value(i_domname) type domname value(i_domvalue) type any changing c_text type any. data: l_domvalue type domvalue_l, l_text type val_text. clear c_text. l_domvalue = i_domvalue. select single ddtext from dd07t into l_text where domname = i_domname and ddlanguage = sy-langu and as4local = 'A' and domvalue_l = l_domvalue. if sy-subrc = 0. c_text = l_text. endif. endform. "getDomValueText *----------------------------------------------------------------------* get_dom_value_texts *----------------------------------------------------------------------form get_dom_value_texts using value(i_domname) type domname changing c_it_dom_value type it_dom_value. data: l_it_dd07t type standard table of dd07t, l_st_dom_value type st_dom_value. field-symbols: <l_st_dd07t> type dd07t. refresh c_it_dom_value. select * from dd07t into table l_it_dd07t where domname = i_domname and ddlanguage = sy-langu and as4local = 'A' order by domvalue_l descending.

loop at l_it_dd07t assigning <l_st_dd07t>. l_st_dom_value-text = <l_st_dd07t>-ddtext. l_st_dom_value-value = <l_st_dd07t>-domvalue_l. append l_st_dom_value to c_it_dom_value. endloop. endform. "get_dom_value_texts *----------------------------------------------------------------------* get_dtel_text *----------------------------------------------------------------------form get_dtel_text using value(i_rollname) type rollname value(i_field) type c changing c_text type any. data: l_st_dd04t type dd04t, l_field type fieldname. field-symbols: <l_text> type any. clear c_text. case i_field. when 'D'. l_field = 'DDTEXT'. when 'T'. l_field = 'REPTEXT'. when 'S'. l_field = 'SCRTEXT_S'. when 'M'. l_field = 'SCRTEXT_M'. when 'L'. l_field = 'SCRTEXT_L'. when others. l_field = 'SCRTEXT_M'. endcase. select single * from dd04t into l_st_dd04t where rollname = i_rollname and ddlanguage = sy-langu and as4local = 'A'. if sy-subrc = 0. assign component l_field of structure l_st_dd04t to <l_text>. if <l_text> is assigned. c_text = <l_text>. endif. endif. endform. "get_dtel_text *----------------------------------------------------------------------* get_fuba_exists *----------------------------------------------------------------------form get_fuba_exists using value(i_funcname) type rs38l_fnam changing

c_fuba_exists type flag. data: l_funcname type rs38l_fnam. c_fuba_exists = abap_false. select single funcname from tfdir into l_funcname where funcname = i_funcname. if sy-subrc = 0. c_fuba_exists = abap_true. endif. endform. "get_class_exists

*----------------------------------------------------------------------* get_GUI_kind *----------------------------------------------------------------------form get_GUI_kind using value(i_kind) type c changing c_gui_kind type string. data l_kind. clear c_gui_kind. l_kind = i_kind. translate l_kind to upper case. case l_kind. when 'P'. c_gui_kind = txt_parameters. when 'S'. c_gui_kind = txt_selection_criteria. when others. c_gui_kind = l_kind. endcase. endform. "get_GUI_kind *----------------------------------------------------------------------* get_GUI_operator *----------------------------------------------------------------------form get_GUI_operator using value(i_operator) type char2 changing c_gui_operator type string. data l_operator(2) type c. clear c_gui_operator. l_operator = i_operator. translate l_operator to upper case. case l_operator. when 'BT'. c_gui_operator = '[]'. when 'CP'. c_gui_operator = '[*]'. when 'EQ'. c_gui_operator = '='. when 'GE'.

c_gui_operator when 'GT'. c_gui_operator when 'LE'. c_gui_operator when 'LK'. c_gui_operator when 'LT'. c_gui_operator when 'NB'. c_gui_operator when 'NE'. c_gui_operator when 'NP'. c_gui_operator when others. c_gui_operator endcase. endform.

= '>='. = '>'. = '<='. = 'like'. = '<'. = ']['. = '<>'. = ']*['. = l_operator. "get_GUI_operator

*----------------------------------------------------------------------* get_GUI_sign *----------------------------------------------------------------------form get_GUI_sign using value(i_sign) type c changing c_gui_sign type string. data l_sign. clear c_gui_sign. l_sign = i_sign. translate l_sign to upper case. case l_sign. when 'E'. c_gui_sign = txt_exclusive. when 'I'. c_gui_sign = txt_inclusive. when others. c_gui_sign = l_sign. endcase. endform. "get_GUI_sign *----------------------------------------------------------------------* get_hardwarekey *----------------------------------------------------------------------form get_hardwarekey changing c_hwkey type custkey_t. data: l_rc type sysubrc. call function 'SLIC_LOCAL_HWKEY' exporting no_raise = 1 importing hwkey = c_hwkey

rc = l_rc. endform.

"get_hardwarekey

*----------------------------------------------------------------------* get_icon_text *----------------------------------------------------------------------form get_icon_text using value(i_icon_id) type icon_d value(i_field) type c changing c_text type any. data: l_st_icont type icont, l_field type fieldname. field-symbols: <l_text> type any. clear c_text. case i_field. when 'S'. l_field = 'SHORTTEXT'. when 'Q'. l_field = 'QUICKINFO'. when others. l_field = 'SHORTTEXT'. endcase. select single * from icont into l_st_icont where id = i_icon_id and langu = sy-langu. if sy-subrc = 0. assign component l_field of structure l_st_icont to <l_text>. if <l_text> is assigned. c_text = <l_text>. endif. endif. endform. "get_icon_text *----------------------------------------------------------------------* get_message_text *----------------------------------------------------------------------form get_message_text using value(i_arbgb) type any value(i_msgnr) type any value(i_v1) type any value(i_v2) type any value(i_v3) type any value(i_v4) type any changing c_text type string. data: l_id type bapiret2-id, l_number type bapiret2-number, l_v1 type bapiret2-message_v1,

l_v2 type bapiret2-message_v2, l_v3 type bapiret2-message_v3, l_v4 type bapiret2-message_v4, l_message type bapiret2-message, l_it_return type bapiret2, l_it_text type standard table of bapitgb. l_id = i_arbgb. l_number = i_msgnr. l_v1 = i_v1. l_v2 = i_v2. l_v3 = i_v3. l_v4 = i_v4. call function 'BAPI_MESSAGE_GETDETAIL' exporting id = l_id number = l_number language = sy-langu textformat = 'ASC' message_v1 = l_v1 message_v2 = l_v2 message_v3 = l_v3 message_v4 = l_v4 importing message = l_message return = l_it_return tables text = l_it_text. c_text = l_message. endform. "get_message_text

*----------------------------------------------------------------------* get_page_title *----------------------------------------------------------------------form get_page_title using value(i_prefix) type any value(i_arbgb) type any value(i_msgnr) type any value(i_obj_name) type any changing c_page_title type char255. data: l_text type string, l_prefix type string. perform get_message_text using i_arbgb i_msgnr i_obj_name space space space changing

l_text. if not i_prefix is initial. concatenate i_prefix ':' into l_prefix. concatenate l_prefix l_text into c_page_title separated by space. else. c_page_title = l_text. endif. endform. "get_page_title

*----------------------------------------------------------------------* get_props *----------------------------------------------------------------------form get_props changing c_it_prop type it_prop. data: l_st_prop type st_prop, l_hwkey type custkey_t, l_str type string, l_stext type text40, l_laiso type laiso, l_sptxt type sptxt. refresh c_it_prop. * version l_st_prop-name = 'scver'. l_st_prop-value = g_c_version. append l_st_prop to c_it_prop. * hardwarekey l_st_prop-name = 'hwkey'. perform get_hardwarekey changing l_hwkey. l_st_prop-value = l_hwkey. append l_st_prop to c_it_prop. * component version l_st_prop-name = 'compo'. select single stext from cvers_txt into l_stext where langu = 'EN'. if sy-subrc <> 0. select single stext from cvers_txt into l_stext. endif. l_st_prop-value = l_stext. append l_st_prop to c_it_prop. * kernel release l_st_prop-name = 'krel'. perform get_version_info using 'kernel release' changing l_str. l_st_prop-value = l_str. append l_st_prop to c_it_prop. * patch level l_st_prop-name = 'patch'. perform get_version_info using 'kernel patch level' changing l_str.

l_st_prop-value = l_str. append l_st_prop to c_it_prop. username l_st_prop-name = 'uname'. l_st_prop-value = sy-uname. append l_st_prop to c_it_prop. language l_st_prop-name = 'langu'. perform get_spras using sy-langu l_laiso l_sptxt. l_st_prop-value = l_laiso. append l_st_prop to c_it_prop. date l_st_prop-name = 'datum'. l_st_prop-value = sy-datum. append l_st_prop to c_it_prop. time l_st_prop-name = 'uzeit'. l_st_prop-value = sy-uzeit. append l_st_prop to c_it_prop. "get_props

endform.

*----------------------------------------------------------------------* get_spras *----------------------------------------------------------------------form get_spras using value(i_spras) type any changing c_laiso type laiso c_sptxt type sptxt. data: l_spras type spras, l_spraslen type i. clear: c_laiso, c_sptxt. l_spraslen = strlen( i_spras ). if l_spraslen = 2. c_laiso = i_spras. select single spras from t002 into l_spras where spras = i_spras. else. l_spras = i_spras. select single laiso from t002 into c_laiso where spras = i_spras. endif. select single sptxt from t002t into c_sptxt where spras = l_spras and sprsl = sy-langu. endform. "get_spras *----------------------------------------------------------------------* get_src_compressed

*----------------------------------------------------------------------form get_src_compressed using i_it_src type it_string changing c_it_compressed type it_string. data: l_st_src type string, l_is_header type flag value abap_true, l_length type i, l_pos type i, l_is_string type flag, l_chars(72) type c, l_str type string, l_str2 type string, l_srclen type i, l_strlen type i, l_line type string, l_linelen type i. refresh c_it_compressed. loop at i_it_src into l_st_src. * drop empty rows if l_st_src is initial. l_is_header = abap_false. continue. endif. * drop comments if not head information if l_st_src+0(1) = '*'. if l_is_header = abap_true. append l_st_src to c_it_compressed. endif. continue. endif. * remove comments from row if l_st_src ca '"'. if l_st_src na ''''. split l_st_src at '"' into l_st_src l_str. else. shift l_st_src left deleting leading space. l_is_string = abap_false. l_pos = 0. do. case l_st_src+l_pos(1). when ''''. if l_is_string = abap_true. l_is_string = abap_false. else. l_is_string = abap_true. endif. when '"'. if l_is_string = abap_false. l_st_src = l_st_src+0(l_pos). exit. endif. endcase. l_pos = l_pos + 1. l_srclen = strlen( l_st_src ).

if l_pos = l_srclen. exit. endif. enddo. endif. endif. * add line without leading space. if l_st_src na ''''. condense l_st_src. else. shift l_st_src left deleting leading space. endif. if not l_line is initial. l_srclen = strlen( l_st_src ). l_linelen = strlen( l_line ). l_length = l_srclen + l_linelen. if l_length < 71. concatenate l_line l_st_src into l_line separated by space. continue. else. do. clear l_str. clear l_str2. split l_st_src at space into l_str l_str2. if l_str na '''' or l_str2 na ''''. l_strlen = strlen( l_str ). l_linelen = strlen( l_line ). l_length = l_strlen + l_linelen. if l_length < 71. concatenate l_line l_str into l_line separated by space. if not l_str2 is initial and l_str2+0(1) = '*'. clear l_chars. clear l_st_src. l_chars+1 = l_str2. l_st_src = l_chars. else. l_st_src = l_str2. endif. else. exit. endif. else. exit. endif. if l_st_src is initial. exit. endif. enddo. endif. endif. if not l_line is initial. append l_line to c_it_compressed. endif. l_line = l_st_src. l_is_header = abap_false. endloop. if not l_line is initial. append l_line to c_it_compressed. endif.

endform.

"get_src_compressed

*----------------------------------------------------------------------* get_tabstrip *----------------------------------------------------------------------form get_tabstrip using value(i_form) type fieldname value(i_comp_value) type any changing c_it_tabstrip type it_tabstrip. field-symbols: <l_st_tabstrip> type st_tabstrip. refresh c_it_tabstrip. loop at g_it_tabstrip assigning <l_st_tabstrip> where form = i_form. if not <l_st_tabstrip>-comparator is initial. case <l_st_tabstrip>-comparator. when 'CO'. if not i_comp_value co <l_st_tabstrip>-comp_value. continue. endif. endcase. endif. append <l_st_tabstrip> to c_it_tabstrip. endloop. sort c_it_tabstrip by tab_nr. endform. "get_tabstrip

*----------------------------------------------------------------------* get_tabstrip_defined *----------------------------------------------------------------------form get_tabstrip_defined using i_it_tabstrip type it_tabstrip changing c_it_tabstrip type it_tabstrip. data: l_st_tabstrip type st_tabstrip, l_parent_id(100) type c value '#'. field-symbols: <l_st_tabstrip> type st_tabstrip. *opening status loop at i_it_tabstrip into l_st_tabstrip. if l_st_tabstrip-empty = abap_true. case g_empty_tab. when g_c_empty_tab_disable. l_st_tabstrip-disabled = abap_true. append l_st_tabstrip to c_it_tabstrip. when g_c_empty_tab_display.

append l_st_tabstrip to c_it_tabstrip. when g_c_empty_tab_hide. " do nothing endcase. else. append l_st_tabstrip to c_it_tabstrip. endif. endloop. *active tabs sort c_it_tabstrip by parent_id active_order. loop at c_it_tabstrip assigning <l_st_tabstrip> where active_order > 0 and disabled = abap_false and hidden = abap_false and empty = abap_false. if l_parent_id = <l_st_tabstrip>-parent_id. continue. endif. l_parent_id = <l_st_tabstrip>-parent_id. <l_st_tabstrip>-active = abap_true. endloop. sort c_it_tabstrip by tab_nr. endform. "get_tabstrip_defined

*----------------------------------------------------------------------* get_time *----------------------------------------------------------------------form get_time using value(i_time) type sytime changing c_time type string. concatenate i_time+0(2) ':' i_time+2(2) ':' i_time+4(2) into c_time. endform. "get_time *----------------------------------------------------------------------* get_trdir_name *----------------------------------------------------------------------form get_trdir_name using value(i_name) type any value(i_type) type char10 changing c_programm type programm. data: l_len type i, l_diff type i. constants: l_c_eqlen type i value 30. c_programm = i_name. l_len = strlen( c_programm ). l_diff = l_c_eqlen - l_len.

do l_diff times. concatenate c_programm '=' into c_programm. enddo. concatenate c_programm i_type into c_programm. endform. "get_trdir_name

*----------------------------------------------------------------------* get_trdir_name_method_include *----------------------------------------------------------------------form get_trdir_name_method_include using value(i_mtdkey) type seocpdkey changing c_programm type program. data: l_index type seomtdindx, l_num type i, l_hex type string, l_hex_index(3) type c, l_type type char10, l_len type i. clear c_programm. select single methodindx from tmdir into l_index where classname = i_mtdkey-clsname and methodname = i_mtdkey-cpdname. if sy-subrc = 0. l_num = l_index. perform number_to_hex_string using l_num changing l_hex. l_hex_index = l_hex. do. l_len = strlen( l_hex_index ). if l_len < 3. concatenate '0' l_hex_index into l_hex_index. else. exit. endif. enddo. concatenate 'CM' l_hex_index into l_type. perform get_trdir_name using i_mtdkey-clsname l_type changing c_programm. endif. endform. "get_trdir_name_method_include *----------------------------------------------------------------------* get_unpacked *----------------------------------------------------------------------form get_unpacked using value(i_number) type any changing c_str type string.

data: l_strlen type i. c_str = i_number. condense c_str no-gaps. shift c_str left deleting leading '0'. l_strlen = strlen( i_number ). if c_str is initial and l_strlen > 0. c_str = '0'. endif. endform. "get_unpacked *----------------------------------------------------------------------* get_user *----------------------------------------------------------------------form get_user using value(i_bname) type xubname changing c_name_text type ad_namtext. data: l_it_adrp type standard table of adrp, l_persnumber type ad_persnum. field-symbols: <l_st_adrp> type adrp. clear c_name_text. select single persnumber from usr21 into l_persnumber where bname = i_bname. select * from adrp into table l_it_adrp where persnumber = l_persnumber order by date_from descending. loop at l_it_adrp assigning <l_st_adrp>. c_name_text = <l_st_adrp>-name_text. if not c_name_text is initial. exit. endif. endloop. endform. "get_user *----------------------------------------------------------------------* get_version_info *----------------------------------------------------------------------form get_version_info using value(i_type) type any changing c_value type string. data: l_index type i, l_it_version_info type it_version_info. field-symbols: <l_st_version_info> type st_version_info.

clear c_value. case i_type. when 'SAP version'. when 'operating system'. when 'machine type'. when 'node name'. when 'SAP system id'. when 'database system'. when 'database name'. when 'database host'. when 'database owner'. when 'rsyn'. when 'IP address'. when 'kernel release'. when 'database library'. when 'kernel compiled'. when 'kernel patch level'. when 'supported SAP vers.'. when 'supported database'. when 'valid OP system'. when 'OP system release'. when 'ABAP load version'. when 'CUA load version'. when 'kernel kind'. endcase. l_index l_index l_index l_index l_index l_index l_index l_index l_index l_index l_index l_index l_index l_index l_index l_index l_index l_index l_index l_index l_index l_index = = = = = = = = = = = = = = = = = = = = = = 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.

call 'SAPCORE' id 'ID' field 'VERSION' id 'TABLE' field l_it_version_info. read table l_it_version_info assigning <l_st_version_info> with key type = i_type. if sy-subrc <> 0 and l_index > 0. read table l_it_version_info assigning <l_st_version_info> index l_index. endif. if sy-subrc = 0 and <l_st_version_info> is assigned. c_value = <l_st_version_info>-value. case i_type. when 'database system'. if c_value(3) = 'ADA'. c_value = 'SAP DB'. endif. endcase. endif. endform. "get_version_info *&---------------------------------------------------------------------* *& Include ZSOFTCOPY_HTML_ADD * *& * *&---------------------------------------------------------------------* *& * *& 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 <http://www.gnu.org/licenses/>. * *& * *&---------------------------------------------------------------------* *& * *& Author: Ruediger von Creytz ruediger.creytz@globalbit.net * *& Copyright: globalBIT, LLC http://www.globalbit.net * *& * *&---------------------------------------------------------------------* *----------------------------------------------------------------------* form: html_add_attributes_1 *----------------------------------------------------------------------form html_add_attributes_1 using i_st_attributes type st_attributes value(i_id) value(i_on) changing c_it_html type it_string. perform html_add_div_begin using i_id i_on changing c_it_html. perform html_add_attributes_1noDiv using i_st_attributes changing c_it_html. perform html_add_div_end changing c_it_html. endform. "html_add_attributes_1

*----------------------------------------------------------------------* form: html_add_attributes_1NoDiv *----------------------------------------------------------------------form html_add_attributes_1NoDiv using i_st_attributes type st_attributes changing c_it_html type it_string. data: l_st_html type string, l_name_text type char255, l_bname type char255, l_date_last_changed type char255, l_devclass type char255,

l_devclass_descr type char255, l_laiso type char255, l_sptxt type char255, l_checked type string. write write write write write write write i_st_attributes-name_text to l_name_text. i_st_attributes-bname to l_bname. i_st_attributes-date_last_changed to l_date_last_changed. i_st_attributes-devclass to l_devclass. i_st_attributes-devclass_descr to l_devclass_descr. i_st_attributes-laiso to l_laiso. i_st_attributes-sptxt to l_sptxt.

concatenate '<table class="titleTable">' '<tr>' '<td class="titleTableText">' txt_last_changed_on_by '</td>' '<td class="titleTableDescr" colspan="2">' '<a href="#" onclick="return false;"' ' title="' l_name_text '">' l_bname '</a>' '</td>' '<td class="titleTableDescr">' l_date_last_changed '</td>' '<td>&#160;</td>' '<td>&#160;</td>' '</tr>' '<tr>' '<td class="titleTableText">' txt_package '</td>' '<td class="titleTableDescr" colspan="4">' l_devclass '</td>' '<td>' l_devclass_descr '</td>' '</tr>' '<tr>' '<td class="titleTableText">' txt_original_language '</td>' '<td class="titleTableDescr">' l_laiso '</td>' '<td colspan="4">' l_sptxt '</td>' '</tr>' into l_st_html. append l_st_html to c_it_html. if i_st_attributes-display_rfcenable = abap_true. clear l_checked. if i_st_attributes-rfcenable = abap_true. l_checked = ' checked="checked"'. endif. concatenate '<tr><td colspan="6">&#160;</td></tr>' '<tr><td colspan="6">&#160;</td></tr>' '<tr>' '<td colspan="6">' '<table>' '<tr>' '<td>'

'<input class="innerTableFlag"' l_checked ' disabled="disabled" type="checkbox"' ' value="' i_st_attributes-rfcenable '"/>' '</td>' '<td>' txt_allow_rfc '</td>' '</tr>' '</table>' '</td>' '</tr>' into l_st_html. append l_st_html to c_it_html. endif. if i_st_attributes-display_appview = abap_true. concatenate '<tr><td colspan="6">&#160;</td></tr>' '<tr><td colspan="6">&#160;</td></tr>' '<tr>' '<td class="titleTableText">' txt_appending_view '</td>' '<td class="titleTableDescr" colspan="4">' i_st_attributes-appview '</td>' '<td>&#160;</td>' '</tr>' into l_st_html. append l_st_html to c_it_html. endif. append '</table>' to c_it_html. endform. "html_add_attributes_1NoDiv

*----------------------------------------------------------------------* form: html_add_attributes_2 *----------------------------------------------------------------------form html_add_attributes_2 using i_st_attributes type st_attributes value(i_id) value(i_on) changing c_it_html type it_string. data: l_st_html type string, l_descript type char255, l_author type char255, l_author_text type char255, l_date_created type char255, l_bname type char255, l_name_text type char255, l_date_last_changed type char255, l_devclass type char255, l_devclass_descr type char255, l_laiso type char255, l_sptxt type char255, l_checked type string. write i_st_attributes-descript to l_descript. write i_st_attributes-author to l_author.

write write write write write write write write write

i_st_attributes-author_text to l_author_text. i_st_attributes-date_created to l_date_created. i_st_attributes-bname to l_bname. i_st_attributes-name_text to l_name_text. i_st_attributes-date_last_changed to l_date_last_changed. i_st_attributes-devclass to l_devclass. i_st_attributes-devclass_descr to l_devclass_descr. i_st_attributes-laiso to l_laiso. i_st_attributes-sptxt to l_sptxt.

perform html_add_div_begin using i_id i_on changing c_it_html. concatenate '<table class="titleTable">' '<tr>' '<td class="titleTableText">' txt_short_description___2 '</td>' '<td class="titleTableDescr" colspan="7">' l_descript '</td>' '</tr>' '<tr>' '<td class="titleTableText">' txt_created_by___2 '</td>' '<td class="titleTableDescr" colspan="2">' '<a href="#" onclick="return false;"' ' title="' l_author_text '">' l_author '</a>' '</td>' '<td>&#160;</td>' '<td class="titleTableText" colspan="2">' txt_created_on '</td>' '<td class="titleTableDescr">' l_date_created '</td>' '<td>&#160;</td>' '</tr>' '<tr>' '<td class="titleTableText">' txt_last_changed_by___2 '</td>' '<td class="titleTableDescr" colspan="2">' '<a href="#" onclick="return false;"' ' title="' l_name_text '">' l_bname '</a>' '</td>' '<td>&#160;</td>' '<td class="titleTableText" colspan="2">' txt_changed_on '</td>' '<td class="titleTableDescr">' l_date_last_changed '</td>' '<td>&#160;</td>' '</tr>' '<tr>' '<td class="titleTableText">' txt_package '</td>' '<td class="titleTableDescr" colspan="4">' '<a href="#" onclick="return false;"' ' title="' l_devclass_descr '">'

l_devclass '</a>' '</td>' '<td colspan="3">&#160;</td>' '</tr>' '<tr>' '<td class="titleTableText">' txt_original_language '</td>' '<td class="titleTableDescr" colspan="1">' '<a href="#" onclick="return false;"' ' title="' l_sptxt '">' l_laiso '</a>' '</td>' '<td colspan="6">&#160;</td>' '</tr>' into l_st_html. append l_st_html to c_it_html. if i_st_attributes-display_rfcenable = abap_true. clear l_checked. if i_st_attributes-rfcenable = abap_true. l_checked = ' checked="checked"'. endif. concatenate '<tr><td colspan="8">&#160;</td></tr>' '<tr><td colspan="8">&#160;</td></tr>' '<tr>' '<td colspan="8">' '<table>' '<tr>' '<td>' '<input class="innerTableFlag"' l_checked ' disabled="disabled" type="checkbox"' ' value="' i_st_attributes-rfcenable '"/>' '</td>' '<td>' txt_allow_rfc '</td>' '</tr>' '</table>' '</td>' '</tr>' into l_st_html. append l_st_html to c_it_html. endif. append '</table>' to c_it_html. perform html_add_div_end changing c_it_html. endform. "html_add_attributes_2

*----------------------------------------------------------------------* form: html_add_attributes_3 *----------------------------------------------------------------------form html_add_attributes_3 using i_st_attributes type st_attributes value(i_title_ml) value(i_name_ml)

i_it_accessmode_ml type it_access value(i_title_mr) i_it_textinput_mr type it_textinput value(i_title_u) i_it_textinput_u type it_textinput value(i_id) value(i_on) changing c_it_html type it_string. data: l_st_html type string, l_descript type char255, l_devclass type char255, l_devclass_descr type char255, l_laiso type char255, l_sptxt type char255, l_date_last_changed type char255, l_time_last_changed type char255, l_date_last_generation type char255, l_time_last_generation type char255. write write write write write write write write write i_st_attributes-descript to l_descript. i_st_attributes-devclass to l_devclass. i_st_attributes-devclass_descr to l_devclass_descr. i_st_attributes-laiso to l_laiso. i_st_attributes-sptxt to l_sptxt. i_st_attributes-date_last_changed to l_date_last_changed. i_st_attributes-time_last_changed to l_time_last_changed. i_st_attributes-date_last_generation to l_date_last_generation. i_st_attributes-time_last_generation to l_time_last_generation.

perform html_add_div_begin using i_id i_on changing c_it_html. concatenate '<table>' '<tr>' '<td colspan="3">' '<table>' '<tr>' '<td class="titleTableText">' txt_short_description___1 '</td>' '<td class="titleTableDescr" colspan="7">' l_descript '</td>' '</tr>' '<tr>' '<td class="titleTableText">' txt_original_language '</td>' '<td class="titleTableDescr">' l_laiso '</td>' '<td colspan="4">' l_sptxt '</td>' '<td class="titleTableText">' txt_package '</td>' '<td class="titleTableDescr">'

'<a href="#" onclick="return false;"' ' title="' l_devclass_descr '">' l_devclass '</a>' '</td>' '</tr>' '<tr>' '<td class="titleTableText">' txt_last_changed_on_by '</td>' '<td class="titleTableDescr" colspan="2">' l_date_last_changed '</td>' '<td>&#160;</td>' '<td class="titleTableDescr">' l_time_last_changed '</td>' '<td>&#160;</td>' '<td colspan="2">&#160;</td>' '</tr>' '<tr>' '<td class="titleTableText">' txt_last_generation '</td>' '<td class="titleTableDescr" colspan="2">' l_date_last_generation '</td>' '<td>&#160;</td>' '<td class="titleTableDescr">' l_time_last_generation '</td>' '<td>&#160;</td>' '<td colspan="2">&#160;</td>' '</tr>' '</table>' '</td>' '</tr>' '<tr><td colspan="3">&#160;</td></tr>' '<tr>' '<td style="vertical-align:top">' into l_st_html. append l_st_html to c_it_html. perform html_add_box_radioButtonsNoDiv using i_title_ml i_name_ml i_it_accessmode_ml changing c_it_html. append '</td><td>&#160;</td><td style="vertical-align:top">' to c_it_html. perform html_add_box_textInputNoDiv using i_title_mr i_it_textinput_mr changing c_it_html.

concatenate '</td>' '</tr>' '<tr>' '<td>&#160;</td>' '</tr>' '<tr>' '<td style="vertical-align:top">' into l_st_html. append l_st_html to c_it_html. perform html_add_box_textInputNoDiv using i_title_u i_it_textinput_u changing c_it_html. append '</td></tr></table>' to c_it_html. perform html_add_div_end changing c_it_html. endform. "html_add_attributes_3

*----------------------------------------------------------------------* form: html_add_attributes_4 *----------------------------------------------------------------------form html_add_attributes_4 using i_st_attributes type st_attributes value(i_title_m) i_it_textinput_m type it_textinput value(i_title_u) i_it_textinput_u type it_textinput value(i_id) value(i_on) changing c_it_html type it_string. data: l_st_html type string, l_descript type char255, l_person_responsible type char255, l_person_responsible_descr type char255, l_created_by type char255, l_created_by_descr type char255, l_created_on type char255, l_last_changed_by type char255, l_last_changed_by_descr type char255, l_changed_on type char255, l_application_component type char255. write i_st_attributes-descript to l_descript. write i_st_attributes-person_responsible to l_person_responsible. write i_st_attributes-person_responsible_text to l_person_responsible_descr.

write i_st_attributes-author to l_created_by. write i_st_attributes-author_text to l_created_by_descr. write i_st_attributes-date_created to l_created_on. write i_st_attributes-bname to l_last_changed_by. write i_st_attributes-name_text to l_last_changed_by_descr. write i_st_attributes-date_last_changed to l_changed_on. write i_st_attributes-application_component to l_application_component. perform html_add_div_begin using i_id i_on changing c_it_html. concatenate '<table>' '<tr>' '<td colspan="3">' '<table>' '<tr>' '<td class="titleTableText">' txt_short_description___1 '</td>' '<td class="titleTableDescr" colspan="6">' l_descript '</td>' '</tr>' '<tr>' '<td class="titleTableText">' txt_person_responsible___2 '</td>' '<td class="titleTableDescr">' '<a href="#" onclick="return false;"' ' title="' l_person_responsible_descr '">' l_person_responsible '</a>' '</td>' '<td colspan="5">&#160;</td>' '</tr>' '<tr>' '<td class="titleTableText">' txt_created_by___2 '</td>' '<td class="titleTableDescr">' '<a href="#" onclick="return false;"' ' title="' l_created_by_descr '">' l_created_by '</a>' '</td>' '<td>&#160;</td>' '<td class="titleTableText" colspan="2">' txt_created_on '</td>' '<td class="titleTableDescr">' l_created_on '</td>' '<td>&#160;</td>' '</tr>' '<tr>' '<td class="titleTableText">'

txt_last_changed_by___2 '</td>' '<td class="titleTableDescr">' '<a href="#" onclick="return false;"' ' title="' l_last_changed_by_descr '">' l_last_changed_by '</a>' '</td>' '<td>&#160;</td>' '<td class="titleTableText" colspan="2">' txt_changed_on '</td>' '<td class="titleTableDescr">' l_changed_on '</td>' '<td>&#160;</td>' '</tr>' '<tr>' '<td class="titleTableText">' txt_application_component '</td>' '<td class="titleTableDescr" colspan="3">' l_application_component '</td>' '<td>&#160;</td>' '<td>&#160;</td>' '<td>&#160;</td>' '</tr>' '</table>' '</td>' '</tr>' '<tr><td>&#160;</td></tr>' '<tr>' '<td style="vertical-align:top">' into l_st_html. append l_st_html to c_it_html. perform html_add_box_textInputNoDiv using i_title_m i_it_textinput_m changing c_it_html. concatenate '</td>' '</tr>' '<tr>' '<td>&#160;</td>' '</tr>' '<tr>' '<td style="vertical-align:top">' into l_st_html. append l_st_html to c_it_html. perform html_add_box_textInputNoDiv using i_title_u i_it_textinput_u changing

c_it_html. append '</td></tr></table>' to c_it_html. perform html_add_div_end changing c_it_html. endform. "html_add_attributes_4

*----------------------------------------------------------------------* form: html_add_box_begin *----------------------------------------------------------------------form html_add_box_begin using value(i_title) changing c_it_html type it_string. data: l_st_html type string. concatenate '<table border="0" cellpadding="0" cellspacing="0" class="box">' '<tr class="boxContent">' '<td class="boxContent">' '<table class="boxName">' '<tr>' '<td>' '<span>' i_title '</span>' '</td>' '</tr>' '</table>' '</td>' '</tr>' '<tr class="boxContent">' '<td class="boxContent">' into l_st_html. append l_st_html to c_it_html. endform. "html_add_box_begin

*----------------------------------------------------------------------* form: html_add_box_end *----------------------------------------------------------------------form html_add_box_end changing c_it_html type it_string. append '</td></tr></table>' to c_it_html. endform. "html_add_box_end

*----------------------------------------------------------------------* form: html_add_box1RB_subbox2TI *----------------------------------------------------------------------form html_add_box1RB_subbox2TI

using value(i_title) i_it_accessmode type it_access value(i_subtitle) i_it_textinput_l type it_textinput i_it_textinput_r type it_textinput value(i_id) value(i_on) changing c_it_html type it_string. perform html_add_div_begin using i_id i_on changing c_it_html. perform html_add_box1RB_subbox2TInodiv using i_title i_it_accessmode i_subtitle i_it_textinput_l i_it_textinput_r changing c_it_html. perform html_add_div_end changing c_it_html. endform. "html_add_box1RB_subbox2TI

*----------------------------------------------------------------------* form: html_add_box1RB_subbox2TInodiv *----------------------------------------------------------------------form html_add_box1RB_subbox2TInodiv using value(i_title) i_it_accessmode type it_access value(i_subtitle) i_it_textinput_l type it_textinput i_it_textinput_r type it_textinput changing c_it_html type it_string. data: l_st_html type string. perform html_add_box_begin using i_title changing c_it_html. concatenate '<table>' '<tr>' '<td>' into l_st_html.

append l_st_html to c_it_html. perform html_add_radioButtonsNoDiv using 'box' i_it_accessmode changing c_it_html. concatenate '</td>' '</tr>' '<tr><td>&#160;</td></tr>' '<tr>' '<td>' into l_st_html. append l_st_html to c_it_html. perform html_add_box_begin using i_subtitle changing c_it_html. concatenate '<table>' '<tr>' '<td>' into l_st_html. append l_st_html to c_it_html. perform html_add_textInputNoDiv using i_it_textinput_l changing c_it_html. concatenate '</td>' '<td>&#160;</td>' '<td>' into l_st_html. append l_st_html to c_it_html. perform html_add_textInputNoDiv using i_it_textinput_r changing c_it_html. concatenate '</td>' '</tr>' '</table>' into l_st_html. append l_st_html to c_it_html. perform html_add_box_end changing c_it_html. concatenate '</td>' '</tr>' '</table>' into l_st_html. append l_st_html to c_it_html.

perform html_add_box_end changing c_it_html. endform. "html_add_box1RB_subbox2TInodiv

*----------------------------------------------------------------------* form: html_add_box1TI_subboxMSnodiv *----------------------------------------------------------------------form html_add_box1TI_subboxMSnodiv using value(i_title) i_it_textinput type it_textinput value(i_subtitle) value(i_step) type c value(i_overview_screen) value(i_single_screen) changing c_it_html type it_string. data: l_st_html type string, l_int type i, l_overview_screen type string, l_single_screen type string. l_int = i_overview_screen. l_overview_screen = l_int. l_int = i_single_screen. l_single_screen = l_int. perform html_add_box_begin using i_title changing c_it_html. concatenate '<table>' '<tr>' '<td>' into l_st_html. append l_st_html to c_it_html. perform html_add_textInputNoDiv using i_it_textinput changing c_it_html. concatenate '</td>' '</tr>' '<tr><td>&#160;</td></tr>' '<tr>' '<td>' into l_st_html. append l_st_html to c_it_html. perform html_add_box_begin using i_subtitle changing c_it_html.

*Maintenance Screens * one step concatenate '<table>' '<tr>' '<td class="titleTableText">' txt_maintenance_type '</td>' '<td>' '<input' into l_st_html. if i_step = '1'. concatenate l_st_html ' checked="checked"' into l_st_html. endif. concatenate l_st_html ' class="radio"' ' disabled="disabled" name="ms"' ' type="radio"' ' value="1"/>' '</td>' '<td>' '<span>' txt_one_step '</span>' '</td>' '<td>&#160;</td>' '</tr>' into l_st_html. append l_st_html to c_it_html. * two step concatenate '<tr>' '<td>&#160;</td>' '<td>' '<input' into l_st_html. if i_step = '2'. concatenate l_st_html ' checked="checked"' into l_st_html. endif. concatenate l_st_html ' class="radio"' ' disabled="disabled" name="ms"' ' type="radio"' ' value="1"/>' '</td>' '<td>' '<span>' txt_two_step '</span>' '</td>' '<td>&#160;</td>' '</tr>' into l_st_html. append l_st_html to c_it_html. * Overview screen concatenate '<tr>' '<td class="titleTableText">' txt_maint_screen_no '</td>' '<td class="titleTableText" colspan="2">' txt_overview_screen

'</td>' '<td class="titleTableDescr">' '<span>' l_overview_screen '</span>' '</td>' '</tr>' into l_st_html. append l_st_html to c_it_html. * Single screen concatenate '<tr>' '<td>&#160;</td>' '<td class="titleTableText" colspan="2">' txt_single_screen '</td>' '<td class="titleTableDescr">' '<span>' l_single_screen '</span>' '</td>' '</tr>' '</table>' into l_st_html. append l_st_html to c_it_html. perform html_add_box_end changing c_it_html. concatenate '</td>' '</tr>' '</table>' into l_st_html. append l_st_html to c_it_html. perform html_add_box_end changing c_it_html. endform. "html_add_box1TI_subboxMSnodiv

*----------------------------------------------------------------------* form: html_add_box1TI_2RB_TI *----------------------------------------------------------------------form html_add_box1TI_2RB_TI using value(i_title_o) i_it_textinput_o type it_textinput value(i_title_ul) value(i_name_ul) i_it_accessmode_ul type it_access value(i_title_ur) i_it_textinput_ur type it_textinput value(i_id) value(i_on) changing c_it_html type it_string. data:

l_st_html type string. perform html_add_div_begin using i_id i_on changing c_it_html. concatenate '<table>' '<tr>' '<td colspan="3">' into l_st_html. append l_st_html to c_it_html. perform html_add_box_textInputNoDiv using i_title_o i_it_textinput_o changing c_it_html. concatenate '</td>' '</tr>' '<tr>' '<td>&#160;</td>' '</tr>' '<tr>' '<td style="vertical-align:top">' into l_st_html. append l_st_html to c_it_html. perform html_add_box_radioButtonsNoDiv using i_title_ul i_name_ul i_it_accessmode_ul changing c_it_html. append '</td><td>&#160;</td><td style="vertical-align:top">' to c_it_html. perform html_add_box_textInputNoDiv using i_title_ur i_it_textinput_ur changing c_it_html. concatenate '</td>' '</tr>' '</table>' into l_st_html. append l_st_html to c_it_html. perform html_add_div_end

changing c_it_html. endform. "html_add_box1TI_2RB_TI

*----------------------------------------------------------------------* form: html_add_box1TI_2TIverNoDiv *----------------------------------------------------------------------form html_add_box1TI_2TIverNoDiv using value(i_title_l) i_it_textinput_l type it_textinput value(i_title_ro) i_it_textinput_ro type it_textinput value(i_title_ru) i_it_textinput_ru type it_textinput changing c_it_html type it_string. data: l_st_html type string. concatenate '<table>' '<tr>' '<td class="boxContainerTd" rowspan="3">' into l_st_html. append l_st_html to c_it_html. perform html_add_box_textInputNoDiv using i_title_l i_it_textinput_l changing c_it_html. concatenate '</td>' '<td class="boxContainerTd" rowspan="3">&#160;</td>' '<td class="boxContainerTd">' into l_st_html. append l_st_html to c_it_html. perform html_add_box_textInputNoDiv using i_title_ro i_it_textinput_ro changing c_it_html. concatenate '</td>' '</tr>' '<tr><td class="boxContainerTd">&#160;</td></tr>' '<tr>' '<td class="boxContainerTd">' into l_st_html. append l_st_html to c_it_html.

perform html_add_box_textInputNoDiv using i_title_ru i_it_textinput_ru changing c_it_html. concatenate '</td>' '</tr>' '</table>' into l_st_html. append l_st_html to c_it_html. endform. "html_add_box1TI_2TIverNoDiv

*----------------------------------------------------------------------* form: html_add_box1TIDbl_Box2TI_2TIx *----------------------------------------------------------------------form html_add_box1TIDbl_Box2TI_2TIx using value(i_title_o) i_it_textinput_ol type it_textinput i_it_textinput_or type it_textinput value(i_title_m) value(i_title_ml) value(i_title_mr) i_it_textinput_ml type it_textinput i_it_textinput_mr type it_textinput value(i_title_ul) value(i_title_ur) i_it_textinput_ul type it_textinput i_it_textinput_ur type it_textinput changing c_it_html type it_string. data: l_st_html type string. concatenate '<table>' '<tr>' '<td class="boxContainerTd" colspan="3">' into l_st_html. append l_st_html to c_it_html. perform html_add_box_textInputDblNoDiv using i_title_o i_it_textinput_ol i_it_textinput_or changing c_it_html. perform html_add_box_begin using i_title_m changing c_it_html. perform html_add_box_textInputNoDiv

using i_title_ml i_it_textinput_ml changing c_it_html. concatenate '</td>' '<td class="boxContent">&#160;</td>' '<td class="boxContent">' into l_st_html. append l_st_html to c_it_html. perform html_add_box_textInputNoDiv using i_title_mr i_it_textinput_mr changing c_it_html. concatenate '</td>' '<td class="boxContent">&#160;&#160;</td>' '</tr>' '<tr><td class="boxContent" colspan="5">&#160;</td></tr>' '</table>' '</td>' '</tr>' '<tr><td class="boxContainerTd" colspan="3">&#160;</td></tr>' '<tr>' '<td class="boxContainerTd">' into l_st_html. append l_st_html to c_it_html. perform html_add_box_textInputNoDiv using i_title_ul i_it_textinput_ul changing c_it_html. concatenate '</td>' '<td class="boxContainerTd">&#160;</td>' '<td class="boxContainerTd">' into l_st_html. append l_st_html to c_it_html. perform html_add_box_textInputNoDiv using i_title_ur i_it_textinput_ur changing c_it_html. perform html_add_box_end changing c_it_html. endform. "html_add_box1TIDbl_Box2TI_2TIx

*----------------------------------------------------------------------* form: html_add_box_radioButtons *----------------------------------------------------------------------form html_add_box_radioButtons using value(i_title) value(i_name) i_it_accessmode type it_access value(i_id) value(i_on) changing c_it_html type it_string. perform html_add_div_begin using i_id i_on changing c_it_html. perform html_add_box_radioButtonsNoDiv using i_title i_name i_it_accessmode changing c_it_html. perform html_add_div_end changing c_it_html. endform. "html_add_box_radioButtons

*----------------------------------------------------------------------* form: html_add_box_radioButtonsNoDiv *----------------------------------------------------------------------form html_add_box_radioButtonsNoDiv using value(i_title) value(i_name) i_it_accessmode type it_access changing c_it_html type it_string. perform html_add_box_begin using i_title changing c_it_html. perform html_add_radioButtonsNoDiv using i_name i_it_accessmode changing c_it_html. perform html_add_box_end changing c_it_html.

endform.

"html_add_box_radioButtonsNoDiv

*----------------------------------------------------------------------* form: html_add_box_textInput2Ver *----------------------------------------------------------------------form html_add_box_textInput2Ver using value(i_title_o) i_it_textinput_o type it_textinput value(i_title_u) i_it_textinput_u type it_textinput value(i_id) value(i_on) changing c_it_html type it_string. data: l_st_html type string. perform html_add_div_begin using i_id i_on changing c_it_html. concatenate '<table>' '<tr>' '<td>' into l_st_html. append l_st_html to c_it_html. perform html_add_box_textInputNoDiv using i_title_o i_it_textinput_o changing c_it_html. concatenate '</td>' '</tr>' '<tr>' '<td>&#160;</td>' '</tr>' '<tr>' '<td>' into l_st_html. append l_st_html to c_it_html. perform html_add_box_textInputNoDiv using i_title_u i_it_textinput_u changing c_it_html.

append '</td></tr></table>' to c_it_html. perform html_add_div_end changing c_it_html. endform. "html_add_boxTextInput2Ver

*----------------------------------------------------------------------* form: html_add_box_data_transport *----------------------------------------------------------------------form html_add_box_data_transport using value(i_title) value(i_recording) type flag value(i_compare_flag) type string changing c_it_html type it_string. data: l_st_html type string. perform html_add_box_begin using i_title changing c_it_html. *Recording routine * Standard recording routine concatenate '<table>' '<tr>' '<td class="titleTableText">' txt_recording_routine '</td>' '<td>' '<input' into l_st_html. if i_recording = abap_false. concatenate l_st_html ' checked="checked"' into l_st_html. endif. concatenate l_st_html ' class="radio"' ' disabled="disabled" name="rr"' ' type="radio"' ' value="1"/>' '</td>' '<td>' '<span>' txt_standard_recording_routine '</span>' '</td>' '<td>&#160;</td>' '</tr>' into l_st_html. append l_st_html to c_it_html. * no, or user, recording routine concatenate '<tr>' '<td>&#160;</td>' '<td>'

'<input' into l_st_html. if i_recording = abap_true. concatenate l_st_html ' checked="checked"' into l_st_html. endif. concatenate l_st_html ' class="radio"' ' disabled="disabled" name="ms"' ' type="radio"' ' value="1"/>' '</td>' '<td>' '<span>' txt_no_or_user_recording_routi '</span>' '</td>' '<td>&#160;</td>' '</tr>' into l_st_html. append l_st_html to c_it_html. * Compare Flag concatenate '<tr>' '<td class="titleTableText">' txt_compare_flag '</td>' '<td class="titleTableDescr" colspan="3">' '<span>' i_compare_flag '</span>' '</td>' '</tr>' '</table>' into l_st_html. append l_st_html to c_it_html. perform html_add_box_end changing c_it_html. endform. "html_add_box_data_transport

*----------------------------------------------------------------------* form: html_add_box_textInputDblNoDiv *----------------------------------------------------------------------form html_add_box_textInputDblNoDiv using value(i_title) i_it_textinput_l type it_textinput i_it_textinput_r type it_textinput changing c_it_html type it_string. data: l_st_html type string. perform html_add_box_begin using i_title changing c_it_html. perform html_add_textInputNoDiv

using i_it_textinput_l changing c_it_html. concatenate '</td>' '<td>&#160;</td>' '<td>' into l_st_html. append l_st_html to c_it_html. perform html_add_textInputNoDiv using i_it_textinput_r changing c_it_html. perform html_add_box_end changing c_it_html. endform. "html_add_box_textInputDblNoDiv

*----------------------------------------------------------------------* form: html_add_box_textInputNoDiv *----------------------------------------------------------------------form html_add_box_textInputNoDiv using value(i_title) i_it_textinput type it_textinput changing c_it_html type it_string. data: l_st_html type string. perform html_add_box_begin using i_title changing c_it_html. perform html_add_textInputNoDiv using i_it_textinput changing c_it_html. perform html_add_box_end changing c_it_html. endform. "html_add_box_textInputNoDiv

*----------------------------------------------------------------------* form: html_add_container_begin *----------------------------------------------------------------------form html_add_container_begin using i_it_tabstrip type it_tabstrip value(i_id)

value(i_on) changing c_it_html type it_string. data: l_it_tabstrip type it_tabstrip, l_st_html type string, l_class type string. field-symbols: <l_st_tabstrip> type st_tabstrip. perform get_tabstrip_defined using i_it_tabstrip changing l_it_tabstrip. perform html_add_div_begin using i_id i_on changing c_it_html. concatenate '<table>' '<tr>' '<td class="contentTable">' '<table border="0" cellpadding="0" cellspacing="0"' ' class="contentTable">' '<tr>' into l_st_html. append l_st_html to c_it_html. loop at l_it_tabstrip assigning <l_st_tabstrip> where hidden = abap_false and parent_id = i_id. if <l_st_tabstrip>-disabled = abap_true. l_class = 'contentTabDisabled'. elseif <l_st_tabstrip>-active = abap_true. l_class = 'contentTabOn'. else. l_class = 'contentTabOff'. endif. if <l_st_tabstrip>-disabled = abap_false. concatenate '<td class="' l_class '" id="' <l_st_tabstrip>-id 'tab"><a href="#" onclick="openChildTab(''' <l_st_tabstrip>-parent_id ''',''' <l_st_tabstrip>-id ''')">' <l_st_tabstrip>-text '</a></td>' into l_st_html. append l_st_html to c_it_html. else. concatenate '<td class="' l_class '" id="' <l_st_tabstrip>-id 'tab"><a class="linkDisabled" href="#"' ' onclick="return false">' <l_st_tabstrip>-text '</a></td>' into l_st_html. append l_st_html to c_it_html. endif. endloop. concatenate '</tr>' '</table>'

'</td>' '</tr>' into l_st_html. append l_st_html to c_it_html. append '<tr>' to c_it_html. append '<td class="contentBox">' to c_it_html. endform. "html_add_container_begin

*----------------------------------------------------------------------* form: html_add_container_end *----------------------------------------------------------------------form html_add_container_end changing c_it_html type it_string. append '</td></tr></table>' to c_it_html. perform html_add_div_end changing c_it_html. endform. "html_add_container_end

*----------------------------------------------------------------------* form: html_add_data_type *----------------------------------------------------------------------form html_add_data_type using i_st_data_type type st_data_type value(i_id) value(i_on) changing c_it_html type it_string. data: l_st_html type string, l_checked_12 type string, l_checked_1 type string, l_domname_1 type char255, l_domdescr_1 type char255, l_datatype_1 type char255, l_datadescr_1 type char255, l_dataleng_1 type string, l_datadeci_1 type string, l_checked_2 type string, l_datatype_2 type char255, l_dataleng_2 type string, l_datadeci_2 type string, l_checked_34 type string, l_checked_3 type string, l_reftypename_3 type string,

l_checked_4 type string, l_datatype_4 type char255, l_datadescr_4 type char255, l_dataleng_4 type string, l_datadeci_4 type string. case i_st_data_type-refkind. when 'R'. l_checked_34 = ' checked="checked" '. case i_st_data_type-reftype. when 'B'. l_checked_4 = ' checked="checked" '. write i_st_data_type-datatype to l_datatype_4. write i_st_data_type-datadescr to l_datadescr_4. perform get_unpacked using i_st_data_type-dataleng changing l_dataleng_4. perform get_unpacked using i_st_data_type-datadeci changing l_datadeci_4. when others. l_checked_3 = ' checked="checked" '. l_reftypename_3 = i_st_data_type-domname. endcase. when 'D'. l_checked_12 = ' checked="checked" '. l_checked_1 = ' checked="checked" '. write i_st_data_type-domname to l_domname_1. write i_st_data_type-domdescr to l_domdescr_1. write i_st_data_type-datatype to l_datatype_1. write i_st_data_type-datadescr to l_datadescr_1. perform get_unpacked using i_st_data_type-dataleng changing l_dataleng_1. perform get_unpacked using i_st_data_type-datadeci changing l_datadeci_1. when others. l_checked_12 = ' checked="checked" '. l_checked_2 = ' checked="checked" '. write i_st_data_type-datatype to l_datatype_2. perform get_unpacked using i_st_data_type-dataleng changing l_dataleng_2. perform get_unpacked using i_st_data_type-datadeci changing l_datadeci_2.

endcase. perform html_add_div_begin using i_id i_on changing c_it_html. concatenate '<form action="#" method="post">' '<table class="titleTable">' '<tr>' '<td>' '<input ' l_checked_12 ' class="radio"' ' disabled="disabled" name="type"' ' type="radio" value="elementaryType"/>' '</td>' '<td colspan="2">' txt_elementary_type '</td>' '<td>&#160;</td>' '<td>&#160;</td>' '<td>&#160;</td>' '<td>&#160;</td>' '<td>&#160;</td>' '</tr>' '<tr>' '<td>&#160;</td>' '<td>' '<input ' l_checked_1 ' class="radio"' ' disabled="disabled" name="subtype"' ' type="radio" value="domain"/>' '</td>' '<td>' txt_domain '</td>' '<td class="titleTableDescr" colspan="3">' l_domname_1 '</td>' '<td colspan="2">' l_domdescr_1 '</td>' '</tr>' '<tr>' '<td colspan="3">&#160;</td>' '<td class="titleTableText">' txt_data_type '</td>' '<td>' l_datatype_1 '</td>' '<td colspan="3">' l_datadescr_1 '</td>' '</tr>' '<tr>' '<td colspan="3">&#160;</td>' '<td class="titleTableText">' txt_length '</td>' '<td>' l_dataleng_1 '</td>' '<td class="titleTableText" colspan="2">' txt_decimal_places___m '</td>' '<td>' l_datadeci_1 '</td>' '</tr>' '<tr><td colspan="8">&#160;</td></tr>' '<tr>' '<td>&#160;</td>' '<td>' '<input ' l_checked_2 ' class="radio"' ' disabled="disabled" name="subtype"' ' type="radio" value="buildinType"/>'

'</td>' '<td>' txt_built_in_type '</td>' '<td class="titleTableText">' txt_data_type '</td>' '<td class="titleTableDescr">' l_datatype_2 '</td>' '<td colspan="3">&#160;</td>' '</tr>' '<tr>' '<td colspan="3">&#160;</td>' '<td class="titleTableText">' txt_length '</td>' '<td class="titleTableDescr">' l_dataleng_2 '</td>' '<td class="titleTableText" colspan="2">' txt_decimal_places___m '</td>' '<td class="titleTableDescr">' l_datadeci_2 '</td>' '</tr>' into l_st_html. append l_st_html to c_it_html. if i_st_data_type-reftype <> '#'. concatenate '<tr>' '<td>' '<input ' l_checked_34 ' class="radio"' ' disabled="disabled" name="type"' ' type="radio" value="referenceType"/>' '</td>' '<td colspan="2">' txt_reference_type '</td>' '<td colspan="5">&#160;</td>' '</tr>' '<tr>' '<td>&#160;</td>' '<td>' '<input ' l_checked_3 ' class="radio"' ' disabled="disabled" name="subtype"' ' type="radio" value="referencedType"/>' '</td>' '<td>' txt_name_of_ref_type '</td>' '<td class="titleTableDescr" colspan="3">' l_reftypename_3 '</td>' '<td colspan="2">&#160;</td>' '</tr>' '<tr><td colspan="8">&#160;</td></tr>' '<tr>' '<td>&#160;</td>' '<td>' '<input ' l_checked_4 ' class="radio"' ' disabled="disabled" name="subtype"' ' type="radio" value="referenceToBuildinType"/>' '</td>' '<td>' txt_reference_to_predefined_ty '</td>' '<td colspan="5">&#160;</td>' '</tr>' '<tr>' '<td colspan="3">&#160;</td>' '<td class="titleTableText">' txt_data_type '</td>' '<td>' l_datatype_4 '</td>' '<td colspan="3">' l_datadescr_4 '</td>' '</tr>' '<tr>' '<td colspan="3">&#160;</td>'

'<td class="titleTableText">' txt_length '</td>' '<td>' l_dataleng_4 '</td>' '<td class="titleTableText" colspan="2">' txt_decimal_places___m '</td>' '<td>' l_datadeci_4 '</td>' '</tr>' into l_st_html. append l_st_html to c_it_html. endif. concatenate '</table>' '</form>' into l_st_html. append l_st_html to c_it_html. perform html_add_div_end changing c_it_html. endform. "html_add_data_type

*----------------------------------------------------------------------* form: html_add_definition_1 *----------------------------------------------------------------------form html_add_definition_1 using i_st_definition type st_definition_1 value(i_id) value(i_on) changing c_it_html type it_string. data: l_st_html type string, l_dataleng type string, l_datadeci type string, l_outputlen type string, l_it_textinput type it_textinput, l_st_textinput type st_textinput, l_datatype type char255, l_datadescr type char255, l_convexit type char255, l_signflag type char255, l_lowercase type char255. write write write write write i_st_definition-datatype to l_datatype. i_st_definition-datadescr to l_datadescr. i_st_definition-convexit to l_convexit. i_st_definition-signflag to l_signflag. i_st_definition-lowercase to l_lowercase.

perform get_unpacked using i_st_definition-dataleng changing l_dataleng. perform get_unpacked using

i_st_definition-datadeci changing l_datadeci. perform get_unpacked using i_st_definition-outputlen changing l_outputlen. perform html_add_div_begin using i_id i_on changing c_it_html. concatenate '<table class="titleTable">' '<tr>' '<td>' into l_st_html. append l_st_html to c_it_html. refresh l_it_textinput. clear l_st_textinput. l_st_textinput-name = txt_data_type. l_st_textinput-value = l_datatype. l_st_textinput-input = abap_true. l_st_textinput-description = l_datadescr. append l_st_textinput to l_it_textinput. clear l_st_textinput. l_st_textinput-name = txt_no_of_characters. l_st_textinput-value = l_dataleng. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput. clear l_st_textinput. l_st_textinput-name = txt_decimal_places___m. l_st_textinput-value = l_datadeci. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput. perform html_add_box_textInputNoDiv using txt_formatting l_it_textinput changing c_it_html. concatenate '</td>' '</tr>' '<tr>' '<td>&#160;</td>' '</tr>' '<tr>' '<td>' into l_st_html. append l_st_html to c_it_html. refresh l_it_textinput.

clear l_st_textinput. l_st_textinput-name = txt_output_length. l_st_textinput-value = l_outputlen. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput. clear l_st_textinput. l_st_textinput-name = txt_convers_routine. l_st_textinput-value = l_convexit. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput. clear l_st_textinput. l_st_textinput-name = txt_sign. l_st_textinput-value = l_signflag. l_st_textinput-flag = abap_true. append l_st_textinput to l_it_textinput. clear l_st_textinput. l_st_textinput-name = txt_lowercase. l_st_textinput-value = l_lowercase. l_st_textinput-flag = abap_true. append l_st_textinput to l_it_textinput. perform html_add_box_textInputNoDiv using txt_output_characteristics l_it_textinput changing c_it_html. concatenate '</td>' '</tr>' '</table>' into l_st_html. append l_st_html to c_it_html. perform html_add_div_end changing c_it_html. endform. "addHTMLDefinition_1

*----------------------------------------------------------------------* form: html_add_definition_2 *----------------------------------------------------------------------form html_add_definition_2 using i_st_definition type st_definition_2 i_param_table type string i_it_param_content type any table value(i_id) value(i_on) changing c_it_html type it_string. data: l_st_html type string, l_it_textinput type it_textinput, l_st_textinput type st_textinput, l_selmethod type char255,

l_texttab type char255, l_dialogtype type char255, l_hotkey type char255, l_selmexit type char255. write write write write write i_st_definition-selmethod to l_selmethod. i_st_definition-texttab to l_texttab. i_st_definition-dialogtype to l_dialogtype. i_st_definition-hotkey to l_hotkey. i_st_definition-selmexit to l_selmexit.

perform html_add_div_begin using i_id i_on changing c_it_html. concatenate '<table class="titleTable">' '<tr>' '<td>' into l_st_html. append l_st_html to c_it_html. refresh l_it_textinput. l_st_textinput-name = txt_selection_method. l_st_textinput-value = l_selmethod. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput. l_st_textinput-name = txt_text_table. l_st_textinput-value = l_texttab. l_st_textinput-input = abap_false. append l_st_textinput to l_it_textinput. perform html_add_box_textInputNoDiv using txt_data_collection l_it_textinput changing c_it_html. concatenate '</td>' '<td>' into l_st_html. append l_st_html to c_it_html. refresh l_it_textinput. l_st_textinput-name = txt_dialog_type. l_st_textinput-value = l_dialogtype. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput. l_st_textinput-name = txt_hot_key. l_st_textinput-value = l_hotkey. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput. perform html_add_box_textInputNoDiv using txt_dialog_behavior l_it_textinput

changing c_it_html. concatenate '</td>' '</tr>' '<tr>' '<td colspan="2">' '<table>' '<tr>' '<td class="titleTableText">' txt_search_help_exit '</td>' '<td class="titleTableDescr">' l_selmexit '</td>' '</tr>' '</table>' '</td>' '</tr>' '<tr><td colspan="2">&#160;</td></tr>' '<tr>' '<td colspan="2">' '<table border="0" cellpadding="0" cellspacing="0"' ' class="container">' '<tr>' '<td class="containerTitle">' txt_parameters '</td>' '</tr>' '<tr>' '<td class="containerContent">' into l_st_html. append l_st_html to c_it_html. perform html_add_tableNoDiv using i_param_table i_it_param_content i_it_param_content changing c_it_html. concatenate '</td>' '</tr>' '</table>' '</td>' '</tr>' '</table>' into l_st_html. append l_st_html to c_it_html. perform html_add_div_end changing c_it_html. endform. "html_add_definition_2

*----------------------------------------------------------------------* form: html_add_deliv_maint *----------------------------------------------------------------------form html_add_deliv_maint

using i_st_deliv_maint type st_deliv_maint i_it_access type it_access value(i_id) value(i_on) changing c_it_html type it_string. data: l_tabix type sytabix, l_checked type string, l_st_html type string, l_rowcount type i, l_rowspan type string, l_contflag type char255, l_contflag_text type char255, l_mainflag_text type char255, l_sqltab type char255. field-symbols: <l_st_access> type st_access. write write write write i_st_deliv_maint-contflag to l_contflag. i_st_deliv_maint-contflag_text to l_contflag_text. i_st_deliv_maint-mainflag_text to l_mainflag_text. i_st_deliv_maint-sqltab to l_sqltab.

perform html_add_div_begin using i_id i_on changing c_it_html. append '<table class="titleTable">' to c_it_html. *pool/cluster if not l_sqltab is initial. concatenate '<tr>' '<td class="titleTableText">' txt_pool_cluster '</td>' '<td class="titleTableDescr" colspan="3">' l_sqltab '</td>' '</tr>' into l_st_html. append l_st_html to c_it_html. endif. *access if not i_it_access is initial. concatenate '<tr>' '<td colspan="4">' into l_st_html. append l_st_html to c_it_html. perform html_add_box_radioButtonsNoDiv using txt_access 'access' i_it_access changing

c_it_html. concatenate '</td>' '</tr>' into l_st_html. append l_st_html to c_it_html. endif. *cont if i_st_deliv_maint-display_cont = abap_true. concatenate '<tr>' '<td class="titleTableText">' txt_delivery_class '</td>' '<td class="titleTableDescr">' l_contflag '</td>' '<td>' l_contflag_text '</td>' '<td colspan="2">&#160;</td>' '</tr>' into l_st_html. append l_st_html to c_it_html. endif. *main if i_st_deliv_maint-display_main = abap_true. concatenate '<tr>' '<td class="titleTableText">' txt_data_browser_table_view_ma '</td>' '<td class="titleTableDescr" colspan="3">' l_mainflag_text '</td>' '</tr>' into l_st_html. append l_st_html to c_it_html. endif. *** append '</table>' to c_it_html. perform html_add_div_end changing c_it_html. endform. "html_add_deliv_maint

*----------------------------------------------------------------------* form: html_add_div_begin *----------------------------------------------------------------------form html_add_div_begin using value(i_id) value(i_on) changing c_it_html type it_string. data: l_style type string, l_st_html type string.

if i_on = abap_true. l_style = 'display:block;visibility:visible'. else. l_style = 'display:none;visibility:hidden'. endif. concatenate '<div class="contentDiv" id="' i_id 'div" style="' l_style ';">' into l_st_html. append l_st_html to c_it_html. endform. "html_add_div_begin

*----------------------------------------------------------------------* form: html_add_div_end *----------------------------------------------------------------------form html_add_div_end changing c_it_html type it_string. append '</div>' to c_it_html. endform. "html_add_div_end

*----------------------------------------------------------------------* form: html_add_doc *----------------------------------------------------------------------form html_add_doc using i_it_doc type it_string value(i_id) value(i_on) changing c_it_html type it_string. data: l_text type string, l_st_html type string, l_tabix type string, l_titletag_open type string, l_titletag_close type string. field-symbols: <l_st_doc> type string. perform html_add_div_begin using i_id i_on changing c_it_html. concatenate '<table class="scrollTable">' '<tr>' '<td style="border-spacing:0px;padding:0px">' '<div id="' i_id 'scroll" class="scrollDiv">' into l_st_html.

append l_st_html to c_it_html. loop at i_it_doc assigning <l_st_doc>. append <l_st_doc> to c_it_html. endloop. concatenate '</div>' '</td>' '</tr>' '</table>' into l_st_html. append l_st_html to c_it_html. perform html_add_div_end changing c_it_html. endform. "html_add_doc

*----------------------------------------------------------------------* form: html_add_field_label *----------------------------------------------------------------------form html_add_field_label using i_st_field_label type st_field_label value(i_id) value(i_on) changing c_it_html type it_string. data: l_uname type string, l_date_last_changed type string, l_pack type string, l_pack_descr type string, l_langu type sylangu, l_langu_descr type string, l_st_html type string, l_headlen type string, l_reptext type char255, l_scrlen_s type string, l_scrlen_m type string, l_scrlen_l type string, l_scrtext_s type char255, l_scrtext_m type char255, l_scrtext_l type char255. write write write write i_st_field_label-reptext to l_reptext. i_st_field_label-scrtext_l to l_scrtext_l. i_st_field_label-scrtext_m to l_scrtext_m. i_st_field_label-scrtext_s to l_scrtext_s.

perform get_unpacked using i_st_field_label-headlen changing l_headlen.

perform get_unpacked using i_st_field_label-scrlen_l changing l_scrlen_l. perform get_unpacked using i_st_field_label-scrlen_m changing l_scrlen_m. perform get_unpacked using i_st_field_label-scrlen_s changing l_scrlen_s. perform html_add_div_begin using i_id i_on changing c_it_html. concatenate '<table class="titleTable">' '<tr>' '<td>&#160;</td>' '<td colspan="2">' txt_length '</td>' '<td colspan="4">' txt_field_label '</td>' '</tr>' '<tr>' '<td class="titleTableText">' txt_short '</td>' '<td class="titleTableDescr">' l_scrlen_s '</td>' '<td>&#160;</td>' '<td class="titleTableDescr">' l_scrtext_s '</td>' '<td colspan="3">&#160;</td>' '</tr>' '<tr>' '<td class="titleTableText">' txt_medium '</td>' '<td class="titleTableDescr">' l_scrlen_m '</td>' '<td>&#160;</td>' '<td class="titleTableDescr" colspan="2">' l_scrtext_m '</td>' '<td colspan="2">&#160;</td>' '</tr>' '<tr>' '<td class="titleTableText">' txt_long '</td>' '<td class="titleTableDescr">' l_scrlen_l '</td>' '<td>&#160;</td>' '<td class="titleTableDescr" colspan="3">' l_scrtext_l '</td>' '<td>&#160;</td>' '</tr>' '<tr>' '<td class="titleTableText">' txt_heading '</td>' '<td class="titleTableDescr">' l_headlen '</td>' '<td>&#160;</td>' '<td class="titleTableDescr" colspan="4">' l_reptext '</td>' '</tr>' '</table>' into l_st_html. append l_st_html to c_it_html.

perform html_add_div_end changing c_it_html. endform. "html_add_field_label

*----------------------------------------------------------------------* form: html_add_further_char *----------------------------------------------------------------------form html_add_further_char using i_st_further_char type st_further_char value(i_id) value(i_on) changing c_it_html type it_string. data: l_st_html type string, l_it_textinput type it_textinput, l_st_textinput type st_textinput, l_deffdname type char255, l_memoryid type char255, l_shlpfield type char255, l_shlpname type char255, l_checked type string. write write write write i_st_further_char-deffdname to l_deffdname. i_st_further_char-memoryid to l_memoryid. i_st_further_char-shlpfield to l_shlpfield. i_st_further_char-shlpname to l_shlpname.

perform html_add_div_begin using i_id i_on changing c_it_html. concatenate '<table class="titleTable">' '<tr>' '<td colspan="2">' into l_st_html. append l_st_html to c_it_html. refresh l_it_textinput. l_st_textinput-name = txt_name. l_st_textinput-value = l_shlpname. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput. l_st_textinput-name = txt_parameters. l_st_textinput-value = l_shlpfield. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput. perform html_add_box_textInputNoDiv using txt_srch_help

l_it_textinput changing c_it_html. clear l_checked. if i_st_further_char-logflag = abap_true. l_checked = ' checked="checked"'. endif. concatenate '</td>' '</tr>' '<tr><td colspan="2">&#160;</td></tr>' '<tr>' '<td class="titleTableText">' txt_parameter_id '</td>' '<td class="titleTableDescr">' l_memoryid '</td>' '</tr>' '<tr><td colspan="5">&#160;</td></tr>' '<tr>' '<td class="titleTableText">' txt_default_component_name '</td>' '<td class="titleTableDescr">' l_deffdname '</td>' '</tr>' '<tr><td colspan="2">&#160;</td></tr>' '<tr>' '<td colspan="2">' '<table>' '<tr>' '<td>' '<input class="innerTableFlag"' l_checked ' disabled="disabled" type="checkbox"' ' value="' i_st_further_char-logflag '"/>' '</td>' '<td>' txt_change_document '</td>' '</tr>' '</table>' '</td>' '</tr>' '</table>' into l_st_html. append l_st_html to c_it_html. perform html_add_div_end changing c_it_html. endform. "html_add_further_char

*----------------------------------------------------------------------* form: html_add_iFrame *----------------------------------------------------------------------form html_add_iFrame using value(i_url) value(i_id) value(i_on) changing c_it_html type it_string.

data: l_st_html type string. perform html_add_div_begin using i_id i_on changing c_it_html. append '<table class="scrollTable">' to c_it_html. concatenate '<tr>' '<td id="' i_id 'iframe"' ' style="border-spacing:0px;padding:0px">' into l_st_html. append l_st_html to c_it_html. if not i_url is initial. concatenate '<iframe frameborder="0"' ' height="400"' ' id="' i_id 'scroll"' ' scrolling="auto"' ' src="' i_url '"' ' width="90%">' '</iframe>' into l_st_html. append l_st_html to c_it_html. endif. concatenate '</td>' '</tr>' '</table>' into l_st_html. append l_st_html to c_it_html. perform html_add_div_end changing c_it_html. endform. "html_add_iFrame

*----------------------------------------------------------------------* form: html_add_init_access *----------------------------------------------------------------------form html_add_init_access using i_st_init_access type st_init_access i_it_accessmode type it_access value(i_id) value(i_on) changing c_it_html type it_string. data: l_st_html type string, l_info1 type char255, l_info2 type char255,

l_occurs type string. write i_st_init_access-info1 to l_info1. write i_st_init_access-info2 to l_info2. perform get_unpacked using i_st_init_access-occurs changing l_occurs. perform html_add_div_begin using i_id i_on changing c_it_html. append '<table class="titleTable">' to c_it_html. if not i_st_init_access-info1 is initial. concatenate '<tr>' '<td class="info" colspan="3">' l_info1 '</td>' '</tr>' into l_st_html. append l_st_html to c_it_html. endif. if i_st_init_access-unknown = abap_false. concatenate '<tr>' '<td class="titleTableText">' txt_initial_line_number '</td>' '<td class="titleTableDescr">' l_occurs '</td>' '<td>&#160;</td>' '</tr>' into l_st_html. append l_st_html to c_it_html. endif. if not i_st_init_access-info2 is initial. concatenate '<tr>' '<td class="info" colspan="3">' l_info2 '</td>' '</tr>' into l_st_html. append l_st_html to c_it_html. endif. concatenate '<tr>' '<td colspan="3">' into l_st_html. append l_st_html to c_it_html. perform html_add_box_radioButtonsNoDiv using txt_access 'accessmode' i_it_accessmode

changing c_it_html. concatenate '</td>' '</tr>' '</table>' into l_st_html. append l_st_html to c_it_html. perform html_add_div_end changing c_it_html. endform. "html_add_init_access

*----------------------------------------------------------------------* form: html_add_key *----------------------------------------------------------------------form html_add_key using i_st_key type st_key i_it_keydef type it_access i_it_keykind type it_access i_keycomp_table type string i_it_keycomp_content type any table value(i_id) value(i_on) changing c_it_html type it_string. data: l_st_html type string. perform html_add_div_begin using i_id i_on changing c_it_html. append '<table class="titleTable">' to c_it_html. if not i_st_key-info is initial. concatenate '<tr>' '<td class="info" colspan="8">' i_st_key-info '</td>' '</tr>' into l_st_html. append l_st_html to c_it_html. endif. concatenate '<tr>' '<td style="vertical-align:top">' into l_st_html. append l_st_html to c_it_html. perform html_add_box_radioButtonsNoDiv

using txt_key_definition 'keydef' i_it_keydef changing c_it_html. concatenate '</td>' '<td style="vertical-align:top">' into l_st_html. append l_st_html to c_it_html. perform html_add_box_radioButtonsNoDiv using txt_key_category 'keykind' i_it_keykind changing c_it_html. concatenate '</td>' '</tr>' '<tr>' '<td colspan="2">&#160;</td>' '</tr>' '<tr>' '<td colspan="2">' '<table border="0" cellpadding="0" cellspacing="0"' ' class="container">' '<tr>' '<td class="containerTitle">' txt_key_components '</td>' '</tr>' '<tr>' '<td class="containerContent">' into l_st_html. append l_st_html to c_it_html. perform html_add_tableNoDiv using i_keycomp_table i_it_keycomp_content i_it_keycomp_content changing c_it_html. concatenate '</td>' '</tr>' '</table>' '</td>' '</tr>' '</table>' into l_st_html. append l_st_html to c_it_html. perform html_add_div_end changing c_it_html.

endform.

"html_add_key

*----------------------------------------------------------------------* form: html_add_line_type_1 *----------------------------------------------------------------------form html_add_line_type_1 using i_st_line_type type st_line_type value(i_id) value(i_on) changing c_it_html type it_string. data: l_st_html type string, l_info type char255, l_checked_1 type string, l_linetype_1 type string, l_rowtype_1 type char255, l_rowdescr_1 type char255, l_checked_2 type string, l_datatype_2 type char255, l_dataleng_2 type string, l_datadeci_2 type string, l_info_2 type string, l_checked_3 type string, l_checked_31 type string, l_reftypename_31 type char255, l_reftypedescr_31 type char255, l_checked_32 type string, l_datatype_32 type char255, l_dataleng_32 type string, l_datadeci_32 type string. case i_st_line_type-rowkind. when 'E'. l_checked_1 = ' checked="checked" '. l_linetype_1 = txt_elementary_type. write i_st_line_type-rowtype to l_rowtype_1. write i_st_line_type-rowdescr to l_rowdescr_1. when 'S'. l_checked_1 = ' checked="checked" '. l_linetype_1 = txt_structured_type. write i_st_line_type-rowtype to l_rowtype_1. write i_st_line_type-rowdescr to l_rowdescr_1. when 'L'. l_checked_1 = ' checked="checked" '. l_linetype_1 = txt_table_type. write i_st_line_type-rowtype to l_rowtype_1. write i_st_line_type-rowdescr to l_rowdescr_1. when space. l_checked_2 = ' checked="checked" '.

write i_st_line_type-datatype to l_datatype_2. perform get_unpacked using i_st_line_type-dataleng changing l_dataleng_2. perform get_unpacked using i_st_line_type-datadeci changing l_datadeci_2. if i_st_line_type-dataleng is initial. l_info_2 = txt_no_length_restriction. endif. when 'R'. l_checked_3 = ' checked="checked" '. case i_st_line_type-reftype. when 'D' or 'O'. l_checked_31 = ' checked="checked" '. write i_st_line_type-rowtype to l_reftypename_31. when 'B'. l_checked_32 = ' checked="checked" '. write i_st_line_type-rowtype to l_datatype_32. perform get_unpacked using i_st_line_type-dataleng changing l_dataleng_32. perform get_unpacked using i_st_line_type-datadeci changing l_datadeci_32. when 'E' or 'S' or 'C' or 'I'. l_checked_31 = ' checked="checked" '. write i_st_line_type-rowtype to l_reftypename_31. write i_st_line_type-refdescr to l_reftypedescr_31. endcase. endcase. perform html_add_div_begin using i_id i_on changing c_it_html. write i_st_line_type-info to l_info. concatenate '<form action="#" method="post">' '<table class="titleTable">' into l_st_html. append l_st_html to c_it_html. if not l_info is initial. concatenate '<tr>' '<td class="info" colspan="8">' l_info '</td>' '</tr>' into l_st_html. append l_st_html to c_it_html.

endif. concatenate '<tr>' '<td>' '<input ' l_checked_1 ' class="radio"' ' disabled="disabled" name="subtype"' ' type="radio" value="domain"/>' '</td>' '<td colspan="2">' txt_line_type '</td>' '<td class="titleTableDescr" colspan="3">' l_rowtype_1 '</td>' '<td>' l_rowdescr_1 '</td>' '<td>' l_linetype_1 '</td>' '</tr>' '<tr><td colspan="8">&#160;</td></tr>' '<tr>' '<td>' '<input ' l_checked_2 ' class="radio"' ' disabled="disabled" name="subtype"' ' type="radio" value="buildinType"/>' '</td>' '<td colspan="2">' txt_built_in_type '</td>' '<td colspan="5">&#160;</td>' '</tr>' '<tr>' '<td colspan="2">&#160;</td>' '<td class="titleTableText" colspan="2">' txt_data_type '</td>' '<td class="titleTableDescr" colspan="2">' l_datatype_2 '</td>' '<td colspan="3">&#160;</td>' '</tr>' '<tr>' '<td colspan="2">&#160;</td>' '<td class="titleTableText">' txt_no_of_characters '</td>' '<td class="titleTableDescr">' l_dataleng_2 '</td>' '<td>&#160;</td>' '<td class="titleTableText" colspan="2">' txt_decimal_places___m '</td>' '<td class="titleTableDescr">' l_datadeci_2 '</td>' '<td>&#160;</td>' '</tr>' into l_st_html. append l_st_html to c_it_html. if not l_info_2 is initial. concatenate '<tr>' '<td class="info" colspan="8">' l_info_2 '</td>' '</tr>' into l_st_html. append l_st_html to c_it_html. endif. if i_st_line_type-reftype <> '#'. "R/3 4.6 does not know ref type concatenate

'<tr><td colspan="8">&#160;</td></tr>' '<tr>' '<td>' '<input ' l_checked_3 ' class="radio"' ' disabled="disabled" name="type"' ' type="radio" value="referenceType"/>' '</td>' '<td colspan="2">' txt_reference_type '</td>' '<td colspan="5">&#160;</td>' '</tr>' '<tr>' '<td>&#160;</td>' '<td>' '<input ' l_checked_31 ' class="radio"' ' disabled="disabled" name="subtype"' ' type="radio" value="referencedType"/>' '</td>' '<td colspan="2">' txt_name_of_ref_type '</td>' '<td class="titleTableDescr" colspan="3">' l_reftypename_31 '</td>' '<td>' l_reftypedescr_31 '</td>' '</tr>' '<tr><td colspan="8">&#160;</td></tr>' '<tr>' '<td>&#160;</td>' '<td>' '<input ' l_checked_32 ' class="radio"' ' disabled="disabled" name="subtype"' ' type="radio" value="referenceToBuildinType"/>' '</td>' '<td>' txt_reference_to_predefined_ty '</td>' '<td colspan="5">&#160;</td>' '</tr>' '<tr>' '<td colspan="3">&#160;</td>' '<td class="titleTableText">' txt_data_type '</td>' '<td>' l_datatype_32 '</td>' '<td colspan="3">&#160;</td>' '</tr>' '<tr>' '<td colspan="3">&#160;</td>' '<td class="titleTableText">' txt_length '</td>' '<td>' l_dataleng_32 '</td>' '<td class="titleTableText" colspan="2">' txt_decimal_places___m '</td>' '<td>' l_datadeci_32 '</td>' '</tr>' into l_st_html. append l_st_html to c_it_html. endif. concatenate '</table>' '</form>' into l_st_html. append l_st_html to c_it_html. perform html_add_div_end changing c_it_html.

endform.

"html_add_line_type_1

*----------------------------------------------------------------------* form: html_add_line_type_2 *----------------------------------------------------------------------form html_add_line_type_2 using i_st_line_type type st_line_type value(i_id) value(i_on) changing c_it_html type it_string. data: l_st_html type string, l_info type char255, l_checked_1 type string, l_range_ctyp_1 type string, l_checked_2 type string, l_datatype_2 type char255, l_datadescr_2 type string, l_dataleng_2 type string, l_datadeci_2 type string, l_rowtype type char255. if not i_st_line_type-range_ctyp is initial. l_checked_1 = ' checked="checked" '. l_range_ctyp_1 = i_st_line_type-range_ctyp. else. l_checked_2 = ' checked="checked" '. write i_st_line_type-ctdatatype to l_datatype_2. perform get_dom_value_text using 'DATATYP' l_datatype_2 changing l_datadescr_2. perform get_unpacked using i_st_line_type-ctleng changing l_dataleng_2. perform get_unpacked using i_st_line_type-ctdecimals changing l_datadeci_2. endif. write i_st_line_type-rowtype to l_rowtype. perform html_add_div_begin using i_id i_on changing c_it_html. concatenate '<form action="#" method="post">' '<table class="titleTable">' '<tr>' '<td>'

into l_st_html. append l_st_html to c_it_html. perform html_add_box_begin using txt_associated_type_for_low_hi changing c_it_html. concatenate '<table>' '<tr>' '<td>' '<input ' l_checked_1 ' class="radio"' ' disabled="disabled" name="subtype"' ' type="radio" value="domain"/>' '</td>' '<td>' txt_data_element___1 '</td>' '<td class="titleTableDescr" colspan="3">' l_range_ctyp_1 '</td>' '<td>&#160;</td>' '</tr>' '<tr>' '<td>' '<input ' l_checked_2 ' class="radio"' ' disabled="disabled" name="subtype"' ' type="radio" value="domain"/>' '</td>' '<td>' txt_built_in_type '</td>' '<td colspan="4">&#160;</td>' '</tr>' '<tr>' '<td>&#160;</td>' '<td class="titleTableText">' txt_data_type '</td>' '<td class="titleTableDescr" colspan="2">' l_datatype_2 '</td>' '<td colspan="2">' l_datadescr_2 '</td>' '</tr>' '<tr>' '<td>&#160;</td>' '<td class="titleTableText">' txt_no_of_characters '</td>' '<td class="titleTableDescr">' l_dataleng_2 '</td>' '<td>&#160;</td>' '<td class="titleTableText">' txt_decimal_places___m '</td>' '<td class="titleTableDescr">' l_datadeci_2 '</td>' '</tr>' '</table>' into l_st_html. append l_st_html to c_it_html. perform html_add_box_end changing c_it_html. concatenate '</td>' '</tr>' '<tr><td>&#160;</td></tr>' '<tr>' '<td>' '<table>'

'<tr>' '<td class="titleTableText">' txt_structured_row_type '</td>' '<td class="titleTableDescr">' l_rowtype '</td>' '</tr>' '</table>' '</td>' '</tr>' '</table>' '</form>' into l_st_html. append l_st_html to c_it_html. perform html_add_div_end changing c_it_html. endform. "html_add_line_type_2

*----------------------------------------------------------------------* form: html_add_meta *----------------------------------------------------------------------form html_add_meta changing c_it_html type it_string. data: l_laiso type laiso, l_sptxt type sptxt, l_st_html type string. perform get_spras using sy-langu l_laiso l_sptxt. append '<meta name="author" content="Ruediger von Creytz"/>' to c_it_html. concatenate '<meta name="generator" content="SoftCopy.' g_c_version '"/>' into l_st_html. append l_st_html to c_it_html. concatenate '<meta name="language" content="' l_laiso '"/>' into l_st_html. append l_st_html to c_it_html. append '<meta name="rights" content="globalBIT, LLC"/>' to c_it_html. endform. "html_add_meta

*----------------------------------------------------------------------* form: html_add_methodNoDiv *----------------------------------------------------------------------form html_add_methodNoDiv using value(i_cpdname) value(i_active)

value(i_text_method) i_table type string i_it_table type any table i_it_table_ext type any table i_it_source type it_string value(i_filename) value(i_filename_no_includes) value(i_filename_compressed) value(i_extension) value(i_id) changing c_it_html type it_string. data: l_st_html type string, l_id_sc type string. concatenate '<table class="titleTable">' '<tr>' '<td>' into l_st_html. append l_st_html to c_it_html. perform html_add_tableNoDiv using i_table i_it_table i_it_table_ext changing c_it_html. concatenate '</td>' '</tr>' '<tr>' '<td style="padding-bottom:2px;padding-top:5px">' '<table class="titleTable">' '<tr>' '<td class="titleTableText">' i_text_method '</td>' '<td class="titleTableDescr">' i_cpdname '</td>' '<td>' i_active '</td>' '<td>&#160;</td>' '</tr>' '</table>' '</td>' '</tr>' '<tr>' '<td>' into l_st_html. append l_st_html to c_it_html. concatenate i_id 'SC' into l_id_sc. perform html_add_sourceCodeNoDiv using i_it_source i_filename i_filename_no_includes i_filename_compressed i_extension

l_id_sc changing c_it_html. concatenate '</td>' '</tr>' '</table>' into l_st_html. append l_st_html to c_it_html. endform. "html_add_methodNoDiv

*----------------------------------------------------------------------* form: html_add_properties *----------------------------------------------------------------------form html_add_properties using i_st_properties type st_properties i_it_textinput type it_textinput i_typegroup_table type string i_it_typegroup type any table value(i_id) value(i_on) changing c_it_html type it_string. data: l_st_html type string, l_superclass type char255, l_check_model_inh type flag, l_description type char255, l_creatable type char255, l_clsfinal type flag, l_checked type string. write write write write write i_st_properties-superclass to l_superclass. i_st_properties-check_model_inh to l_check_model_inh. i_st_properties-descript to l_description. i_st_properties-creatable to l_creatable. i_st_properties-clsfinal to l_clsfinal.

perform html_add_div_begin using i_id i_on changing c_it_html. concatenate '<table class="titleTable">' '<tr>' '<td>' '<table class="titleTable">' into l_st_html. append l_st_html to c_it_html. if not l_superclass is initial. clear l_checked.

if l_check_model_inh = abap_true. l_checked = ' checked="checked"'. endif. concatenate '<tr>' '<td class="titleTableText">' txt_superclass '</td>' '<td class="titleTableDescr" colspan="2">' l_superclass '</td>' '<td colspan="2">' '<table>' '<tr>' '<td>' '<input class="innerTableFlag"' l_checked ' disabled="disabled" type="checkbox"' ' value="' l_check_model_inh '"/>' '</td>' '<td>' txt_modeled_only '</td>' '</tr>' '</table>' '</td>' '</tr>' into l_st_html. append l_st_html to c_it_html. endif. if not l_description is initial. concatenate '<tr>' '<td class="titleTableText">' txt_description '</td>' '<td class="titleTableDescr" colspan="3">' l_description '</td>' '<td>&#160;</td>' '</tr>' into l_st_html. append l_st_html to c_it_html. endif. if not l_creatable is initial. if l_clsfinal = abap_true. l_checked = ' checked="checked"'. endif. concatenate '<tr>' '<td class="titleTableText">' txt_instantiation '</td>' '<td class="titleTableDescr">' l_creatable '</td>' '<td colspan="3">&#160;</td>' '</tr>' '<tr>' '<td colspan="5">' '<table>' '<tr>' '<td>' '<input class="innerTableFlag"' l_checked ' disabled="disabled" type="checkbox"' ' value="' l_clsfinal '"/>' '</td>'

'<td>' txt_final '</td>' '</tr>' '</table>' '</td>' '</tr>' into l_st_html. append l_st_html to c_it_html. endif. concatenate '</table>' '</td>' '<td rowspan="2">' '<table border="0" cellpadding="0" cellspacing="0"' ' class="container">' '<tr>' '<td class="containerTitle">' txt_forward_declarations '</td>' '</tr>' '<tr>' '<td class="containerContent">' into l_st_html. append l_st_html to c_it_html. perform html_add_tableNoDiv using i_typegroup_table i_it_typegroup i_it_typegroup changing c_it_html. concatenate '</td>' '</tr>' '</table>' '</td>' '</tr>' '<tr>' '<td>' into l_st_html. append l_st_html to c_it_html. perform html_add_box_textInputNoDiv using txt_general_data i_it_textinput changing c_it_html. concatenate '</td>' '</tr>' '</table>' into l_st_html. append l_st_html to c_it_html. perform html_add_div_end changing c_it_html.

endform.

"html_add_properties

*----------------------------------------------------------------------* form: html_add_radioButtonsNoDiv *----------------------------------------------------------------------form html_add_radioButtonsNoDiv using value(i_name) i_it_accessmode type it_access changing c_it_html type it_string. data: l_first_row type flag value abap_true, l_st_html type string, l_colspan type n, l_name type string, l_ddtext type char255, l_tabix type string. field-symbols: <l_st_access> type st_access. append '<table class="titleTable">' to c_it_html. loop at i_it_accessmode assigning <l_st_access>. l_tabix = sy-tabix. condense l_tabix. write <l_st_access>-ddtext to l_ddtext. append '<tr>' to c_it_html. if <l_st_access>-sub is initial. l_colspan = 2. else. l_colspan = 1. append '<td>&#160;</td>' to c_it_html. endif. concatenate '<td>' '<input ' into l_st_html. if <l_st_access>-checked = abap_true. concatenate l_st_html ' checked="checked"' into l_st_html. endif. concatenate i_name <l_st_access>-sub into l_name. concatenate l_st_html ' class="radio"' ' disabled="disabled" name="' l_name '"' ' type="radio"' ' value="' <l_st_access>-sub 'x' l_tabix '"/>' '</td>' '<td colspan="' l_colspan '">' '<span>' l_ddtext '</span>' '</td>' '</tr>' into l_st_html. append l_st_html to c_it_html.

endloop. append '</table>' to c_it_html. endform. "html_add_radioButtonsNoDiv

*----------------------------------------------------------------------* form: html_add_sourceCode *----------------------------------------------------------------------form html_add_sourceCode using i_it_source type it_string value(i_filename) value(i_filename_no_includes) value(i_filename_compressed) value(i_extension) value(i_id) value(i_on) changing c_it_html type it_string. perform html_add_div_begin using i_id i_on changing c_it_html. perform html_add_sourceCodeNoDiv using i_it_source i_filename i_filename_no_includes i_filename_compressed i_extension i_id changing c_it_html. perform html_add_div_end changing c_it_html. endform. "html_add_sourceCode

*----------------------------------------------------------------------* form: html_add_sourceCodeNoDiv *----------------------------------------------------------------------form html_add_sourceCodeNoDiv using i_it_source type it_string value(i_filename) value(i_filename_no_includes) value(i_filename_compressed) value(i_extension) value(i_id) changing c_it_html type it_string. data:

l_style type string, l_source type string, l_st_html type string, l_tabix type string, l_it_filename type it_string, l_filename type string, l_strlen type i. field-symbols: <l_st_source> type string. split i_filename at '/' into table l_it_filename. loop at l_it_filename into l_filename. endloop. perform replace_all using '<' '-' changing l_filename. perform replace_all using '>' '-' changing l_filename. append '<table class="scrollTable">' to c_it_html. if not l_filename is initial and not i_extension is initial. concatenate '<tr>' '<td style="border-spacing:0px;margin-right:1em;' 'padding:0px;text-align:right">' '<table class="titleTable">' '<tr>' '<td class="button">' '<a href="' l_filename '.' i_extension '"' ' onclick="window.open(this.href); return false">' i_extension '</a>' '</td>' into l_st_html. append l_st_html to c_it_html. if not i_filename_no_includes is initial. concatenate '<td>&#160;</td>' '<td class="button">' '<a href="' i_filename_no_includes '.' i_extension '"' ' onclick="window.open(this.href); return false">' txt_complete '.' i_extension '</a>' '</td>' into l_st_html. append l_st_html to c_it_html. endif. if not i_filename_compressed is initial. concatenate '<td>&#160;</td>' '<td class="button">' '<a href="' i_filename_compressed '.' i_extension '"' ' onclick="window.open(this.href); return false">' txt_compressed '.' i_extension '</a>' '</td>' into l_st_html.

append l_st_html to c_it_html. endif. concatenate '</tr>' '</table>' '</td>' '</tr>' into l_st_html. append l_st_html to c_it_html. endif. concatenate '<tr>' '<td style="border-spacing:0px;padding:0px">' '<div id="' i_id 'scroll" class="scrollDiv">' '<table class="src">' into l_st_html. append l_st_html to c_it_html. loop at i_it_source assigning <l_st_source>. l_tabix = sy-tabix. condense l_tabix. l_style = 'srcLine'. l_strlen = strlen( <l_st_source> ). if l_strlen > 1 and <l_st_source>(1) = '*'. l_style = 'srcLineComment'. endif. l_source = <l_st_source>. if l_source is initial. l_source = '&#160;'. endif. perform encode_html changing l_source. concatenate '<tr>' '<td class="srcLineNumber">' '<pre>' l_tabix '</pre>' '</td>' '<td class="' l_style '">' '<pre>' l_source '</pre>' '</td>' '</tr>' into l_st_html. append l_st_html to c_it_html. endloop. concatenate '</table>' '</div>' '</td>' '</tr>' '</table>' into l_st_html. append l_st_html to c_it_html. endform. "html_add_sourceCodeNoDiv

*----------------------------------------------------------------------* form: html_add_table *-----------------------------------------------------------------------

form html_add_table using i_table type string i_it_content type any table i_it_content_ext type any table value(i_id) value(i_on) changing c_it_html type it_string. data: l_st_html type string. perform html_add_div_begin using i_id i_on changing c_it_html. perform html_add_tableNoDiv using i_table i_it_content i_it_content_ext changing c_it_html. perform html_add_div_end changing c_it_html. endform. "html_add_table

*----------------------------------------------------------------------* form: html_add_table2hor *----------------------------------------------------------------------form html_add_table2hor using i_table_l type string i_it_content_l type any table i_it_content_ext_l type any table i_table_r type string i_it_content_r type any table i_it_content_ext_r type any table value(i_id) value(i_on) changing c_it_html type it_string. data: l_st_html type string. perform html_add_div_begin using i_id i_on changing c_it_html. concatenate

'<table>' '<tr>' '<td style="vertical-align:top">' into l_st_html. append l_st_html to c_it_html. perform html_add_tableNoDiv using i_table_l i_it_content_l i_it_content_ext_l changing c_it_html. append '</td><td>&#160;</td><td style="vertical-align:top">' to c_it_html. perform html_add_tableNoDiv using i_table_r i_it_content_r i_it_content_ext_r changing c_it_html. append '</td></tr></table>' to c_it_html. perform html_add_div_end changing c_it_html. endform. "html_add_table2hor

*----------------------------------------------------------------------* form: html_add_table2ver *----------------------------------------------------------------------form html_add_table2ver using i_table_o type string i_it_content_o type any table i_it_content_ext_o type any table i_table_u type string i_it_content_u type any table i_it_content_ext_u type any table value(i_id) value(i_on) changing c_it_html type it_string. data: l_st_html type string. perform html_add_div_begin using i_id i_on changing c_it_html.

concatenate '<table>' '<tr>' '<td>' into l_st_html. append l_st_html to c_it_html. perform html_add_tableNoDiv using i_table_o i_it_content_o i_it_content_ext_o changing c_it_html. concatenate '</td>' '</tr>' '<tr>' '<td>&#160;</td>' '</tr>' '<tr>' '<td>' into l_st_html. append l_st_html to c_it_html. perform html_add_tableNoDiv using i_table_u i_it_content_u i_it_content_ext_u changing c_it_html. append '</td></tr></table>' to c_it_html. perform html_add_div_end changing c_it_html. endform. "html_add_table2ver

*----------------------------------------------------------------------* form: html_add_tableMaintGenerator *----------------------------------------------------------------------form html_add_tableMaintGenerator using value(i_tdd_title) i_it_tdd_textinput type it_textinput value(i_tdd_subtitle) value(i_tdd_step) type c value(i_tdd_overview_screen) value(i_tdd_single_screen) value(i_ddtd_title) value(i_ddtd_recording) type flag value(i_ddtd_compare_flag) type string value(i_id) value(i_on) changing

c_it_html type it_string. data: l_st_html type string. perform html_add_div_begin using i_id i_on changing c_it_html. concatenate '<table>' '<tr>' '<td>' into l_st_html. append l_st_html to c_it_html. perform html_add_box1TI_subboxMSnodiv using i_tdd_title i_it_tdd_textinput i_tdd_subtitle i_tdd_step i_tdd_overview_screen i_tdd_single_screen changing c_it_html. concatenate '</td>' '</tr>' '<tr>' '<td>&#160;</td>' '</tr>' '<tr>' '<td>' into l_st_html. append l_st_html to c_it_html. perform html_add_box_data_transport using i_ddtd_title i_ddtd_recording i_ddtd_compare_flag changing c_it_html. append '</td></tr></table>' to c_it_html. perform html_add_div_end changing c_it_html. endform. "html_add_tableMaintGenerator

*----------------------------------------------------------------------* form: html_add_tableNoDiv

*----------------------------------------------------------------------form html_add_tableNoDiv using i_table type string i_it_content type any table i_it_content_ext type any table changing c_it_html type it_string. data: l_tabid type string, l_tabcomp type string, l_txt type char255, l_text type string, l_link type char255, l_colored type flag, l_class type string, l_st_html type string, l_align type string, l_tabix type sytabix, l_int type i, l_checked type string, l_title type string. field-symbols: <l_st_tabdef> type st_table_structure, <l_st_content> type any, <l_st_content_ext> type any, <l_value> type any, <l_link> type any, <l_colored> type any. split i_table at '|' into l_tabid l_tabcomp. concatenate '<table border="0" cellpadding="0" cellspacing="0"' ' class="innerTable">' '<tr>' into l_st_html. append l_st_html to c_it_html. *title row loop at g_it_table_structure assigning <l_st_tabdef> where id = l_tabid. case <l_st_tabdef>-comparator. when 'CO'. if not l_tabcomp co <l_st_tabdef>-comp_value. continue. endif. endcase. l_title = <l_st_tabdef>-title. perform encode_html changing l_title. if l_title is initial. l_title = '&#160;'. endif. concatenate '<th class="innerTableTH">' l_title '</th>' into l_st_html. append l_st_html to c_it_html. endloop.

append '</tr>' to c_it_html. *content rows loop at i_it_content assigning <l_st_content>. l_tabix = sy-tabix. loop at i_it_content_ext assigning <l_st_content_ext>. if sy-tabix = l_tabix. exit. endif. endloop. append '<tr>' to c_it_html. loop at g_it_table_structure assigning <l_st_tabdef> where id = l_tabid. case <l_st_tabdef>-comparator. when 'CO'. if not l_tabcomp co <l_st_tabdef>-comp_value. continue. endif. endcase. clear l_txt. clear l_text. assign component <l_st_tabdef>-fieldname of structure <l_st_content> to <l_value>. if not <l_value> is assigned. assign component <l_st_tabdef>-fieldname of structure <l_st_content_ext> to <l_value>. endif. if <l_value> is assigned. write <l_value> to l_txt. unassign <l_value>. endif. l_text = l_txt. perform encode_html changing l_text. clear l_link. if not <l_st_tabdef>-link_row is initial. assign component <l_st_tabdef>-link_row of structure <l_st_content> to <l_link>. if not <l_link> is assigned. assign component <l_st_tabdef>-link_row of structure <l_st_content_ext> to <l_link>. endif. if <l_link> is assigned. write <l_link> to l_link. unassign <l_link>. endif. endif. clear l_colored. if not <l_st_tabdef>-colored_row is initial. assign component <l_st_tabdef>-colored_row of structure <l_st_content> to <l_colored>. if not <l_colored> is assigned. assign component <l_st_tabdef>-colored_row of structure <l_st_content_ext> to <l_colored>. endif. if <l_colored> is assigned. l_colored = <l_colored>.

unassign <l_colored>. endif. endif. l_align = 'left'. case <l_st_tabdef>-row_def. when 'B'. l_align = 'center'. if not l_text is initial. concatenate '<input class="innerTableButton"' ' onclick="' l_link '"' ' value="' l_text '"/>' into l_text. endif. when 'C'. l_align = 'center'. when 'F'. l_align = 'center'. clear l_checked. if l_text = abap_undefined. l_text = space. else. if l_text = abap_true. l_checked = ' checked="checked"'. endif. concatenate '<input class="innerTableFlag"' l_checked ' disabled="disabled" type="checkbox"' ' value="' l_text '"/>' into l_text. endif. when 'H'. l_align = 'left'. if l_colored is initial. l_class = 'tableLink'. else. l_class = 'tableLinkColored'. endif. concatenate '<a class="' l_class '" href="#"' ' onclick="' l_link '">' l_text '</a>' into l_text. when 'I'. l_align = 'right'. l_int = l_text. l_text = l_int. condense l_text. when 'L'. l_align = 'left'. when 'R'. l_align = 'right'. endcase. if l_text is initial. l_text = '&#160;'. endif. if l_colored is initial.

l_class = 'innerTableTD'. else. l_class = 'innerTableTDColored'. endif. concatenate '<td class="' l_class '"' ' style="text-align:' l_align ';vertical-align:middle">' l_text '</td>' into l_st_html. append l_st_html to c_it_html. endloop. append '</tr>' to c_it_html. endloop. append '</table>' to c_it_html. endform. "html_add_tableNoDiv *----------------------------------------------------------------------* form: html_add_tables *----------------------------------------------------------------------form html_add_tables using i_it_tables type it_tables value(i_id) value(i_on) changing c_it_html type it_string. data: l_st_html type string, l_st_tables type st_tables, l_it_textinput type it_textinput, l_st_textinput type st_textinput, l_enqmode type char255, l_tabname type char255. field-symbols: <l_st_tables> type st_tables. read table i_it_tables into l_st_tables with key primary = abap_true. write l_st_tables-enqmode to l_enqmode. write l_st_tables-tabname to l_tabname. perform html_add_div_begin using i_id i_on changing c_it_html. concatenate '<table class="titleTable">' '<tr>' '<td colspan="5">' into l_st_html. append l_st_html to c_it_html.

refresh l_it_textinput. clear l_st_textinput. l_st_textinput-name = txt_name. l_st_textinput-value = l_tabname. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput. clear l_st_textinput. l_st_textinput-name = txt_lock_mode. l_st_textinput-value = l_enqmode. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput. perform html_add_box_textInputNoDiv using txt_primary_table l_it_textinput changing c_it_html. concatenate '<tr><td colspan="5">&#160;</td></tr>' '<tr>' '<td>' '<table border="0" cellpadding="0" cellspacing="0"' ' class="box">' '<tr class="boxContent">' '<td class="boxContent">' '<table class="boxName">' '<tr>' '<td>' '<span>' txt_secondary_tables '</span>' '</td>' '</tr>' '</table>' '</td>' '</tr>' '<tr class="boxContent">' '<td class="boxContent">' '<table border="0" cellpadding="0" cellspacing="0"' ' class="innerTable">' '<tr>' '<th class="innerTableTH"' ' style="text-align:left">' txt_name '</th>' '<th class="innerTableTH"' ' style="text-align:left">' txt_lock_mode '</th>' '</tr>' into l_st_html. append l_st_html to c_it_html. loop at i_it_tables assigning <l_st_tables> where primary = abap_false. write <l_st_tables>-enqmode to l_enqmode. write <l_st_tables>-tabname to l_tabname. concatenate '<tr>' '<td class="innerTableTD">' l_tabname '</td>' '<td class="innerTableTD">' l_enqmode '</td>' '</tr>'

into l_st_html. append l_st_html to c_it_html. endloop. concatenate '</table>' '</td>' '</tr>' '</table>' '</td>' '</tr>' '</table>' into l_st_html. append l_st_html to c_it_html. perform html_add_div_end changing c_it_html. endform. "html_add_tables

*----------------------------------------------------------------------* form: html_add_tech_settings *----------------------------------------------------------------------form html_add_tech_settings using i_title_params type string i_it_textinput_params type it_textinput i_title_buffer type string i_it_access_buffer type it_access i_title_buffer_type type string i_it_textinput_buffer_type_l type it_textinput i_it_textinput_buffer_type_r type it_textinput i_it_textinput_bottom type it_textinput value(i_id) value(i_on) changing c_it_html type it_string. data: l_st_html type string. perform html_add_div_begin using i_id i_on changing c_it_html. concatenate '<table>' '<tr>' '<td>' into l_st_html. append l_st_html to c_it_html. perform html_add_box_textInputNoDiv using i_title_params i_it_textinput_params

changing c_it_html. concatenate '</td>' '</tr>' '<tr><td>&#160;</td></tr>' '<tr>' '<td>' into l_st_html. append l_st_html to c_it_html. perform html_add_box1RB_subbox2TInodiv using i_title_buffer i_it_access_buffer i_title_buffer_type i_it_textinput_buffer_type_l i_it_textinput_buffer_type_r changing c_it_html. concatenate '</td>' '</tr>' '<tr><td>&#160;</td></tr>' '<tr>' '<td>' into l_st_html. append l_st_html to c_it_html. perform html_add_textInputNoDiv using i_it_textinput_bottom changing c_it_html. concatenate '</td>' '</tr>' '</table>' into l_st_html. append l_st_html to c_it_html. perform html_add_div_end changing c_it_html. endform. "html_add_tech_settings

*----------------------------------------------------------------------* form: html_add_textInput *----------------------------------------------------------------------form html_add_textInput using i_it_textinput type it_textinput value(i_id) value(i_on) changing c_it_html type it_string.

data: l_st_html type string. perform html_add_div_begin using i_id i_on changing c_it_html. perform html_add_textInputNoDiv using i_it_textinput changing c_it_html. perform html_add_div_end changing c_it_html. endform. "html_add_textInput

*----------------------------------------------------------------------* form: html_add_textInputNoDiv *----------------------------------------------------------------------form html_add_textInputNoDiv using i_it_textinput type it_textinput changing c_it_html type it_string. data: l_first_row type flag value abap_true, l_st_html type string, l_st_textinput type st_textinput, l_st_textinput2 type st_textinput, l_has_description type flag, l_description type char255, l_name type char255, l_name_suffix type char255, l_value type char255, l_value_text type char255, l_value_ext type char255, l_value_ext_text type char255, l_value_class type string, l_tabix type i, l_colspan type string, l_checked type string. field-symbols: <l_st_textinput> type st_textinput. loop at i_it_textinput assigning <l_st_textinput> where description <> space. l_has_description = abap_true. exit. endloop. append '<table class="titleTable">' to c_it_html.

loop at i_it_textinput into l_st_textinput where flag_col <= 1. l_tabix = sy-tabix. write l_st_textinput-description to l_description. if l_description is initial. l_description = '&#160;'. endif. write l_st_textinput-name to l_name. if l_name is initial. l_name = '&#160;'. endif. write l_st_textinput-name_suffix to l_name_suffix. write l_st_textinput-value to l_value. if l_value is initial. l_value = '&#160;'. endif. write l_st_textinput-value_text to l_value_text. write l_st_textinput-value_ext to l_value_ext. write l_st_textinput-value_ext_text to l_value_ext_text. if l_value_ext is initial. l_value_ext = '&#160;'. endif. * append '<tr>' to c_it_html. Space if l_st_textinput-space = abap_true. concatenate '<td colspan="4">' '&#160;' '</td>' into l_st_html. append l_st_html to c_it_html. Flag elseif l_st_textinput-flag = abap_true. clear l_checked. if l_value = abap_true. l_checked = ' checked="checked"'. endif. concatenate '<td colspan="5">' '<table>' '<tr>' '<td>' '<input class="innerTableFlag"' l_checked ' disabled="disabled" type="checkbox"' ' value="' l_value '"/>' '</td>' '<td>' l_name '</td>' into l_st_html. append l_st_html to c_it_html. l_tabix = l_tabix + 1. a row can have multiple checkboxes loop at i_it_textinput into l_st_textinput2 from l_tabix. if l_st_textinput2-flag_col > 1. write l_st_textinput2-name to l_name. if l_name is initial. l_name = '&#160;'.

endif. write l_st_textinput2-value to l_value. if l_value is initial. l_value = '&#160;'. endif. clear l_checked. if l_value = abap_true. l_checked = ' checked="checked"'. endif. concatenate '<td>&#160;</td>' '<td>' '<input class="innerTableFlag"' l_checked ' disabled="disabled" type="checkbox"' ' value="' l_value '"/>' '</td>' '<td>' l_name '</td>' into l_st_html. append l_st_html to c_it_html. else. exit. endif. endloop. concatenate '</tr>' '</table>' '</td>' into l_st_html. append l_st_html to c_it_html. Textinput else. if l_st_textinput-no_name = abap_false. if l_name_suffix is initial. concatenate '<td class="titleTableText" colspan="2">' l_name '</td>' into l_st_html. else. concatenate '<td class="titleTableText">' l_name '</td>' '<td class="titleTableText">' l_name_suffix '</td>' into l_st_html. endif. append l_st_html to c_it_html. endif. if l_st_textinput-has_value_ext = abap_true and l_st_textinput-value_double_length = abap_false. l_colspan = '1'. else. l_colspan = '3'. endif. if l_st_textinput-no_name = abap_true. l_colspan = l_colspan + 1. endif.

if l_st_textinput-input = abap_true. l_value_class = ' class="titleTableDescr"'. else. clear l_value_class. endif. concatenate '<td ' l_value_class ' colspan="' l_colspan '">' '<span>' into l_st_html. append l_st_html to c_it_html. if not l_value_text is initial. concatenate '<a href="#" onclick="return false;"' ' title="' l_value_text '">' l_value '</a>' into l_st_html. append l_st_html to c_it_html. else. append l_value to c_it_html. endif. concatenate '</span>' '</td>' into l_st_html. append l_st_html to c_it_html. if l_st_textinput-has_value_ext = abap_true and l_st_textinput-value_double_length = abap_false. concatenate '<td>&#160;</td>' '<td' l_value_class '>' '<span>' into l_st_html. append l_st_html to c_it_html. if not l_value_ext_text is initial. concatenate '<a href="#" onclick="return false;"' ' title="' l_value_ext_text '">' l_value_ext '</a>' into l_st_html. append l_st_html to c_it_html. else. append l_value_ext to c_it_html. endif. concatenate '</span>' '</td>' into l_st_html. append l_st_html to c_it_html. endif. endif. if l_has_description = abap_true. concatenate '<td>' l_description '</td>' into l_st_html. append l_st_html to c_it_html. endif. append '</tr>' to c_it_html. endloop.

append '</table>' to c_it_html. endform. "html_add_textInputNoDiv

*----------------------------------------------------------------------* form: html_add_textInput_subBox *----------------------------------------------------------------------form html_add_textInput_subBox using i_it_textinput type it_textinput value(i_subbox_title) i_it_subbox_textinput type it_textinput value(i_id) value(i_on) changing c_it_html type it_string. data: l_st_html type string. perform html_add_div_begin using i_id i_on changing c_it_html. concatenate '<table>' '<tr>' '<td style="vertical-align:top">' into l_st_html. append l_st_html to c_it_html. perform html_add_textInputNoDiv using i_it_textinput changing c_it_html. concatenate '</td>' '</tr>' '<tr>' '<td>&#160;</td>' '</tr>' '<tr>' '<td style="vertical-align:top">' into l_st_html. append l_st_html to c_it_html. perform html_add_box_textInputNoDiv using i_subbox_title i_it_subbox_textinput changing c_it_html.

append '</td></tr></table>' to c_it_html. perform html_add_div_end changing c_it_html. endform. "html_add_textInput_subBox

*----------------------------------------------------------------------* form: html_add_value_range *----------------------------------------------------------------------form html_add_value_range using i_it_value_range type it_value_range value(i_id) value(i_on) changing c_it_html type it_string. data: l_st_html type string, l_ddtext type char255, l_domvalue_h type char255, l_domvalue_l type char255. field-symbols: <l_st_value_range> type st_value_range. perform html_add_div_begin using i_id i_on changing c_it_html. concatenate '<table class="titleTable">' '<tr>' '<td>' '<table border="0" cellpadding="0" cellspacing="0"' ' class="innerTable">' '<tr>' '<th class="innerTableTHtop" colspan="2"' ' style="text-align:left">' txt_single_vars '</th>' '</tr>' '<tr>' '<th class="innerTableTH" style="text-align:left">' txt_fix_val '</th>' '<th class="innerTableTH" style="text-align:left">' txt_short_description___1 '</th>' '</tr>' into l_st_html. append l_st_html to c_it_html. loop at i_it_value_range assigning <l_st_value_range> where domvalue_h = space.

write <l_st_value_range>-ddtext to l_ddtext. write <l_st_value_range>-domvalue_l to l_domvalue_l. concatenate '<tr>' '<td class="innerTableTD">' l_domvalue_l '</td>' '<td class="innerTableTD">' l_ddtext '</td>' '</tr>' into l_st_html. append l_st_html to c_it_html. endloop. concatenate '</table>' '</td>' '</tr>' '<tr><td>&#160;</td></tr>' '<tr>' '<td>' '<table border="0" cellpadding="0" cellspacing="0"' ' class="innerTable">' '<tr>' '<th class="innerTableTHtop" colspan="3"' ' style="text-align:left">' txt_intervals '</th>' '</tr>' '<tr>' '<th class="innerTableTH" style="text-align:left">' txt_lower_limit '</th>' '<th class="innerTableTH" style="text-align:left">' txt_upperlimit '</th>' '<th class="innerTableTH" style="text-align:left">' txt_short_description___1 '</th>' '</tr>' into l_st_html. append l_st_html to c_it_html. loop at i_it_value_range assigning <l_st_value_range> where domvalue_h <> space. write <l_st_value_range>-ddtext to l_ddtext. write <l_st_value_range>-domvalue_h to l_domvalue_h. write <l_st_value_range>-domvalue_l to l_domvalue_l. concatenate '<tr>' '<td class="innerTableTD">' l_domvalue_l '</td>' '<td class="innerTableTD">' l_domvalue_h '</td>' '<td class="innerTableTD">' l_ddtext '</td>' '</tr>' into l_st_html. append l_st_html to c_it_html. endloop. concatenate '</table>' '</td>' '</tr>' '</table>' into l_st_html. append l_st_html to c_it_html.

perform html_add_div_end changing c_it_html. endform. "html_add_value_range *&---------------------------------------------------------------------* *& Include ZSOFTCOPY_HTML_BASE * *& * *&---------------------------------------------------------------------* *& * *& 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 <http://www.gnu.org/licenses/>. * *& * *&---------------------------------------------------------------------* *& * *& Author: Ruediger von Creytz ruediger.creytz@globalbit.net * *& Copyright: globalBIT, LLC http://www.globalbit.net * *& * *&---------------------------------------------------------------------* *----------------------------------------------------------------------* html_base *----------------------------------------------------------------------form html_base. perform html_base_about. perform html_base_gpl. perform html_base_index. perform html_base_frameset. perform html_base_default_main. endform. "html_base *----------------------------------------------------------------------* html_base_about *----------------------------------------------------------------------form html_base_about. data: l_st_html type string, l_it_html type it_string, l_laiso type laiso, l_sptxt type sptxt, l_gpl type string, l_link type string. perform get_spras using sy-langu l_laiso l_sptxt.

l_gpl = txt_product_under_gpl. concatenate '<a href="GPL.' g_c_extension_htm '"' ' onclick="parent.openDropDownLink(''gpl'');return false">' 'GNU General Public License' '</a>' into l_link. perform replace_single using '#GPL#' l_link changing l_gpl. concatenate '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"' ' "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">' into l_st_html. append l_st_html to l_it_html. concatenate '<html xmlns="http://www.w3.org/1999/xhtml"' ' xml:lang="' l_laiso '" lang="' l_laiso '">' '<head>' '<title>' '&#x53;&#x6f;&#x66;&#x74;&#x43;&#x6f;&#x70;&#x79;' '</title>' into l_st_html. append l_st_html to l_it_html. perform html_add_meta changing l_it_html. append '<script type="text/javascript"><!--' to l_it_html. concatenate 'if(top==self){' 'window.location.href="../index.' g_c_extension_htm '";' '}' into l_st_html. append l_st_html to l_it_html. append '//--></script>' to l_it_html. append '<style type="text/css">' to l_it_html. concatenate 'h1 {' 'color:black;' 'font-family:arial;' 'font-size:30px;' 'font-style:normal;' 'font-weight:bold;' 'text-decoration:none;' '}' 'table {' 'width:100%;' '}' 'td {' 'font-family:arial;' 'font-size:12px;' 'vertical-align:middle;' 'width:100%;' '}' into l_st_html. append l_st_html to l_it_html. concatenate '</style>' '</head>' '<body>'

'<table>' '<tr>' '<td>' '<h1>' '&#x53;&#x6f;&#x66;&#x74;&#x43;&#x6f;&#x70;&#x79;' '</h1>' '</td>' '</tr>' '<tr>' '<td>' txt_version ':&#160;' g_c_version '</td>' '</tr>' '<tr>' '<td>' '&#160;' '</td>' '</tr>' '<tr>' '<td>' '&#169;2008-' g_c_version+0(4) ' globalBIT, LLC.' '<br/>' txt_all_rights_reserved '</td>' '</tr>' '<tr>' '<td>' '&#160;' '</td>' '</tr>' '<tr>' '<td>' l_gpl '</td>' '</tr>' '</table>' '</body>' '</html>' into l_st_html. append l_st_html to l_it_html. perform download using l_it_html 'MENU' 'HELP' 'about' g_c_extension_htm abap_false. endform.

"html_base_about

*----------------------------------------------------------------------* html_base_default_main *----------------------------------------------------------------------form html_base_default_main. data: l_st_html type string, l_it_html type it_string,

l_laiso type laiso, l_sptxt type sptxt. perform get_spras using sy-langu l_laiso l_sptxt. concatenate '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"' ' "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">' into l_st_html. append l_st_html to l_it_html. concatenate '<html xmlns="http://www.w3.org/1999/xhtml"' ' xml:lang="' l_laiso '" lang="' l_laiso '">' '<head>' '<title>' '&#x53;&#x6f;&#x66;&#x74;&#x43;&#x6f;&#x70;&#x79;' '</title>' into l_st_html. append l_st_html to l_it_html. perform html_add_meta changing l_it_html. append '<script type="text/javascript"><!--' to l_it_html. concatenate 'if(top==self){' 'window.location.href="index.' g_c_extension_htm '";' '}' into l_st_html. append l_st_html to l_it_html. append '//--></script>' to l_it_html. append '<style type="text/css">' to l_it_html. concatenate 'h1 {' 'color:black;' 'font-family:arial;' 'font-size:30px;' 'font-style:normal;' 'font-weight:bold;' 'text-decoration:none;' '}' 'table {' 'height:100%;' 'width:100%;' '}' 'td {' 'height:100%;' 'text-align:center;' 'vertical-align:middle;' 'width:100%;' '}' into l_st_html. append l_st_html to l_it_html. concatenate '</style>' '</head>' '<body>' '<table>' '<tr>' '<td>' '<h1>' '&#x53;&#x6f;&#x66;&#x74;&#x43;&#x6f;&#x70;&#x79;' '</h1>'

'</td>' '</tr>' '</table>' '</body>' '</html>' into l_st_html. append l_st_html to l_it_html. perform download using l_it_html space space 'default' g_c_extension_htm abap_false. endform.

"html_base_default_main

*----------------------------------------------------------------------* html_base_frameset *----------------------------------------------------------------------form html_base_frameset. data: l_st_html type string, l_it_html type it_string, l_filename type string, l_laiso type laiso, l_sptxt type sptxt. perform get_spras using sy-langu l_laiso l_sptxt. concatenate '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"' ' "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">' into l_st_html. append l_st_html to l_it_html. concatenate '<html xmlns="http://www.w3.org/1999/xhtml"' ' xml:lang="' l_laiso '" lang="' l_laiso '">' '<head>' '<title>' '&#x53;&#x6f;&#x66;&#x74;&#x43;&#x6f;&#x70;&#x79;' '&#x20;&#x2d;&#x20;' g_pack '</title>' into l_st_html. append l_st_html to l_it_html. perform html_add_meta changing l_it_html. concatenate '<script type="text/javascript">' '<!--' into l_st_html. append l_st_html to l_it_html. concatenate 'if(top==self){' 'window.location.href="index.' g_c_extension_htm '";' '}' into l_st_html. append l_st_html to l_it_html.

concatenate 'function init() {' 'var mySearch = top.location.search;' 'if(mySearch.length < 10) {' 'return;' '}' 'if(mySearch.indexOf("?") >= 0) {' 'mySearch = mySearch.substring(' 'mySearch.indexOf("?")+1, mySearch.length' ');' '}' 'var myProps = mySearch.split("&");' 'var myPgmid = "";' 'var myObject = "";' 'var myObjName = "";' 'for(var i=0; i<myProps.length; i++) {' 'var myProp = myProps[i].split("=");' 'switch(myProp[0]) {' 'case "pgmid": myPgmid = myProp[1]; break;' 'case "object": myObject = myProp[1]; break;' 'case "obj_name": myObjName = myProp[1]; break;' '}' '}' 'showObject(myPgmid+"_"+myObject+"/"+myObjName+".' g_c_extension_htm '");' '}' into l_st_html. append l_st_html to l_it_html. concatenate 'function setTitle(theTitle) {' 'var myTitle;' 'if(theTitle == null || theTitle == "") {' 'myTitle = document.title;' '}' 'else {' 'myTitle = document.title + " - " + theTitle;' '}' 'try {' 'parent.setTitle(theTitle, myTitle, "MAIN");' '}' 'catch(e) {' '}' '}' into l_st_html. append l_st_html to l_it_html. concatenate 'function showObject(url, target, caption) {' 'var winHeight;' 'var winWidth;' 'var content;' 'var height;' 'var width;' 'if(window.event) {' 'winHeight = document.documentElement.clientHeight;' 'winWidth = document.documentElement.clientWidth;' '}' 'else {' 'winHeight = window.innerHeight;' 'winWidth = window.innerWidth;' '}'

'switch(target) {' 'case "POPUP":' 'parent.showObject(url,caption);' 'break;' 'default:' 'document.getElementById("main").src=url;' 'break;' '}' '}' into l_st_html. append l_st_html to l_it_html. append '//-->' to l_it_html. append '</script>' to l_it_html. concatenate '</head>' '<frameset cols="200,*" onload="init()">' '<frame frameborder="0" id="links" name="links"' ' src="links.' g_c_extension_htm '"/>' '<frame frameborder="0" id="main" name="main"' ' src="default.' g_c_extension_htm '"/>' '</frameset>' '</html>' into l_st_html. append l_st_html to l_it_html. l_filename = 'frameset'. perform download using l_it_html space space l_filename g_c_extension_htm abap_false. endform. "html_base_frameset *----------------------------------------------------------------------* GPL *----------------------------------------------------------------------form html_base_gpl. data: l_title type string, l_it_html type it_string. *HTML perform html_main_popupHeader using 'GNU General Public License' changing l_it_html. * Content perform gpl_html changing l_title l_it_html. * Footer perform html_main_popupFooter changing l_it_html.

*Download perform download using l_it_html 'MENU' 'HELP' 'GPL' g_c_extension_htm abap_false. endform. "html_base_gpl

*----------------------------------------------------------------------* html_base_index *----------------------------------------------------------------------form html_base_index. data: l_st_html type string, l_it_html type it_string, l_it_prop type it_prop, l_laiso type laiso, l_sptxt type sptxt, l_height type string, l_width type string, l_props type string, l_uri_props type string. constants: l_c_info_height type i value 400, l_c_info_width type i value 600. field-symbols: <l_st_prop> type st_prop. perform get_spras using sy-langu l_laiso l_sptxt. concatenate '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"' ' "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">' into l_st_html. append l_st_html to l_it_html. concatenate '<html xmlns="http://www.w3.org/1999/xhtml"' ' xml:lang="' l_laiso '" lang="' l_laiso '">' '<head>' '<title>' '&#x53;&#x6f;&#x66;&#x74;&#x43;&#x6f;&#x70;&#x79;' '</title>' into l_st_html. append l_st_html to l_it_html. perform html_add_meta changing l_it_html. append '<script type="text/javascript">' to l_it_html. append '<!--' to l_it_html. *global attributes concatenate 'var props;' 'var xTitle;' into l_st_html.

append l_st_html to l_it_html. *props perform get_props changing l_it_prop. l_st_html = 'props = new Array(new Array("page","index")'. l_props = 'page=index'. loop at l_it_prop assigning <l_st_prop>. concatenate l_st_html ',new Array("' <l_st_prop>-name '","' <l_st_prop>-value '")' into l_st_html. concatenate l_props '&amp;' <l_st_prop>-name '=' <l_st_prop>-value into l_props. endloop. l_uri_props = l_props. perform encode_uri changing l_uri_props. concatenate l_st_html ');' into l_st_html. append l_st_html to l_it_html. *closeDropDownMenus() concatenate 'function closeDropDownMenus() {' 'var elem = document.getElementById("tm_help");' 'if(elem) {' 'elem.style.display = "none";' 'elem.style.visibility = "hidden";' '}' 'var elem = document.getElementById("tm_menu");' 'if(elem) {' 'elem.style.display = "none";' 'elem.style.visibility = "hidden";' '}' 'elem = document.getElementById("tm_system");' 'if(elem) {' 'elem.style.display = "none";' 'elem.style.visibility = "hidden";' '}' '}' into l_st_html. append l_st_html to l_it_html. *getLinks concatenate 'function getLinks(id) {' 'var links;' 'switch(id) {' 'case "tm_menu":' 'links = new Array(' 'new Array(' '"first_page",' '"menu_first_page",' '"' txt_first_page '",' '"",""' ')' ');' 'break;' 'case "tm_system":' 'links = new Array(' 'new Array(' '"status",' '"system_status",' '"' txt_status '",' '"",""' '),'

'new Array(' '"kernel",' '"system_kernel",' '"' txt_kernel_information___1 '",' '"",""' '),' 'new Array(' '"component",' '"system_component",' '"' txt_component_information '",' '"",""' ')' ');' 'break;' 'case "tm_help":' 'links = new Array(' 'new Array(' '"about",' '"help_about",' '"' txt_about '",' '"",""' '),' 'new Array(' '"updates",' '"popup",' '"' txt_updates '",' '"http://www.globalbit.org/sc/updates?' 'langu=' l_laiso '&#38;scver=' g_c_version '",' '"' txt_updates '"' '),' 'new Array(' '"globalbit",' '"newWindow",' '"globalBIT",' '"http://www.globalbit.org",""' ')' ');' 'break;' 'default:' 'links = new Array();' '}' 'return links;' '}' into l_st_html. append l_st_html to l_it_html. *getProps concatenate 'function getProps() {' 'alert("PROPS");' 'return props;' '}' into l_st_html. append l_st_html to l_it_html. *makeFrameSize concatenate 'function makeFrameSize() {' 'var winHeight;' 'var winWidth;' 'var capElem;' 'var scElem;'

'var capHeight;' 'var scHeightNew;' 'var scWidthNew;' 'capElem = document.getElementById("cap");' 'scElem = document.getElementById("sc");' 'if(window.event) {' 'winHeight = document.documentElement.clientHeight;' 'winWidth = document.documentElement.clientWidth;' '}' 'else {' 'winHeight = window.innerHeight;' 'winWidth = window.innerWidth;' '}' 'capHeight = capElem.offsetHeight;' 'scHeightNew = winHeight-capHeight;' 'scWidthNew = winWidth;' 'if(window.event) {' 'scElem.style.height = scHeightNew;' 'scElem.style.width = scWidthNew;' '}' 'else {' 'scElem.style.height = scHeightNew + "px";' 'scElem.style.width = scWidthNew + "px";' '}' '}' into l_st_html. append l_st_html to l_it_html. *openDropDownLink concatenate 'function openDropDownLink(elemId,url,title) {' 'closeDropDownMenus();' 'switch(elemId) {' 'case "help_about":' 'showObject(' '"MENU_HELP/about.' g_c_extension_htm '",' '"' txt_about '"' ');' 'break;' 'case "menu_first_page":' 'var elem = document.getElementById("sc");' 'elem.src = elem.src;' 'break;' 'case "gpl":' 'showObject(' '"MENU_HELP/GPL.' g_c_extension_htm '",' '"GNU General Public License"' ');' 'break;' 'case "newWindow":' 'window.open(url);' 'break;' 'case "popup":' 'showObject(url,title);' 'break;' 'case "system_component":' 'showObject(' '"MENU_SYSTEM/COMPONENT.' g_c_extension_htm '",' '"' txt_system ':&#160;' txt_component_information '"' ');'

'break;' 'case "system_kernel":' 'showObject(' '"MENU_SYSTEM/KERNEL.' g_c_extension_htm '",' '"' txt_system ':&#160;' txt_kernel_information___1 '"' ');' 'break;' 'case "system_status":' 'showObject(' '"MENU_SYSTEM/STATUS.' g_c_extension_htm '",' '"' txt_system ':&#160;' txt_status '"' ');' 'break;' '}' '}' into l_st_html. append l_st_html to l_it_html. *rebuildMenu concatenate 'function rebuildMenu(id,links) {' 'var elem = document.getElementById(id);' 'if(elem == null) {' 'return;' '}' 'var content;' 'for(var i=0; i<links.length; i++) {' 'content += ''' '<tr>' '<td class="topmenu_dropdown_td">' '<a class="topmenu_dropdown_link"' ' href="#" onclick="' 'openDropDownLink(''+"''"+links[i][1]+"'',''"' '+links[i][3]+"'',''"+links[i][4]+"''"+'');' 'return false">' '''+links[i][2]+''' '<''+''/td>' '<''+''/tr>'';' '}' 'elem.getElementsByTagName("table")[0].innerHTML' ' = content;' '}' into l_st_html. append l_st_html to l_it_html. *setTitle concatenate 'function setTitle(theCaption, theTitle, src) {' 'closeDropDownMenus();' 'var elem;' 'var myCaption;' 'var myTitle;' 'if(src == "MAIN") {' 'if(xTitle == null) {' 'xTitle = document.title;' '}' 'if(theCaption == null || theCaption == "") {' 'myCaption = xTitle;' '}' 'else {' 'myCaption = theCaption;'

'}' 'if(theTitle == null || theTitle == "") {' 'myTitle = xTitle;' '}' 'else {' 'myTitle = theTitle;' '}' 'document.title = myTitle;' 'elem = document.getElementById("title");' 'elem.innerHTML = myCaption;' '}' 'else {' 'try {' 'updatePopupCaption("info", theCaption);' '}' 'catch(e) {' '}' '}' '}' into l_st_html. append l_st_html to l_it_html. *showObject l_height = l_c_info_height. condense l_height. l_width = l_c_info_width. condense l_width. concatenate 'function showObject(url, caption) {' 'closeDropDownMenus();' 'var content=''<iframe frameborder="0"' ' height="' l_height '"' ' id="infoscroll" scrolling="auto"' ' src="''+url+''"' ' width="' l_width '"><''+''/iframe>'';' 'displayPopupLayer("info",caption,content);' '}' into l_st_html. append l_st_html to l_it_html. *toggleDropDown concatenate 'function toggleDropDown(elemId) {' 'var elem = document.getElementById(elemId);' 'if(elem == null) {' 'return;' '}' 'var isOpen = (elem.style.visibility == "visible");' 'closeDropDownMenus();' 'if(!isOpen) {' 'if(window.event) {' 'elem.style.top = 18;' '}' 'else {' 'elem.style.top = "19px";' '}' 'elem.style.visibility = "visible";' 'elem.style.display = "block";' '}' '}' into l_st_html. append l_st_html to l_it_html.

*popup perform html_base_popup_js changing l_it_html. append '//-->' to l_it_html. append '</script>' to l_it_html. append '<style type="text/css">' to l_it_html. concatenate 'body {' 'margin-left:0px;' 'margin-top:0px;' 'margin-right:0px;' 'margin-bottom:0px;' 'overflow:hidden;' '}' 'iframe {' 'margin-left:0px;' 'margin-top:0px;' 'margin-right:0px;' 'margin-bottom:0px;' '}' '.cap {' 'border-bottom:1px solid #3a3d3a;' 'height:56px;' 'width:100%;' '}' '.topmenu {' 'background-color:#102873;' 'border-bottom:1px solid #4a5973;' 'color:#9ca6c5;' 'font-family:arial;' 'font-size:12px;' 'font-style:normal;' 'font-weight:normal;' 'height:14px;' 'padding-left:10px;' 'text-align:left;' 'text-decoration:none;' 'vertical-align:middle;' '}' '.topmenu_dropdown {' 'border-bottom:1px solid #3a3d3a;' 'border-left:1px solid #a59e94;' 'border-right:1px solid #3a3d3a;' 'border-top:1px solid #a59e94;' 'display:none;' 'position:absolute;' 'visibility:hidden;' 'z-index:80;' '}' '.topmenu_dropdown_tab {' 'border-bottom:1px solid #cecabd;' 'border-left:1px solid #ffffef;' 'border-right:1px solid #cecabd;' 'border-top:1px solid #cecabd;' '}' '.topmenu_dropdown_td {' 'background-color:#f7f3e6;' 'border:1px solid #f7f3e6;' 'color:#000000;' 'font-family:arial;' 'font-size:12px;'

'font-style:normal;' 'font-weight:normal;' 'height:16px;' 'padding-left:5px;' 'padding-right:5px;' 'text-align:left;' 'text-decoration:none;' 'vertical-align:middle;' '}' '.topmenu_dropdown_td:hover {' 'background-color:#cecabd;' 'border-bottom:1px solid #ffffef;' 'border-left:1px solid #f7f3e6;' 'border-right:1px solid #c5c2b5;' 'border-top:1px solid #73716b;' '}' '.topmenu_dropdown_link {' 'color:#000000;' 'font-family:arial;' 'font-size:12px;' 'font-style:normal;' 'font-weight:normal;' 'text-align:left;' 'text-decoration:none;' 'vertical-align:middle;' '}' '.topmenu_link {' 'color:#9ca6c5;' 'font-family:arial;' 'font-size:12px;' 'font-style:normal;' 'font-weight:normal;' 'text-align:left;' 'text-decoration:none;' 'vertical-align:middle;' '}' '.topmenu_link:hover {' 'color:#ffffff;' '}' '.topmenu_tab {' 'background-color:#102873;' 'color:#9ca6c5;' 'font-family:arial;' 'font-size:12px;' 'font-style:normal;' 'font-weight:normal;' 'height:14px;' 'padding-left:10px;' 'text-align:left;' 'text-decoration:none;' 'vertical-align:middle;' '}' '.topmenu_td {' 'color:#9ca6c5;' 'font-family:arial;' 'font-size:12px;' 'font-style:normal;' 'font-weight:normal;' 'padding-right:10px;' 'text-align:left;'

'text-decoration:none;' 'vertical-align:middle;' '}' '.toptitle {' 'border-bottom:4px solid #ded7c5;' 'border-top:4px solid #bdbebd;' 'color:#5a699c;' 'font-family:arial;' 'font-size:20px;' 'font-style:italic;' 'font-weight:bold;' 'height:32px;' 'padding-left:10px;' 'text-align:left;' 'text-decoration:none;' 'vertical-align:middle;' '}' into l_st_html. append l_st_html to l_it_html. perform html_base_popup_css changing l_it_html. concatenate '</style>' '</head>' '<body onload="makeFrameSize();">' '<table border="0" cellpadding="1" cellspacing="0"' ' class="cap" id="cap">' * Top Menu '<tr>' '<td class="topmenu">' '<table border="0" cellpadding="0" cellspacing="0"' ' class="topmenu_tab">' '<tr id="tm">' * Menu '<td class="topmenu_td">' '<a class="topmenu_link" href="#"' ' onclick="toggleDropDown(''tm_menu'');' 'return false">' txt_menu '</a>' '<br/>' '<div class="topmenu_dropdown" id="tm_menu">' '<table border="0" cellpadding="0"' ' cellspacing="0"' ' class="topmenu_dropdown_tab">' '<tr>' '<td class="topmenu_dropdown_td">' '<a class="topmenu_dropdown_link"' ' href="default.' g_c_extension_htm '"' ' onclick="' 'openDropDownLink(''menu_first_page'');' 'return false">' txt_first_page '</a>' '</td>' '</tr>' '</table>' '</div>' '</td>' * System '<td class="topmenu_td">'

'<a class="topmenu_link" href="#"' ' onclick="toggleDropDown(''tm_system'');' 'return false">' txt_system '</a>' '<br/>' '<div class="topmenu_dropdown" id="tm_system">' '<table border="0" cellpadding="0"' ' cellspacing="0"' ' class="topmenu_dropdown_tab">' '<tr>' '<td class="topmenu_dropdown_td">' '<a class="topmenu_dropdown_link"' ' href="MENU_SYSTEM/STATUS.' g_c_extension_htm '" onclick="' 'openDropDownLink(''system_status'');' 'return false">' txt_status '</a>' '</td>' '</tr>' '<tr>' '<td class="topmenu_dropdown_td">' '<a class="topmenu_dropdown_link"' ' href="MENU_SYSTEM/KERNEL.' g_c_extension_htm '" onclick="' 'openDropDownLink(''system_kernel'');' 'return false">' txt_kernel_information___1 '</a>' '</td>' '</tr>' '<tr>' '<td class="topmenu_dropdown_td">' '<a class="topmenu_dropdown_link"' ' href="MENU_SYSTEM/COMPONENT.' g_c_extension_htm '" onclick="' 'openDropDownLink(''system_component'');' 'return false">' txt_component_information '</a>' '</td>' '</tr>' '</table>' '</div>' '</td>' * Help '<td class="topmenu_td">' '<a class="topmenu_link" href="#"' ' onclick="toggleDropDown(''tm_help'');' 'return false">' txt_help '</a>' '<br/>' '<div class="topmenu_dropdown" id="tm_help">' '<table border="0" cellpadding="0"' ' cellspacing="0"' ' class="topmenu_dropdown_tab">' '<tr>' '<td class="topmenu_dropdown_td">'

'<a class="topmenu_dropdown_link"' ' href="http://www.globalbit.org"' ' onclick="' 'openDropDownLink(''newWindow'',' '''http://www.globalbit.org'');' 'return false">' 'globalBIT' '</a>' '</td>' '</tr>' '<tr>' '<td class="topmenu_dropdown_td">' '<a class="topmenu_dropdown_link"' ' href="http://www.globalbit.org/' 'opensource/softcopy"' ' onclick="' 'openDropDownLink(''popup'',' '''http://www.globalbit.org/sc/updates?' 'langu=' l_laiso '&#38;' 'scver=' g_c_version ''',''' txt_updates ''');' 'return false">' txt_updates '</a>' '</td>' '</tr>' '<tr>' '<td class="topmenu_dropdown_td">' '<a class="topmenu_dropdown_link"' ' href="MENU_HELP/about.' g_c_extension_htm '"' ' onclick="' 'openDropDownLink(''help_about'');' 'return false">' txt_about '</a>' '</td>' '</tr>' '</table>' '</div>' '</td>' '</tr>' '</table>' '</td>' '<td class="topmenu"' ' style="padding-right:5px;text-align:right">' 'powered by globalBIT' '</td>' '</tr>' * Title '<tr>' '<td class="toptitle" colspan="2" id="title">' '&#x53;&#x6f;&#x66;&#x74;&#x43;&#x6f;&#x70;&#x79;' '</td>' '</tr>' '</table>' '<iframe frameborder="0" height="400" id="sc" name="sc"' ' scrolling="no"' ' src="frameset.' g_c_extension_htm '"' ' width="600"></iframe>'

into l_st_html. append l_st_html to l_it_html. perform html_base_popup using 'info' l_c_info_width l_c_info_height changing l_it_html. append '<script type="text/javascript"><!--' to l_it_html. append 'window.onresize = makeFrameSize;' to l_it_html. append '//--></script>' to l_it_html. concatenate '<div id="plDiv"' ' style="display:none;visibility:hidden">' '<iframe id="pl"' ' src="http://www.globalbit.org/sc/postload?' l_uri_props '"></iframe>' '&#160;' '</div>' '</body>' '</html>' into l_st_html. append l_st_html to l_it_html. perform download using l_it_html space space 'index' g_c_extension_htm abap_false. endform.

"html_base_index

*----------------------------------------------------------------------* html_base_popup *----------------------------------------------------------------------form html_base_popup using value(i_id) type string value(i_width) type i value(i_height) type i changing c_it_html type it_string. data: l_width type string, l_height type string, l_caption_width type string, l_div_width type string, l_div_height type string, l_st_html type string. l_width = i_width. condense l_width. l_height = i_height. condense l_height. l_caption_width = i_width - 16. condense l_caption_width. l_div_width = i_width + 4. condense l_div_width.

l_div_height = i_height + 20. condense l_div_height. concatenate '<div class="popupDiv" id="popup' i_id '"' ' style="height:' l_div_height 'px;width:' l_div_width 'px">' '<table border="0" cellpadding="0" cellspacing="0"' ' class="popupTable" style="width:' l_width 'px">' '<tr>' '<td align="left" class="popupTitle"' ' id="popupCaption' i_id '"' ' nowrap="nowrap"' ' onmousedown="preMovePopupLayer(event,''' i_id '''); return false;"' ' style="width:' l_caption_width 'px"' ' width="90%">' 'Filter' '</td>' '<td class="popupClose">' '<div class="popupCloseButton">' '<a class="popupCloseLink"' ' href="JavaScript:hidePopupLayer(''' i_id ''')">' '&#215;' '</a>' '</div>' '</td>' '</tr>' '<tr>' '<td align="center" class="popupContentArea" colspan="2">' '<table border="0" cellpadding="0" cellspacing="0"' ' class="popupContentTable">' '<tr>' '<td class="popupContent" id="popupContent' i_id '"' ' nowrap="nowrap"' ' style="height:' l_height 'px;width:' l_width 'px">' '&#160;' '</td>' '</tr>' '</table>' '</td>' '</tr>' '</table>' '</div>' into l_st_html. append l_st_html to c_it_html. append '<script type="text/javascript"><!--' to c_it_html. concatenate 'popupValues[popupValues.length]' ' = new Array("' i_id '", ' l_width ', ' l_height ');' into l_st_html. append l_st_html to c_it_html. append '//--></script>' to c_it_html. endform. "html_base_popup

*----------------------------------------------------------------------* html_base_popup_css *-----------------------------------------------------------------------

form html_base_popup_css changing c_it_html type it_string. data: l_st_html type string. concatenate '.popupClose{' 'background-color:#102873;' 'border-bottom:1px solid #63828c;' 'border-left-width:0px;' 'border-right:1px solid #63828c;' 'border-top:1px solid #adb6ce;' 'border-spacing:0px;' 'font-size:12px;' 'padding-bottom:0px;' 'padding-left:3px;' 'padding-right:0px;' 'padding-top:1px;' 'text-align:right !important;' 'vertical-align:top !important;' 'width:20px;' '}' '.popupCloseButton{' 'background-color:#102873;' 'border:1px solid #5a69a5;' 'color:#5a69a5;' 'height:12px;' 'overflow:hidden;' 'text-align:center;' 'vertical-align:top;' 'width:12px;' '}' '.popupCloseLink{' 'color:#5a69a5;' 'font-size:13px;' 'font-style:normal;' 'font-weight:normal;' 'line-height:13px;' 'margin:0px;' 'text-align:right !important;' 'text-decoration:none;' 'vertical-align:top;' '}' '.popupContent{' 'background-color:#94b2c5;' 'border-width:0px;' 'border-spacing:0px;' 'color:#000000;' 'font-family:arial,helvetica,sans-serif;' 'font-size:12px;' 'font-style:normal;' 'font-weight:normal;' 'margin:0px 0px;' 'padding:2px;' 'text-align:left;' '}' '.popupContentArea{' 'background-color:#94b2c5;'

'border-bottom:1px solid #3a3d3a;' 'border-left:1px solid #b5b6ad;' 'border-right:1px solid #cecabd;' 'border-top:1px solid #849ead;' 'border-spacing:0px;' 'color:#000000;' 'font-family:arial,helvetica,sans-serif;' 'font-size:12px;' 'font-style:normal;' 'font-weight:normal;' 'margin:0px 0px;' 'padding:0px;' 'text-align:center;' '}' '.popupContentTable{' 'background-color:#94b2c5;' 'border-bottom:1px solid #63828c;' 'border-left:1px solid #94b2c5;' 'border-right:1px solid #63828c;' 'border-top:1px solid #8caab5;' 'border-spacing:0px;' 'color:#000000;' 'font-family:arial,helvetica,sans-serif;' 'font-size:12px;' 'font-style:normal;' 'font-weight:normal;' 'margin:0px 0px;' 'padding:0px;' 'text-align:center;' '}' '.popupDiv{' 'background-color:#94b2c5;' 'display:none;' 'left:0px;' 'position:absolute;' 'top:0px;' 'visibility:hidden;' 'z-index:90;' '}' '.popupTable{' 'background-color:#d6d2ce;' 'border-width:0px;' 'border-spacing:0px;' 'padding:0px;' '}' '.popupTitle{' 'background-color:#102873;' 'border-bottom:1px solid #63828c;' 'border-left:1px solid #adb6ce;' 'border-right-width:0px;' 'border-top:1px solid #adb6ce;' 'border-spacing:0px;' 'color:#9ca6c5;' 'cursor:pointer;' 'font-family:arial,helvetica,sans-serif;' 'font-size:12px;' 'font-style:normal;' 'font-weight:normal;' 'padding-bottom:1px;' 'padding-left:3px;'

'padding-right:3px;' 'padding-top:1px;' 'text-align:left;' 'white-space:nowrap;' '}' into l_st_html. append l_st_html to c_it_html. endform. "html_base_popup_css

*----------------------------------------------------------------------* html_base_popup_js *----------------------------------------------------------------------form html_base_popup_js changing c_it_html type it_string. data: l_st_html type string. concatenate 'var popupCallbacks = new Array();' 'var popupClicked = "";' 'var popupMouseX = 0;' 'var popupMouseY = 0;' 'var popupValues = new Array();' into l_st_html. append l_st_html to c_it_html. *Sets new content and caption and displays a popup layer concatenate 'function displayPopupLayer(id,caption,content,callback){' 'var width;' 'var height;' 'for(var i=0; i<popupValues.length; i++) {' 'if(popupValues[i][0] == id) {' 'width = popupValues[i][1] + 4;' 'height = popupValues[i][2] + 20;' '}' '}' 'for(var i=0; i<popupCallbacks.length; i++){' 'if(popupCallbacks[i]!=null && popupCallbacks[i][0]==id){' 'if(popupCallbacks[i][1]==callback)' 'return;' 'window.setTimeout(popupCallbacks[i][1],1);' 'popupCallbacks[i]=null;' '}' '}' 'if(content!=null)' 'document.getElementById("popupContent"+id).innerHTML=content;' 'if(caption!=null)' 'document.getElementById("popupCaption"+id).innerHTML=caption;' 'var filterDivObj=document.getElementById("popup"+id);' 'var left = (document.body.clientWidth - width) / 2;' 'var top = (document.body.clientHeight - height) / 2;' 'if(window.event){' 'filterDivObj.style.left = left+document.body.scrollLeft;' 'filterDivObj.style.top = top+document.body.scrollTop;' '}'

'else{' 'filterDivObj.style.left = left+document.body.scrollLeft+"px";' 'filterDivObj.style.top = top+document.body.scrollTop+"px";' '}' 'filterDivObj.style.display="block";' 'filterDivObj.style.visibility="visible";' 'if(callback!=null && callback!="")' 'popupCallbacks[popupCallbacks.length]=new Array(id,callback);' '}' into l_st_html. append l_st_html to c_it_html. * Hides a popup layer concatenate 'function hidePopupLayer(id){' 'document.getElementById("popup"+id).style.display="none";' 'for(var i=0; i<popupCallbacks.length; i++){' 'if(popupCallbacks[i]!=null && popupCallbacks[i][0]==id){' 'window.setTimeout(popupCallbacks[i][1],100);' 'popupCallbacks[i]=null;' '}' '}' '}' into l_st_html. append l_st_html to c_it_html. * Prepares for moving a popup layer. concatenate 'function preMovePopupLayer(event,id){' 'popupClicked=id;' 'if(window.event){' 'popupMouseX=window.event.x;' 'popupMouseY=window.event.y;' '}' 'else if(event){' 'popupMouseX=event.layerX;' 'popupMouseY=event.layerY;' '}' 'document.onmousemove=movePopupLayer;' 'document.onmouseup=postMovePopupLayer;' '}' into l_st_html. append l_st_html to c_it_html. * Moves a popup layer concatenate 'function movePopupLayer(event){' 'var filterDivObj=document.getElementById("popup"+popupClicked);' 'if(window.event){' 'filterDivObj.style.pixelLeft=filterDivObj.style.pixelLeft' '+window.event.x-popupMouseX;' 'filterDivObj.style.pixelTop=filterDivObj.style.pixelTop' '+window.event.y-popupMouseY;' 'popupMouseX=window.event.x;' 'popupMouseY=window.event.y;' '}' 'else if(event){' 'filterDivObj.style.left=event.pageX-popupMouseX+"px";' 'filterDivObj.style.top=event.pageY-popupMouseY+"px";' '}' '}' into l_st_html. append l_st_html to c_it_html.

* Stops moving a popup layer concatenate 'function postMovePopupLayer(){' 'popupClicked="";' 'popupMouseX=0;' 'popupMouseY=0;' 'document.onmousemove=null;' 'document.onmouseup=null;' '}' into l_st_html. append l_st_html to c_it_html. * Updated the popup caption concatenate 'function updatePopupCaption(id, caption) {' 'if(caption!=null)' 'document.getElementById("popupCaption"+id).innerHTML=caption;' '}' into l_st_html. append l_st_html to c_it_html. endform. "html_base_popup_js *&---------------------------------------------------------------------* *& Include ZSOFTCOPY_HTML_LINKS * *& * *&---------------------------------------------------------------------* *& * *& 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 <http://www.gnu.org/licenses/>. * *& * *&---------------------------------------------------------------------* *& * *& Author: Ruediger von Creytz ruediger.creytz@globalbit.net * *& Copyright: globalBIT, LLC http://www.globalbit.net * *& * *&---------------------------------------------------------------------* *----------------------------------------------------------------------* html_links_footer *----------------------------------------------------------------------form html_links_footer changing c_it_html type it_string. data: l_st_html type string. concatenate '</body>'

'</html>' into l_st_html. append l_st_html to c_it_html. endform. "html_links_footer *----------------------------------------------------------------------* html_links_header *----------------------------------------------------------------------form html_links_header using value(i_filename) changing c_it_html type it_string. data: l_st_html type string, l_laiso type laiso, l_sptxt type sptxt. perform get_spras using sy-langu l_laiso l_sptxt. concatenate '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"' ' "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">' into l_st_html. append l_st_html to c_it_html. concatenate '<html xmlns="http://www.w3.org/1999/xhtml"' ' xml:lang="' l_laiso '" lang="' l_laiso '">' '<head>' '<title>' '&#x53;&#x6f;&#x66;&#x74;&#x43;&#x6f;&#x70;&#x79;' '</title>' into l_st_html. append l_st_html to c_it_html. perform html_add_meta changing c_it_html. concatenate '<script type="text/javascript">' '<!--' into l_st_html. append l_st_html to c_it_html. concatenate 'if(top==self){' 'window.location.href="index.' g_c_extension_htm '";' '}' into l_st_html. append l_st_html to c_it_html. concatenate 'function showObject(objID, objName, target, caption) {' 'try {' 'filename = "' i_filename '.' g_c_extension_htm '";' 'url = document.URL;' 'url = url.split(filename)[0];' 'parent.showObject(url+objID+"/"+objName+".' g_c_extension_htm '", target, caption);' '}' 'catch(e) {' '}' '}'

into l_st_html. append l_st_html to c_it_html. concatenate 'function toggleVisibility(elemID) {' 'try {' 'if(elemID == null) return false;' 'elem = document.getElementById(elemID);' 'if(elem == null) return false;' 'if(elem.style.visibility == null' '|| elem.style.visibility == ""' '|| elem.style.visibility == "hidden") {' 'elem.style.visibility = "visible";' 'elem.style.display = "block";' '}' 'else {' 'elem.style.visibility = "hidden";' 'elem.style.display = "none";' '}' '}' 'catch(e) {' '}' '}' into l_st_html separated by space. append l_st_html to c_it_html. append '//-->' to c_it_html. append '</script>' to c_it_html. append '<style type="text/css">' to c_it_html. concatenate 'a {' 'color:black;' 'font-family:arial;' 'font-size:10px;' 'font-style:normal;' 'font-weight:normal;' 'text-decoration:none;' '}' 'a:active {' 'color:darkred;' '}' 'a:focus {' 'color:darkred;' '}' 'a:hover {' 'color:red' '}' 'a:link {' 'color:black;' '}' 'a:visited {' 'color:black;' '}' 'body {' 'margin-left:0px;' 'margin-top:0px;' 'margin-right:0px;' 'margin-bottom:0px;' '}' 'li {' 'color:black;'

'font-family:arial;' 'font-size:10px;' 'font-style:normal;' 'font-weight:normal;' 'text-decoration:none;' '}' 'ul {' 'margin-left:15px;' 'padding-left:0px;' '}' 'ul ul * ul {' 'display:none;' 'visibility:hidden;' '}' '.info {' 'color:#0000ff !important;' 'font-style:normal;' 'text-decoration:none;' 'vertical-align:top;' '}' into l_st_html. append l_st_html to c_it_html. concatenate '</style>' '</head>' '<body>' into l_st_html. append l_st_html to c_it_html. endform. "html_links_header

*----------------------------------------------------------------------* html_links_leaf *----------------------------------------------------------------------form html_links_leaf using value(i_id) value(i_name) value(i_descript) changing c_it_html type it_string. perform html_links_leaf_filename using i_id i_name i_name i_descript changing c_it_html. endform. "html_links_leaf *----------------------------------------------------------------------* html_links_leaf_filename *----------------------------------------------------------------------form html_links_leaf_filename using value(i_id)

value(i_name) value(i_filename) value(i_descript) changing c_it_html type it_string. data: l_st_html type string, l_text type string, l_title type string, l_fname type string. l_text = i_name. l_title = i_descript. perform encode_html changing l_text. perform encode_html changing l_title. l_fname = i_filename. perform replace_all using '<' '-' changing l_fname. perform replace_all using '>' '-' changing l_fname. concatenate '<li>' '<a href="' i_id '/' l_fname '.' g_c_extension_htm '"' ' onclick="showObject(''' i_id ''',''' l_fname ''');' 'return false" title="' l_title '">' l_text '</a>' '</li>' into l_st_html. append l_st_html to c_it_html. endform. "html_links_leaf_filename *----------------------------------------------------------------------* html_links_node_end *----------------------------------------------------------------------form html_links_node_end changing c_it_html type it_string. append '</ul></li>' to c_it_html. endform. "html_links_node_end *----------------------------------------------------------------------* html_links_node_start *----------------------------------------------------------------------form html_links_node_start using value(i_id) value(i_text) value(i_filename) value(i_descript) changing c_it_html type it_string.

data: l_st_html type string, l_dir type string, l_suffix type string, l_title type string, l_fname type string, l_dblclick type string, l_info type string. l_title = i_descript. perform encode_html changing l_title. split i_id at '__' into l_dir l_suffix. if not i_filename is initial. l_fname = i_filename. perform replace_all using '<' '-' changing l_fname. perform replace_all using '>' '-' changing l_fname. concatenate ' ondblclick="showObject(''' l_dir ''',''' l_fname ''',' '''POPUP'',''' txt_info ''');return false"' into l_dblclick. concatenate '&#160;<a class="info"' ' href="' l_dir '/' l_fname '.' g_c_extension_htm '"' ' onclick="showObject(''' l_dir ''',''' l_fname ''',' '''POPUP'',''' txt_info ''');return false">*</a>' into l_info. endif. concatenate '<li>' '<a href="#"' ' onclick="toggleVisibility(''' i_id ''');return false"' l_dblclick ' title="' l_title '">' i_text '</a>' l_info '<ul id="' i_id '">' into l_st_html. append l_st_html to c_it_html. endform. "html_links_node_start *&---------------------------------------------------------------------* *& Include ZSOFTCOPY_HTML_MAIN * *& * *&---------------------------------------------------------------------* *& * *& 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 <http://www.gnu.org/licenses/>. * *& * *&---------------------------------------------------------------------* *& * *& Author: Ruediger von Creytz ruediger.creytz@globalbit.net * *& Copyright: globalBIT, LLC http://www.globalbit.net * *& * *&---------------------------------------------------------------------* *----------------------------------------------------------------------* form: html_main_header *----------------------------------------------------------------------form html_main_header using value(i_title) value(i_name_field) value(i_name_value) value(i_name_active) value(i_descr_field) value(i_descr_value) value(i_onResize) i_it_tabstrip type it_tabstrip i_it_link type it_link changing c_it_html type it_string. data: l_it_tabstrip type it_tabstrip, l_st_html type string, l_class type string, l_laiso type laiso, l_sptxt type sptxt, l_title type string. field-symbols: <l_st_link> type st_link, <l_st_tabstrip> type st_tabstrip. l_title = i_title. perform replace_single using '#NAME_VALUE#' i_name_value changing l_title. perform get_spras using sy-langu l_laiso l_sptxt. perform get_tabstrip_defined using i_it_tabstrip changing l_it_tabstrip. ***

concatenate '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"' ' "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">' into l_st_html. append l_st_html to c_it_html. concatenate '<html xmlns="http://www.w3.org/1999/xhtml"' ' xml:lang="' l_laiso '" lang="' l_laiso '">' into l_st_html. append l_st_html to c_it_html. concatenate '<head>' '<title id="title">' l_title '</title>' into l_st_html. append l_st_html to c_it_html. perform html_add_meta changing c_it_html. *javascript perform html_main_js using l_title i_onResize l_it_tabstrip changing c_it_html. *style perform html_main_style changing c_it_html. * concatenate '</head>' '<body id="body" onload="myOnResize()">' into l_st_html. append l_st_html to c_it_html. * concatenate '<script type="text/javascript">' '<!--' into l_st_html. append l_st_html to c_it_html. concatenate 'if(top==self){' 'document.write("' '<table>' '<tr>' '<td class=\"button\">' '<a href=\"../index.' g_c_extension_htm '\"' ' onclick=\"addFrame();return false\">' txt_frameset '<\/a>' '<\/td>' '<\/tr>' '<\/table>' '");' '}' into l_st_html. append l_st_html to c_it_html. append '//-->' to c_it_html. append '</script>' to c_it_html. * concatenate

'<form action="../index.' g_c_extension_htm '" id="addFrame"' ' method="get">' '<input id="addFrameA" name="pgmid" type="hidden"/>' '<input id="addFrameB" name="object" type="hidden"/>' '<input id="addFrameC" name="obj_name" type="hidden"/>' '</form>' into l_st_html. append l_st_html to c_it_html. * if ( not i_name_field is initial and not i_name_value is initial ) or ( not i_descr_field is initial and not i_descr_value is initial ). append '<table class="titleTable">' to c_it_html. if not i_name_field is initial and not i_name_value is initial. concatenate '<tr>' '<td class="titleTableText">' i_name_field '</td>' '<td class="titleTableDescr">' i_name_value '</td>' '<td>' i_name_active '</td>' '<td style="width:100px">' '&#160;&#160;&#160;&#160;&#160;' '</td>' into l_st_html. loop at i_it_link assigning <l_st_link>. concatenate l_st_html '<td>&#160;</td>' '<td class="button">' '<a href="' <l_st_link>-href '"' ' onclick="' <l_st_link>-onclick ';return false"' ' title="' <l_st_link>-title '">' <l_st_link>-descript '</a>' '</td>' into l_st_html. endloop. concatenate l_st_html '</tr>' into l_st_html. append l_st_html to c_it_html. endif. if not i_descr_field is initial and not i_descr_value is initial. concatenate '<tr>' '<td class="titleTableText">' i_descr_field '</td>' '<td class="titleTableDescr" colspan="2">' i_descr_value '</td>' '<td>&#160;</td>' into l_st_html. loop at i_it_link assigning <l_st_link>. concatenate l_st_html '<td colspan="2">&#160;</td>' into l_st_html. endloop. concatenate l_st_html '</tr>' into l_st_html. append l_st_html to c_it_html. endif. append '</table><div>&#160;</div>' to c_it_html. endif. concatenate '<table border="0" cellpadding="0" cellspacing="0"'

' class="contentTable" width="100%">' into l_st_html. append l_st_html to c_it_html. if not l_it_tabstrip is initial. read table l_it_tabstrip transporting no fields with key firstrow = abap_true hidden = abap_false parent_id = space. if sy-subrc = 0. concatenate '<tr>' '<td class="contentTable">' '<table border="0" cellpadding="0" cellspacing="0"' ' class="contentTable">' '<tr>' into l_st_html. append l_st_html to c_it_html. loop at l_it_tabstrip assigning <l_st_tabstrip> where hidden = abap_false and firstrow = abap_true and parent_id is initial. if <l_st_tabstrip>-disabled = abap_true. l_class = 'contentTabDisabled'. elseif <l_st_tabstrip>-active = abap_true. l_class = 'contentTabOn'. else. l_class = 'contentTabOff'. endif. if <l_st_tabstrip>-disabled = abap_false. concatenate '<td class="' l_class '" id="' <l_st_tabstrip>-id 'tab"><a href="#" onclick="openTab(''' <l_st_tabstrip>-id ''')">' <l_st_tabstrip>-text '</a></td>' into l_st_html. append l_st_html to c_it_html. else. concatenate '<td class="' l_class '" id="' <l_st_tabstrip>-id 'tab"><a class="linkDisabled" href="#"' ' onclick="return false">' <l_st_tabstrip>-text '</a></td>' into l_st_html. append l_st_html to c_it_html. endif. endloop. concatenate '</tr>' '</table>' '</td>' '</tr>' into l_st_html. append l_st_html to c_it_html. endif. concatenate '<tr>' '<td class="contentTable">' '<table border="0" cellpadding="0" cellspacing="0"' ' class="contentTable">' '<tr>' into l_st_html. append l_st_html to c_it_html. loop at l_it_tabstrip assigning <l_st_tabstrip> where hidden = abap_false and firstrow = abap_false

and parent_id is initial. if <l_st_tabstrip>-disabled = abap_true. l_class = 'contentTabDisabled'. elseif <l_st_tabstrip>-active = abap_true. l_class = 'contentTabOn'. else. l_class = 'contentTabOff'. endif. if <l_st_tabstrip>-disabled = abap_false. concatenate '<td class="' l_class '" id="' <l_st_tabstrip>-id 'tab"><a href="#" onclick="openTab(''' <l_st_tabstrip>-id ''')">' <l_st_tabstrip>-text '</a></td>' into l_st_html. append l_st_html to c_it_html. else. concatenate '<td class="' l_class '" id="' <l_st_tabstrip>-id 'tab"><a class="linkDisabled" href="#"' ' onclick="return false">' <l_st_tabstrip>-text '</a></td>' into l_st_html. append l_st_html to c_it_html. endif. endloop. concatenate '</tr>' '</table>' '</td>' '</tr>' into l_st_html. append l_st_html to c_it_html. endif. append '<tr>' to c_it_html. append '<td class="contentBox">' to c_it_html. endform. "html_main_header

*----------------------------------------------------------------------* form: html_main_js *----------------------------------------------------------------------form html_main_js using value(i_title) value(i_onResize) i_it_tabstrip type it_tabstrip changing c_it_html type it_string. data: l_st_html type string. field-symbols: <l_st_tabstrip> type st_tabstrip. concatenate '<script type="text/javascript">' '<!--' into l_st_html. append l_st_html to c_it_html. *addFrame concatenate

'function addFrame() {' 'var parts;' 'if(window.location.pathname.indexOf("\\") >= 0) {' 'parts = window.location.pathname.split("\\");' '}' 'else {' 'parts = window.location.pathname.split("/");' '}' 'var po = parts[parts.length-2].split("_");' 'document.getElementById("addFrameA").value = po[0];' 'document.getElementById("addFrameB").value = po[1];' 'var objName = parts[parts.length-1];' 'objName = objName.substring(0,objName.lastIndexOf("."));' 'document.getElementById("addFrameC").value = objName;' 'document.getElementById("addFrame").submit();' '}' into l_st_html. append l_st_html to c_it_html. *loadIFrame concatenate 'function loadIFrame(id, url) {' 'var iframeElem;' 'var myHTML;' 'myHTML="<iframe frameborder=\"0\"' ' height=\"400\"' ' id=\""+id+"scroll\"' ' scrolling=\"auto\"' ' src=\""+url+"\"' ' width=\"90%\">' '<\/iframe>";' 'iframeElem=document.getElementById(id+"iframe");' 'iframeElem.innerHTML=myHTML;' '}' into l_st_html. append l_st_html to c_it_html. *makeDivSize concatenate 'function makeDivSize(divName) {' 'var winHeight;' 'var winWidth;' 'var bodyHeight;' 'var divPar;' 'var divElem;' 'var divHeight;' 'var divHeightNew;' 'var divWidthNew;' 'divPar = document.getElementById(divName+"div");' 'if(divPar == null' ' || divPar.style.visibility == "hidden") {' 'return;' '}' 'divElem = document.getElementById(divName+"scroll");' 'if(divElem == null) {' 'return;' '}' 'divElem.style.overflowX = "auto";' 'divElem.style.overflowY = "auto";' 'if(window.event) {' 'winHeight = document.documentElement.clientHeight;' 'winWidth = document.documentElement.clientWidth;'

'}' 'else {' 'winHeight = window.innerHeight;' 'winWidth = window.innerWidth;' '}' 'bodyHeight = document.body.offsetHeight;' 'divHeight = divElem.offsetHeight;' 'divHeightNew = divHeight+winHeight-bodyHeight-20;' 'divWidthNew = winWidth-40;' 'if(window.event) {' 'divElem.style.height = divHeightNew;' 'divElem.style.width = divWidthNew;' '}' 'else {' 'divElem.style.height = divHeightNew + "px";' 'divElem.style.width = divWidthNew + "px";' '}' '}' into l_st_html. append l_st_html to c_it_html. *myOnResize concatenate 'function myOnResize() {' i_onResize ';' '}' into l_st_html. append l_st_html to c_it_html. *openChildTab concatenate 'function openChildTab(parentID, tabID) {' 'var elem;' 'switchChildContent(parentID, tabID);' into l_st_html. append l_st_html to c_it_html. loop at i_it_tabstrip assigning <l_st_tabstrip> where disabled = abap_false and not parent_id is initial. if <l_st_tabstrip>-hidden = abap_false. concatenate 'document.getElementById("' <l_st_tabstrip>-id 'tab")' '.className="contentTabOff";' into l_st_html. append l_st_html to c_it_html. endif. endloop. loop at i_it_tabstrip assigning <l_st_tabstrip> where disabled = abap_false and not parent_id is initial and active = abap_true. concatenate 'if(parentID!="' <l_st_tabstrip>-parent_id '"){' 'document.getElementById(tabID+"tab")' '.className="contentTabOn";' '}' into l_st_html. append l_st_html to c_it_html. endloop. concatenate 'document.getElementById(tabID+"tab")' '.className="contentTabOn";'

'}' into l_st_html. append l_st_html to c_it_html. *openTab concatenate 'function openTab(tabID) {' 'var elem;' 'switchContent(tabID);' into l_st_html. append l_st_html to c_it_html. loop at i_it_tabstrip assigning <l_st_tabstrip> where disabled = abap_false and parent_id is initial. if <l_st_tabstrip>-hidden = abap_false. concatenate 'document.getElementById("' <l_st_tabstrip>-id 'tab")' '.className="contentTabOff";' into l_st_html. append l_st_html to c_it_html. endif. endloop. concatenate 'document.getElementById(tabID+"tab")' '.className="contentTabOn";' '}' into l_st_html. append l_st_html to c_it_html. *setTitle concatenate 'function setTitle() {' 'try {' 'if(top!=self) {' 'parent.setTitle("' i_title '");' '}' '}' 'catch(e) {' '}' '}' into l_st_html. append l_st_html to c_it_html. *switchChildContent concatenate 'function switchChildContent(parentID, tabID) {' 'var elem;' into l_st_html. append l_st_html to c_it_html. loop at i_it_tabstrip assigning <l_st_tabstrip> where disabled = abap_false and not parent_id is initial. concatenate 'elem=document.getElementById("' <l_st_tabstrip>-id 'div");' 'elem.style.display="none";' 'elem.style.visibility="hidden";' into l_st_html. append l_st_html to c_it_html. endloop. loop at i_it_tabstrip assigning <l_st_tabstrip> where disabled = abap_false and not parent_id is initial

and active = abap_true. concatenate 'if(parentID!="' <l_st_tabstrip>-parent_id '"){' 'elem=document.getElementById(tabID+"div");' 'elem.style.display="block";' 'elem.style.visibility="visible";' '}' into l_st_html. append l_st_html to c_it_html. endloop. concatenate 'elem=document.getElementById(tabID+"div");' 'elem.style.display="block";' 'elem.style.visibility="visible";' i_onResize ';' '}' into l_st_html. append l_st_html to c_it_html. *switchContent concatenate 'function switchContent(tabID) {' 'var elem;' into l_st_html. append l_st_html to c_it_html. loop at i_it_tabstrip assigning <l_st_tabstrip> where disabled = abap_false and parent_id is initial. concatenate 'elem=document.getElementById("' <l_st_tabstrip>-id 'div");' 'elem.style.display="none";' 'elem.style.visibility="hidden";' into l_st_html. append l_st_html to c_it_html. endloop. concatenate 'elem=document.getElementById(tabID+"div");' 'elem.style.display="block";' 'elem.style.visibility="visible";' i_onResize ';' '}' into l_st_html. append l_st_html to c_it_html. * append '//--></script>' to c_it_html. endform. "html_main_js

*----------------------------------------------------------------------* form: html_main_footer *----------------------------------------------------------------------form html_main_footer changing c_it_html type it_string. data: l_st_html type string. concatenate

'</td>' '</tr>' '</table>' '<script type="text/javascript">' '<!--' into l_st_html. append l_st_html to c_it_html. append 'window.setTimeout("setTitle()",50);' to c_it_html. append 'window.onresize = myOnResize;' to c_it_html. append '//-->' to c_it_html. append '</script>' to c_it_html. concatenate '</body>' '</html>' into l_st_html. append l_st_html to c_it_html. endform. "mainAddHTMLFooter

*----------------------------------------------------------------------* form: html_main_iFrameHeader *----------------------------------------------------------------------form html_main_iFrameHeader using value(i_title) changing c_it_html type it_string. data: l_st_html type string, l_laiso type laiso, l_sptxt type sptxt. field-symbols: <l_st_tabstrip> type st_tabstrip. perform get_spras using sy-langu l_laiso l_sptxt. concatenate '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"' ' "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">' into l_st_html. append l_st_html to c_it_html. concatenate '<html xmlns="http://www.w3.org/1999/xhtml"' ' xml:lang="' l_laiso '" lang="' l_laiso '">' into l_st_html. append l_st_html to c_it_html. concatenate '<head>' '<title id="title">' i_title '</title>' into l_st_html. append l_st_html to c_it_html. perform html_add_meta changing c_it_html. perform html_main_style

changing c_it_html. concatenate '</head>' '<body class="iframebody" id="body">' into l_st_html. append l_st_html to c_it_html. endform. "html_main_iFrameHeader

*----------------------------------------------------------------------* form: html_main_iFrameFooter *----------------------------------------------------------------------form html_main_iFrameFooter changing c_it_html type it_string. data: l_st_html type string. concatenate '</body>' '</html>' into l_st_html. append l_st_html to c_it_html. endform. "html_main_iFrameFooter

*----------------------------------------------------------------------* form: html_main_popupHeader *----------------------------------------------------------------------form html_main_popupHeader using value(i_title) changing c_it_html type it_string. data: l_st_html type string, l_laiso type laiso, l_sptxt type sptxt. field-symbols: <l_st_tabstrip> type st_tabstrip. perform get_spras using sy-langu l_laiso l_sptxt. concatenate '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"' ' "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">' into l_st_html. append l_st_html to c_it_html. concatenate '<html xmlns="http://www.w3.org/1999/xhtml"'

' xml:lang="' l_laiso '" lang="' l_laiso '">' into l_st_html. append l_st_html to c_it_html. concatenate '<head>' '<title id="title">' i_title '</title>' into l_st_html. append l_st_html to c_it_html. perform html_add_meta changing c_it_html. perform html_main_style changing c_it_html. concatenate '</head>' '<body class="popupbody" id="body">' into l_st_html. append l_st_html to c_it_html. endform. "html_main_popupHeader

*----------------------------------------------------------------------* form: html_main_popupFooter *----------------------------------------------------------------------form html_main_popupFooter changing c_it_html type it_string. data: l_st_html type string. concatenate '</body>' '</html>' into l_st_html. append l_st_html to c_it_html. endform. "html_main_popupFooter

*----------------------------------------------------------------------* form: html_main_style *----------------------------------------------------------------------form html_main_style changing c_it_html type it_string. data: l_st_html type string. append '<style type="text/css">' to c_it_html. concatenate 'a {' 'color:black;' 'font-family:arial;' 'font-size:10px;' 'font-style:normal;' 'font-weight:normal;' 'text-decoration:none;' '}'

'a:active {' 'color:darkred;' '}' 'a:focus {' 'color:darkred;' '}' 'a:hover {' 'color:red;' '}' 'a:link {' 'color:black;' '}' 'a:visited {' 'color:#000000;' '}' 'body {' 'background-color:#94b6c6;' 'margin:10px;' '}' 'pre {' 'font-size:11px;' 'margin:0px;' 'padding:0px;' '}' 'span {' 'color:#000000;' 'font-family:arial;' 'font-size:10px;' 'font-style:normal;' 'font-weight:normal;' 'text-decoration:none;' 'white-space:nowrap;' '}' 'td {' 'color:black;' 'empty-cells:show;' 'font-family:arial;' 'font-size:10px;' 'font-style:normal;' 'font-weight:normal;' 'text-align:left;' 'text-decoration:none;' 'white-space:nowrap;' '}' 'th {' 'color:black;' 'empty-cells:show;' 'font-family:arial;' 'font-size:10px;' 'font-style:normal;' 'font-weight:normal;' 'text-align:center;' 'text-decoration:none;' 'white-space:nowrap;' '}' '.box {' 'border:1px solid #73716b;' 'border-spacing:0px !important;' 'padding:0px !important;' 'margin:0px !important;'

'}' '.boxContent {' 'background-color:#ded7c5;' 'border-spacing:0px !important;' 'padding:0px !important;' 'margin:0px !important;' '}' '.boxName {' 'background-color:#cecabd;' 'border-bottom:1px solid #73716b;' 'border-left-width:0px;' 'border-right:1px solid #73716b;' 'border-top-width:0px;' 'border-spacing:0px !important;' 'margin:0px 3px 2px 0px !important;' 'padding:1px 2px 1px 2px;' '}' '.boxContainerTd {' 'border-spacing:0px !important;' 'padding:0px !important;' 'margin:0px !important;' 'vertical-align:top;' '}' '.button {' 'background-color:#efefde;' 'border:1px solid #73716b;' 'color:#000000;' 'font-weight:bolder;' 'font-size:8px;' 'padding:1px 3px 1px 3px;' 'text-align:center;' 'vertical-align:middle;' '}' '.container {' 'border-spacing:0px !important;' '}' '.containerContent {' 'border:1px solid #73716b;' 'border-spacing:0px !important;' 'padding:2px;' 'margin:0px !important;' '}' '.containerTitle {' 'background-color:#cecabd;' 'border-color:#73716b #73716b #73716b #73716b;' 'border-spacing:0px !important;' 'border-style:solid;' 'border-width:1px 1px 0px 1px;' 'margin:0px !important;' 'padding:1px 2px 1px 2px;' '}' '.contentBox {' 'background-color:#ded7c5;' 'border-color:#ffffff #000000 #000000 #ffffff;' 'border-style:solid;' 'border-width:1px;' 'padding:20px 5px 20px 5px;' '}' '.contentDiv {' 'background-color:#ded7c5;'

'height:100%;' 'width:100%;' '}' '.contentTable {' 'padding:0px;' 'border-spacing:0px;' '}' '.contentTabDisabled {' 'background-color:#c5c6b5;' 'border-color:#ffffff #000000 #000000 #ffffff;' 'border-style:solid;' 'border-width:1px;' 'color:#999999;' 'padding:1px 10px 1px 10px;' '}' '.contentTabOff {' 'background-color:#c5c6b5;' 'border-color:#ffffff #000000 #000000 #ffffff;' 'border-style:solid;' 'border-width:1px;' 'padding:1px 10px 1px 10px;' '}' '.contentTabOn {' 'background-color:#ded7c5;' 'border-color:#ffffff #000000 #000000 #ffffff;' 'border-style:solid;' 'border-width:1px 1px 0px 1px;' 'padding:1px 10px 1px 10px;' '}' '.iframebody {' 'background-color:#ded7c5;' 'margin:0px;' '}' '.info {' 'color:#0000ff' '}' '.innerTable {' 'border-color:#73716b;' 'border-style:solid;' 'border-width:0px 0px 1px 1px;' '}' '.innerTableButton {' 'background-color:#efefde;' 'border:1px solid #73716b;' 'color:#000000;' 'font-weight:bolder;' 'font-size:8px;' 'padding:1px 3px 1px 3px;' 'text-align:center;' 'vertical-align:middle;' 'width:20px;' '}' '.innerTableFlag {' 'background-color:#cecebd;' 'border:1px solid #ffffff;' 'border-spacing:0px;' 'color:#73716b;' 'height:12px !important;' 'margin:0px;' 'padding:0px;'

'width:12px !important;' '}' '.innerTableTD {' 'background-color:#cecebd;' 'border-color:#73716b #73716b #73716b 'border-style:solid;' 'border-width:1px 1px 0px 0px;' 'empty-cells:show;' 'padding:1px 3px 1px 3px;' '}' '.innerTableTDColored {' 'background-color:#cecebd;' 'border-color:#73716b #73716b #73716b 'border-style:solid;' 'border-width:1px 1px 0px 0px;' 'color:#0000ff !important;' 'empty-cells:show;' 'padding:1px 3px 1px 3px;' '}' '.innerTableTH {' 'background-color:#efefde;' 'border-color:#73716b #73716b #73716b 'border-style:solid;' 'border-width:1px 1px 0px 0px;' 'padding:1px 3px 1px 3px;' '}' '.innerTableTHtop {' 'background-color:#cecabd;' 'border-color:#73716b #73716b #73716b 'border-style:solid;' 'border-width:1px 1px 0px 0px;' 'padding:1px 3px 1px 3px;' '}' '.linkDisabled {' 'color:#888888 !important;' '}' '.popupbody {' 'background-color:#94b2c5;' 'margin:0px;' '}' '.radio {' 'margin:0px' '}' '.scrollDiv {' 'background-color:#ded7c5;' '}' '.scrollTable {' 'border-spacing:0px;' 'padding:0px;' '}' '.src {' 'background-color:#cdcbbd;' 'border-color:#ffffff #8c8e8c #8c8e8c 'border-style:solid;' 'border-width:1px;' 'overflow:auto;' '}' '.srcLine {' 'color:#000000;' 'empty-cells:show;'

#73716b;'

#73716b;'

#73716b;'

#73716b;'

#ffffff;'

'}' '.srcLineComment {' 'color:#0000ff;' 'empty-cells:show;' '}' '.srcLineNumber {' 'padding-right:5px;' 'text-align:right;' '}' '.tableLink {' 'color:#000000 !important;' '}' '.tableLinkColored {' 'color:#0000ff !important;' '}' '.titleTable {' 'border-spacing:2px;' '}' '.titleTableDescr {' 'background-color:#cecebd;' 'border:1px solid #ffffff;' 'padding:1px 5px 1px 5px;' '}' '.titleTableText {' 'border-bottom:1px solid #ffffff;' 'padding-right:20px;' '}' into l_st_html. append l_st_html to c_it_html. append '</style>' to c_it_html. endform. "addHTMLStyle *&---------------------------------------------------------------------* *& Include ZSOFTCOPY_LINKS * *& * *&---------------------------------------------------------------------* *& * *& 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 <http://www.gnu.org/licenses/>. * *& * *&---------------------------------------------------------------------* *& * *& Author: Ruediger von Creytz ruediger.creytz@globalbit.net * *& Copyright: globalBIT, LLC http://www.globalbit.net * *& * *&---------------------------------------------------------------------*

*----------------------------------------------------------------------* links *----------------------------------------------------------------------form links. data: l_it_html type it_string, l_descript type as4text. perform html_links_header using 'links' changing l_it_html. perform get_devClass using g_st_tdevc-devclass changing l_descript. append '<ul>' to l_it_html. perform html_links_node_start using 'R3TR_DEVC' g_st_tdevc-devclass g_st_tdevc-devclass l_descript changing l_it_html. sort g_it_ztadir by pgmid object obj_name funcname subc dynpronr. perform perform perform perform perform perform links_ddic links_seo links_prog links_fugr links_incl links_xslt changing changing changing changing changing changing l_it_html. l_it_html. l_it_html. l_it_html. l_it_html. l_it_html.

perform html_links_node_end changing l_it_html. append '</ul>' to l_it_html. perform html_links_footer changing l_it_html. perform download using l_it_html space space 'links' g_c_extension_htm abap_false. endform.

"links

*----------------------------------------------------------------------* links - DDIC

*----------------------------------------------------------------------form links_ddic changing c_it_html type it_string. data: l_step_a type flag. perform perform perform perform perform perform perform perform perform links_ddic_db links_ddic_view links_ddic_ttyp links_ddic_struc links_ddic_dtel links_ddic_doma links_ddic_shlp links_ddic_enqu links_ddic_type changing changing changing changing changing changing changing changing changing c_it_html c_it_html c_it_html c_it_html c_it_html c_it_html c_it_html c_it_html c_it_html l_step_a. l_step_a. l_step_a. l_step_a. l_step_a. l_step_a. l_step_a. l_step_a. l_step_a.

if l_step_a = abap_true. perform html_links_node_end changing c_it_html. l_step_a = abap_false. endif. endform. "links_ddic

*----------------------------------------------------------------------* links - DDIC - DB *----------------------------------------------------------------------form links_ddic_db changing c_it_html type it_string c_step_a type flag. data: l_step_b type flag. field-symbols: <l_st_ztadir> type st_ztadir. loop at g_it_ztadir assigning <l_st_ztadir> where pgmid = 'R3TR' and object = 'TABL' and ( tabclass = 'CLUSTER' or tabclass = 'POOL' or tabclass = 'TRANSP' ). if l_step_b is initial. l_step_b = abap_true. if c_step_a = abap_false. c_step_a = abap_true. perform html_links_node_start using 'tabllib' txt_dict_objs space space changing c_it_html. endif. perform html_links_node_start

using 'R3TR_TABL_2' txt_database_tables space space changing c_it_html. endif. perform html_links_leaf using 'R3TR_TABL' <l_st_ztadir>-obj_name <l_st_ztadir>-descript changing c_it_html. endloop. if l_step_b = abap_true. clear l_step_b. perform html_links_node_end changing c_it_html. endif. endform. "links_ddic_db *----------------------------------------------------------------------* links - DDIC - DOMA *----------------------------------------------------------------------form links_ddic_doma changing c_it_html type it_string c_step_a type flag. data: l_step_b type flag. field-symbols: <l_st_ztadir> type st_ztadir. loop at g_it_ztadir assigning <l_st_ztadir> where pgmid = 'R3TR' and object = 'DOMA'. if l_step_b = abap_false. l_step_b = abap_true. if c_step_a = abap_false. c_step_a = abap_true. perform html_links_node_start using 'tabllib' txt_dict_objs space space changing c_it_html. endif. perform html_links_node_start using 'R3TR_DOMA' txt_domains space

space changing c_it_html. endif. perform html_links_leaf using 'R3TR_DOMA' <l_st_ztadir>-obj_name <l_st_ztadir>-descript changing c_it_html. endloop. if l_step_b = abap_true. l_step_b = abap_false. perform html_links_node_end changing c_it_html. endif. endform. "links_ddic_doma *----------------------------------------------------------------------* links - DDIC - DTEL *----------------------------------------------------------------------form links_ddic_dtel changing c_it_html type it_string c_step_a type flag. data: l_step_b type flag. field-symbols: <l_st_ztadir> type st_ztadir. loop at g_it_ztadir assigning <l_st_ztadir> where pgmid = 'R3TR' and object = 'DTEL'. if l_step_b = abap_false. l_step_b = abap_true. if c_step_a = abap_false. c_step_a = abap_true. perform html_links_node_start using 'tabllib' txt_dict_objs space space changing c_it_html. endif. perform html_links_node_start using 'R3TR_DTEL' txt_data_elements space space changing c_it_html. endif. perform html_links_leaf using

'R3TR_DTEL' <l_st_ztadir>-obj_name <l_st_ztadir>-descript changing c_it_html. endloop. if l_step_b = abap_true. l_step_b = abap_false. perform html_links_node_end changing c_it_html. endif. endform. "links_ddic_dtel *----------------------------------------------------------------------* links - DDIC - ENQU *----------------------------------------------------------------------form links_ddic_enqu changing c_it_html type it_string c_step_a type flag. data: l_step_b type flag. field-symbols: <l_st_ztadir> type st_ztadir. loop at g_it_ztadir assigning <l_st_ztadir> where pgmid = 'R3TR' and object = 'ENQU'. if l_step_b = abap_false. l_step_b = abap_true. if c_step_a = abap_false. c_step_a = abap_true. perform html_links_node_start using 'tabllib' txt_dict_objs space space changing c_it_html. endif. perform html_links_node_start using 'R3TR_ENQU' txt_lock_objects space space changing c_it_html. endif. perform html_links_leaf using 'R3TR_ENQU' <l_st_ztadir>-obj_name <l_st_ztadir>-descript changing c_it_html. endloop.

if l_step_b = abap_true. l_step_b = abap_false. perform html_links_node_end changing c_it_html. endif. endform. "links_ddic_enqu *----------------------------------------------------------------------* links - DDIC - SHLP *----------------------------------------------------------------------form links_ddic_shlp changing c_it_html type it_string c_step_a type flag. data: l_step_b type flag. field-symbols: <l_st_ztadir> type st_ztadir. loop at g_it_ztadir assigning <l_st_ztadir> where pgmid = 'R3TR' and object = 'SHLP'. if l_step_b = abap_false. l_step_b = abap_true. if c_step_a = abap_false. c_step_a = abap_true. perform html_links_node_start using 'tabllib' txt_dict_objs space space changing c_it_html. endif. perform html_links_node_start using 'R3TR_SHLP' txt_srch_helps space space changing c_it_html. endif. perform html_links_leaf using 'R3TR_SHLP' <l_st_ztadir>-obj_name <l_st_ztadir>-descript changing c_it_html. endloop. if l_step_b = abap_true. l_step_b = abap_false. perform html_links_node_end changing c_it_html. endif. endform. "links_ddic_shlp

*----------------------------------------------------------------------* links - DDIC - STRUC *----------------------------------------------------------------------form links_ddic_struc changing c_it_html type it_string c_step_a type flag. data: l_step_b type flag. field-symbols: <l_st_ztadir> type st_ztadir. loop at g_it_ztadir assigning <l_st_ztadir> where pgmid = 'R3TR' and object = 'TABL' and ( tabclass = 'INTTAB' or tabclass = 'VIEW' or tabclass = 'APPEND' ). if l_step_b = abap_false. l_step_b = abap_true. if c_step_a = abap_false. c_step_a = abap_true. perform html_links_node_start using 'tabllib' txt_dict_objs space space changing c_it_html. endif. perform html_links_node_start using 'R3TR_TABL_VIEWAPPEND' txt_structures space space changing c_it_html. endif. perform html_links_leaf using 'R3TR_TABL' <l_st_ztadir>-obj_name <l_st_ztadir>-descript changing c_it_html. endloop. if l_step_b = abap_true. l_step_b = abap_false. perform html_links_node_end changing c_it_html. endif. endform. "links_ddic_struc *----------------------------------------------------------------------* links - DDIC - TTYP

*----------------------------------------------------------------------form links_ddic_ttyp changing c_it_html type it_string c_step_a type flag. data: l_step_b type flag. field-symbols: <l_st_ztadir> type st_ztadir. loop at g_it_ztadir assigning <l_st_ztadir> where pgmid = 'R3TR' and object = 'TTYP'. if l_step_b = abap_false. l_step_b = abap_true. if c_step_a = abap_false. c_step_a = abap_true. perform html_links_node_start using 'tabllib' txt_dict_objs space space changing c_it_html. endif. perform html_links_node_start using 'R3TR_TTYP' txt_table_types space space changing c_it_html. endif. perform html_links_leaf using 'R3TR_TTYP' <l_st_ztadir>-obj_name <l_st_ztadir>-descript changing c_it_html. endloop. if l_step_b = abap_true. l_step_b = abap_false. perform html_links_node_end changing c_it_html. endif. endform. "links_ddic_ttyp *----------------------------------------------------------------------* links - DDIC - TYPE *----------------------------------------------------------------------form links_ddic_type changing c_it_html type it_string c_step_a type flag.

data: l_step_b type flag. field-symbols: <l_st_ztadir> type st_ztadir. loop at g_it_ztadir assigning <l_st_ztadir> where pgmid = 'R3TR' and object = 'TYPE'. if l_step_b = abap_false. l_step_b = abap_true. if c_step_a = abap_false. c_step_a = abap_true. perform html_links_node_start using 'tabllib' txt_dict_objs space space changing c_it_html. endif. perform html_links_node_start using 'R3TR_TYPE' txt_type_grps space space changing c_it_html. endif. perform html_links_leaf using 'R3TR_TYPE' <l_st_ztadir>-obj_name <l_st_ztadir>-descript changing c_it_html. endloop. if l_step_b = abap_true. l_step_b = abap_false. perform html_links_node_end changing c_it_html. endif. endform. "links_ddic_type *----------------------------------------------------------------------* links - DDIC - View *----------------------------------------------------------------------form links_ddic_view changing c_it_html type it_string c_step_a type flag. data: l_step_b type flag. field-symbols: <l_st_ztadir> type st_ztadir.

loop at g_it_ztadir assigning <l_st_ztadir> where pgmid = 'R3TR' and object = 'VIEW'. if l_step_b = abap_false. l_step_b = abap_true. if c_step_a = abap_false. c_step_a = abap_true. perform html_links_node_start using 'tabllib' txt_dict_objs space space changing c_it_html. endif. perform html_links_node_start using 'R3TR_VIEW_VIEW' txt_views space space changing c_it_html. endif. perform html_links_leaf using 'R3TR_VIEW' <l_st_ztadir>-obj_name <l_st_ztadir>-descript changing c_it_html. endloop. if l_step_b = abap_true. l_step_b = abap_false. perform html_links_node_end changing c_it_html. endif. endform. "links_ddic_view *----------------------------------------------------------------------* links - FUGR *----------------------------------------------------------------------form links_fugr changing c_it_html type it_string. data: l_step_a type flag, l_step_b type flag, l_st_ztadir type st_ztadir, l_id type string, l_progname type progname. field-symbols: <l_st_ztadir> type st_ztadir. loop at g_it_ztadir into l_st_ztadir where pgmid = 'R3TR' and object = 'FUGR'

and futype = g_c_futype_group. if l_step_a = abap_false. l_step_a = abap_true. perform html_links_node_start using 'R3TR_FUGR' txt_function_groups space space changing c_it_html. endif. concatenate 'R3TR_FUGR__' l_st_ztadir-obj_name into l_id. concatenate 'SAPL' l_st_ztadir-obj_name into l_progname. perform html_links_node_start using l_id l_st_ztadir-obj_name l_progname l_st_ztadir-descript changing c_it_html. *** perform links_fugr_modules using l_st_ztadir-obj_name changing c_it_html. perform links_fugr_screens using l_st_ztadir-obj_name changing c_it_html. perform links_fugr_includes using l_st_ztadir-obj_name changing c_it_html. *** perform html_links_node_end changing c_it_html. endloop. if l_step_a = abap_true. perform html_links_node_end changing c_it_html. l_step_a = abap_false. endif. endform. "links_fugr *----------------------------------------------------------------------* links - FUGR - Includes *----------------------------------------------------------------------form links_fugr_includes using value(i_obj_name) changing c_it_html type it_string. data: l_id type string, l_step_b type flag. field-symbols: <l_st_ztadir> type st_ztadir. concatenate 'fugr_incl_' i_obj_name into l_id.

loop at g_it_ztadir assigning <l_st_ztadir> where pgmid = 'R3TR' and object = 'FUGR' and obj_name = i_obj_name and futype = g_c_futype_include. if l_step_b = abap_false. l_step_b = abap_true. perform html_links_node_start using l_id txt_includes space space changing c_it_html. endif. perform html_links_leaf using 'R3TR_FUGR' <l_st_ztadir>-progname <l_st_ztadir>-descript changing c_it_html. endloop. if l_step_b = abap_true. perform html_links_node_end changing c_it_html. l_step_b = abap_false. endif. endform. "links_fugr_includes *----------------------------------------------------------------------* links - FUGR - Modules *----------------------------------------------------------------------form links_fugr_modules using value(i_obj_name) changing c_it_html type it_string. data: l_id type string, l_step_b type flag. field-symbols: <l_st_ztadir> type st_ztadir. concatenate 'fugr_fuba_' i_obj_name into l_id. loop at g_it_ztadir assigning <l_st_ztadir> where pgmid = 'R3TR' and object = 'FUGR' and obj_name = i_obj_name and futype = g_c_futype_module. if l_step_b = abap_false. l_step_b = abap_true. perform html_links_node_start using l_id txt_function_modules

space space changing c_it_html. endif. perform html_links_leaf_filename using 'R3TR_FUGR' <l_st_ztadir>-funcname <l_st_ztadir>-progname <l_st_ztadir>-descript changing c_it_html. endloop. if l_step_b = abap_true. perform html_links_node_end changing c_it_html. l_step_b = abap_false. endif. endform. "links_fugr_modules *----------------------------------------------------------------------* links - FUGR - Screens *----------------------------------------------------------------------form links_fugr_screens using value(i_obj_name) changing c_it_html type it_string. data: l_filename type string, l_id type string, l_step_b type flag. field-symbols: <l_st_ztadir> type st_ztadir. concatenate 'fugr_scr_' i_obj_name into l_id. loop at g_it_ztadir assigning <l_st_ztadir> where pgmid = 'R3TR' and object = 'FUGR' and obj_name = i_obj_name and futype = g_c_futype_screen. if l_step_b = abap_false. l_step_b = abap_true. perform html_links_node_start using l_id txt_screens space space changing c_it_html. endif. concatenate <l_st_ztadir>-progname '-' <l_st_ztadir>-dynpronr into l_filename. perform html_links_leaf_filename using 'R3TR_FUGR'

<l_st_ztadir>-dynpronr l_filename <l_st_ztadir>-descript changing c_it_html. endloop. if l_step_b = abap_true. perform html_links_node_end changing c_it_html. l_step_b = abap_false. endif. endform. "links_fugr_screens *----------------------------------------------------------------------* links - INCL *----------------------------------------------------------------------form links_incl changing c_it_html type it_string. data: l_step_a type flag, l_step_b type flag. field-symbols: <l_st_ztadir> type st_ztadir. ******includes loop at g_it_ztadir assigning <l_st_ztadir> where pgmid = 'R3TR' and object = 'PROG' and subc = 'I'. if l_step_a = abap_false. l_step_a = abap_true. perform html_links_node_start using 'prog_I' txt_includes space space changing c_it_html. endif. perform html_links_leaf using 'R3TR_PROG' <l_st_ztadir>-obj_name <l_st_ztadir>-descript changing c_it_html. endloop. ****** if l_step_a = abap_true. perform html_links_node_end changing c_it_html. l_step_a = abap_false. endif. endform. "links_incl *-----------------------------------------------------------------------

* links - PROG *----------------------------------------------------------------------form links_prog changing c_it_html type it_string. data: l_step_a type flag, l_step_b type flag. field-symbols: <l_st_ztadir> type st_ztadir. ******programs loop at g_it_ztadir assigning <l_st_ztadir> where pgmid = 'R3TR' and object = 'PROG' and subc = '1'. if l_step_a = abap_false. l_step_a = abap_true. perform html_links_node_start using 'prog_1' txt_programs space space changing c_it_html. endif. perform html_links_leaf using 'R3TR_PROG' <l_st_ztadir>-obj_name <l_st_ztadir>-descript changing c_it_html. endloop. ****** if l_step_a = abap_true. perform html_links_node_end changing c_it_html. l_step_a = abap_false. endif. endform. "links_prog *----------------------------------------------------------------------* links - SEO *----------------------------------------------------------------------form links_seo changing c_it_html type it_string. data: l_step_a type flag. perform links_seo_clas changing c_it_html l_step_a. perform links_seo_intf changing c_it_html l_step_a. if l_step_a = abap_true. perform html_links_node_end changing c_it_html.

l_step_a = abap_false. endif. endform. "links_seo

*----------------------------------------------------------------------* links - SEO - CLAS *----------------------------------------------------------------------form links_seo_clas changing c_it_html type it_string c_step_a type flag. data: l_step_b type flag. field-symbols: <l_st_ztadir> type st_ztadir. ******classes loop at g_it_ztadir assigning <l_st_ztadir> where pgmid = 'R3TR' and object = 'CLAS'. if l_step_b = abap_false. l_step_b = abap_true. if c_step_a = abap_false. c_step_a = abap_true. perform html_links_node_start using 'claslib' txt_class_library space space changing c_it_html. endif. perform html_links_node_start using 'R3TR_CLAS' txt_classes space space changing c_it_html. endif. perform html_links_leaf using 'R3TR_CLAS' <l_st_ztadir>-obj_name <l_st_ztadir>-descript changing c_it_html. endloop. if l_step_b = abap_true. l_step_b = abap_false. perform html_links_node_end changing c_it_html. endif.

endform.

"links_seo_clas

*----------------------------------------------------------------------* links - SEO - INTF *----------------------------------------------------------------------form links_seo_intf changing c_it_html type it_string c_step_a type flag. data: l_step_b type flag. field-symbols: <l_st_ztadir> type st_ztadir. loop at g_it_ztadir assigning <l_st_ztadir> where pgmid = 'R3TR' and object = 'INTF'. if l_step_b = abap_false. l_step_b = abap_true. if c_step_a = abap_false. c_step_a = abap_true. perform html_links_node_start using 'claslib' txt_class_library space space changing c_it_html. endif. perform html_links_node_start using 'R3TR_INTF' txt_interfaces space space changing c_it_html. endif. perform html_links_leaf using 'R3TR_INTF' <l_st_ztadir>-obj_name <l_st_ztadir>-descript changing c_it_html. endloop. if l_step_b = abap_true. l_step_b = abap_false. perform html_links_node_end changing c_it_html. endif. endform. "links_seo *----------------------------------------------------------------------* links - XSLT *-----------------------------------------------------------------------

form links_xslt changing c_it_html type it_string. data: l_step_a type flag, l_step_b type flag. field-symbols: <l_st_ztadir> type st_ztadir. ******transformations loop at g_it_ztadir assigning <l_st_ztadir> where pgmid = 'R3TR' and object = 'XSLT'. if l_step_a = abap_false. l_step_a = abap_true. perform html_links_node_start using 'xslt' txt_transformations space space changing c_it_html. endif. perform html_links_leaf using 'R3TR_XSLT' <l_st_ztadir>-obj_name <l_st_ztadir>-descript changing c_it_html. endloop. ****** if l_step_a = abap_true. perform html_links_node_end changing c_it_html. l_step_a = abap_false. endif. endform. "links_xslt *&---------------------------------------------------------------------* *& Include ZSOFTCOPY_SELECT * *& * *&---------------------------------------------------------------------* *& * *& 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 <http://www.gnu.org/licenses/>. * *& * *&---------------------------------------------------------------------*

*& * *& Author: Ruediger von Creytz ruediger.creytz@globalbit.net * *& Copyright: globalBIT, LLC http://www.globalbit.net * *& * *&---------------------------------------------------------------------* *----------------------------------------------------------------------* select *----------------------------------------------------------------------form select. data: l_it_tadir type standard table of tadir. select * from tadir into table l_it_tadir where devclass = g_pack. perform select_obj tables l_it_tadir. describe table g_it_ztadir lines g_cnt_elems. endform. "select

*----------------------------------------------------------------------* select_obj *----------------------------------------------------------------------form select_obj tables i_it_tadir structure tadir. data: l_where type string, l_st_ztadir type st_ztadir, l_last_pgmid type pgmid, l_last_object type trobjtype. field-symbols: <l_st_tadir> type tadir. sort i_it_tadir by pgmid object. loop at i_it_tadir assigning <l_st_tadir>. clear l_st_ztadir. move-corresponding <l_st_tadir> to l_st_ztadir. case <l_st_tadir>-pgmid. when 'R3TR'. case <l_st_tadir>-object. when 'CLAS'. perform select_seoclass changing l_st_ztadir. when 'DOMA'. perform select_dd01 changing l_st_ztadir. when 'DTEL'. perform select_dd04

changing l_st_ztadir. when 'ENQU'. perform select_dd25 changing l_st_ztadir. when 'FUGR'. perform select_fdir changing l_st_ztadir. when 'INTF'. perform select_seoclass changing l_st_ztadir. when 'PROG'. perform select_trdir changing l_st_ztadir. when 'SHLP'. perform select_dd30 changing l_st_ztadir. when 'TABL'. perform select_dd02 changing l_st_ztadir. when 'TTYP'. perform select_dd40 changing l_st_ztadir. when 'TYPE'. perform select_ddtypet changing l_st_ztadir. when 'VIEW'. perform select_dd25 changing l_st_ztadir. when 'XSLT'. perform select_O2_xslt changing l_st_ztadir. when others. l_st_ztadir-subrc = g_c_subrc_not_found. endcase. when others. l_st_ztadir-subrc = g_c_subrc_not_found. endcase. if l_st_ztadir-subrc = 0. append l_st_ztadir to g_it_ztadir. endif. endloop. sort g_it_ztadir by obj_name. endform. "selectObj

*----------------------------------------------------------------------* select_dd01 Domnen

*----------------------------------------------------------------------form select_dd01 changing c_st_ztadir type st_ztadir. data: l_ddtext type as4text, l_domname type domname. if g_add_elem_doma = abap_false. c_st_ztadir-subrc = g_c_subrc_deselected. else. select single ddtext from dd01t into l_ddtext where domname = c_st_ztadir-obj_name and ddlanguage = sy-langu and as4local = 'A'. if sy-subrc = 0. c_st_ztadir-descript = l_ddtext. else. select single domname from dd01l into l_domname where domname = c_st_ztadir-obj_name and as4local = 'A'. if sy-subrc = 0. c_st_ztadir-obj_name = l_domname. else. c_st_ztadir-subrc = g_c_subrc_not_found. endif. endif. endif. endform. "select_dd01 *----------------------------------------------------------------------* select_dd02 SAP-Tabellen *----------------------------------------------------------------------form select_dd02 changing c_st_ztadir type st_ztadir. data: l_ddtext type as4text, l_tabname type tabname. l_tabname = c_st_ztadir-obj_name. select single tabclass from dd02l into c_st_ztadir-tabclass where tabname = l_tabname and as4local = 'A'. if sy-subrc = 0. if ( c_st_ztadir-tabclass = 'INTTAB' or c_st_ztadir-tabclass = 'VIEW' or c_st_ztadir-tabclass = 'APPEND' ) and g_add_elem_struc = abap_false. c_st_ztadir-subrc = g_c_subrc_deselected. elseif ( c_st_ztadir-tabclass = 'CLUSTER' or c_st_ztadir-tabclass = 'POOL' or c_st_ztadir-tabclass = 'TRANSP' ) and g_add_elem_tabl = abap_false. c_st_ztadir-subrc = g_c_subrc_deselected. else. select single ddtext from dd02t into l_ddtext

where tabname = l_tabname and ddlanguage = sy-langu and as4local = 'A'. if sy-subrc = 0. c_st_ztadir-descript = l_ddtext. endif. endif. else. c_st_ztadir-subrc = g_c_subrc_not_found. endif. endform. "select_dd02 *----------------------------------------------------------------------* select_dd04 Datenelemente *----------------------------------------------------------------------form select_dd04 changing c_st_ztadir type st_ztadir. data: l_ddtext type as4text, l_rollname type rollname. if g_add_elem_dtel = abap_false. c_st_ztadir-subrc = g_c_subrc_deselected. else. l_rollname = c_st_ztadir-obj_name. select single ddtext from dd04t into l_ddtext where rollname = l_rollname and ddlanguage = sy-langu and as4local = 'A'. if sy-subrc = 0. c_st_ztadir-descript = l_ddtext. else. select single rollname from dd04l into l_rollname where rollname = l_rollname and as4local = 'A'. if sy-subrc <> 0. c_st_ztadir-subrc = g_c_subrc_not_found. endif. endif. endif. endform. "select_dd04 *----------------------------------------------------------------------* links_dd25 Aggregat-Header * (Views, Matchcode-Objekte, Sperrobjekte) *----------------------------------------------------------------------form select_dd25 changing c_st_ztadir type st_ztadir. data: l_ddtext type ddtext, l_viewname type viewname. if ( c_st_ztadir-object = 'ENQU' and g_add_elem_enqu = abap_false ) or ( c_st_ztadir-object = 'VIEW' and g_add_elem_view = abap_false ). c_st_ztadir-subrc = g_c_subrc_deselected. else.

l_viewname = c_st_ztadir-obj_name. select single aggtype from dd25l into c_st_ztadir-aggtype where viewname = l_viewname and as4local = 'A'. if sy-subrc = 0. select single ddtext from dd25t into l_ddtext where viewname = l_viewname and ddlanguage = sy-langu and as4local = 'A'. if sy-subrc = 0. c_st_ztadir-descript = l_ddtext. endif. else. c_st_ztadir-subrc = g_c_subrc_not_found. endif. endif. endform. "select_dd25 *----------------------------------------------------------------------* select_dd30 Suchhilfen *----------------------------------------------------------------------form select_dd30 changing c_st_ztadir type st_ztadir. data: l_ddtext type ddtext, l_shlpname type shlpname. if g_add_elem_shlp = abap_false. c_st_ztadir-subrc = g_c_subrc_deselected. else. l_shlpname = c_st_ztadir-obj_name. select single ddtext from dd30t into l_ddtext where shlpname = l_shlpname and ddlanguage = sy-langu and as4local = 'A'. if sy-subrc = 0. c_st_ztadir-descript = l_ddtext. else. select single shlpname from dd30l into l_shlpname where shlpname = l_shlpname and as4local = 'A'. if sy-subrc <> 0. c_st_ztadir-subrc = g_c_subrc_not_found. endif. endif. endif. endform. "select_dd30 *----------------------------------------------------------------------* links_dd40 Tabellentypen * (im DD definierte interne Tabellen) *----------------------------------------------------------------------form select_dd40 changing c_st_ztadir type st_ztadir. data: l_ddtext type ddtext,

l_typename type typename. if g_add_elem_ttyp = abap_false. c_st_ztadir-subrc = g_c_subrc_deselected. else. l_typename = c_st_ztadir-obj_name. select single ddtext from dd40t into l_ddtext where typename = l_typename and ddlanguage = sy-langu and as4local = 'A'. if sy-subrc = 0. c_st_ztadir-descript = l_ddtext. else. select single typename from dd40l into l_typename where typename = l_typename and as4local = 'A'. if sy-subrc <> 0. c_st_ztadir-subrc = g_c_subrc_not_found. endif. endif. endif. endform. "select_dd40 *----------------------------------------------------------------------* select_ddtypet Texte zu Typgruppen *----------------------------------------------------------------------form select_ddtypet changing c_st_ztadir type st_ztadir. data: l_ddtext type ddtext, l_typegroup type typegroup. if g_add_elem_type = abap_false. c_st_ztadir-subrc = g_c_subrc_deselected. else. l_typegroup = c_st_ztadir-obj_name. select single ddtext from ddtypet into l_ddtext where typegroup = l_typegroup and ddlanguage = sy-langu. if sy-subrc = 0. c_st_ztadir-descript = l_ddtext. else. c_st_ztadir-subrc = g_c_subrc_not_found. endif. endif. endform. "select_ddtypet *----------------------------------------------------------------------* select_fdir Funktionsgruppen *----------------------------------------------------------------------form select_fdir changing c_st_ztadir type st_ztadir. data: l_st_ztadir type st_ztadir, l_it_fdir type standard table of v_fdir, l_progname type progname,

l_it_incl type standard table of progname, l_incl type progname, l_group type area, l_include_number type includenr, l_it_d020s type standard table of d020s, l_area type rs38l_area, l_areat type areat, l_stext type rs38l_ftxt, l_dtxt type as4text, l_text type repti. field-symbols: <l_st_fdir> type v_fdir, <l_st_d020s> type d020s. l_area = c_st_ztadir-obj_name. * Function Group if g_add_elem_fugr = abap_false. c_st_ztadir-subrc = g_c_subrc_deselected. else. c_st_ztadir-futype = g_c_futype_group. select single areat from tlibt into l_areat where area = l_area and spras = sy-langu. if sy-subrc = 0. c_st_ztadir-descript = l_areat. else. select single area from tlibg into l_area where area = l_area. if sy-subrc <> 0. c_st_ztadir-subrc = g_c_subrc_not_found. check sy-subrc = 0. endif. endif. concatenate 'SAPL' c_st_ztadir-obj_name into l_progname. endif. * Function Modules if g_add_elem_fuba = abap_true. select * from v_fdir into table l_it_fdir where area = l_area and active = abap_true. loop at l_it_fdir assigning <l_st_fdir>. clear l_st_ztadir. move-corresponding c_st_ztadir to l_st_ztadir. clear l_st_ztadir-descript. l_st_ztadir-futype = g_c_futype_module. l_st_ztadir-funcname = <l_st_fdir>-funcname. if not <l_st_fdir>-masterlang is initial. l_st_ztadir-masterlang = <l_st_fdir>-masterlang. endif. select single stext from tftit into l_stext where funcname = <l_st_fdir>-funcname and spras = sy-langu. if sy-subrc = 0. l_st_ztadir-descript = l_stext. endif. call function 'FUNCTION_INCLUDE_CONCATENATE' exporting

include_number = <l_st_fdir>-include importing include = l_st_ztadir-progname changing group = <l_st_fdir>-area. append l_st_ztadir to g_it_ztadir. endloop. endif. * Screens if g_add_elem_scr = abap_true. select * from d020s into table l_it_d020s where prog = l_progname. loop at l_it_d020s assigning <l_st_d020s>. clear l_st_ztadir. move-corresponding c_st_ztadir to l_st_ztadir. clear l_st_ztadir-descript. select single dtxt from d020t into l_dtxt where prog = l_progname and dynr = <l_st_d020s>-dnum and lang = sy-langu. if sy-subrc = 0. l_st_ztadir-descript = l_dtxt. endif. l_st_ztadir-futype = g_c_futype_screen. l_st_ztadir-progname = l_progname. l_st_ztadir-dynpronr = <l_st_d020s>-dnum. l_st_ztadir-masterlang = <l_st_d020s>-spra. append l_st_ztadir to g_it_ztadir. endloop. endif. * Includes if g_add_elem_fuincl = abap_true. call function 'GET_INCLUDETAB' exporting progname = l_progname tables incltab = l_it_incl. sort l_it_incl. loop at l_it_incl into l_incl. call function 'FUNCTION_INCLUDE_SPLIT' importing group = l_group include_number = l_include_number changing include = l_incl. if l_group = c_st_ztadir-obj_name and not l_include_number is initial. continue. endif. clear l_st_ztadir. move-corresponding c_st_ztadir to l_st_ztadir. clear l_st_ztadir-descript. select single text from trdirt into l_text where name = l_incl and sprsl = sy-langu. if sy-subrc = 0. l_st_ztadir-descript = l_text. endif.

l_st_ztadir-futype = g_c_futype_include. l_st_ztadir-funcname = l_incl. l_st_ztadir-progname = l_incl. call function 'RS_PROGRAM_GET_DEVCLASS' exporting progname = l_st_ztadir-progname importing devclass = l_st_ztadir-devclass. append l_st_ztadir to g_it_ztadir. endloop. endif. endform. "select_fdir *----------------------------------------------------------------------* select_O2_xslt Transformation *----------------------------------------------------------------------form select_O2_xslt changing c_st_ztadir type st_ztadir. data: l_descript type as4text, l_xsltdesc(40) type c. if g_add_elem_xslt = abap_false. c_st_ztadir-subrc = g_c_subrc_deselected. else. l_xsltdesc = c_st_ztadir-obj_name. select single descript from ('O2XSLTTEXT') into l_descript where xsltdesc = l_xsltdesc and langu = sy-langu and state = 'A'. if sy-subrc = 0. c_st_ztadir-descript = l_descript. else. c_st_ztadir-subrc = g_c_subrc_not_found. endif. endif. endform. "select_O2_xslt *----------------------------------------------------------------------* select_seoclass Klasse/Interface *----------------------------------------------------------------------form select_seoclass changing c_st_ztadir type st_ztadir. data: l_descript type seodescr, l_clsname type seoclsname, l_type type seoclstype. l_clsname = c_st_ztadir-obj_name. case c_st_ztadir-object. when 'CLAS'. l_type = 0. if g_add_elem_clas = abap_false. c_st_ztadir-subrc = g_c_subrc_deselected. endif. when 'INTF'.

l_type = 1. if g_add_elem_intf = abap_false. c_st_ztadir-subrc = g_c_subrc_deselected. endif. when others. l_type = 2. endcase. if c_st_ztadir-subrc = 0. select single clsname from seoclass into l_clsname where clsname = l_clsname and clstype = l_type. if sy-subrc <> 0. c_st_ztadir-subrc = g_c_subrc_not_found. else. select single descript from seoclasstx into l_descript where clsname = l_clsname and langu = sy-langu. if sy-subrc = 0. c_st_ztadir-descript = l_descript. endif. endif. endif. endform. "select_seoclass *----------------------------------------------------------------------* select_trdir Program/Include *----------------------------------------------------------------------form select_trdir changing c_st_ztadir type st_ztadir. data: l_program type sy-repid, l_title type rs38m-repti. l_program = c_st_ztadir-obj_name. call function 'PROGRAM_TITLE' exporting program = l_program language = sy-langu importing title = l_title. c_st_ztadir-descript = l_title. c_st_ztadir-progname = c_st_ztadir-obj_name. select single subc from trdir into c_st_ztadir-subc where name = c_st_ztadir-progname. if sy-subrc <> 0 or c_st_ztadir-subc na '1I'. c_st_ztadir-subrc = g_c_subrc_not_found. elseif ( c_st_ztadir-subc = 'I' and g_add_elem_incl = abap_false ) or ( c_st_ztadir-subc = '1' and g_add_elem_prog = abap_false ). c_st_ztadir-subrc = g_c_subrc_deselected. endif. endform. "select_trdir *&---------------------------------------------------------------------* *& Include ZSOFTCOPY_TXT_TOOLS * *& * *&---------------------------------------------------------------------* *& * *& 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 <http://www.gnu.org/licenses/>. * *& * *&---------------------------------------------------------------------* *& * *& Author: Ruediger von Creytz ruediger.creytz@globalbit.net * *& Copyright: globalBIT, LLC http://www.globalbit.net * *& * *&---------------------------------------------------------------------* *----------------------------------------------------------------------* txt_tools *----------------------------------------------------------------------form txt_tools. perform txt_tools_text_elements. perform txt_tools_text_concatenated. perform txt_tools_text_message. *tables are not needed any more: refresh: g_it_text_element, g_it_text_element_t. endform. "txt_tools *----------------------------------------------------------------------* txt_tools_text_concatenated *----------------------------------------------------------------------form txt_tools_text_concatenated. data: l_text type string, l_str1 type string, l_str2 type string. field-symbols: <l_st_txt> type st_text_element, <l_fs> type any, <l_fs1> type any, <l_fs2> type any. loop at g_it_text_element assigning <l_st_txt> where is_set = abap_false and ( not conc_v1 is initial or not conc_copula is initial or not conc_v2 is initial ). clear l_str1. clear l_str2. clear l_text.

if not <l_st_txt>-conc_v1 is initial. assign (<l_st_txt>-conc_v1) to <l_fs1>. l_str1 = <l_fs1>. unassign <l_fs1>. endif. if not <l_st_txt>-conc_v2 is initial. assign (<l_st_txt>-conc_v2) to <l_fs2>. l_str2 = <l_fs2>. unassign <l_fs2>. endif. if <l_st_txt>-conc_sep_space = abap_false. concatenate l_str1 <l_st_txt>-conc_copula l_str2 into l_text. else. concatenate l_str1 <l_st_txt>-conc_copula l_str2 into l_text separated by space. endif. *Set text if not l_text is initial. <l_st_txt>-is_set = abap_true. assign (<l_st_txt>-fieldname) to <l_fs>. <l_fs> = l_text. unassign <l_fs>. endif. endloop. endform. "txt_tools_text_concatenated *----------------------------------------------------------------------* txt_tools_text_elements *----------------------------------------------------------------------form txt_tools_text_elements. data: l_text type string, l_val_text type val_text, l_str type string. field-symbols: <l_st_txt> type st_text_element, <l_st_txtt> type st_text_element_t, <l_fs> type any. loop at g_it_text_element assigning <l_st_txt>. clear: l_text, l_str. *Text from CSV read table g_it_text_element_t assigning <l_st_txtt> with key fieldname = <l_st_txt>-fieldname spras = sy-langu. if sy-subrc = 0 and not <l_st_txtt>-text is initial. <l_st_txt>-is_set = abap_true. l_text = <l_st_txtt>-text. else. *Default text in English from CSV read table g_it_text_element_t assigning <l_st_txtt> with key fieldname = <l_st_txt>-fieldname spras = 'E'. if sy-subrc = 0. l_text = <l_st_txtt>-text.

endif. endif. unassign <l_st_txtt>. *Text from data element if <l_st_txt>-is_set = abap_false and not <l_st_txt>-dtel_rollname is initial. perform get_dtel_text using <l_st_txt>-dtel_rollname <l_st_txt>-dtel_field changing l_str. if not l_str is initial. <l_st_txt>-is_set = abap_true. l_text = l_str. endif. endif. *Text from domain value if <l_st_txt>-is_set = abap_false and not <l_st_txt>-domname is initial. perform get_dom_value_text using <l_st_txt>-domname <l_st_txt>-domvalue changing l_val_text. if not l_val_text is initial. <l_st_txt>-is_set = abap_true. l_text = l_val_text. endif. endif. *Text from icon if <l_st_txt>-is_set = abap_false and not <l_st_txt>-icon_id is initial. perform get_icon_text using <l_st_txt>-icon_id <l_st_txt>-icon_field changing l_str. if not l_str is initial. <l_st_txt>-is_set = abap_true. l_text = l_str. endif. endif. *Set text if not l_text is initial. assign (<l_st_txt>-fieldname) to <l_fs>. <l_fs> = l_text. unassign <l_fs>. endif. endloop. endform. "txt_tools_text_elements *----------------------------------------------------------------------* txt_tools_text_message *----------------------------------------------------------------------form txt_tools_text_message. data:

l_text l_str1 l_str2 l_str3 l_str4

type type type type type

string, string, string, string, string.

field-symbols: <l_st_txt> type st_text_element, <l_fs> type any, <l_fs1> type any, <l_fs2> type any, <l_fs3> type any, <l_fs4> type any. loop at g_it_text_element assigning <l_st_txt> where is_set = abap_false and not msg_id is initial. clear: l_str1, l_str2, l_str3, l_str4, l_text. if not <l_st_txt>-msg_v1 is initial. assign (<l_st_txt>-msg_v1) to <l_fs1>. if <l_fs1> is assigned. l_str1 = <l_fs1>. endif. unassign <l_fs1>. endif. if not <l_st_txt>-msg_v2 is initial. assign (<l_st_txt>-msg_v2) to <l_fs2>. if <l_fs2> is assigned. l_str2 = <l_fs2>. endif. unassign <l_fs2>. endif. if not <l_st_txt>-msg_v3 is initial. assign (<l_st_txt>-msg_v3) to <l_fs3>. if <l_fs3> is assigned. l_str3 = <l_fs3>. endif. unassign <l_fs3>. endif. if not <l_st_txt>-msg_v4 is initial. assign (<l_st_txt>-msg_v4) to <l_fs4>. if <l_fs4> is assigned. l_str4 = <l_fs4>. endif. unassign <l_fs4>. endif. perform get_message_text using <l_st_txt>-msg_id <l_st_txt>-msg_nr l_str1 l_str2 l_str3 l_str4 changing

l_text. *Set text if not l_text is initial. <l_st_txt>-is_set = abap_true. assign (<l_st_txt>-fieldname) to <l_fs>. <l_fs> = l_text. unassign <l_fs>. endif. endloop. endform. "txt_tools_text_message *&---------------------------------------------------------------------* *& Include ZSOFTCOPY__CL_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 <http://www.gnu.org/licenses/>. * *& * *&---------------------------------------------------------------------* *& * *& Author: Ruediger von Creytz ruediger.creytz@globalbit.net * *& Copyright: globalBIT, LLC http://www.globalbit.net * *& * *&---------------------------------------------------------------------* *----------------------------------------------------------------------* cl_gui_get_folder *----------------------------------------------------------------------form cl_gui_get_folder changing c_selected_folder type string c_subrc type sysubrc. data: l_obj_file type ref to cl_gui_frontend_services, l_initial_folder type string. create object l_obj_file. if not p_folder is initial. l_initial_folder = p_folder. else. call method l_obj_file->get_temp_directory changing temp_dir = l_initial_folder exceptions others = 1.

endif. call method l_obj_file->directory_browse exporting initial_folder = l_initial_folder changing selected_folder = c_selected_folder exceptions others = 1. c_subrc = sy-subrc. endform. "cl_gui_get_folder *&---------------------------------------------------------------------* *& Include ZSOFTCOPY__TRY * *& * *&---------------------------------------------------------------------* *& * *& 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 <http://www.gnu.org/licenses/>. * *& * *&---------------------------------------------------------------------* *& * *& Author: Ruediger von Creytz ruediger.creytz@globalbit.net * *& Copyright: globalBIT, LLC http://www.globalbit.net * *& * *&---------------------------------------------------------------------* *----------------------------------------------------------------------* try_create_src_no_includes *----------------------------------------------------------------------form try_create_src_no_includes using i_it_src type it_string value(i_src_name) value(i_progname) changing c_it_src_no_includes type it_string. refresh c_it_src_no_includes. try. call function 'CREATE_SOURCE_WITHOUT_INCLUDES' exporting source_i = i_it_src source_name = i_src_name global_check = abap_true global_program = i_progname replacing_source = space

importing source_o = c_it_src_no_includes exceptions others = 1. catch cx_root. endtry. endform. "try_create_src_no_includes *----------------------------------------------------------------------* try_read_report *----------------------------------------------------------------------form try_read_report using value(i_progname) changing c_it_src type it_string. refresh c_it_src. try. read report i_progname into c_it_src state 'A'. catch cx_sy_read_src_line_too_long. catch cx_root. endtry. endform. "try_read_report ***optional *&---------------------------------------------------------------------* *& Include ZSOFTCOPY_DDIC * *& * *&---------------------------------------------------------------------* *& * *& 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 <http://www.gnu.org/licenses/>. * *& * *&---------------------------------------------------------------------* *& * *& Author: Ruediger von Creytz ruediger.creytz@globalbit.net * *& Copyright: globalBIT, LLC http://www.globalbit.net * *& * *&---------------------------------------------------------------------* *----------------------------------------------------------------------* ddic *----------------------------------------------------------------------form ddic.

*DOMA perform ddic_r3tr_doma. *DTEL perform ddic_r3tr_dtel. *ENQU: AGGTYPE = E perform ddic_r3tr_enqu. *SHLP perform ddic_r3tr_shlp. *TABL: TABCLASS = APPEND, INTTAB, VIEW perform ddic_r3tr_tabl_1. *TABL: TABCLASS = CLUSTER, POOL, TRANSP perform ddic_r3tr_tabl_2. *TTYP perform ddic_r3tr_ttyp. *TYPE perform ddic_r3tr_type. *VIEW perform ddic_r3tr_view. endform. "ddic

*----------------------------------------------------------------------* ddic_r3tr_doma Domnen *----------------------------------------------------------------------form ddic_r3tr_doma. data: l_it_html type it_string, l_it_tabstrip type it_tabstrip, l_domname type domname, l_st_attributes type st_attributes, l_st_definition type st_definition_1, l_st_value_range type st_value_range, l_it_value_range type it_value_range, l_st_dd01v type dd01v, l_st_dd01v_n type dd01v, l_it_dd07v type standard table of dd07v, l_it_dd07v_n type standard table of dd07v, l_state type dcdomaget, l_it_doc type it_string. field-symbols: <l_st_ztadir> type st_ztadir, <l_st_dd07v> type dd07v, <l_st_tabstrip> type st_tabstrip. perform get_tabstrip using 'DDIC_R3TR_DOMA' space changing l_it_tabstrip. loop at g_it_ztadir assigning <l_st_ztadir> where pgmid = 'R3TR' and object = 'DOMA' and downloaded = abap_false. <l_st_ztadir>-downloaded = abap_true. clear: l_st_attributes.

refresh: l_it_html, l_it_value_range, l_it_dd07v, l_it_dd07v_n, l_it_doc. l_domname = <l_st_ztadir>-obj_name. call function 'DD_DOMA_GET' exporting domain_name = l_domname langu = sy-langu withtext = abap_true importing dd01v_wa_a = l_st_dd01v dd01v_wa_n = l_st_dd01v_n got_state = l_state tables dd07v_tab_a = l_it_dd07v dd07v_tab_n = l_it_dd07v_n exceptions others = 1. if sy-subrc <> 0. <l_st_ztadir>-subrc = sy-subrc. continue. endif. l_st_attributes-bname = l_st_dd01v-as4user. perform get_date using l_st_dd01v-as4date changing l_st_attributes-date_last_changed. l_st_attributes-devclass = <l_st_ztadir>-devclass. perform get_devClass using <l_st_ztadir>-devclass changing l_st_attributes-devclass_descr. if l_st_dd01v-dommaster is initial. select single masterlang from tadir into l_st_dd01v-dommaster where pgmid = 'R3TR' and object = 'DOMA' and obj_name = l_domname. endif. perform get_spras using l_st_dd01v-dommaster changing l_st_attributes-laiso l_st_attributes-sptxt. perform get_user using l_st_dd01v-as4user changing l_st_attributes-name_text. l_st_definition-datatype = l_st_dd01v-datatype. perform get_dom_value_text using 'DATATYPE'

l_st_dd01v-datatype changing l_st_definition-datadescr. l_st_definition-dataleng = l_st_dd01v-leng. l_st_definition-datadeci = l_st_dd01v-decimals. l_st_definition-outputlen = l_st_dd01v-outputlen. l_st_definition-convexit = l_st_dd01v-convexit. l_st_definition-signflag = l_st_dd01v-signflag. l_st_definition-lowercase = l_st_dd01v-lowercase. sort l_it_dd07v by valpos. loop at l_it_dd07v assigning <l_st_dd07v>. l_st_value_range-ddtext = <l_st_dd07v>-ddtext. if <l_st_dd07v>-domval_ld is initial. l_st_value_range-domvalue_l = <l_st_dd07v>-domvalue_l. else. l_st_value_range-domvalue_l = <l_st_dd07v>-domval_ld. endif. if <l_st_dd07v>-domval_hd is initial. l_st_value_range-domvalue_h = <l_st_dd07v>-domval_hd. else. l_st_value_range-domvalue_h = <l_st_dd07v>-domvalue_h. endif. append l_st_value_range to l_it_value_range. endloop. *doma documentation perform get_docu using 'DO' <l_st_ztadir>-obj_name 'T' changing l_it_doc. *** loop at l_it_tabstrip assigning <l_st_tabstrip>. <l_st_tabstrip>-empty = abap_false. case <l_st_tabstrip>-id. when 'DOC'. if l_it_doc is initial. <l_st_tabstrip>-empty = abap_true. endif. endcase. endloop. *HTML header perform html_main_header using tpt_ddic_doma txt_domain <l_st_ztadir>-obj_name txt_active___1 txt_short_text___2 <l_st_ztadir>-descript space l_it_tabstrip g_it_link changing l_it_html. *HTML documentation if not l_it_doc is initial or g_empty_tab = g_c_empty_tab_display.

perform html_add_doc using l_it_doc 'DOC' abap_false changing l_it_html. endif. *HTML attributes perform html_add_attributes_1 using l_st_attributes 'ATTRIBUTES' abap_false changing l_it_html. *HTML definition perform html_add_definition_1 using l_st_definition 'DEFINITION' abap_true changing l_it_html. *HTML value range perform html_add_value_range using l_it_value_range 'VALUERANGE' abap_false changing l_it_html. *HTML footer perform html_main_footer using l_it_html. * perform download using l_it_html <l_st_ztadir>-pgmid <l_st_ztadir>-object <l_st_ztadir>-obj_name g_c_extension_htm abap_true. endloop. endform. "r3tr_doma *----------------------------------------------------------------------* ddic_r3tr_dtel Datenelemente *----------------------------------------------------------------------form ddic_r3tr_dtel. data: l_it_html type it_string, l_it_tabstrip type it_tabstrip, l_st_tabstrip type st_tabstrip, l_rollname type rollname, l_st_attributes type st_attributes,

l_st_data_type type st_data_type, l_st_further_char type st_further_char, l_st_field_label type st_field_label, l_it_para type tpara, l_st_dd01l type dd01l, l_it_dd03p type standard table of dd03p, l_st_dd04l type dd04l, l_st_dd04l_n type dd04l, l_it_dd04t type standard table of dd04t, l_st_dd04t type dd04t, l_it_dd04t_n type standard table of dd04t, l_state type ddrefstruc-state, l_it_doc type it_string, l_it_docdz type standard table of docdz, l_tab_nr type i, l_tab_id type string, l_doc_obj type doku_obj, l_active type flag. field-symbols: <l_dataleng> type any, <l_datatype> type any, <l_decimals> type any, <l_refkind> type any, <l_reftype> type any, <l_st_ztadir> type st_ztadir, <l_st_dd03p> type dd03p, <l_st_tabstrip> type st_tabstrip, <l_st_docdz> type docdz. loop at g_it_ztadir assigning <l_st_ztadir> where pgmid = 'R3TR' and object = 'DTEL' and downloaded = abap_false. <l_st_ztadir>-downloaded = abap_true. clear: l_st_attributes. refresh: l_it_html, l_it_tabstrip, l_it_dd04t, l_it_dd04t_n, l_it_doc, l_it_docdz. l_rollname = <l_st_ztadir>-obj_name. call function 'DD_DTEL_GET' exporting roll_name = l_rollname langu = sy-langu withtext = abap_true importing got_state = l_state dd04l_wa_a = l_st_dd04l dd04l_wa_n = l_st_dd04l_n dd01l_wa = l_st_dd01l tpara_wa = l_it_para tables

dd04t_tab_a = l_it_dd04t dd04t_tab_n = l_it_dd04t_n exceptions others = 1. if sy-subrc <> 0. <l_st_ztadir>-subrc = sy-subrc. continue. endif. read table l_it_dd04t into l_st_dd04t index 1. *attributes l_st_attributes-bname = l_st_dd04l-as4user. perform get_date using l_st_dd04l-as4date changing l_st_attributes-date_last_changed. l_st_attributes-devclass = <l_st_ztadir>-devclass. perform get_devClass using <l_st_ztadir>-devclass changing l_st_attributes-devclass_descr. if l_st_dd04l-dtelmaster is initial. select single masterlang from tadir into l_st_dd04l-dtelmaster where pgmid = 'R3TR' and object = 'DTEL' and obj_name = l_rollname. endif. perform get_spras using l_st_dd04l-dtelmaster changing l_st_attributes-laiso l_st_attributes-sptxt. perform get_user using l_st_dd04l-as4user changing l_st_attributes-name_text. *data type l_st_data_type-domname = l_st_dd04l-domname. perform get_dom using l_st_data_type-domname changing l_st_data_type-domdescr. assign component 'DATATYPE' of structure l_st_dd04l to <l_datatype>. if <l_datatype> is assigned. l_st_data_type-datatype = <l_datatype>. unassign <l_datatype>. endif. perform get_dom_value_text using 'DATATYPE' l_st_dd04l-domname changing l_st_data_type-datadescr. assign component 'LENG' of structure l_st_dd04l to <l_dataleng>. if <l_dataleng> is assigned. l_st_data_type-dataleng = <l_dataleng>.

unassign <l_dataleng>. endif. assign component 'DECIMALS' of structure l_st_dd04l to <l_decimals>. if <l_decimals> is assigned. l_st_data_type-datadeci = <l_decimals>. unassign <l_decimals>. endif. assign component 'REFKIND' of structure l_st_dd04l to <l_refkind>. if <l_refkind> is assigned. l_st_data_type-refkind = <l_refkind>. unassign <l_refkind>. endif. assign component 'REFTYPE' of structure l_st_dd04l to <l_reftype>. if <l_reftype> is assigned. l_st_data_type-reftype = <l_reftype>. unassign <l_reftype>. else. l_st_data_type-reftype = '#'. "R/3 4.6 does not know ref type endif. *further char l_st_further_char-shlpname = l_st_dd04l-shlpname. l_st_further_char-shlpfield = l_st_dd04l-shlpfield. l_st_further_char-memoryid = l_st_dd04l-memoryid. l_st_further_char-deffdname = l_st_dd04l-deffdname. l_st_further_char-logflag = l_st_dd04l-logflag. *field label l_st_field_label-scrlen_s = l_st_dd04l-scrlen1. l_st_field_label-scrtext_s = l_st_dd04t-scrtext_s. l_st_field_label-scrlen_m = l_st_dd04l-scrlen2. l_st_field_label-scrtext_m = l_st_dd04t-scrtext_m. l_st_field_label-scrlen_l = l_st_dd04l-scrlen3. l_st_field_label-scrtext_l = l_st_dd04t-scrtext_l. l_st_field_label-headlen = l_st_dd04l-headlen. l_st_field_label-reptext = l_st_dd04t-reptext. *dtel documentation perform get_docu using 'DE' <l_st_ztadir>-obj_name 'E' changing l_it_doc. *supplementary documentation call function 'DOCU_GET_DZ' exporting langu = sy-langu rollname = l_rollname tables dz_list = l_it_docdz exceptions others = 1. sort l_it_docdz by addition. *** perform get_tabstrip using 'DDIC_R3TR_DTEL' space changing l_it_tabstrip. sort l_it_tabstrip by tab_nr descending. read table l_it_tabstrip assigning <l_st_tabstrip> index 1. l_tab_nr = <l_st_tabstrip>-tab_nr. sort l_it_tabstrip by tab_nr.

clear l_st_tabstrip. l_st_tabstrip-active_order = 1. loop at l_it_docdz assigning <l_st_docdz>. l_tab_nr = l_tab_nr + 1. l_st_tabstrip-form = 'DDIC_R3TR_DTEL'. concatenate 'DOCDZ_' <l_st_docdz>-addition into l_st_tabstrip-id. l_st_tabstrip-parent_id = 'DOCDZ'. l_st_tabstrip-tab_nr = l_tab_nr. l_st_tabstrip-text = <l_st_docdz>-addition. append l_st_tabstrip to l_it_tabstrip. clear l_st_tabstrip. endloop. loop at l_it_tabstrip assigning <l_st_tabstrip>. <l_st_tabstrip>-empty = abap_false. case <l_st_tabstrip>-id. when 'DOC'. if l_it_doc is initial. <l_st_tabstrip>-empty = abap_true. endif. when 'DOCDZ'. if l_it_docdz is initial. <l_st_tabstrip>-empty = abap_true. endif. endcase. endloop. *HTML header perform html_main_header using tpt_ddic_dtel txt_data_element___1 <l_st_ztadir>-obj_name txt_active___1 txt_short_text___2 <l_st_ztadir>-descript space l_it_tabstrip g_it_link changing l_it_html. *HTML documentation if not l_it_doc is initial or g_empty_tab = g_c_empty_tab_display. perform html_add_doc using l_it_doc 'DOC' abap_false changing l_it_html. endif. *HTML supplementary documentation if not l_it_docdz is initial or g_empty_tab = g_c_empty_tab_display. perform html_add_container_begin using l_it_tabstrip 'DOCDZ' abap_false changing l_it_html.

l_active = abap_true. loop at l_it_docdz assigning <l_st_docdz>. clear: l_tab_id, l_doc_obj. refresh l_it_doc. concatenate 'DOCDZ_' <l_st_docdz>-addition into l_tab_id. call function 'DOCU_OBJECT_NAME_CONCATENATE' exporting docu_id = 'DZ' element = <l_st_docdz>-rollname addition = <l_st_docdz>-addition importing object = l_doc_obj. perform get_docu using 'DZ' l_doc_obj 'E' changing l_it_doc. perform html_add_doc using l_it_doc l_tab_id l_active changing l_it_html. l_active = abap_false. endloop. perform html_add_container_end changing l_it_html. endif. *HTML attributes perform html_add_attributes_1 using l_st_attributes 'ATTRIBUTES' abap_false changing l_it_html. *HTML data type perform html_add_data_type using l_st_data_type 'DATATYPE' abap_true changing l_it_html. *HTML further char perform html_add_further_char using l_st_further_char 'FURTHERCHAR' abap_false changing l_it_html. *HTML field label perform html_add_field_label using l_st_field_label

'FIELDLABEL' abap_false changing l_it_html. *HTML footer perform html_main_footer using l_it_html. *download perform download using l_it_html <l_st_ztadir>-pgmid <l_st_ztadir>-object <l_st_ztadir>-obj_name g_c_extension_htm abap_true. endloop. endform. "r3tr_dtel *----------------------------------------------------------------------* ddic_r3tr_enqu Aggregat-Header * (Sperrobjekte) *----------------------------------------------------------------------form ddic_r3tr_enqu. data: l_it_html type it_string, l_it_tabstrip type it_tabstrip, l_viewname type viewname, l_st_attributes type st_attributes, l_it_tables type it_tables, l_st_tables type st_tables, l_st_dd25v type dd25v, l_st_dd25v_n type dd25v, l_it_dd26v type standard table of dd26v, l_it_dd26v_n type standard table of dd26v, l_it_dd27p type standard table of dd27p, l_it_dd27p_n type standard table of dd27p, l_state type dcenquget. field-symbols: <l_st_ztadir> type st_ztadir, <l_st_dd27p> type dd27p. perform get_tabstrip using 'DDIC_R3TR_ENQU' space changing l_it_tabstrip. loop at g_it_ztadir assigning <l_st_ztadir> where pgmid = 'R3TR' and object = 'ENQU' and aggtype = 'E' and downloaded = abap_false. <l_st_ztadir>-downloaded = abap_true. clear: l_st_attributes.

refresh: l_it_html, l_it_dd26v, l_it_dd26v_n, l_it_dd27p, l_it_dd27p_n. l_viewname = <l_st_ztadir>-obj_name. call function 'DD_ENQU_GET' exporting enqu_name = l_viewname langu = sy-langu withtext = abap_true importing dd25v_wa_a = l_st_dd25v dd25v_wa_n = l_st_dd25v_n got_state = l_state tables dd26v_tab_a = l_it_dd26v dd26v_tab_n = l_it_dd26v_n dd27p_tab_a = l_it_dd27p dd27p_tab_n = l_it_dd27p_n exceptions others = 1. if sy-subrc <> 0. <l_st_ztadir>-subrc = sy-subrc. continue. endif. *attributes l_st_attributes-bname = l_st_dd25v-as4user. perform get_date using l_st_dd25v-as4date changing l_st_attributes-date_last_changed. l_st_attributes-devclass = <l_st_ztadir>-devclass. perform get_devClass using <l_st_ztadir>-devclass changing l_st_attributes-devclass_descr. if l_st_dd25v-masterlang is initial. select single masterlang from tadir into l_st_dd25v-masterlang where pgmid = 'R3TR' and object = 'ENQU' and obj_name = l_viewname. endif. perform get_spras using l_st_dd25v-masterlang changing l_st_attributes-laiso l_st_attributes-sptxt. perform get_user using l_st_dd25v-as4user changing l_st_attributes-name_text. l_st_attributes-display_rfcenable = abap_true.

l_st_attributes-rfcenable = l_st_dd25v-globalflag. sort l_it_dd27p by viewname objpos. loop at l_it_dd27p assigning <l_st_dd27p> where fieldname = '*'. clear l_st_tables. if <l_st_dd27p>-tabname = l_st_dd25v-roottab. l_st_tables-primary = abap_true. endif. l_st_tables-tabname = <l_st_dd27p>-tabname. perform get_dom_value_text using 'ENQMODE' <l_st_dd27p>-enqmode changing l_st_tables-enqmode. append l_st_tables to l_it_tables. endloop. perform html_main_header using tpt_ddic_enqu txt_lock_object___1 <l_st_ztadir>-obj_name txt_active___1 txt_short_text___2 <l_st_ztadir>-descript space l_it_tabstrip g_it_link changing l_it_html. perform html_add_attributes_1 using l_st_attributes 'ATTRIBUTES' abap_false changing l_it_html. perform html_add_tables using l_it_tables 'TABLES' abap_true changing l_it_html. delete l_it_dd27p where fieldname = '*'. perform html_add_table using 'ENQU_PARAM' l_it_dd27p l_it_dd27p 'LOCKPARAMETER' abap_false changing l_it_html. perform html_main_footer using

l_it_html. perform download using l_it_html <l_st_ztadir>-pgmid <l_st_ztadir>-object <l_st_ztadir>-obj_name g_c_extension_htm abap_true. endloop. endform. "r3tr_enqu_e *----------------------------------------------------------------------* ddic_r3tr_shlp Suchhilfen *----------------------------------------------------------------------form ddic_r3tr_shlp. data: l_it_html type it_string, l_shlpname type shlpname, l_st_dd30v type dd30v, l_st_dd30v_n type dd30v, l_it_dd31v type standard table of dd31v, l_it_dd31v_n type standard table of dd31v, l_it_dd32p type standard table of dd32p, l_it_dd32p_n type standard table of dd32p, l_it_dd33v type standard table of dd33v, l_it_dd33v_n type standard table of dd33v, l_st_attributes type st_attributes, l_it_tabstrip type it_tabstrip, l_st_definition type st_definition_2, l_state type dcshlpget. field-symbols: <l_st_ztadir> type st_ztadir, <l_st_dd07v> type dd07v. perform get_tabstrip using 'DDIC_R3TR_SHLP' space changing l_it_tabstrip. loop at g_it_ztadir assigning <l_st_ztadir> where pgmid = 'R3TR' and object = 'SHLP' and downloaded = abap_false. <l_st_ztadir>-downloaded = abap_true. clear: l_st_attributes, l_st_definition. refresh: l_it_html, l_it_dd31v, l_it_dd31v_n, l_it_dd32p, l_it_dd32p_n, l_it_dd33v,

l_it_dd33v_n. l_shlpname = <l_st_ztadir>-obj_name. call function 'DD_SHLP_GET' exporting shlp_name = l_shlpname langu = sy-langu withtext = abap_true add_typeinfo = abap_true importing dd30v_wa_a = l_st_dd30v dd30v_wa_n = l_st_dd30v_n got_state = l_state tables dd31v_tab_a = l_it_dd31v dd31v_tab_n = l_it_dd31v_n dd32p_tab_a = l_it_dd32p dd32p_tab_n = l_it_dd32p_n dd33v_tab_a = l_it_dd33v dd33v_tab_n = l_it_dd33v_n exceptions others = 1. if sy-subrc <> 0. <l_st_ztadir>-subrc = sy-subrc. continue. endif. l_st_attributes-bname = l_st_dd30v-as4user. perform get_date using l_st_dd30v-as4date changing l_st_attributes-date_last_changed. l_st_attributes-devclass = <l_st_ztadir>-devclass. perform get_devClass using <l_st_ztadir>-devclass changing l_st_attributes-devclass_descr. if l_st_dd30v-ddlanguage is initial. select single masterlang from tadir into l_st_dd30v-ddlanguage where pgmid = 'R3TR' and object = 'SHLP' and obj_name = l_shlpname. endif. perform get_spras using l_st_dd30v-ddlanguage changing l_st_attributes-laiso l_st_attributes-sptxt. perform get_user using l_st_dd30v-as4user changing l_st_attributes-name_text. l_st_definition-selmethod = l_st_dd30v-selmethod. l_st_definition-texttab = l_st_dd30v-texttab. l_st_definition-dialogtype = l_st_dd30v-dialogtype.

l_st_definition-hotkey = l_st_dd30v-hotkey. l_st_definition-selmexit = l_st_dd30v-selmexit. perform html_main_header using tpt_ddic_shlp txt_elementary_srch_hlp <l_st_ztadir>-obj_name txt_active___1 txt_short_text___2 <l_st_ztadir>-descript space l_it_tabstrip g_it_link changing l_it_html. perform html_add_attributes_1 using l_st_attributes 'ATTRIBUTES' abap_false changing l_it_html. perform html_add_definition_2 using l_st_definition 'SHLP_PARAM' l_it_dd32p 'DEFINITION' abap_true changing l_it_html. perform html_main_footer using l_it_html. perform download using l_it_html <l_st_ztadir>-pgmid <l_st_ztadir>-object <l_st_ztadir>-obj_name g_c_extension_htm abap_true. endloop. endform. "r3tr_shlp *----------------------------------------------------------------------* ddic_r3tr_tabl_1 SAP-Tabellen * (Strukturen) *----------------------------------------------------------------------form ddic_r3tr_tabl_1. data: l_it_html type it_string, l_it_tabstrip type it_tabstrip, l_strukname type strukname, l_st_attributes type st_attributes, l_st_deliv_maint type st_deliv_maint,

l_st_dd02v type dd02v, l_st_dd02v_n type dd02v, l_it_dd03p type standard table of dd03p, l_it_dd03p_n type standard table of dd03p, l_it_dd05m type standard table of dd05m, l_it_dd05m_n type standard table of dd05m, l_it_dd08v type standard table of dd08v, l_it_dd08v_n type standard table of dd08v, l_st_dd09l type dd09l, l_st_dd09v_n type dd09v, l_it_dd12v type standard table of dd12v, l_it_dd12v_n type standard table of dd12v, l_it_dd17v type standard table of dd17v, l_it_dd17v_n type standard table of dd17v, l_it_dd35v type standard table of dd35v, l_it_dd35v_n type standard table of dd35v, l_it_dd36m type standard table of dd36m, l_it_dd36m_n type standard table of dd36m, l_it_zdd03p_ext type it_zdd03p_ext, l_st_zdd03p_ext type st_zdd03p_ext, l_state type dctablget, l_it_doc type it_string, l_it_ddranking type it_dom_value, l_it_exclass type it_access, l_st_exclass type st_access. field-symbols: <l_st_ztadir> type st_ztadir, <l_st_dd03p> type dd03p, <l_st_ddranking> type st_dom_value, <l_st_tabstrip> type st_tabstrip, <l_exclass> type any. perform get_tabstrip using 'DDIC_R3TR_TABL_1' space changing l_it_tabstrip. perform get_dom_value_texts using 'DDRANKING' changing l_it_ddranking. sort l_it_ddranking by value descending. loop at g_it_ztadir assigning <l_st_ztadir> where pgmid = 'R3TR' and object = 'TABL' and ( tabclass = 'INTTAB' or tabclass = 'VIEW' or tabclass = 'APPEND' ) and downloaded = abap_false. <l_st_ztadir>-downloaded = abap_true. clear: l_st_attributes. refresh: l_it_html, l_it_dd03p, l_it_dd03p_n, l_it_dd05m, l_it_dd05m_n, l_it_dd08v,

l_it_dd08v_n, l_it_dd12v, l_it_dd12v_n, l_it_dd17v, l_it_dd17v_n, l_it_dd35v, l_it_dd35v_n, l_it_dd36m, l_it_dd36m_n, l_it_doc, l_it_exclass. l_strukname = <l_st_ztadir>-obj_name. call function 'DD_TABL_GET' exporting tabl_name = l_strukname withtext = abap_true add_typeinfo = abap_true importing dd02v_wa_a = l_st_dd02v dd02v_wa_n = l_st_dd02v_n dd09l_wa_a = l_st_dd09l dd09l_wa_n = l_st_dd09v_n got_state = l_state tables dd03p_tab_a = l_it_dd03p dd03p_tab_n = l_it_dd03p_n dd05m_tab_a = l_it_dd05m dd05m_tab_n = l_it_dd05m_n dd08v_tab_a = l_it_dd08v dd08v_tab_n = l_it_dd08v_n dd12v_tab_a = l_it_dd12v dd12v_tab_n = l_it_dd12v_n dd17v_tab_a = l_it_dd17v dd17v_tab_n = l_it_dd17v_n dd35v_tab_a = l_it_dd35v dd35v_tab_n = l_it_dd35v_n dd36m_tab_a = l_it_dd36m dd36m_tab_n = l_it_dd36m_n exceptions others = 1. if sy-subrc <> 0. <l_st_ztadir>-subrc = sy-subrc. continue. endif. loop at l_it_dd03p assigning <l_st_dd03p>. clear l_st_zdd03p_ext. case <l_st_dd03p>-shlporigin. when 'F'. l_st_zdd03p_ext-shlporigin_f = abap_true. when 'P'. l_st_zdd03p_ext-shlporigin_p = abap_true. endcase. if not <l_st_dd03p>-shlporigin is initial. perform get_dom_value_text using 'SHLPORIGIN' <l_st_dd03p>-shlporigin changing l_st_zdd03p_ext-shlporigin_ddtext.

endif. append l_st_zdd03p_ext to l_it_zdd03p_ext. endloop. l_st_attributes-bname = l_st_dd02v-as4user. perform get_date using l_st_dd02v-as4date changing l_st_attributes-date_last_changed. l_st_attributes-devclass = <l_st_ztadir>-devclass. perform get_devClass using <l_st_ztadir>-devclass changing l_st_attributes-devclass_descr. if l_st_dd02v-masterlang is initial. select single masterlang from tadir into l_st_dd02v-masterlang where pgmid = 'R3TR' and object = 'TABL' and obj_name = l_strukname. endif. perform get_spras using l_st_dd02v-masterlang changing l_st_attributes-laiso l_st_attributes-sptxt. perform get_user using l_st_dd02v-as4user changing l_st_attributes-name_text. l_st_deliv_maint-contflag = l_st_dd02v-contflag. perform get_dom_value_text using 'CONTFLAG' l_st_dd02v-contflag changing l_st_deliv_maint-contflag_text. perform get_dom_value_text using 'MAINTFLAG' l_st_dd02v-mainflag changing l_st_deliv_maint-mainflag_text. *enhancement category assign component 'EXCLASS' of structure l_st_dd02v to <l_exclass>. if <l_exclass> is assigned. loop at l_it_ddranking assigning <l_st_ddranking>. l_st_exclass-ddtext = <l_st_ddranking>-text. l_st_exclass-checked = abap_false. if <l_st_ddranking>-value = <l_exclass>. l_st_exclass-checked = abap_true. endif. append l_st_exclass to l_it_exclass. endloop. endif. *documentation

perform get_docu using 'TB' <l_st_ztadir>-obj_name 'E' changing l_it_doc. *** loop at l_it_tabstrip assigning <l_st_tabstrip>. <l_st_tabstrip>-empty = abap_false. case <l_st_tabstrip>-id. when 'DOC'. if l_it_doc is initial. <l_st_tabstrip>-empty = abap_true. endif. when 'EXCLASS'. if l_it_exclass is initial. <l_st_tabstrip>-hidden = abap_true. endif. endcase. endloop. *HTML header perform html_main_header using tpt_ddic_stru txt_structure <l_st_ztadir>-obj_name txt_active___1 txt_short_text___2 <l_st_ztadir>-descript space l_it_tabstrip g_it_link changing l_it_html. *HTML enhancement category if not l_it_exclass is initial. perform html_add_box_radioButtons using txt_enhancement_category_for_s 'EXCLASS' l_it_exclass 'EXCLASS' abap_false changing l_it_html. endif. *HTML documentation if not l_it_doc is initial or g_empty_tab = g_c_empty_tab_display. perform html_add_doc using l_it_doc 'DOC' abap_false changing l_it_html. endif. *HTML attributes perform html_add_attributes_1

using l_st_attributes 'ATTRIBUTES' abap_false changing l_it_html. *HTML components perform html_add_table using 'TABL1COMPO' l_it_dd03p l_it_zdd03p_ext 'COMPONENTS' abap_true changing l_it_html. *HTML entry help check perform html_add_table using 'TABL1ENTRY' l_it_dd03p l_it_zdd03p_ext 'ENTRY_HELP_CHECK' abap_false changing l_it_html. *HTML curr quant fields perform html_add_table using 'TABL1CURRQ' l_it_dd03p l_it_zdd03p_ext 'CURR_QUANT_FIELDS' abap_false changing l_it_html. *HTML footer perform html_main_footer using l_it_html. * perform download using l_it_html <l_st_ztadir>-pgmid <l_st_ztadir>-object <l_st_ztadir>-obj_name g_c_extension_htm abap_true. endloop. endform. "r3tr_tabl_1 *----------------------------------------------------------------------* ddic_r3tr_tabl_2 SAP-Tabellen * (Datenbanktabellen) *----------------------------------------------------------------------form ddic_r3tr_tabl_2. data:

l_it_html type it_string, l_it_tabstrip type it_tabstrip, l_tabname type tabname, l_name_value type string, l_st_attributes type st_attributes, l_st_deliv_maint type st_deliv_maint, l_it_access type it_access, l_st_dd02v type dd02v, l_st_dd02v_n type dd02v, l_it_dd03p type standard table of dd03p, l_it_dd03p_n type standard table of dd03p, l_it_dd05m type standard table of dd05m, l_it_dd05m_n type standard table of dd05m, l_it_dd08v type standard table of dd08v, l_it_dd08v_n type standard table of dd08v, l_st_dd09l type dd09l, l_st_dd09v_n type dd09v, l_it_dd12v type standard table of dd12v, l_it_dd12v_n type standard table of dd12v, l_it_dd17v type standard table of dd17v, l_it_dd17v_n type standard table of dd17v, l_it_dd35v type standard table of dd35v, l_it_dd35v_n type standard table of dd35v, l_it_dd36m type standard table of dd36m, l_it_dd36m_n type standard table of dd36m, l_it_zdd03p_ext type it_zdd03p_ext, l_st_zdd03p_ext type st_zdd03p_ext, l_state type dctablget, l_it_doc type it_string, l_it_ddranking type it_dom_value, l_it_exclass type it_access, l_st_exclass type st_access, l_texttabname type tabname, l_text_obj_name type sobj_name, l_text_devclass type devclass, l_it_link type it_link, l_st_link type st_link, l_it_csv type it_string, l_it_xml type it_string, l_it_ts_params type it_textinput, l_it_ts_buffer type it_access, l_it_ts_buffer_type_l type it_textinput, l_it_ts_buffer_type_r type it_textinput, l_it_ts_bottom type it_textinput, l_st_textinput type st_textinput, l_st_access type st_access, l_ddtext type ddtext, l_it_dom_value type it_dom_value, l_it_tmg_tech_details type it_textinput, l_st_tddat type tddat, l_st_tbrgt type tbrgt, l_st_tvdir type tvdir, l_st_objh type objh, l_compare_flag type string. field-symbols: <l_st_ztadir> type st_ztadir, <l_st_dd03p> type dd03p, <l_st_ddranking> type st_dom_value,

<l_st_tabstrip> type st_tabstrip, <l_exclass> type any, <l_st_dom_value> type st_dom_value. perform get_tabstrip using 'DDIC_R3TR_TABL_2' space changing l_it_tabstrip. perform get_dom_value_texts using 'DDRANKING' changing l_it_ddranking. sort l_it_ddranking by value descending. loop at g_it_ztadir assigning <l_st_ztadir> where pgmid = 'R3TR' and object = 'TABL' and ( tabclass = 'CLUSTER' or tabclass = 'POOL' or tabclass = 'TRANSP' ) and downloaded = abap_false. <l_st_ztadir>-downloaded = abap_true. clear: l_st_attributes, l_st_dd09l, l_st_dd09v_n, l_state, l_texttabname, l_text_obj_name, l_text_devclass, l_st_textinput, l_ddtext, l_st_tddat, l_st_tbrgt, l_st_tvdir, l_st_objh, l_compare_flag. refresh: l_it_html, l_it_dd03p, l_it_dd03p_n, l_it_dd05m, l_it_dd05m_n, l_it_dd08v, l_it_dd08v_n, l_it_dd12v, l_it_dd12v_n, l_it_dd17v, l_it_dd17v_n, l_it_dd35v, l_it_dd35v_n, l_it_dd36m, l_it_dd36m_n, l_it_zdd03p_ext, l_it_doc, l_it_exclass, l_it_link, l_it_csv, l_it_xml, l_it_ts_params,

l_it_ts_buffer, l_it_ts_buffer_type_l, l_it_ts_buffer_type_r, l_it_ts_bottom, l_it_tmg_tech_details. l_tabname = <l_st_ztadir>-obj_name. call function 'DD_TABL_GET' exporting tabl_name = l_tabname withtext = abap_true add_typeinfo = abap_true importing dd02v_wa_a = l_st_dd02v dd02v_wa_n = l_st_dd02v_n dd09l_wa_a = l_st_dd09l dd09l_wa_n = l_st_dd09v_n got_state = l_state tables dd03p_tab_a = l_it_dd03p dd03p_tab_n = l_it_dd03p_n dd05m_tab_a = l_it_dd05m dd05m_tab_n = l_it_dd05m_n dd08v_tab_a = l_it_dd08v dd08v_tab_n = l_it_dd08v_n dd12v_tab_a = l_it_dd12v dd12v_tab_n = l_it_dd12v_n dd17v_tab_a = l_it_dd17v dd17v_tab_n = l_it_dd17v_n dd35v_tab_a = l_it_dd35v dd35v_tab_n = l_it_dd35v_n dd36m_tab_a = l_it_dd36m dd36m_tab_n = l_it_dd36m_n exceptions others = 1. if sy-subrc <> 0. <l_st_ztadir>-subrc = sy-subrc. continue. endif. loop at l_it_dd03p assigning <l_st_dd03p>. clear l_st_zdd03p_ext. case <l_st_dd03p>-shlporigin. when 'F'. l_st_zdd03p_ext-shlporigin_f = abap_true. when 'P'. l_st_zdd03p_ext-shlporigin_p = abap_true. endcase. if not <l_st_dd03p>-shlporigin is initial. perform get_dom_value_text using 'SHLPORIGIN' <l_st_dd03p>-shlporigin changing l_st_zdd03p_ext-shlporigin_ddtext. endif. append l_st_zdd03p_ext to l_it_zdd03p_ext. endloop. *attributes l_st_attributes-bname = l_st_dd02v-as4user. perform get_date

using l_st_dd02v-as4date changing l_st_attributes-date_last_changed. l_st_attributes-devclass = <l_st_ztadir>-devclass. perform get_devClass using <l_st_ztadir>-devclass changing l_st_attributes-devclass_descr. if l_st_dd02v-masterlang is initial. select single masterlang from tadir into l_st_dd02v-masterlang where pgmid = 'R3TR' and object = 'TABL' and obj_name = l_tabname. endif. perform get_spras using l_st_dd02v-masterlang changing l_st_attributes-laiso l_st_attributes-sptxt. perform get_user using l_st_dd02v-as4user changing l_st_attributes-name_text. *deliv maint l_st_deliv_maint-sqltab = l_st_dd02v-sqltab. l_st_deliv_maint-display_cont = abap_true. l_st_deliv_maint-contflag = l_st_dd02v-contflag. perform get_dom_value_text using 'CONTFLAG' l_st_dd02v-contflag changing l_st_deliv_maint-contflag_text. l_st_deliv_maint-display_main = abap_true. perform get_dom_value_text using 'MAINTFLAG' l_st_dd02v-mainflag changing l_st_deliv_maint-mainflag_text. *technical settings * logical storage parameters clear l_st_textinput. l_st_textinput-name = txt_data_class. l_st_textinput-value = l_st_dd09l-tabart. select single darttext from dartt into l_ddtext where tabart = l_st_dd09l-tabart and ddlangu = sy-langu. l_st_textinput-description = l_ddtext. l_st_textinput-input = abap_true. append l_st_textinput to l_it_ts_params. clear l_st_textinput. l_st_textinput-name = txt_size_category. l_st_textinput-value = l_st_dd09l-tabkat. l_st_textinput-input = abap_true. append l_st_textinput to l_it_ts_params.

buffering perform get_dom_value_texts using 'BUFALLOW' changing l_it_dom_value. loop at l_it_dom_value assigning <l_st_dom_value>. clear l_st_access. l_st_access-ddtext = <l_st_dom_value>-text. if <l_st_dom_value>-value = l_st_dd09l-bufallow. l_st_access-checked = abap_true. endif. append l_st_access to l_it_ts_buffer. endloop. * buffering type clear l_st_textinput. l_st_textinput-name = txt_single_records_buff. if l_st_dd09l-pufferung = 'P'. l_st_textinput-value = abap_true. endif. l_st_textinput-flag = abap_true. append l_st_textinput to l_it_ts_buffer_type_l. clear l_st_textinput. l_st_textinput-name = txt_generic_area_buffered. if l_st_dd09l-pufferung = 'G'. l_st_textinput-value = abap_true. endif. l_st_textinput-flag = abap_true. append l_st_textinput to l_it_ts_buffer_type_l. clear l_st_textinput. l_st_textinput-name = txt_fully_buffered. if l_st_dd09l-pufferung = 'X'. l_st_textinput-value = abap_true. endif. l_st_textinput-flag = abap_true. append l_st_textinput to l_it_ts_buffer_type_l. clear l_st_textinput. l_st_textinput-space = abap_true. append l_st_textinput to l_it_ts_buffer_type_r. clear l_st_textinput. l_st_textinput-name = txt_no_of_key_fields. perform get_unpacked using l_st_dd09l-schfeldanz changing l_st_textinput-value. l_st_textinput-input = abap_true. append l_st_textinput to l_it_ts_buffer_type_r. clear l_st_textinput. l_st_textinput-space = abap_true. append l_st_textinput to l_it_ts_buffer_type_r. * bottom clear l_st_textinput. l_st_textinput-name = txt_log_data_changes. l_st_textinput-value = l_st_dd09l-protokoll. l_st_textinput-flag = abap_true. append l_st_textinput to l_it_ts_bottom. *enhancement category assign component 'EXCLASS' of structure l_st_dd02v to <l_exclass>. if <l_exclass> is assigned. loop at l_it_ddranking assigning <l_st_ddranking>. l_st_exclass-ddtext = <l_st_ddranking>-text. l_st_exclass-checked = abap_false. if <l_st_ddranking>-value = <l_exclass>.

l_st_exclass-checked = abap_true. endif. append l_st_exclass to l_it_exclass. endloop. endif. *Table Maintenance Generator select single * from tvdir into l_st_tvdir where tabname = l_tabname. select single * from objh into l_st_objh where objectname = l_tabname and objecttype = 'S'. * technical dialog details select single * from tddat into l_st_tddat where tabname = l_tabname. select single * from tbrgt into l_st_tbrgt where brgru = l_st_tddat-cclass and spras = sy-langu. * clear l_st_textinput. l_st_textinput-name = txt_authorization_group. l_st_textinput-value = l_st_tddat-cclass. perform encode_html changing l_st_textinput-value. l_st_textinput-input = abap_true. l_st_textinput-description = l_st_tbrgt-bezei. perform encode_html changing l_st_textinput-description. append l_st_textinput to l_it_tmg_tech_details. * clear l_st_textinput. l_st_textinput-name = txt_authorization_object. l_st_textinput-value = l_st_tbrgt-brobj. append l_st_textinput to l_it_tmg_tech_details. * clear l_st_textinput. l_st_textinput-name = txt_function_group. l_st_textinput-value = l_st_tvdir-area. l_st_textinput-input = abap_true. append l_st_textinput to l_it_tmg_tech_details. * clear l_st_textinput. l_st_textinput-name = txt_package. l_st_textinput-value = l_st_tvdir-devclass. l_st_textinput-input = abap_true. append l_st_textinput to l_it_tmg_tech_details. * dialog data transport details perform get_dom_value_text using 'OBJIMP' l_st_objh-importable changing l_compare_flag. *Table Documentation perform get_docu using 'TB' <l_st_ztadir>-obj_name 'E' changing l_it_doc. *Text table clear l_st_link. call function 'TABLE_GET_TEXTTABLE' exporting checktable = l_tabname

importing tabname = l_texttabname exceptions others = 1. if sy-subrc = 0. l_text_obj_name = l_texttabname. select single devclass from tadir into l_text_devclass where pgmid = <l_st_ztadir>-pgmid and object = <l_st_ztadir>-object and obj_name = l_text_obj_name. if l_text_devclass = g_pack. concatenate l_texttabname '.' g_c_extension_htm into l_st_link-href. l_st_link-onclick = 'window.location=this.href'. endif. l_st_link-descript = txt_text_table. l_st_link-title = l_texttabname. append l_st_link to l_it_link. endif. *Content clear l_st_link. read table g_it_tadir transporting no fields with key obj_name = <l_st_ztadir>-obj_name. if sy-subrc = 0. * csv if g_add_db_format_csv = abap_true. perform data2csv using l_tabname changing l_it_csv. perform download using l_it_csv <l_st_ztadir>-pgmid <l_st_ztadir>-object <l_st_ztadir>-obj_name g_c_extension_csv abap_false. concatenate <l_st_ztadir>-obj_name '.' g_c_extension_csv into l_st_link-href. l_st_link-onclick = 'window.open(this.href)'. l_st_link-descript = g_c_extension_csv. append l_st_link to l_it_link. endif. * xml if g_add_db_format_xml = abap_true. perform data2xml using l_tabname changing l_it_xml. perform download using l_it_xml <l_st_ztadir>-pgmid <l_st_ztadir>-object <l_st_ztadir>-obj_name g_c_extension_xml abap_false. concatenate <l_st_ztadir>-obj_name '.' g_c_extension_xml into l_st_link-href. l_st_link-onclick = 'window.open(this.href)'. l_st_link-descript = g_c_extension_xml.

append l_st_link to l_it_link. endif. endif. *** loop at l_it_tabstrip assigning <l_st_tabstrip>. <l_st_tabstrip>-empty = abap_false. case <l_st_tabstrip>-id. when 'DOC'. if l_it_doc is initial. <l_st_tabstrip>-empty = abap_true. endif. when 'EXCLASS'. if l_it_exclass is initial. <l_st_tabstrip>-hidden = abap_true. endif. endcase. endloop. case <l_st_ztadir>-tabclass. when 'CLUSTER'. l_name_value = txt_cluster_table. when 'POOL'. l_name_value = txt_pooled_table. when 'TRANSP'. l_name_value = txt_transp_table. when others. l_name_value = txt_table. endcase. *HTML header perform html_main_header using tpt_ddic_tabl l_name_value <l_st_ztadir>-obj_name txt_active___1 txt_short_text___2 <l_st_ztadir>-descript space l_it_tabstrip l_it_link changing l_it_html. *HTML technical settings perform html_add_tech_settings using txt_logical_storage_parameters l_it_ts_params txt_buffering l_it_ts_buffer txt_buffering_type l_it_ts_buffer_type_l l_it_ts_buffer_type_r l_it_ts_bottom 'TECH_SETTINGS' abap_false changing l_it_html. *HTML enhancement category if not l_it_exclass is initial. perform html_add_box_radioButtons using

txt_enhancement_category_for_s 'EXCLASS' l_it_exclass 'EXCLASS' abap_false changing l_it_html. endif. *HTML table maintenance generator perform html_add_tableMaintGenerator using txt_technical_dialog_details l_it_tmg_tech_details txt_maintenance_screens l_st_tvdir-type l_st_tvdir-liste l_st_tvdir-detail txt_dialog_data_transport_deta l_st_tvdir-flag l_compare_flag 'TABLE_MAINT_GEN' abap_false changing l_it_html. *HTML documentation if not l_it_doc is initial or g_empty_tab = g_c_empty_tab_display. perform html_add_doc using l_it_doc 'DOC' abap_false changing l_it_html. endif. *HTML attributes perform html_add_attributes_1 using l_st_attributes 'ATTRIBUTES' abap_false changing l_it_html. perform html_add_deliv_maint using l_st_deliv_maint l_it_access 'DELIVMAINT' abap_false changing l_it_html. *HTML fields perform html_add_table using 'TABL2FIELD' l_it_dd03p l_it_zdd03p_ext 'FIELDS' abap_true changing

l_it_html. *HTML entry help check perform html_add_table using 'TABL2ENTRY' l_it_dd03p l_it_zdd03p_ext 'ENTRY_HELP_CHECK' abap_false changing l_it_html. *HTML curr quant fields perform html_add_table using 'TABL2CURRQ' l_it_dd03p l_it_zdd03p_ext 'CURR_QUANT_FIELDS' abap_false changing l_it_html. *HTML footer perform html_main_footer using l_it_html. perform download using l_it_html <l_st_ztadir>-pgmid <l_st_ztadir>-object <l_st_ztadir>-obj_name g_c_extension_htm abap_true. endloop. endform. "r3tr_tabl_2 *----------------------------------------------------------------------* ddic_r3tr_ttyp Tabellentypen *----------------------------------------------------------------------form ddic_r3tr_ttyp. data: l_it_html type it_string, l_it_tabstrip type it_tabstrip, l_typename type typename, l_it_dom_value_accessmode type it_dom_value, l_it_dom_value_keydef type it_dom_value, l_it_dom_value_keykind type it_dom_value, l_st_access type st_access, l_st_attributes type st_attributes, l_st_line_type type st_line_type, l_st_init_access type st_init_access, l_st_key type st_key, l_it_accessmode type it_access, l_it_keykind type it_access, l_it_keydef type it_access, l_st_dd40v type dd40v, l_st_dd40v_n type dd40v, l_st_dd42v type dd42v,

l_it_dd42v type standard table of dd42v, l_it_dd42v_n type standard table of dd42v, l_state type dcttypget, l_ttypkind type c. field-symbols: <l_datatype> type any, <l_dataleng> type any, <l_decimals> type any, <l_reftype> type any, <l_rowkind> type any, <l_rowtype> type any, <l_occurs> type any, <l_range_ctyp> type any, <l_ttypkind> type any, <l_st_ztadir> type st_ztadir, <l_st_dom_value> type st_dom_value. perform get_tabstrip using 'DDIC_R3TR_TTYP' space changing l_it_tabstrip. perform get_dom_value_texts using 'ACCESSMODE' changing l_it_dom_value_accessmode. perform get_dom_value_texts using 'TTYPKEYDEF' changing l_it_dom_value_keydef. perform get_dom_value_texts using 'KEYKIND' changing l_it_dom_value_keykind. loop at g_it_ztadir assigning <l_st_ztadir> where pgmid = 'R3TR' and object = 'TTYP' and downloaded = abap_false. <l_st_ztadir>-downloaded = abap_true. clear: l_st_attributes, l_st_line_type, l_st_init_access, l_st_key, l_ttypkind. refresh: l_it_html, l_it_dd42v, l_it_dd42v_n. l_typename = <l_st_ztadir>-obj_name. call function 'DD_TTYP_GET' exporting

ttyp_name = l_typename langu = sy-langu withtext = abap_true importing got_state = l_state dd40v_wa_a = l_st_dd40v dd40v_wa_n = l_st_dd40v_n tables dd42v_tab_a = l_it_dd42v dd42v_tab_n = l_it_dd42v_n exceptions others = 1. if sy-subrc <> 0. <l_st_ztadir>-subrc = sy-subrc. continue. endif. assign component 'TTYPKIND' of structure l_st_dd40v to <l_ttypkind>. if <l_ttypkind> is assigned. l_ttypkind = <l_ttypkind>. unassign <l_ttypkind>. endif. *attributes l_st_attributes-bname = l_st_dd40v-as4user. perform get_date using l_st_dd40v-as4date changing l_st_attributes-date_last_changed. l_st_attributes-devclass = <l_st_ztadir>-devclass. perform get_devClass using <l_st_ztadir>-devclass changing l_st_attributes-devclass_descr. if l_st_dd40v-ddlanguage is initial. select single masterlang from tadir into l_st_dd40v-ddlanguage where pgmid = 'R3TR' and object = 'TTYP' and obj_name = l_typename. endif. perform get_spras using l_st_dd40v-ddlanguage changing l_st_attributes-laiso l_st_attributes-sptxt. perform get_user using l_st_dd40v-as4user changing l_st_attributes-name_text. *linetype l_st_line_type-rowkind = l_st_dd40v-rowkind. assign component 'ROWKIND' of structure l_st_dd40v to <l_rowkind>. if <l_rowkind> is assigned. l_st_line_type-rowkind = <l_rowkind>. unassign <l_rowkind>. endif. assign component 'ROWTYPE' of structure l_st_dd40v to <l_rowtype>. if <l_rowtype> is assigned.

l_st_line_type-rowtype = <l_rowtype>. unassign <l_rowtype>. endif. perform get_dom_value_text using 'TYPEKIND' l_st_dd40v-rowtype changing l_st_line_type-rowdescr. assign component 'DATATYPE' of structure l_st_dd40v to <l_datatype>. if <l_datatype> is assigned. l_st_line_type-datatype = <l_datatype>. unassign <l_datatype>. endif. assign component 'LENG' of structure l_st_dd40v to <l_dataleng>. if <l_dataleng> is assigned. l_st_line_type-dataleng = <l_dataleng>. unassign <l_dataleng>. endif. assign component 'DECIMALS' of structure l_st_dd40v to <l_decimals>. if <l_decimals> is assigned. l_st_line_type-datadeci = <l_decimals>. unassign <l_decimals>. endif. l_st_line_type-datadeci = l_st_dd40v-decimals. assign component 'REFTYPE' of structure l_st_dd40v to <l_reftype>. if <l_reftype> is assigned. l_st_line_type-reftype = <l_reftype>. perform get_dom_value_text using 'DDREFTYPE' <l_reftype> changing l_st_line_type-refdescr. unassign <l_reftype>. else. l_st_line_type-reftype = '#'. " R/3 4.6 does not know ref type endif. assign component 'RANGE_CTYP' of structure l_st_dd40v to <l_range_ctyp>. if <l_range_ctyp> is assigned. l_st_line_type-range_ctyp = <l_range_ctyp>. unassign <l_range_ctyp>. endif. assign component 'CTDATATYPE' of structure l_st_dd40v to <l_datatype>. if <l_datatype> is assigned. l_st_line_type-ctdatatype = <l_datatype>. unassign <l_datatype>. endif. assign component 'CTLENG' of structure l_st_dd40v to <l_dataleng>. if <l_dataleng> is assigned. l_st_line_type-ctleng = <l_dataleng>. unassign <l_dataleng>. endif. assign component 'CTDECIMALS' of structure l_st_dd40v to <l_decimals>. if <l_decimals> is assigned. l_st_line_type-ctdecimals = <l_decimals>. unassign <l_decimals>.

endif. *initaccess assign component 'OCCURS' of structure l_st_dd40v to <l_occurs>. if <l_occurs> is assigned. l_st_init_access-occurs = <l_occurs>. unassign <l_occurs>. else. l_st_init_access-unknown = abap_true. endif. refresh l_it_accessmode. loop at l_it_dom_value_accessmode assigning <l_st_dom_value>. clear l_st_access. l_st_access-ddtext = <l_st_dom_value>-text. if l_st_dd40v-accessmode = <l_st_dom_value>-value. l_st_access-checked = abap_true. endif. append l_st_access to l_it_accessmode. endloop. *key refresh l_it_keydef. loop at l_it_dom_value_keydef assigning <l_st_dom_value>. clear l_st_access. l_st_access-ddtext = <l_st_dom_value>-text. if l_st_dd40v-keydef = <l_st_dom_value>-value. l_st_access-checked = abap_true. endif. append l_st_access to l_it_keydef. endloop. refresh l_it_keykind. loop at l_it_dom_value_keykind assigning <l_st_dom_value>. clear l_st_access. l_st_access-ddtext = <l_st_dom_value>-text. if l_st_dd40v-keykind = <l_st_dom_value>-value. l_st_access-checked = abap_true. endif. append l_st_access to l_it_keykind. endloop. *** if l_st_dd40v-generic = abap_true. l_st_line_type-info = txt_type_is_generic. l_st_init_access-info1 = txt_type_is_generic. l_st_key-info = txt_type_is_generic. endif. if l_ttypkind = 'R'. l_st_init_access-info2 = txt_access_type_is_given_for_a. concatenate txt_key_attribute_defined_for1 txt_key_attribute_defined_for2 into l_st_key-info separated by space. endif. ************** perform html_main_header using tpt_ddic_ttyp txt_table_type <l_st_ztadir>-obj_name txt_active___1

txt_short_text___2 <l_st_ztadir>-descript space l_it_tabstrip g_it_link changing l_it_html. *HTML attributes perform html_add_attributes_1 using l_st_attributes 'ATTRIBUTES' abap_false changing l_it_html. *HTML line type if l_ttypkind = 'R'. perform html_add_line_type_2 using l_st_line_type 'LINETYPE' abap_true changing l_it_html. else. perform html_add_line_type_1 using l_st_line_type 'LINETYPE' abap_true changing l_it_html. endif. *HTML init access perform html_add_init_access using l_st_init_access l_it_accessmode 'INITACCESS' abap_false changing l_it_html. *HTML key perform html_add_key using l_st_key l_it_keydef l_it_keykind 'TTYP_DD42V' l_it_dd42v 'KEY' abap_false changing l_it_html. * perform html_main_footer using l_it_html. perform download

using l_it_html <l_st_ztadir>-pgmid <l_st_ztadir>-object <l_st_ztadir>-obj_name g_c_extension_htm abap_true. endloop. endform. "r3tr_ttyp *----------------------------------------------------------------------* ddic_r3tr_type Suchhilfen *----------------------------------------------------------------------form ddic_r3tr_type. data: l_it_html type it_string, l_progname type progname, l_st_trdir type trdir, l_it_source type it_string, l_st_attributes type st_attributes, l_it_tabstrip type it_tabstrip. field-symbols: <l_st_ztadir> type st_ztadir. perform get_tabstrip using 'DDIC_R3TR_TYPE' space changing l_it_tabstrip. loop at g_it_ztadir assigning <l_st_ztadir> where pgmid = 'R3TR' and object = 'TYPE' and downloaded = abap_false. <l_st_ztadir>-downloaded = abap_true. clear: l_st_attributes. refresh: l_it_html. concatenate '%_C' <l_st_ztadir>-obj_name into l_progname. select single * from trdir into l_st_trdir where name = l_progname. if sy-subrc <> 0. <l_st_ztadir>-subrc = sy-subrc. continue. endif. l_st_attributes-bname = l_st_trdir-unam. perform get_date using l_st_trdir-udat changing l_st_attributes-date_last_changed. l_st_attributes-devclass = <l_st_ztadir>-devclass. perform get_devClass using

<l_st_ztadir>-devclass changing l_st_attributes-devclass_descr. if l_st_trdir-rload is initial. select single masterlang from tadir into l_st_trdir-rload where pgmid = 'R3TR' and object = 'TYPE' and obj_name = <l_st_ztadir>-obj_name. endif. perform get_spras using l_st_trdir-rload changing l_st_attributes-laiso l_st_attributes-sptxt. perform get_user using l_st_trdir-unam changing l_st_attributes-name_text. perform try_read_report using l_progname changing l_it_source. perform html_main_header using tpt_ddic_type txt_type_group <l_st_ztadir>-obj_name txt_active___1 txt_short_text___2 <l_st_ztadir>-descript 'makeDivSize(''SOURCECODE'')' l_it_tabstrip g_it_link changing l_it_html. perform html_add_attributes_1 using l_st_attributes 'ATTRIBUTES' abap_false changing l_it_html. perform html_add_sourceCode using l_it_source <l_st_ztadir>-obj_name space space g_c_extension_txt 'SOURCECODE' abap_true changing l_it_html. perform html_main_footer using l_it_html. perform download

using l_it_html <l_st_ztadir>-pgmid <l_st_ztadir>-object <l_st_ztadir>-obj_name g_c_extension_htm abap_true. if g_add_sourcecode = abap_true. perform download using l_it_source <l_st_ztadir>-pgmid <l_st_ztadir>-object <l_st_ztadir>-obj_name g_c_extension_txt abap_false. endif. endloop. endform. "r3tr_type *----------------------------------------------------------------------* ddic_r3tr_view Aggregat-Header * (Views, Matchcode-Objekte, Sperrobjekte) *----------------------------------------------------------------------form ddic_r3tr_view. data: l_it_html type it_string, l_it_tabstrip type it_tabstrip, l_viewname type viewname, l_st_attributes type st_attributes, l_st_tabname type st_tabname, l_it_tabname type it_tabname, l_st_join_conditions type st_join_conditions, l_it_join_conditions type it_join_conditions, l_it_tables type it_tables, l_st_table type st_table_structure, l_st_deliv_maint type st_deliv_maint, l_it_dom_value_viewgrant type it_dom_value, l_it_access type it_access, l_st_access type st_access, l_st_dd09v type dd09v, l_st_dd09v_n type dd09v, l_st_dd25v type dd25v, l_st_dd25v_n type dd25v, l_it_dd26v type standard table of dd26v, l_it_dd26v_n type standard table of dd26v, l_it_dd27p type standard table of dd27p, l_it_dd27p_n type standard table of dd27p, l_it_dd28v type standard table of dd28v, l_it_dd28v_n type standard table of dd28v, l_state type dcviewget, l_id type string, l_txt_viewclass type as4text, l_it_ts_buffer type it_access, l_it_ts_buffer_type_l type it_textinput, l_it_ts_buffer_type_r type it_textinput, l_st_textinput type st_textinput, l_ddtext type ddtext,

l_it_dom_value type it_dom_value, l_it_create type it_string, l_filename type string. field-symbols: <l_st_ztadir> type st_ztadir, <l_st_dom_value> type st_dom_value, <l_st_dd26v> type dd26v, <l_st_dd27p> type dd27p, <l_st_dd28v> type dd28v, <l_st_tabstrip> type st_tabstrip. perform get_dom_value_texts using 'VIEWGRANT' changing l_it_dom_value_viewgrant. loop at g_it_ztadir assigning <l_st_ztadir> where pgmid = 'R3TR' and object = 'VIEW' and downloaded = abap_false. <l_st_ztadir>-downloaded = abap_true. clear: l_st_attributes, l_txt_viewclass, l_st_textinput, l_ddtext, l_filename. refresh: l_it_html, l_it_dd26v, l_it_dd26v_n, l_it_dd27p, l_it_dd27p_n, l_it_dd28v, l_it_dd28v_n, l_it_ts_buffer, l_it_ts_buffer_type_l, l_it_ts_buffer_type_r, l_it_create. l_viewname = <l_st_ztadir>-obj_name. call function 'DD_VIEW_GET' exporting view_name = l_viewname langu = sy-langu withtext = abap_true importing dd25v_wa_a = l_st_dd25v dd25v_wa_n = l_st_dd25v_n dd09l_wa_a = l_st_dd09v dd09l_wa_n = l_st_dd09v_n got_state = l_state tables dd26v_tab_a = l_it_dd26v dd26v_tab_n = l_it_dd26v_n dd27p_tab_a = l_it_dd27p

dd27p_tab_n = l_it_dd27p_n dd28v_tab_a = l_it_dd28v dd28v_tab_n = l_it_dd28v_n exceptions others = 1. if sy-subrc <> 0. <l_st_ztadir>-subrc = sy-subrc. continue. endif. *attributes l_st_attributes-bname = l_st_dd25v-as4user. perform get_date using l_st_dd25v-as4date changing l_st_attributes-date_last_changed. l_st_attributes-devclass = <l_st_ztadir>-devclass. perform get_devClass using <l_st_ztadir>-devclass changing l_st_attributes-devclass_descr. if l_st_dd25v-masterlang is initial. select single masterlang from tadir into l_st_dd25v-masterlang where pgmid = 'R3TR' and object = 'VIEW' and obj_name = l_viewname. endif. perform get_spras using l_st_dd25v-masterlang changing l_st_attributes-laiso l_st_attributes-sptxt. perform get_user using l_st_dd25v-as4user changing l_st_attributes-name_text. if l_st_dd25v-viewclass co 'A'. l_st_attributes-display_appview = abap_true. l_st_attributes-appview = l_st_dd25v-roottab. endif. *technical settings if not l_st_dd09v-tabname is initial. * buffering perform get_dom_value_texts using 'BUFALLOW' changing l_it_dom_value. loop at l_it_dom_value assigning <l_st_dom_value>. clear l_st_access. l_st_access-ddtext = <l_st_dom_value>-text. if <l_st_dom_value>-value = l_st_dd09v-bufallow. l_st_access-checked = abap_true. endif. append l_st_access to l_it_ts_buffer. endloop. * buffering type clear l_st_textinput. l_st_textinput-name = txt_single_records_buff.

if l_st_dd09v-pufferung = 'P'. l_st_textinput-value = abap_true. endif. l_st_textinput-flag = abap_true. append l_st_textinput to l_it_ts_buffer_type_l. clear l_st_textinput. l_st_textinput-name = txt_generic_area_buffered. if l_st_dd09v-pufferung = 'G'. l_st_textinput-value = abap_true. endif. l_st_textinput-flag = abap_true. append l_st_textinput to l_it_ts_buffer_type_l. clear l_st_textinput. l_st_textinput-name = txt_fully_buffered. if l_st_dd09v-pufferung = 'X'. l_st_textinput-value = abap_true. endif. l_st_textinput-flag = abap_true. append l_st_textinput to l_it_ts_buffer_type_l. clear l_st_textinput. l_st_textinput-space = abap_true. append l_st_textinput to l_it_ts_buffer_type_r. clear l_st_textinput. l_st_textinput-name = txt_no_of_key_fields. perform get_unpacked using l_st_dd09v-schfeldanz changing l_st_textinput-value. l_st_textinput-input = abap_true. append l_st_textinput to l_it_ts_buffer_type_r. clear l_st_textinput. l_st_textinput-space = abap_true. append l_st_textinput to l_it_ts_buffer_type_r. endif. *CREATE Statement call function 'DB_GET_VIEW_DEFINITION_RAW' exporting viewname = l_viewname tables text_tab = l_it_create exceptions others = 1. *tables for joining refresh l_it_tabname. * data loop at l_it_dd26v assigning <l_st_dd26v>. l_st_tabname-tabname = <l_st_dd26v>-tabname. append l_st_tabname to l_it_tabname. endloop. sort l_it_tabname by tabname. delete adjacent duplicates from l_it_tabname. *join conditions - data refresh l_it_join_conditions. if l_st_dd25v-viewclass co 'HDCV'. * data refresh l_it_join_conditions. sort l_it_dd28v by position. loop at l_it_dd28v assigning <l_st_dd28v>. if <l_st_dd28v>-negation = 'JL'. l_st_join_conditions-tabname_l = <l_st_dd28v>-tabname.

l_st_join_conditions-fieldname_l = <l_st_dd28v>-fieldname. perform get_GUI_operator using <l_st_dd28v>-operator changing l_st_join_conditions-operator. else. l_st_join_conditions-tabname_r = <l_st_dd28v>-tabname. l_st_join_conditions-fieldname_r = <l_st_dd28v>-fieldname. append l_st_join_conditions to l_it_join_conditions. endif. endloop. endif. *selection condition if l_st_dd25v-viewclass co 'HDCV'. delete l_it_dd28v where constants = space. endif. *maint status - access refresh l_it_access. loop at l_it_dom_value_viewgrant assigning <l_st_dom_value>. clear l_st_access. if l_st_dd25v-viewclass co 'HCV' or <l_st_dom_value>-value na 'MU'. l_st_access-ddtext = <l_st_dom_value>-text. if l_st_dd25v-viewgrant = <l_st_dom_value>-value. l_st_access-checked = abap_true. endif. append l_st_access to l_it_access. endif. endloop. *maint status - others clear l_st_deliv_maint. l_st_deliv_maint-display_cont = abap_false. l_st_deliv_maint-display_main = abap_false. if l_st_dd25v-viewclass co 'CV'. l_st_deliv_maint-display_cont = abap_true. l_st_deliv_maint-contflag = l_st_dd25v-customauth. perform get_dom_value_text using 'CONTFLAG' l_st_dd25v-customauth changing l_st_deliv_maint-contflag_text. endif. if l_st_dd25v-viewclass co 'DPCV'. l_st_deliv_maint-display_main = abap_true. perform get_dom_value_text using 'MAINTFLAG' l_st_dd25v-globalflag changing l_st_deliv_maint-mainflag_text. endif. ***Tabstrip perform get_tabstrip using 'DDIC_R3TR_VIEW' l_st_dd25v-viewclass changing l_it_tabstrip. loop at l_it_tabstrip assigning <l_st_tabstrip>. <l_st_tabstrip>-empty = abap_false.

case <l_st_tabstrip>-id. when 'CREATE'. if l_it_create is initial. <l_st_tabstrip>-empty = abap_true. endif. when 'SELECTIONCONDITIONS'. if l_it_dd28v is initial. <l_st_tabstrip>-empty = abap_true. endif. endcase. endloop. *HTML header perform get_dom_value_text using 'VIEWCLASS' l_st_dd25v-viewclass changing l_txt_viewclass. perform html_main_header using tpt_ddic_view l_txt_viewclass <l_st_ztadir>-obj_name txt_active___1 txt_short_text___2 <l_st_ztadir>-descript space l_it_tabstrip g_it_link changing l_it_html. *HTML technical settings if l_st_dd25v-viewclass co 'HDPSCV'. perform html_add_box1RB_subbox2TI using txt_buffering l_it_ts_buffer txt_buffering_type l_it_ts_buffer_type_l l_it_ts_buffer_type_r 'TECH_SETTINGS' abap_false changing l_it_html. endif. *HTML CREATE Statement if l_st_dd25v-viewclass co 'HDPSCV'. if not l_it_create is initial or g_empty_tab = g_c_empty_tab_display. concatenate l_viewname '_CREATE' into l_filename. perform html_add_sourceCode using l_it_create l_filename space space g_c_extension_txt 'CREATE' abap_false

changing l_it_html. if not l_it_create is initial and g_add_sourcecode = abap_true. perform download using l_it_create <l_st_ztadir>-pgmid <l_st_ztadir>-object l_filename g_c_extension_txt abap_false. endif. endif. endif. *HTML attributes perform html_add_attributes_1 using l_st_attributes 'ATTRIBUTES' abap_false changing l_it_html. *HTML table/join conditions if l_st_dd25v-viewclass co 'HDCV'. perform html_add_table2hor using 'VIEW_JOINT' l_it_tabname l_it_tabname 'VIEW_JOINC' l_it_join_conditions l_it_join_conditions 'TABJOINCONDITIONS' abap_false changing l_it_html. endif. *HTML view fields concatenate 'VIEW_FIELD|' l_st_dd25v-viewclass into l_id. if l_st_dd25v-viewclass co 'HDPCV'. perform html_add_table using l_id l_it_dd27p l_it_dd27p 'VIEWFIELDS' abap_true changing l_it_html. elseif l_st_dd25v-viewclass co 'AS'. perform html_add_table2hor using 'VIEW_JOINT' l_it_tabname l_it_tabname l_id l_it_dd27p l_it_dd27p 'VIEWFIELDS'

abap_true changing l_it_html. endif. *HTML selection conditions if l_st_dd25v-viewclass co 'HDCV'. if not l_it_dd28v is initial or g_empty_tab = g_c_empty_tab_display. perform html_add_table using 'VIEW_SELEC' l_it_dd28v l_it_dd28v 'SELECTIONCONDITIONS' abap_false changing l_it_html. endif. endif. *HTML maint status if l_st_dd25v-viewclass co 'HDCV'. perform html_add_deliv_maint using l_st_deliv_maint l_it_access 'DELIVMAINT' abap_false changing l_it_html. endif. *HTML footer perform html_main_footer using l_it_html. *download perform download using l_it_html <l_st_ztadir>-pgmid <l_st_ztadir>-object <l_st_ztadir>-obj_name g_c_extension_htm abap_true. endloop. endform. "r3tr_view *&---------------------------------------------------------------------* *& Include ZSOFTCOPY_FUGR * *& * *&---------------------------------------------------------------------* *& * *& 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 <http://www.gnu.org/licenses/>. * *& * *&---------------------------------------------------------------------* *& * *& Author: Ruediger von Creytz ruediger.creytz@globalbit.net * *& Copyright: globalBIT, LLC http://www.globalbit.net * *& * *&---------------------------------------------------------------------* *----------------------------------------------------------------------* fugr *----------------------------------------------------------------------form fugr. *FUGR perform fugr_r3tr_fugr. *INCL perform fugr_r3tr_includes. *MOD perform fugr_r3tr_modules. *Screen perform fugr_r3tr_screen. endform. "fugr

*----------------------------------------------------------------------* fugr_get_feldtab *----------------------------------------------------------------------form fugr_get_feldtab using i_st_d020s type d020s i_it_d021s type it_d021s i_o_control_composite type ref to cl_dynpro_control_composite i_st_dynpro_release type st_dynpro_release changing c_it_feld type it_feld c_it_feld_redef type it_feld_redef. data: l_st_d021s_res1 like d021s_res1, l_st_feld type feld, l_st_feld_redef type st_feld_redef, l_st_func_old type st_dynpro_function_old, l_st_func_new type st_dynpro_function_new, l_length type i, l_strlen type i. field-symbols: <l_st_d021s> type d021s, <l_recentry> type any. constants: l_c_flg1ddf l_c_flg1ddm l_c_flg1edt l_c_flg1scr type type type type x x x x value value value value '20', '10', '80', '01',

l_c_flg3obl type x value '20', l_c_fmb1ges type x value '20', l_c_fmb1out type x value '01', l_c_st_dynpro_rel_400 type st_dynpro_release l_c_st_dynpro_rel_401 type st_dynpro_release l_c_st_dynpro_rel_402 type st_dynpro_release l_c_st_dynpro_rel_46a type st_dynpro_release l_c_st_dynpro_rel_610 type st_dynpro_release refresh: c_it_feld, c_it_feld_redef. loop at clear clear clear clear clear i_it_d021s assigning <l_st_d021s>. l_st_d021s_res1. l_st_feld. l_st_feld_redef. l_st_func_new. l_st_func_old.

value value value value value

'4.00', '4.01', '4.02', '4.60', '6.10'.

l_st_d021s_res1 = <l_st_d021s>-res1. l_st_feld-name = <l_st_d021s>-fnam. l_st_feld-dynnr = i_st_d020s-dnum. l_st_feld-line = <l_st_d021s>-line. if ( <l_st_d021s>-lanf <> 0 and <l_st_d021s>-ltyp = 'T' ) or ( <l_st_d021s>-ltyp = 'I' and <l_st_d021s>-fill = 'P' ) or <l_st_d021s>-ltyp = 'S'. l_st_feld-coln = <l_st_d021s>-coln. else. l_st_feld-coln = <l_st_d021s>-coln - 1. endif. l_st_feld-leng = <l_st_d021s>-leng. l_st_feld-vleng = 1. if <l_st_d021s>-didx <= 0. if <l_st_d021s>-stxt(1) = '@'. if <l_st_d021s>-leng > 2. l_st_feld-vleng = <l_st_d021s>-leng - 2. endif. else. if <l_st_d021s>-leng > 1. l_st_feld-vleng = <l_st_d021s>-leng. endif. endif. else. if <l_st_d021s>-fill ca 'TBSUIR'. l_st_feld-vleng = <l_st_d021s>-leng. else. if <l_st_d021s>-flg1 z l_c_flg1edt. if <l_st_d021s>-ltyp ca 'TP'. l_st_feld-vleng = <l_st_d021s>-didx. else. if <l_st_d021s>-didx > 0. l_st_feld-vleng = <l_st_d021s>-didx. else.

l_st_feld-vleng = <l_st_d021s>-leng. endif. endif. else. l_st_feld-vleng = <l_st_d021s>-didx. endif. endif. endif. l_st_feld-high = 1. if <l_st_d021s>-didx > 0 and <l_st_d021s>-fill ca 'TBSUIR'. l_st_feld-high = <l_st_d021s>-didx. endif. if <l_st_d021s>-flg1 O l_c_flg1edt and <l_st_d021s>-flg1 O l_c_flg1scr and <l_st_d021s>-fill na 'TSI'. l_st_feld-scroll = abap_true. else. l_st_feld-scroll = abap_false. endif. if <l_st_d021s>-type = 'STRG' or <l_st_d021s>-type = 'RSTR' or <l_st_d021s>-type = 'SSTR'. l_st_feld-scroll = abap_true. endif. if <l_st_d021s>-flg1 o l_c_flg1ddf. l_st_feld-dict = abap_true. else. l_st_feld-dict = abap_false. endif. if <l_st_d021s>-flg1 o l_c_flg1edt. if <l_st_d021s>-flg1 o l_c_flg1ddf and <l_st_d021s>-flg1 o l_c_flg1ddm. l_st_feld-dmod = abap_true. endif. else. if <l_st_d021s>-flg1 o l_c_flg1ddf. if <l_st_d021s>-ityp = '4'. l_st_feld-dmod = '4'. else. if <l_st_d021s>-ityp = '1' or <l_st_d021s>-ityp = '2' or <l_st_d021s>-ityp = '3'. if <l_st_d021s>-flg1 o l_c_flg1ddm. l_st_feld-dmod = <l_st_d021s>-ityp. else. l_st_feld-dmod = 'V'. endif. elseif <l_st_d021s>-ityp = '0'. if <l_st_d021s>-flg1 o l_c_flg1ddm. l_st_feld-dmod = 'F'. else. l_st_feld-dmod = 'V'. endif. else. l_st_feld-dmod = 'F'.

endif. endif. endif. endif. l_st_feld-grp1 l_st_feld-grp2 l_st_feld-grp3 l_st_feld-grp4 = = = = <l_st_d021s>-grp1. <l_st_d021s>-grp2. <l_st_d021s>-grp3. <l_st_d021s>-grp4.

if <l_st_d021s>-ltyp = 'L'. l_st_feld-loop = <l_st_d021s>-lrep. if i_st_d020s-valp = <l_st_d021s>-lanf. l_st_feld-ltyp = 'Var'(a01). else. l_st_feld-ltyp = 'Fix'(a02). endif. endif. if <l_st_d021s>-fmb1 o l_c_fmb1ges. l_st_feld-fobl = 'N'. elseif <l_st_d021s>-flg3 o l_c_flg3obl. l_st_feld-fobl = 'O'. l_st_feld-fein = abap_true. else. l_st_feld-fein = abap_true. assign component 'RECENTRY' of structure l_st_d021s_res1 to <l_recentry>. if <l_recentry> is assigned and not <l_recentry> is initial. l_st_feld-fobl = 'R'. endif. unassign <l_recentry>. endif. perform get_dom_value_text using 'SCRPFOBL' l_st_feld-fobl changing l_st_feld_redef-fobl. if <l_st_d021s>-fill <> 'R'. l_st_feld-fout = abap_true. endif. perform fugr_get_feld_fill_na_btisu using <l_st_d021s> i_st_dynpro_release changing l_st_feld. l_st_feld-colr = <l_st_d021s>-colr. l_st_feld-mtch = <l_st_d021s>-dmac. l_st_feld-waer = <l_st_d021s>-wnam. if i_st_dynpro_release <= l_c_st_dynpro_rel_400. l_st_func_old = <l_st_d021s>-dmac. l_st_feld-fcod = l_st_func_old-code. l_st_feld-ptype = l_st_func_old-type. elseif i_st_dynpro_release <= l_c_st_dynpro_rel_402. l_st_func_new = <l_st_d021s>-dmac. l_st_feld-fcod = l_st_func_new-code. l_st_feld-ptype = l_st_func_new-type. else. l_st_feld-fcod = l_st_d021s_res1-funccode. l_st_feld-ptype = l_st_d021s_res1-functype.

endif. if l_st_d021s_res1-ctmenuflg = abap_true. l_st_feld-ctmenust = abap_true. l_st_feld-ctmenuprog = l_st_d021s_res1-ctmenuprog. l_st_feld-ctmenustat = l_st_d021s_res1-ctmenustat. else. l_st_feld-ctmenudy = abap_true. l_st_feld-ctmenuonct = l_st_d021s_res1-ctmenustat. endif. call method i_o_control_composite->get_ccname exporting cuco_name = <l_st_d021s>-fnam importing cc_name = l_st_feld-ccname exceptions others = 1. call function 'RS_SCRP_GET_FIELD_TYPE_TEXT' exporting field = <l_st_d021s> text_kind = 'SHORT' importing field_type_without_modif = l_st_feld-gtyp exceptions others = 1. l_st_feld-stxt = <l_st_d021s>-stxt. l_st_feld-dropfrom = l_st_d021s_res1-dropval. if l_st_d021s_res1-dropdown = 'D'. case l_st_d021s_res1-dropstyle. when 'K'. l_st_feld-dropdown = l_st_d021s_res1-dropstyle. when others. l_st_feld-dropdown = l_st_d021s_res1-droptyp. endcase. perform get_dom_value_text using 'SCRPCOTYPE' l_st_feld-dropdown changing l_st_feld_redef-dropdown. endif. if <l_st_d021s>-colr = '8'. l_st_feld-extend = 'N'. elseif <l_st_d021s>-colr = '7'. l_st_feld-extend = 'C'. endif. if <l_st_d021s>-fill ca l_st_feld-hierarchy = endif. if <l_st_d021s>-ltyp ca l_st_feld-hierarchy = endif. 'BTSUI'. '+ '. 'TSI'. ' -'.

perform fugr_get_feld_icon using <l_st_d021s> changing l_st_feld.

l_st_feld-prog = i_st_d020s-prog. l_st_feld-dnum = i_st_d020s-dnum. *post processing case <l_st_d021s>-ltyp. when 'O'. "OK-Code l_st_feld-type = ' OK '. l_st_feld-line = '0'. l_st_feld-coln = '0'. l_st_feld-leng = l_st_feld-vleng. l_st_feld-fein = abap_undefined. l_st_feld-fout = abap_undefined. l_st_feld-oout = abap_undefined. l_st_feld_redef-fobl = space. l_st_feld-fixf = abap_false. when others. l_st_feld-type = <l_st_d021s>-type. endcase. case <l_st_d021s>-fill. when 'C'. "Checkbutton l_st_feld-scroll = abap_undefined. l_st_feld-icon_x = abap_undefined. l_st_feld_redef-fobl = space. l_st_feld-fixf = abap_false. when 'P'. "Pushbutton l_st_feld-scroll = abap_undefined. l_st_feld_redef-fobl = space. when 'R'. "Frame l_st_feld-fout = abap_true. l_st_feld-scroll = abap_undefined. l_st_feld_redef-fobl = space. when 'T'. l_st_feld_redef-fobl = space. endcase. case l_st_feld-gtyp. when 'Check'. if <l_st_d021s>-ityp = '0'. l_st_feld-scroll = abap_undefined. l_st_feld-fein = abap_false. l_st_feld-fout = abap_false. l_st_feld-oout = abap_false. l_st_feld-type = space. l_st_feld-icon_x = abap_undefined. l_st_feld_redef-fobl = space. l_st_feld-paid = space. l_st_feld-cmbfoc = abap_false. l_st_feld-ucnv = space. endif. when 'CuCtr'. l_st_feld-scroll = abap_undefined. l_st_feld-fein = abap_false. l_st_feld-fout = abap_false. l_st_feld-oout = abap_false. l_st_feld-type = space. l_st_feld-icon_x = abap_undefined. l_st_feld_redef-fobl = space. l_st_feld-paid = space.

l_st_feld-cmbfoc = abap_false. l_st_feld-ucnv = space. when 'Frame'. l_st_feld-scroll = abap_undefined. l_st_feld-icon_x = abap_undefined. if l_st_feld-stxt cn ' _'. l_st_feld-fein = abap_false. l_st_feld-fout = abap_false. l_st_feld-oout = abap_false. l_st_feld-type = space. l_st_feld_redef-fobl = space. l_st_feld-paid = space. l_st_feld-cmbfoc = abap_false. l_st_feld-ucnv = space. endif. when 'I/O'. if i_st_dynpro_release <= l_c_st_dynpro_rel_402. l_st_feld-fixf = abap_false. endif. when 'Push'. l_st_feld-scroll = abap_undefined. l_st_feld-mtch = space. if <l_st_d021s>-flg1 z l_c_flg1edt. l_st_feld-fein = abap_false. l_st_feld-fout = abap_false. l_st_feld-oout = abap_false. l_st_feld-type = space. l_st_feld-icon_x = abap_undefined. l_st_feld_redef-fobl = space. l_st_feld-paid = space. l_st_feld-cmbfoc = abap_false. l_st_feld-ucnv = space. endif. when 'Radio'. l_st_feld-scroll = abap_undefined. l_st_feld-icon_x = abap_undefined. l_st_feld_redef-fobl = space. if l_st_feld-fcod is initial. l_st_feld-fein = abap_false. l_st_feld-fout = abap_false. l_st_feld-oout = abap_false. l_st_feld-type = space. l_st_feld-icon_x = abap_undefined. l_st_feld_redef-fobl = space. l_st_feld-paid = space. l_st_feld-cmbfoc = abap_false. l_st_feld-ucnv = space. endif. when 'SubSc'. l_st_feld-scroll = abap_undefined. l_st_feld-icon_x = abap_undefined. l_st_feld_redef-fobl = space. if l_st_feld-fcod is initial. l_st_feld-fein = abap_false. l_st_feld-fout = abap_false. l_st_feld-oout = abap_false. l_st_feld-type = space. l_st_feld-icon_x = abap_undefined. l_st_feld_redef-fobl = space. l_st_feld-paid = space.

l_st_feld-cmbfoc = abap_false. l_st_feld-ucnv = space. endif. when 'Table'. l_st_feld-fein = abap_false. l_st_feld-fout = abap_false. l_st_feld-oout = abap_false. l_st_feld-type = space. l_st_feld-dict = abap_false. l_st_feld-dmod = abap_false. when 'TbStr'. l_st_feld-scroll = abap_undefined. l_st_feld-fein = abap_false. l_st_feld-fout = abap_false. l_st_feld-oout = abap_false. l_st_feld-type = space. l_st_feld-icon_x = abap_undefined. l_st_feld_redef-fobl = space. l_st_feld-paid = space. l_st_feld-cmbfoc = abap_false. l_st_feld-ucnv = space. when 'Text'. l_st_feld-scroll = abap_undefined. l_st_feld-fein = abap_false. l_st_feld-fout = abap_false. l_st_feld-oout = abap_false. l_st_feld-type = space. l_st_feld-icon_x = abap_undefined. l_st_feld_redef-fobl = space. l_st_feld-paid = space. l_st_feld-cmbfoc = abap_false. l_st_feld-ucnv = space. if l_st_feld-fixf = abap_false and l_st_feld-hell = abap_false and l_st_feld-unsi = abap_false and <l_st_d021s>-ltyp = space and l_st_feld-labelright = abap_false and <l_st_d021s>-flg1 <> '00'. l_st_feld-labelleft = abap_true. endif. endcase. if not l_st_feld-stxt is initial. if l_st_feld-stxt na '_'. l_length = <l_st_d021s>-leng. if l_length > 132. l_length = 132. endif. l_strlen = strlen( l_st_feld-stxt ). while l_strlen < l_length. concatenate l_st_feld-stxt '_' into l_st_feld-stxt. l_strlen = strlen( l_st_feld-stxt ). endwhile. endif. if <l_st_d021s>-fill = 'R'. l_strlen = strlen( l_st_feld-stxt ). l_length = l_strlen - 2. if l_length > 0. l_st_feld-stxt = l_st_feld-stxt+0(l_length). endif.

endif. endif. append l_st_feld to c_it_feld. append l_st_feld_redef to c_it_feld_redef. endloop. endform. "get_feldtab *----------------------------------------------------------------------* fugr_get_feld_fill_na_btisu *----------------------------------------------------------------------form fugr_get_feld_fill_na_btisu using i_st_d021s type d021s i_st_dynpro_release type st_dynpro_release changing c_st_feld type feld. data: l_st_d021s_res1 like d021s_res1. constants: l_c_flg1ddf type x value '20', l_c_flg1edt type x value '80', l_c_flg1osb type x value '04', l_c_flg2gks type x value '02', l_c_flg2gpa type x value '08', l_c_flg2jus type x value '20', l_c_flg2nrs type x value '40', l_c_flg2spa type x value '04', l_c_flg2str type x value '80', l_c_flg3fdu type x value '02', l_c_flg3fix type x value '40', l_c_flg3fku type x value '08', l_c_flg3for type x value '04', l_c_flg3out type x value '80', l_c_fmb1d23 type x value '02', l_c_fmb1dnk type x value '04', l_c_fmb1fix type x value '40', l_c_fmb1ges type x value '20', l_c_fmb1hll type x value '08', l_c_fmb1out type x value '01', l_c_fmb2cmb type x value '08', l_c_fmb2cmi type x value '04', l_c_fmb2cmu type x value '10', l_c_st_dynpro_rel_400 type st_dynpro_release l_c_st_dynpro_rel_401 type st_dynpro_release l_c_st_dynpro_rel_402 type st_dynpro_release l_c_st_dynpro_rel_46a type st_dynpro_release l_c_st_dynpro_rel_610 type st_dynpro_release check i_st_d021s-fill na 'BTISU'. l_st_d021s_res1 = i_st_d021s-res1. if i_st_d021s-flg2 o l_c_flg2str. c_st_feld-fstr = abap_true. endif.

value value value value value

'4.00', '4.01', '4.02', '4.60', '6.10'.

if i_st_d021s-flg2 o l_c_flg2nrs. c_st_feld-fnrs = abap_true. endif. if i_st_d021s-flg2 o l_c_flg2gks. c_st_feld-fgks = abap_true. endif. if i_st_d021s-flg3 o l_c_flg3fix. c_st_feld-ffix = abap_true. endif. if i_st_d021s-flg1 o l_c_flg1osb. c_st_feld-fosb = abap_true. endif. if i_st_d021s-flg2 o l_c_flg2jus. c_st_feld-fjus = abap_true. endif. if i_st_d021s-fill = '0'. c_st_feld-fill = abap_true. endif. if i_st_d021s-flg2 o l_c_flg2gpa. c_st_feld-fgpa = abap_true. endif. if i_st_d021s-flg2 o l_c_flg2spa. c_st_feld-fspa = abap_true. endif. if i_st_d021s-flg1 o l_c_flg1ddf and i_st_d021s-flg3 o l_c_flg3for and i_st_d021s-flg3 z l_c_flg3fdu and i_st_d021s-flg3 z l_c_flg3fku. c_st_feld-ffky = 'X'. endif. if i_st_d021s-flg1 o l_c_flg1edt. if i_st_d021s-fmb1 z l_c_fmb1ges. c_st_feld-fein = abap_true. else. c_st_feld-fein = abap_false. endif. if i_st_d021s-flg3 o l_c_flg3out. c_st_feld-fout = abap_true. else. c_st_feld-fout = abap_false. endif. if i_st_d021s-fmb1 o l_c_fmb1out. c_st_feld-oout = abap_true. else. c_st_feld-oout = abap_false. endif. endif. c_st_feld-paid = i_st_d021s-paid. c_st_feld-ucnv = i_st_d021s-ucnv. if i_st_d021s-fmb1 o l_c_fmb1hll. c_st_feld-hell = abap_true. endif. if i_st_d021s-fmb1 o l_c_fmb1dnk. c_st_feld-unsi = abap_true. endif. if i_st_d021s-fmb1 o l_c_fmb1d23. c_st_feld-no3d = abap_true. endif. if i_st_dynpro_release <= l_c_st_dynpro_rel_402. if c_st_feld-oout = abap_true

and c_st_feld-fout = abap_true and i_st_d021s-flg3 z l_c_flg3out. c_st_feld-fixf = abap_true. elseif c_st_feld-oout = abap_false and i_st_d021s-fmb1 o l_c_fmb1out. c_st_feld-fixf = abap_true. endif. endif. if i_st_d021s-fmb1 o l_c_fmb1fix. c_st_feld-fixf = abap_true. endif. c_st_feld-labelleft = l_st_d021s_res1-labelleft. c_st_feld-labelright = l_st_d021s_res1-labelright. c_st_feld-dblclick = l_st_d021s_res1-dblclick. if i_st_d021s-fill <> 'P' and i_st_d021s-dmac <> space. c_st_feld-cmbfoc = abap_true. endif. if i_st_d021s-fmb2 z l_c_fmb2cmb. c_st_feld-cmbfoc = abap_false. else. c_st_feld-cmbfoc = abap_true. endif. if i_st_d021s-fmb2 z l_c_fmb2cmu and i_st_d021s-fmb2 z l_c_fmb2cmi. c_st_feld-cmbtast = space. elseif i_st_d021s-fmb2 o l_c_fmb2cmu and i_st_d021s-fmb2 o l_c_fmb2cmi. c_st_feld-cmbtast = '0'. elseif i_st_d021s-fmb2 o l_c_fmb2cmu and i_st_d021s-fmb2 z l_c_fmb2cmi. c_st_feld-cmbtast = '1'. elseif i_st_d021s-fmb2 z l_c_fmb2cmu and i_st_d021s-fmb2 o l_c_fmb2cmi. c_st_feld-cmbtast = '2'. endif. endform. "get_feld_fill_na_btisu *----------------------------------------------------------------------* fugr_get_feld_icon *----------------------------------------------------------------------form fugr_get_feld_icon using i_st_d021s type d021s changing c_st_feld type feld. data: l_icon_id_pure(2) type c, l_st_icon type icon, l_st_icont type icont, l_id_and_param(132) type c, l_is_non_icon type flag, l_pos_at type i, l_quick_is type flag, l_strlen type i.

field-symbols: <l_fs> type any. constants: l_c_flg1edt type x value '80'. check i_st_d021s-stxt(1) = '@'. assign i_st_d021s-stxt+1(*) to <l_fs>. if <l_fs> ca '@'. l_pos_at = sy-fdpos + 1. l_id_and_param = <l_fs>(sy-fdpos). if l_id_and_param cs '\Q'. l_quick_is = abap_true. split l_id_and_param at '\Q' into l_icon_id_pure c_st_feld-icon_q. concatenate '@' l_icon_id_pure '@' into c_st_feld-icon. else. l_quick_is = abap_false. concatenate '@' l_id_and_param '@' into c_st_feld-icon. endif. if c_st_feld-icon = '@@'. clear c_st_feld-icon. l_is_non_icon = abap_true. endif. select single * from icon into l_st_icon where id = c_st_feld-icon. if sy-subrc = 0. select single * from icont into l_st_icont where id = c_st_feld-icon and langu = sy-langu. c_st_feld-icon_n = l_st_icon-name. else. c_st_feld-icon_n = space. endif. if c_st_feld-icon_q is initial and l_quick_is = abap_false. c_st_feld-icon_q = l_st_icont-quickinfo. endif. l_pos_at = l_pos_at + 1. assign i_st_d021s-stxt+l_pos_at(*) to <l_fs>. l_strlen = strlen( <l_fs> ). if l_strlen > 0. if l_is_non_icon = abap_true. else. l_pos_at = l_pos_at + 1. endif. c_st_feld-stxt = i_st_d021s-stxt+l_pos_at. else. c_st_feld-stxt = space. endif. endif. unassign <l_fs>. if c_st_feld-icon = '@00@' and i_st_d021s-flg1 o l_c_flg1edt.

c_st_feld-icon_x = abap_true. endif. endform. "get_feld_icon *----------------------------------------------------------------------* fugr_r3tr_fugr Function group *----------------------------------------------------------------------form fugr_r3tr_fugr. data: l_progname type progname, l_it_tabstrip type it_tabstrip, l_st_textinput type st_textinput, l_it_attributes type it_textinput, l_it_documentation type it_string, l_st_progdir type progdir, l_st_tadir type tadir, l_name type ad_namtext, l_it_html type it_string. field-symbols: <l_st_ztadir> type st_ztadir, <l_st_tabstrip> type st_tabstrip. *Tabstrip perform get_tabstrip using 'FUGR_R3TR_FUGR' space changing l_it_tabstrip. loop at g_it_ztadir assigning <l_st_ztadir> where pgmid = 'R3TR' and object = 'FUGR' and futype = g_c_futype_group and downloaded = abap_false. <l_st_ztadir>-downloaded = abap_true. clear: l_name, l_progname, l_st_progdir, l_st_tadir. refresh: l_it_attributes, l_it_documentation, l_it_html. concatenate 'SAPL' <l_st_ztadir>-obj_name into l_progname. select single * from progdir into l_st_progdir where name = l_progname. select single * from tadir into l_st_tadir where pgmid = 'R3TR' and object = 'FUGR' and obj_name = <l_st_ztadir>-obj_name. *Attributes * Function group clear l_st_textinput.

l_st_textinput-name = txt_function_group. l_st_textinput-input = abap_true. l_st_textinput-value = <l_st_ztadir>-obj_name. append l_st_textinput to l_it_attributes. Description clear l_st_textinput. l_st_textinput-name = txt_short_text___1. l_st_textinput-input = abap_true. l_st_textinput-value = <l_st_ztadir>-descript. append l_st_textinput to l_it_attributes. Empty row clear l_st_textinput. l_st_textinput-space = abap_true. append l_st_textinput to l_it_attributes. Person responsible clear l_st_textinput. l_st_textinput-name = txt_person_responsible___1. l_st_textinput-input = abap_true. l_st_textinput-value = l_st_tadir-author. perform get_user using l_st_tadir-author changing l_name. l_st_textinput-value_text = l_name. append l_st_textinput to l_it_attributes. Package clear l_st_textinput. l_st_textinput-name = txt_package. l_st_textinput-input = abap_true. l_st_textinput-value = l_st_tadir-devclass. append l_st_textinput to l_it_attributes. Application clear l_st_textinput. l_st_textinput-name = txt_application. l_st_textinput-input = abap_true. l_st_textinput-value = l_st_progdir-appl. append l_st_textinput to l_it_attributes. Status clear l_st_textinput. l_st_textinput-name = txt_status. l_st_textinput-input = abap_true. if l_st_progdir-state = 'A'. l_st_textinput-value = txt_activated. else. l_st_textinput-value = txt_inactive. endif. append l_st_textinput to l_it_attributes. Program status clear l_st_textinput. l_st_textinput-name = txt_program_status. l_st_textinput-input = abap_true. l_st_textinput-value = l_st_progdir-rstat. perform get_dom_value_text using 'RSTAT' l_st_progdir-rstat changing l_st_textinput-value_text. append l_st_textinput to l_it_attributes. Editor lock clear l_st_textinput. l_st_textinput-name = txt_editor_lock.

l_st_textinput-flag = abap_true. l_st_textinput-value = l_st_progdir-edtx. append l_st_textinput to l_it_attributes. * Fixed point arithmetic clear l_st_textinput. l_st_textinput-name = txt_fixed_point_arithmetic. l_st_textinput-flag = abap_true. l_st_textinput-value = l_st_progdir-fixpt. append l_st_textinput to l_it_attributes. * Unicode checks active clear l_st_textinput. l_st_textinput-name = txtt_unicode_checks_active. l_st_textinput-flag = abap_true. l_st_textinput-value = l_st_progdir-uccheck. append l_st_textinput to l_it_attributes. *Documentation perform get_docu using 'RE' l_progname 'E' changing l_it_documentation. ***Tabstrip loop at l_it_tabstrip assigning <l_st_tabstrip>. <l_st_tabstrip>-empty = abap_false. case <l_st_tabstrip>-id. when 'DOCUMENTATION'. if l_it_documentation is initial. <l_st_tabstrip>-empty = abap_true. endif. endcase. endloop. *** HTML perform html_main_header using tpt_fugr_fugr space <l_st_ztadir>-obj_name space space space 'makeDivSize(''MAIN_PROG'');makeDivSize(''DOCUMENTATION'');' l_it_tabstrip g_it_link changing l_it_html. * Attributes perform html_add_textInput using l_it_attributes 'ATTRIBUTES' abap_true changing l_it_html. *Main program perform add_report_sourceCode using l_progname

l_progname g_c_extension_txt abap_true <l_st_ztadir> 'MAIN_PROG' abap_false changing l_it_html. *Documentation if not l_it_documentation is initial or g_empty_tab = g_c_empty_tab_display. perform html_add_doc using l_it_documentation 'DOCUMENTATION' abap_false changing l_it_html. endif. * perform html_main_footer using l_it_html. perform download using l_it_html <l_st_ztadir>-pgmid <l_st_ztadir>-object l_progname g_c_extension_htm abap_true. endloop. endform. "r3tr_fugr

*----------------------------------------------------------------------* fugr_r3tr_includes Includes *----------------------------------------------------------------------form fugr_r3tr_includes. data: l_it_tabstrip type it_tabstrip, l_it_html type it_string, l_st_attributes type st_attributes, l_it_textinput type it_textinput, l_it_textinput_box type it_textinput, l_st_textinput type st_textinput, l_masterlang type masterlang, l_filename type string, l_st_trdir type trdir, l_laiso type laiso, l_sptxt type sptxt, l_name type ad_namtext, l_text type as4text, l_atext type appltxt. field-symbols: <l_st_ztadir> type st_ztadir.

*Tabstrip perform get_tabstrip using 'FUGR_R3TR_INCLUDES' space changing l_it_tabstrip. loop at g_it_ztadir assigning <l_st_ztadir> where pgmid = 'R3TR' and object = 'FUGR' and futype = g_c_futype_include and downloaded = abap_false. clear: l_st_attributes, l_st_trdir, l_text, l_atext. refresh: l_it_html, l_it_textinput, l_it_textinput_box. select single * from trdir into l_st_trdir where name = <l_st_ztadir>-progname. if sy-subrc <> 0. <l_st_ztadir>-subrc = sy-subrc. continue. endif. *Attributes * Title clear l_st_textinput. l_st_textinput-name = txt_title. l_st_textinput-value = <l_st_ztadir>-descript. l_st_textinput-value_double_length = abap_true. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput. * Original Language clear l_st_textinput. l_st_textinput-name = txt_original_language. l_masterlang = l_st_trdir-rload. if l_masterlang is initial. l_masterlang = <l_st_ztadir>-masterlang. endif. perform get_spras using l_masterlang changing l_laiso l_sptxt. l_st_textinput-value = l_laiso. l_st_textinput-description = l_sptxt. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput. * Space clear l_st_textinput. l_st_textinput-space = abap_true. append l_st_textinput to l_it_textinput. * Created

clear l_st_textinput. l_st_textinput-name = txt_created. perform get_date using l_st_trdir-cdat changing l_st_textinput-value. l_st_textinput-value_ext = l_st_trdir-cnam. perform get_user using l_st_trdir-cnam changing l_name. l_st_textinput-value_ext_text = l_name. l_st_textinput-has_value_ext = abap_true. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput. * Last changed by clear l_st_textinput. l_st_textinput-name = txt_last_changed_by___1. perform get_date using l_st_trdir-udat changing l_st_textinput-value. l_st_textinput-value_ext = l_st_trdir-unam. perform get_user using l_st_trdir-unam changing l_name. l_st_textinput-value_ext_text = l_name. l_st_textinput-input = abap_true. l_st_textinput-has_value_ext = abap_true. append l_st_textinput to l_it_textinput. * Status clear l_st_textinput. l_st_textinput-name = txt_status. l_st_textinput-value = txt_active___1. append l_st_textinput to l_it_textinput. *Attributes - Box * Type clear l_st_textinput. l_st_textinput-name = txt_type___1. perform get_dom_value_text using 'SUBC' l_st_trdir-subc changing l_st_textinput-value. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput_box. * Status clear l_st_textinput. l_st_textinput-name = txt_status. perform get_dom_value_text using 'RSTAT' l_st_trdir-rstat changing

l_st_textinput-value. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput_box. * Application clear l_st_textinput. l_st_textinput-name = txt_application. select single atext from taplt into l_atext where appl = l_st_trdir-appl and sprsl = sy-langu. l_st_textinput-value = l_atext. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput_box. * Space clear l_st_textinput. l_st_textinput-space = abap_true. append l_st_textinput to l_it_textinput_box. * Package clear l_st_textinput. l_st_textinput-name = txt_package. l_st_textinput-value = <l_st_ztadir>-devclass. perform get_devClass using <l_st_ztadir>-devclass changing l_text. l_st_textinput-description = l_text. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput_box. * Space clear l_st_textinput. l_st_textinput-space = abap_true. append l_st_textinput to l_it_textinput_box. * Editor lock clear l_st_textinput. l_st_textinput-name = txt_editor_lock. l_st_textinput-value = l_st_trdir-edtx. l_st_textinput-flag = abap_true. append l_st_textinput to l_it_textinput_box. *** HTML perform html_main_header using tpt_fugr_incl space "l_name_field <l_st_ztadir>-progname txt_active___1 space space 'makeDivSize(''SOURCECODE'');' l_it_tabstrip g_it_link changing l_it_html. * Attributes perform html_add_textInput_subBox using l_it_textinput txt_attributes___2 l_it_textinput_box 'ATTRIBUTES' abap_false

changing l_it_html. * Source code perform add_report_sourceCode using <l_st_ztadir>-progname <l_st_ztadir>-progname g_c_extension_txt abap_false <l_st_ztadir> 'SOURCECODE' abap_true changing l_it_html. * perform html_main_footer using l_it_html. perform download using l_it_html <l_st_ztadir>-pgmid <l_st_ztadir>-object <l_st_ztadir>-progname g_c_extension_htm abap_true. <l_st_ztadir>-downloaded = abap_true. endloop. endform. "r3tr_incl *----------------------------------------------------------------------* fugr_r3tr_modules Funktionsbausteine *----------------------------------------------------------------------form fugr_r3tr_modules. data: l_st_tabstrip type st_tabstrip, l_it_tabstrip type it_tabstrip, l_it_classification type it_textinput, l_st_classification type st_textinput, l_it_processing_type type it_access, l_st_processing_type type st_access, l_it_general_data type it_textinput, l_st_general_data type st_textinput, l_it_html type it_string, l_it_ptfdir type standard table of tfdir, l_st_ptfdir type tfdir, l_it_ptftit type standard table of tftit, l_st_ptftit type tftit, l_it_pfunct type standard table of funct, l_st_pfunct type funct, l_it_penlfdir type standard table of enlfdir, l_st_penlfdir type enlfdir, l_it_ptrdir type standard table of trdir, l_st_ptrdir type trdir, l_it_pfupararef type standard table of sfupararef, l_it_uincl type it_abaptxt255, l_it_vsmodisrc type standard table of smodisrc,

l_it_vsmodilog type standard table of smodilog, l_it_parameter type it_parameter, l_st_parameter type st_parameter, l_it_importing type it_parameter, l_it_exporting type it_parameter, l_it_changing type it_parameter, l_it_table type it_parameter, l_it_exception type it_parameter, l_kind type char1, l_it_doku type it_string, l_it_documentation type it_string, l_it_sourcecode type it_string, l_sourcecode type string, l_namtext type ad_namtext, l_javascript type string, l_id type string, l_filename type string, l_on type flag, l_areat type areat. field-symbols: <l_st_tabstrip> type st_tabstrip, <l_st_ztadir> type st_ztadir, <l_st_parameter> type st_parameter, <l_st_pfupararef> type sfupararef, <l_st_uincl> type st_abaptxt255. loop at g_it_ztadir assigning <l_st_ztadir> where pgmid = 'R3TR' and object = 'FUGR' and futype = g_c_futype_module and downloaded = abap_false. <l_st_ztadir>-downloaded = abap_true. clear: l_st_classification, l_st_general_data, l_javascript, l_st_parameter, l_st_penlfdir, l_st_pfunct, l_st_processing_type, l_st_ptfdir, l_st_ptftit, l_st_ptrdir, l_sourcecode, l_areat. refresh: l_it_changing, l_it_classification, l_it_exception, l_it_exporting, l_it_general_data, l_it_html, l_it_importing, l_it_parameter, l_it_processing_type, l_it_sourcecode,

l_it_table, l_it_uincl. call function 'FUNC_GET_OBJECT' exporting funcname = <l_st_ztadir>-funcname r3state = 'A' tables ptfdir = l_it_ptfdir ptftit = l_it_ptftit pfunct = l_it_pfunct penlfdir = l_it_penlfdir ptrdir = l_it_ptrdir pfupararef = l_it_pfupararef uincl = l_it_uincl vsmodisrc = l_it_vsmodisrc vsmodilog = l_it_vsmodilog exceptions others = 1. if sy-subrc <> 0. <l_st_ztadir>-subrc = sy-subrc. continue. endif. if not read endif. if not read endif. if not read endif. if not read endif. l_it_ptfdir is initial. table l_it_ptfdir into l_st_ptfdir index 1. l_it_ptftit is initial. table l_it_ptftit into l_st_ptftit index 1. l_it_penlfdir is initial. table l_it_penlfdir into l_st_penlfdir index 1. l_it_ptrdir is initial. table l_it_ptrdir into l_st_ptrdir index 1.

*Attributes - Classification l_st_classification-name = txt_function_group. l_st_classification-value = l_st_penlfdir-area. l_st_classification-input = abap_true. l_st_classification-has_value_ext = abap_true. select single areat from tlibt into l_areat where area = <l_st_ztadir>-obj_name and spras = sy-langu. l_st_classification-value_ext = l_areat. append l_st_classification to l_it_classification. clear l_st_classification. l_st_classification-name = txt_short_text___1. l_st_classification-value = l_st_ptftit-stext. l_st_classification-input = abap_true. append l_st_classification to l_it_classification. *Attributes - Processing type l_st_processing_type-ddtext = txt_normal_function_module. if l_st_ptfdir-fmode is initial and l_st_ptfdir-utask is initial. l_st_processing_type-checked = abap_true. else. l_st_processing_type-checked = abap_true. endif.

append l_st_processing_type to l_it_processing_type. l_st_processing_type-ddtext = txt_remote_enabled_module. if not l_st_ptfdir-fmode is initial. l_st_processing_type-checked = abap_true. else. l_st_processing_type-checked = abap_true. endif. append l_st_processing_type to l_it_processing_type. l_st_processing_type-ddtext = txt_update_module. if not l_st_ptfdir-utask is initial. l_st_processing_type-checked = abap_true. else. l_st_processing_type-checked = abap_true. endif. append l_st_processing_type to l_it_processing_type. l_st_processing_type-ddtext = txt_start_immed. l_st_processing_type-sub = '1'. if l_st_ptfdir-utask is initial or l_st_ptfdir-utask = '1'. l_st_processing_type-checked = abap_true. else. l_st_processing_type-checked = abap_false. endif. append l_st_processing_type to l_it_processing_type. l_st_processing_type-ddtext = txt_immediate_start_no_restart. l_st_processing_type-sub = '1'. if l_st_ptfdir-utask = '3'. l_st_processing_type-checked = abap_true. else. l_st_processing_type-checked = abap_false. endif. append l_st_processing_type to l_it_processing_type. l_st_processing_type-ddtext = txt_start_delayed. l_st_processing_type-sub = '1'. if l_st_ptfdir-utask = '2'. l_st_processing_type-checked = abap_true. else. l_st_processing_type-checked = abap_false. endif. append l_st_processing_type to l_it_processing_type. l_st_processing_type-ddtext = txt_coll_run. l_st_processing_type-sub = '1'. if l_st_ptfdir-utask = '5'. l_st_processing_type-checked = abap_true. else. l_st_processing_type-checked = abap_false. endif. append l_st_processing_type to l_it_processing_type. *Attributes - General Data l_st_general_data-name = txt_person_responsible___1. l_st_general_data-input = abap_true. l_st_general_data-value = l_st_ptrdir-cnam. perform get_user using l_st_ptrdir-cnam changing l_namtext. l_st_general_data-value_text = l_namtext. append l_st_general_data to l_it_general_data.

clear l_st_general_data. l_st_general_data-name = txt_last_changed_by___2. l_st_general_data-input = abap_true. l_st_general_data-value = l_st_ptrdir-unam. perform get_user using l_st_ptrdir-unam changing l_namtext. l_st_general_data-value_text = l_namtext. append l_st_general_data to l_it_general_data. clear l_st_general_data. l_st_general_data-name = txt_changed_on. l_st_general_data-input = abap_true. perform get_date using l_st_ptrdir-udat changing l_st_general_data-value. append l_st_general_data to l_it_general_data. l_st_general_data-name = txt_package. l_st_general_data-input = abap_true. l_st_general_data-value = <l_st_ztadir>-devclass. append l_st_general_data to l_it_general_data. l_st_general_data-name = txt_program_name. l_st_general_data-input = abap_true. l_st_general_data-value = l_st_ptfdir-pname. append l_st_general_data to l_it_general_data. l_st_general_data-name = txt_include_name. l_st_general_data-input = abap_true. l_st_general_data-value = l_st_ptrdir-name. append l_st_general_data to l_it_general_data. l_st_general_data-name = txt_original_language. l_st_general_data-input = abap_true. l_st_general_data-value = l_st_ptftit-spras. append l_st_general_data to l_it_general_data. if not l_st_ptfdir-freedate is initial and l_st_ptfdir-freedate > 19000101. l_st_general_data-name = txt_internally_released_on. perform get_date using l_st_ptfdir-freedate changing l_st_general_data-value. l_st_general_data-input = abap_true. else. l_st_general_data-name = txt_not_released. l_st_general_data-value = space. l_st_general_data-input = abap_false. endif. append l_st_general_data to l_it_general_data. clear l_st_general_data. l_st_general_data-name = txt_edit_lock. l_st_general_data-flag = abap_true. l_st_general_data-value = l_st_ptrdir-edtx. append l_st_general_data to l_it_general_data. l_st_general_data-name = txt_global. l_st_general_data-flag = abap_true. l_st_general_data-value = l_st_penlfdir-global. append l_st_general_data to l_it_general_data. *Parameter sort l_it_pfupararef by pposition. loop at l_it_pfupararef assigning <l_st_pfupararef>. clear l_st_parameter. l_kind = 'P'.

if <l_st_pfupararef>-paramtype = 'X'. l_kind = 'X'. endif. l_st_parameter-name = <l_st_pfupararef>-parameter. if <l_st_pfupararef>-type = abap_true. l_st_parameter-typing = 'TYPE'. elseif <l_st_pfupararef>-ref_class = abap_true. l_st_parameter-typing = 'TYPE REF TO'. else. l_st_parameter-typing = 'LIKE'. endif. l_st_parameter-structure = <l_st_pfupararef>-structure. l_st_parameter-defvalue = <l_st_pfupararef>-defaultval. l_st_parameter-optional = <l_st_pfupararef>-optional. if <l_st_pfupararef>-reference = abap_false. l_st_parameter-passvalue = abap_true. endif. read table l_it_pfunct into l_st_pfunct with key parameter = <l_st_pfupararef>-parameter kind = l_kind spras = sy-langu. if sy-subrc <> 0. read table l_it_pfunct into l_st_pfunct with key parameter = <l_st_pfupararef>-parameter kind = l_kind spras = sy-langu. endif. l_st_parameter-stext = l_st_pfunct-stext. Long Text l_st_parameter-ltext_doku_obj = <l_st_ztadir>-funcname. l_st_parameter-ltext_doku_obj+30 = <l_st_pfupararef>-parameter. select single object from dokhl into l_st_parameter-ltext_doku_obj where id = 'FU' and object = l_st_parameter-ltext_doku_obj and langu = sy-langu. if sy-subrc = 0. l_st_parameter-ltext = '-->'. concatenate 'switchContent(''LTEXT_' <l_st_pfupararef>-parameter ''')' into l_st_parameter-ltext_onclick. else. clear l_st_parameter-ltext_doku_obj. endif. Append append l_st_parameter to l_it_parameter. case <l_st_pfupararef>-paramtype. when 'I'. "Importing append l_st_parameter to l_it_importing. when 'E'. "Exporting append l_st_parameter to l_it_exporting. when 'C'. "Changing append l_st_parameter to l_it_changing. when 'T'. "Tables append l_st_parameter to l_it_table. when 'X'. "Exceptions append l_st_parameter to l_it_exception. endcase. endloop.

*Documentation perform get_docu using 'FU' <l_st_ztadir>-funcname 'T' changing l_it_documentation. *SourceCode loop at l_it_uincl assigning <l_st_uincl>. l_sourcecode = <l_st_uincl>-line. append l_sourcecode to l_it_sourcecode. endloop. ***Tabstrip perform get_tabstrip using 'FUGR_R3TR_MODULES' space changing l_it_tabstrip. loop at l_it_tabstrip assigning <l_st_tabstrip>. <l_st_tabstrip>-empty = abap_false. case <l_st_tabstrip>-id. when 'DOCUMENTATION'. if l_it_documentation is initial. <l_st_tabstrip>-empty = abap_true. endif. when 'IMPORT'. if l_it_importing is initial. <l_st_tabstrip>-empty = abap_true. endif. when 'EXPORT'. if l_it_exporting is initial. <l_st_tabstrip>-empty = abap_true. endif. when 'CHANGING'. if l_it_changing is initial. <l_st_tabstrip>-empty = abap_true. endif. when 'TABLES'. if l_it_table is initial. <l_st_tabstrip>-empty = abap_true. endif. when 'EXCEPTIONS'. if l_it_exception is initial. <l_st_tabstrip>-empty = abap_true. endif. when 'SOURCECODE'. if l_it_sourcecode is initial. <l_st_tabstrip>-empty = abap_true. endif. endcase. endloop. * Long text concatenate 'makeDivSize(''DOCUMENTATION'');' 'makeDivSize(''SOURCECODE'');' into l_javascript. loop at l_it_parameter assigning <l_st_parameter>

where ltext = '-->'. clear l_st_tabstrip. concatenate 'LTEXT_' <l_st_parameter>-name into l_st_tabstrip-id. l_st_tabstrip-hidden = abap_true. append l_st_tabstrip to l_it_tabstrip. concatenate l_javascript 'makeDivSize(''' l_st_tabstrip-id ''');' into l_javascript. endloop. *** HTML perform html_main_header using tpt_fugr_fuba txt_function_module <l_st_ztadir>-funcname txt_active___1 space space l_javascript l_it_tabstrip g_it_link changing l_it_html. * Attributes if l_it_sourcecode is initial and g_empty_tab <> g_c_empty_tab_display. l_on = abap_true. else. l_on = abap_false. endif. perform html_add_box1TI_2RB_TI using txt_classification l_it_classification txt_processing_type 'PTYPE' l_it_processing_type txt_general_data l_it_general_data 'ATTRIBUTES' l_on changing l_it_html. * Importing if not l_it_importing is initial or g_empty_tab = g_c_empty_tab_display. perform html_add_table using 'MODU_IMPOR' l_it_importing l_it_importing 'IMPORT' abap_false changing l_it_html. endif. * Exporting

if not l_it_exporting is initial or g_empty_tab = g_c_empty_tab_display. perform html_add_table using 'MODU_EXPOR' l_it_exporting l_it_exporting 'EXPORT' abap_false changing l_it_html. endif. Changing if not l_it_changing is initial or g_empty_tab = g_c_empty_tab_display. perform html_add_table using 'MODU_IMPOR' l_it_changing l_it_changing 'CHANGING' abap_false changing l_it_html. endif. Tables if not l_it_table is initial or g_empty_tab = g_c_empty_tab_display. perform html_add_table using 'MODU_TABLE' l_it_table l_it_table 'TABLES' abap_false changing l_it_html. endif. Exceptions if not l_it_exception is initial or g_empty_tab = g_c_empty_tab_display. perform html_add_table using 'MODU_EXCEP' l_it_exception l_it_exception 'EXCEPTIONS' abap_false changing l_it_html. endif. SourceCode if not l_it_sourcecode is initial or g_empty_tab = g_c_empty_tab_display. if g_add_sourcecode = abap_true. l_filename = <l_st_ztadir>-funcname. perform download using l_it_sourcecode <l_st_ztadir>-pgmid

<l_st_ztadir>-object l_filename g_c_extension_txt abap_false. endif. perform html_add_sourceCode using l_it_sourcecode l_filename space space g_c_extension_txt 'SOURCECODE' abap_true changing l_it_html. endif. Documentation if not l_it_documentation is initial or g_empty_tab = g_c_empty_tab_display. perform html_add_doc using l_it_documentation 'DOCUMENTATION' abap_false changing l_it_html. endif. Long texts loop at l_it_parameter assigning <l_st_parameter> where ltext = '-->'. refresh l_it_doku. perform get_docu using 'FU' <l_st_parameter>-ltext_doku_obj 'T' changing l_it_doku. concatenate 'LTEXT_' <l_st_parameter>-name into l_id. perform html_add_doc using l_it_doku l_id abap_false changing l_it_html. endloop. perform html_main_footer using l_it_html. perform download using l_it_html <l_st_ztadir>-pgmid <l_st_ztadir>-object <l_st_ztadir>-progname g_c_extension_htm

abap_true. endloop. endform.

"fugr_r3tr_modules

*----------------------------------------------------------------------* fugr_r3tr_screen Screens *----------------------------------------------------------------------form fugr_r3tr_screen. data: l_it_tabstrip type it_tabstrip, l_st_dynpro_name type st_dynpro_name, l_st_d020s type d020s, "screen header l_it_d021s type standard table of d021s, "field list l_it_d022s type standard table of d022s, "flow logic l_it_d023s type standard table of d023s, "matchcode information l_it_feld type standard table of feld, l_it_feld_redef type it_feld_redef, l_it_source type it_string, l_it_html type it_string, l_st_attributes type st_attributes, l_it_access_screen_type type it_access, l_st_access type st_access, l_it_textinput_settings type it_textinput, l_it_textinput_other type it_textinput, l_st_textinput type st_textinput, l_date_last_generation type d, l_time_last_generation type t, l_lines type sycurow, l_cols type sycucol, l_filename type string, l_st_dynpro_release type st_dynpro_release, l_dynpro_release(4) type c, l_o_control_composite type ref to cl_dynpro_control_composite, l_title type string. field-symbols: <l_st_d022s> type d022s, <l_st_d023s> type d023s, <l_st_ztadir> type st_ztadir, <l_x> type x. constants: l_c_milikmp l_c_miliksc l_c_milinog l_c_milinot type type type type x x x x value value value value '40', '08', '20', '04'.

*Tabstrip perform get_tabstrip using 'FUGR_R3TR_SCREEN' space changing l_it_tabstrip. loop at g_it_ztadir assigning <l_st_ztadir> where pgmid = 'R3TR' and object = 'FUGR' and futype = g_c_futype_screen and downloaded = abap_false.

clear: l_st_access, l_st_attributes, l_o_control_composite, l_st_d020s, l_dynpro_release, l_st_textinput. refresh: l_it_access_screen_type, l_it_d021s, l_it_d022s, l_it_d023s, l_it_feld, l_it_feld_redef, l_it_html, l_it_source, l_it_textinput_settings, l_it_textinput_other. l_st_dynpro_name-prog = <l_st_ztadir>-progname. l_st_dynpro_name-dnum = <l_st_ztadir>-dynpronr. import dynpro l_st_d020s l_it_d021s l_it_d022s l_it_d023s ID l_st_dynpro_name. if sy-subrc <> 0. <l_st_ztadir>-subrc = sy-subrc. continue. endif. call function 'RS_DYNPRO_RELEASE_GET' exporting dynpro_header = l_st_d020s importing dynpro_release = l_dynpro_release exceptions others = 1. l_st_dynpro_release = l_dynpro_release. create object l_o_control_composite exporting d023s = l_it_d023s exceptions others = 1. *Attributes l_st_attributes-descript = <l_st_ztadir>-descript. l_st_attributes-devclass = <l_st_ztadir>-devclass. perform get_devClass using <l_st_ztadir>-devclass changing l_st_attributes-devclass_descr. perform get_spras using l_st_d020s-spra changing l_st_attributes-laiso l_st_attributes-sptxt. perform get_date

using l_st_d020s-dgen changing l_st_attributes-date_last_changed. perform get_time using l_st_d020s-tgen changing l_st_attributes-time_last_changed. call function 'RS_SCRP_GET_GEN_DATA' exporting progname = l_st_d020s-prog dynnr = l_st_d020s-dnum importing gen_date = l_date_last_generation gen_time = l_time_last_generation exceptions others = 1. perform get_date using l_date_last_generation changing l_st_attributes-date_last_generation. perform get_time using l_time_last_generation changing l_st_attributes-time_last_generation. *Attributes - Screen type clear l_st_access. l_st_access-ddtext = txt_normal. l_st_access-checked = abap_false. if l_st_d020s-type na 'IMSWJ'. l_st_access-checked = abap_true. endif. append l_st_access to l_it_access_screen_type. l_st_access-ddtext = txt_subscreen. l_st_access-checked = abap_false. if l_st_d020s-type = 'I'. l_st_access-checked = abap_true. endif. append l_st_access to l_it_access_screen_type. l_st_access-ddtext = txt_modal_dialog_box. l_st_access-checked = abap_false. if l_st_d020s-type = 'M'. l_st_access-checked = abap_true. endif. append l_st_access to l_it_access_screen_type. l_st_access-ddtext = txt_selection_screen. l_st_access-checked = abap_false. if l_st_d020s-type ca 'SWJ'. l_st_access-checked = abap_true. endif. append l_st_access to l_it_access_screen_type. *Attributes - Settings clear l_st_textinput. if l_st_d020s-type <> 'I'. l_st_textinput-name = txt_hold_data. l_st_textinput-flag = abap_true.

l_st_textinput-value = l_st_d020s-hdat. append l_st_textinput to l_it_textinput_settings. endif. assign l_st_d020s-mili to <l_x> casting. l_st_textinput-name = txt_switch_off_runtime_compres. l_st_textinput-flag = abap_true. if <l_x> o l_c_milikmp. l_st_textinput-value = abap_false. else. l_st_textinput-value = abap_true. endif. append l_st_textinput to l_it_textinput_settings. l_st_textinput-name = txt_template_non_executable. l_st_textinput-flag = abap_true. if <l_x> o l_c_milinog. l_st_textinput-value = abap_true. else. l_st_textinput-value = abap_false. endif. append l_st_textinput to l_it_textinput_settings. l_st_textinput-name = txt_hold_scroll_position. l_st_textinput-flag = abap_true. if <l_x> o l_c_miliksc. l_st_textinput-value = abap_true. else. l_st_textinput-value = abap_false. endif. append l_st_textinput to l_it_textinput_settings. l_st_textinput-name = txt_without_application_toolba. l_st_textinput-flag = abap_true. if <l_x> o l_c_milinot. l_st_textinput-value = abap_true. else. l_st_textinput-value = abap_false. endif. append l_st_textinput to l_it_textinput_settings. *Attributes - Other attributes clear l_st_textinput. l_st_textinput-name = txt_next_screen. l_st_textinput-value = l_st_d020s-fnum. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput_other. l_st_textinput-name = txt_cursor_position. l_st_textinput-value = l_st_d020s-cupo. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput_other. l_st_textinput-name = txt_screen_group. l_st_textinput-value = l_st_d020s-dgrp. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput_other. l_st_textinput-name = txtt_lines_columns. l_st_textinput-name_suffix = txt_occupied. call function 'RS_SCRP_GET_SCREEN_INFOS' exporting progname = l_st_d020s-prog dynnr = l_st_d020s-dnum importing lines = l_lines columns = l_cols exceptions

others = 1. if sy-subrc <> 0 or l_lines > 999 or l_cols > 999. l_lines = 0. l_cols = 0. endif. l_st_textinput-value = l_lines. l_st_textinput-value_ext = l_cols. l_st_textinput-input = abap_true. l_st_textinput-has_value_ext = abap_true. append l_st_textinput to l_it_textinput_other. l_st_textinput-name = space. l_st_textinput-name_suffix = txt_maintenance. l_st_textinput-value = l_st_d020s-noli. l_st_textinput-value_ext = l_st_d020s-noco. l_st_textinput-input = abap_true. l_st_textinput-has_value_ext = abap_true. append l_st_textinput to l_it_textinput_other. clear l_st_textinput. l_st_textinput-name = txtt_context_menu_form_on_ctme. read table l_it_d023s assigning <l_st_d023s> with key type = 'CTMENU'. if sy-subrc = 0. l_st_textinput-value = <l_st_d023s>-content. endif. l_st_textinput-input = abap_true. unassign <l_st_d023s>. append l_st_textinput to l_it_textinput_other. Element list perform fugr_get_feldtab using l_st_d020s l_it_d021s l_o_control_composite l_st_dynpro_release changing l_it_feld l_it_feld_redef.

*SourceCode loop at l_it_d022s assigning <l_st_d022s>. append <l_st_d022s>-line to l_it_source. endloop. *** HTML l_title = tpt_fugr_scr. perform replace_single using '#NAME_VALUE#' <l_st_ztadir>-progname changing l_title. perform html_main_header using l_title txt_screen_number <l_st_ztadir>-dynpronr txt_active___1 space space 'makeDivSize(''FLOW_LOGIC'');' l_it_tabstrip g_it_link changing

l_it_html. Attributes perform html_add_attributes_3 using l_st_attributes txt_screen_type 'scrType' l_it_access_screen_type txt_settings l_it_textinput_settings txt_other_attributes l_it_textinput_other 'ATTRIBUTES' abap_false changing l_it_html. Element list - begin perform html_add_container_begin using l_it_tabstrip 'ELEMENT_LIST' abap_false changing l_it_html. perform html_add_table using l_it_table_general_attr 'SCRN_GENER' l_it_feld_redef l_it_feld 'GENERAL_ATTR' abap_true changing l_it_html. perform html_add_table using l_it_table_texts_io_templates 'SCRN_IOTEM' l_it_feld_redef l_it_feld 'TEXTS_IO_TEMPLATES' abap_false changing l_it_html. perform html_add_table using l_it_table_special_attr 'SCRN_SPECI' l_it_feld_redef l_it_feld 'SPECIAL_ATTR' abap_false changing l_it_html. perform html_add_table using l_it_table_display_attr 'SCRN_DISPL' l_it_feld_redef l_it_feld

* *

'DISPLAY_ATTR' abap_false changing l_it_html. perform html_add_table using l_it_table_mod_groups_func 'SCRN_MODGR' l_it_feld_redef l_it_feld 'MOD_GROUPS_FUNCTIONS' abap_false changing l_it_html. perform html_add_table using l_it_table_references 'SCRN_REFER' l_it_feld_redef l_it_feld 'REFERENCES' abap_false changing l_it_html. perform html_add_container_end changing l_it_html. Element list - end Flow logic concatenate <l_st_ztadir>-progname '-' <l_st_ztadir>-dynpronr into l_filename. perform html_add_sourceCode using l_it_source l_filename space space g_c_extension_txt 'FLOW_LOGIC' abap_true changing l_it_html. if g_add_sourcecode = abap_true. perform download using l_it_source <l_st_ztadir>-pgmid <l_st_ztadir>-object l_filename g_c_extension_txt abap_false. endif. perform html_main_footer using l_it_html. perform download using l_it_html

<l_st_ztadir>-pgmid <l_st_ztadir>-object l_filename g_c_extension_htm abap_true. <l_st_ztadir>-downloaded = abap_true. endloop. endform. "r3tr_screen *&---------------------------------------------------------------------* *& Include ZSOFTCOPY_O2 * *& * *&---------------------------------------------------------------------* *& * *& 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 <http://www.gnu.org/licenses/>. * *& * *&---------------------------------------------------------------------* *& * *& Author: Ruediger von Creytz ruediger.creytz@globalbit.net * *& Copyright: globalBIT, LLC http://www.globalbit.net * *& * *&---------------------------------------------------------------------* *----------------------------------------------------------------------* o2 *----------------------------------------------------------------------form o2. *XSLT perform o2_r3tr_xslt. endform. "o2

*----------------------------------------------------------------------* o2_r3tr_xslt Transformations *----------------------------------------------------------------------form o2_r3tr_xslt. data: l_it_html type it_string, l_it_tabstrip type it_tabstrip, l_name(40) type c, l_st_attributes type st_attributes, l_author type xubname, l_createdon type dats, l_changedon type dats, l_bname type xubname,

l_xslt_id(43) type c, l_xslt_name type progname. field-symbols: <l_st_ztadir> type st_ztadir, <l_st_xslt_source> type st_o2pageline. perform get_tabstrip using 'O2_R3TR_XSLT' space changing l_it_tabstrip. loop at g_it_ztadir assigning <l_st_ztadir> where pgmid = 'R3TR' and object = 'XSLT' and downloaded = abap_false. <l_st_ztadir>-downloaded = abap_true. clear: l_st_attributes, l_xslt_name. refresh: l_it_html. l_name = <l_st_ztadir>-obj_name. *Attributes select single author createdon changedon changedby from ('O2XSLTDESC') into (l_st_attributes-author, l_createdon, l_changedon, l_st_attributes-bname) where xsltdesc = l_name and state = 'A' and srtf2 = 0. l_author = l_st_attributes-author. perform get_user using l_author changing l_st_attributes-author_text. perform get_date using l_createdon changing l_st_attributes-date_created. perform get_date using l_changedon changing l_st_attributes-date_last_changed. l_bname = l_st_attributes-bname. perform get_user using l_bname changing l_st_attributes-name_text. l_st_attributes-descript = <l_st_ztadir>-descript. l_st_attributes-devclass = <l_st_ztadir>-devclass. perform get_devClass using l_st_attributes-devclass changing l_st_attributes-devclass_descr. perform get_spras using <l_st_ztadir>-masterlang changing l_st_attributes-laiso l_st_attributes-sptxt. *Source perform get_trdir_name

using l_name 'XT' changing l_xslt_name. *HTML perform html_main_header using tpt_o2_xslt txt_transformation <l_st_ztadir>-obj_name txt_active___1 space space 'makeDivSize(''SOURCECODE'')' l_it_tabstrip g_it_link changing l_it_html. perform html_add_attributes_2 using l_st_attributes 'ATTRIBUTES' abap_false changing l_it_html. perform add_report_sourceCode using l_xslt_name l_name g_c_extension_xsl abap_false <l_st_ztadir> 'SOURCECODE' abap_true changing l_it_html. perform html_main_footer using l_it_html. perform download using l_it_html <l_st_ztadir>-pgmid <l_st_ztadir>-object <l_st_ztadir>-obj_name g_c_extension_htm abap_true. endloop. endform. "r3tr_xslt *&---------------------------------------------------------------------* *& Include ZSOFTCOPY_PACK * *& * *&---------------------------------------------------------------------* *& * *& 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 <http://www.gnu.org/licenses/>. * *& * *&---------------------------------------------------------------------* *& * *& Author: Ruediger von Creytz ruediger.creytz@globalbit.net * *& Copyright: globalBIT, LLC http://www.globalbit.net * *& * *&---------------------------------------------------------------------* *----------------------------------------------------------------------* pack *----------------------------------------------------------------------form pack. *DEVCLASS perform pack_r3tr_devc. endform. "pack

*----------------------------------------------------------------------* pack_r3tr_devc Devclass *----------------------------------------------------------------------form pack_r3tr_devc. data: l_o_package type ref to if_package, l_as4text type as4text, l_st_attributes type st_attributes, l_st_textinput type st_textinput, l_it_package_properties type it_textinput, l_it_transport_attributes type it_textinput, l_intf_system type srcsystem, l_pack_system type srcsystem, l_it_ref_interface type tpak_package_interface_list, l_st_ref_interface type tpak_package_interface_ref, l_it_interface type it_pack_intf, l_st_interface type st_pack_intf, l_it_ref_perm type tpak_permission_to_use_list, l_st_ref_perm type tpak_permission_to_use_ref_typ, l_it_perm type it_pack_perm, l_st_perm type st_pack_perm, l_it_ref_sub type scompaklis, l_st_ref_sub type ref to if_package, l_it_sub type it_pack_sub, l_st_sub type st_pack_sub, l_it_tabstrip type it_tabstrip, l_it_html type it_string. field-symbols: <l_st_tabstrip> type st_tabstrip, <l_srv_check> type any, <l_cli_check> type any,

<l_deleted_in_memory> type any. call method cl_package_factory=>load_package exporting i_package_name = g_st_tdevc-devclass importing e_package = l_o_package. *general attributes perform get_devClass using g_st_tdevc-devclass changing l_as4text. l_st_attributes-descript = l_as4text. l_st_attributes-person_responsible = g_st_tdevc-as4user. perform get_user using g_st_tdevc-as4user changing l_st_attributes-person_responsible_text. l_st_attributes-author = g_st_tdevc-created_by. perform get_user using g_st_tdevc-created_by changing l_st_attributes-author_text. perform get_date using g_st_tdevc-created_on changing l_st_attributes-date_created. l_st_attributes-bname = g_st_tdevc-changed_by. perform get_user using g_st_tdevc-changed_by changing l_st_attributes-name_text. perform get_date using g_st_tdevc-changed_on changing l_st_attributes-date_last_changed. l_st_attributes-application_component = g_st_tdevc-component. *package properties clear l_st_textinput. l_st_textinput-name = txt_main_package. l_st_textinput-flag = abap_true. if g_st_tdevc-mainpack = 'X'. l_st_textinput-value = abap_true. endif. append l_st_textinput to l_it_package_properties. clear l_st_textinput. l_st_textinput-name = txt_surrounding_package. l_st_textinput-input = abap_true. l_st_textinput-value = g_st_tdevc-parentcl. append l_st_textinput to l_it_package_properties. l_st_textinput-name = txt_allowed_object_types. l_st_textinput-input = abap_true. perform get_dom_value_text

using 'PACKTYPE' g_st_tdevc-packtype changing l_st_textinput-value. append l_st_textinput to l_it_package_properties. clear l_st_textinput. l_st_textinput-name = txt_package_not_extendable. l_st_textinput-flag = abap_true. l_st_textinput-value = g_st_tdevc-restricted. append l_st_textinput to l_it_package_properties. assign component 'SRV_CHECK' of structure g_st_tdevc to <l_srv_check>. if <l_srv_check> is assigned. clear l_st_textinput. l_st_textinput-name = txt_package_check_as_server. l_st_textinput-flag = abap_true. l_st_textinput-value = <l_srv_check>. append l_st_textinput to l_it_package_properties. unassign <l_srv_check>. endif. assign component 'CLI_CHECK' of structure g_st_tdevc to <l_cli_check>. if <l_cli_check> is assigned. clear l_st_textinput. l_st_textinput-name = txt_package_check_as_client. l_st_textinput-flag = abap_true. l_st_textinput-value = <l_cli_check>. append l_st_textinput to l_it_package_properties. unassign <l_cli_check>. endif. *transport attributes clear l_st_textinput. l_st_textinput-name = txt_transport_layer. l_st_textinput-input = abap_true. l_st_textinput-value = g_st_tdevc-pdevclass. append l_st_textinput to l_it_transport_attributes. clear l_st_textinput. l_st_textinput-name = txt_software_component. l_st_textinput-input = abap_true. l_st_textinput-value_double_length = abap_true. l_st_textinput-value = g_st_tdevc-dlvunit. append l_st_textinput to l_it_transport_attributes. clear l_st_textinput. l_st_textinput-name = txt_changes_are_recorded. l_st_textinput-flag = abap_true. l_st_textinput-value = g_st_tdevc-korrflag. append l_st_textinput to l_it_transport_attributes. *package interfaces call method l_o_package->get_origin_system importing e_origin_system = l_pack_system exceptions others = 1. call method l_o_package->get_interfaces importing e_package_interfaces = l_it_ref_interface exceptions others = 1.

loop at l_it_ref_interface into l_st_ref_interface. unassign <l_deleted_in_memory>. assign component 'DELETED_IN_MEMORY' of structure l_st_ref_interface to <l_deleted_in_memory>. if <l_deleted_in_memory> is assigned and <l_deleted_in_memory> = abap_true. continue. endif. clear l_st_interface. l_st_interface-intf_name = l_st_ref_interface->interface_name. l_st_interface-descript = l_st_ref_interface->short_text. call method l_st_ref_interface->get_origin_system importing e_origin_system = l_intf_system exceptions others = 1. if l_pack_system <> l_intf_system. l_st_interface-forsys = txt_foreign_source_system. endif. append l_st_interface to l_it_interface. endloop. *use access call method l_o_package->get_permissions_to_use importing e_permissions = l_it_ref_perm exceptions others = 1. loop at l_it_ref_perm into l_st_ref_perm. unassign <l_deleted_in_memory>. assign component 'DELETED_IN_MEMORY' of structure l_st_ref_perm to <l_deleted_in_memory>. if <l_deleted_in_memory> is assigned and <l_deleted_in_memory> = abap_true. continue. endif. clear l_st_perm. l_st_perm-pack_name = l_st_ref_perm->publisher_package_name. l_st_perm-intf_name = l_st_ref_perm->package_interface_name. perform get_dom_value_text using 'ERRSEVRTY' l_st_ref_perm->error_severity changing l_st_perm-err_sever. append l_st_perm to l_it_perm. endloop. *packages included call method l_o_package->get_sub_packages importing e_sub_packages = l_it_ref_sub exceptions others = 1. loop at l_it_ref_sub into l_st_ref_sub. unassign <l_deleted_in_memory>. assign component 'DELETED_IN_MEMORY' of structure l_st_ref_sub to <l_deleted_in_memory>. if <l_deleted_in_memory> is assigned

and <l_deleted_in_memory> = abap_true. continue. endif. clear l_st_sub. l_st_sub-devclass = l_st_ref_sub->package_name. l_st_sub-ctext = l_st_ref_sub->short_text. append l_st_sub to l_it_sub. endloop. *tabstrip perform get_tabstrip using 'PACK_DEVC' space changing l_it_tabstrip. loop at l_it_tabstrip assigning <l_st_tabstrip>. <l_st_tabstrip>-empty = abap_false. case <l_st_tabstrip>-id. when 'INTERFACE'. if l_it_interface is initial. <l_st_tabstrip>-empty = abap_true. endif. when 'PERM'. if l_it_perm is initial. <l_st_tabstrip>-empty = abap_true. endif. when 'SUB'. if l_it_sub is initial. <l_st_tabstrip>-empty = abap_true. endif. endcase. endloop. **HTML perform html_main_header using tpt_pack_devc txt_package g_st_tdevc-devclass txt_saved space space space " 'makeDivSize(''SOURCECODE'');' l_it_tabstrip g_it_link changing l_it_html. * attributes perform html_add_attributes_4 using l_st_attributes txt_package_properties l_it_package_properties txt_transport_attributes l_it_transport_attributes 'ATTRIBUTES' abap_true changing l_it_html. * interface if not l_it_interface is initial

or g_empty_tab = g_c_empty_tab_display. perform html_add_table using 'DEVC_INTF' l_it_interface l_it_interface 'INTERFACE' abap_false changing l_it_html. endif. * perm if not l_it_perm is initial or g_empty_tab = g_c_empty_tab_display. perform html_add_table using 'DEVC_PERM' l_it_perm l_it_perm 'PERM' abap_false changing l_it_html. endif. * sub if not l_it_sub is initial or g_empty_tab = g_c_empty_tab_display. perform html_add_table using 'DEVC_SUB' l_it_sub l_it_sub 'SUB' abap_false changing l_it_html. endif. * perform html_main_footer using l_it_html. perform download using l_it_html 'R3TR' 'DEVC' g_st_tdevc-devclass g_c_extension_htm abap_false. endform. "r3tr_devc *&---------------------------------------------------------------------* *& Include ZSOFTCOPY_PROG * *& * *&---------------------------------------------------------------------* *& * *& 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 <http://www.gnu.org/licenses/>. * *& * *&---------------------------------------------------------------------* *& * *& Author: Ruediger von Creytz ruediger.creytz@globalbit.net * *& Copyright: globalBIT, LLC http://www.globalbit.net * *& * *&---------------------------------------------------------------------* *----------------------------------------------------------------------* prog *----------------------------------------------------------------------form prog. *INCL perform prog_r3tr_incl. *PROG perform prog_r3tr_prog. endform. "prog

*----------------------------------------------------------------------* prog_r3tr_incl Includes *----------------------------------------------------------------------form prog_r3tr_incl. data: l_it_tabstrip type it_tabstrip, l_it_html type it_string, l_it_textinput type it_textinput, l_it_textinput_box type it_textinput, l_st_textinput type st_textinput, l_masterlang type masterlang, l_filename type string, l_st_trdir type trdir, l_laiso type laiso, l_sptxt type sptxt, l_name type ad_namtext, l_text type as4text, l_atext type appltxt. field-symbols: <l_st_ztadir> type st_ztadir. perform get_tabstrip using 'PROG_R3TR_INCL' space changing l_it_tabstrip. loop at g_it_ztadir assigning <l_st_ztadir>

where pgmid = 'R3TR' and object = 'PROG' and subc = 'I' and downloaded = abap_false. clear: l_st_trdir, l_atext. refresh: l_it_html, l_it_textinput, l_it_textinput_box. select single * from trdir into l_st_trdir where name = <l_st_ztadir>-progname. if sy-subrc <> 0. <l_st_ztadir>-subrc = sy-subrc. continue. endif. *Attributes * Title clear l_st_textinput. l_st_textinput-name = txt_title. l_st_textinput-value = <l_st_ztadir>-descript. l_st_textinput-value_double_length = abap_true. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput. * Original Language clear l_st_textinput. l_st_textinput-name = txt_original_language. l_masterlang = l_st_trdir-rload. if l_masterlang is initial. l_masterlang = <l_st_ztadir>-masterlang. endif. perform get_spras using l_masterlang changing l_laiso l_sptxt. l_st_textinput-value = l_laiso. l_st_textinput-description = l_sptxt. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput. * Space clear l_st_textinput. l_st_textinput-space = abap_true. append l_st_textinput to l_it_textinput. * Created clear l_st_textinput. l_st_textinput-name = txt_created. perform get_date using l_st_trdir-cdat changing l_st_textinput-value. l_st_textinput-value_ext = l_st_trdir-cnam. perform get_user

using l_st_trdir-cnam changing l_name. l_st_textinput-value_ext_text = l_name. l_st_textinput-has_value_ext = abap_true. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput. * Last changed by clear l_st_textinput. l_st_textinput-name = txt_last_changed_by___1. perform get_date using l_st_trdir-udat changing l_st_textinput-value. l_st_textinput-value_ext = l_st_trdir-unam. perform get_user using l_st_trdir-unam changing l_name. l_st_textinput-value_ext_text = l_name. l_st_textinput-input = abap_true. l_st_textinput-has_value_ext = abap_true. append l_st_textinput to l_it_textinput. * Status clear l_st_textinput. l_st_textinput-name = txt_status. l_st_textinput-value = txt_active___1. append l_st_textinput to l_it_textinput. *Attributes - Box * Type clear l_st_textinput. l_st_textinput-name = txt_type___1. perform get_dom_value_text using 'SUBC' l_st_trdir-subc changing l_st_textinput-value. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput_box. * Status clear l_st_textinput. l_st_textinput-name = txt_status. perform get_dom_value_text using 'RSTAT' l_st_trdir-rstat changing l_st_textinput-value. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput_box. * Application clear l_st_textinput. l_st_textinput-name = txt_application. select single atext from taplt into l_atext where appl = l_st_trdir-appl and sprsl = sy-langu.

l_st_textinput-value = l_atext. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput_box. Authorization Group clear l_st_textinput. l_st_textinput-name = txt_authorization_group. l_st_textinput-value = l_st_trdir-secu. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput_box. Package clear l_st_textinput. l_st_textinput-name = txt_package. l_st_textinput-value = <l_st_ztadir>-devclass. perform get_devClass using <l_st_ztadir>-devclass changing l_text. l_st_textinput-description = l_text. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput_box. Space clear l_st_textinput. l_st_textinput-space = abap_true. append l_st_textinput to l_it_textinput_box. Editor lock clear l_st_textinput. l_st_textinput-name = txt_editor_lock. l_st_textinput-value = l_st_trdir-edtx. l_st_textinput-flag = abap_true. append l_st_textinput to l_it_textinput_box.

*** HTML perform html_main_header using tpt_fugr_incl space "l_name_field <l_st_ztadir>-progname txt_active___1 space space 'makeDivSize(''SOURCECODE'');' l_it_tabstrip g_it_link changing l_it_html. * Attributes perform html_add_textInput_subBox using l_it_textinput txt_attributes___2 l_it_textinput_box 'ATTRIBUTES' abap_false changing l_it_html. * Source code perform add_report_sourceCode using <l_st_ztadir>-progname

<l_st_ztadir>-progname g_c_extension_txt abap_false <l_st_ztadir> 'SOURCECODE' abap_true changing l_it_html. * perform html_main_footer using l_it_html. perform download using l_it_html <l_st_ztadir>-pgmid <l_st_ztadir>-object <l_st_ztadir>-progname g_c_extension_htm abap_true. <l_st_ztadir>-downloaded = abap_true. endloop. endform. "r3tr_incl *----------------------------------------------------------------------* prog_r3tr_prog Programme, Includes *----------------------------------------------------------------------form prog_r3tr_prog. data: l_it_tabstrip type it_tabstrip, l_it_html type it_string, l_st_prog_inf type rpy_prog, l_it_include_tab type standard table of rpy_repo, l_it_source_extended type it_abaptxt255, l_st_source_extended type st_abaptxt255, l_it_textelements type standard table of textpool, l_st_textelements_addons type st_textpool_addons, l_it_text_symbols_addons type it_textpool_addons, l_it_selection_texts type standard table of textpool, l_it_selection_texts_addons type it_textpool_addons, l_it_text_symbols type standard table of textpool, l_it_list_titles type it_textinput, l_it_row_titles type it_textinput, l_it_doc type it_string, l_it_textinput type it_textinput, l_it_textinput_box type it_textinput, l_st_textinput type st_textinput, l_masterlang type masterlang, l_filename type string, l_it_varid type standard table of varid, l_it_params type standard table of vanz, l_it_params_nonv type standard table of vanz, l_it_selop type standard table of vanz, l_it_selop_nonv type standard table of vanz, l_it_objects type standard table of vanz, l_it_valutab type standard table of rsparams, l_it_variant type it_variant,

l_st_variant type st_variant, l_st_trdir type trdir, l_laiso type laiso, l_sptxt type sptxt, l_name type ad_namtext, l_text type as4text, l_atext type appltxt, l_text01 type grouptext, l_fu_param(30) type c, l_it_source type abapsource occurs 0. field-symbols: <l_st_tabstrip> type st_tabstrip, <l_st_ztadir> type st_ztadir, <l_st_textelements> type textpool, <l_st_varid> type varid, <l_st_vanz> type vanz, <l_st_valutab> type rsparams, <l_st_source> like line of l_it_source. perform get_tabstrip using 'PROG_R3TR_PROG' space changing l_it_tabstrip. select single parameter from fupararef into l_fu_param where funcname = 'RPY_PROGRAM_READ' and r3state = 'A' and parameter = 'SOURCE_EXTENDED' and paramtype = 'T'. loop at g_it_ztadir assigning <l_st_ztadir> where pgmid = 'R3TR' and object = 'PROG' and subc = '1' and downloaded = abap_false. <l_st_ztadir>-downloaded = abap_true. clear: l_st_prog_inf, l_st_trdir, l_st_variant, l_atext. refresh: l_it_html, l_it_include_tab, l_it_list_titles, l_it_objects, l_it_params, l_it_params_nonv, l_it_row_titles, l_it_selection_texts, l_it_selop, l_it_selop_nonv, l_it_source, l_it_source_extended, l_it_text_symbols, l_it_text_symbols_addons, l_it_textelements, l_it_textinput,

l_it_textinput_box, l_it_valutab, l_it_variant, l_it_varid. if l_fu_param = 'SOURCE_EXTENDED'. call function 'RPY_PROGRAM_READ' exporting language = sy-langu program_name = <l_st_ztadir>-obj_name with_includelist = abap_true only_source = abap_false only_texts = abap_false read_latest_version = abap_true with_lowercase = abap_true importing prog_inf = l_st_prog_inf tables include_tab = l_it_include_tab source_extended = l_it_source_extended textelements = l_it_textelements exceptions others = 1. if sy-subrc <> 0. <l_st_ztadir>-subrc = sy-subrc. continue. endif. else. call function 'RPY_PROGRAM_READ' exporting language = sy-langu program_name = <l_st_ztadir>-obj_name with_includelist = abap_true only_source = abap_false only_texts = abap_false read_latest_version = abap_true with_lowercase = abap_true importing prog_inf = l_st_prog_inf tables include_tab = l_it_include_tab source = l_it_source textelements = l_it_textelements exceptions others = 1. if sy-subrc <> 0. <l_st_ztadir>-subrc = sy-subrc. continue. endif. loop at l_it_source assigning <l_st_source>. l_st_source_extended = <l_st_source>-line. append l_st_source_extended to l_it_source_extended. endloop. endif. select single * from trdir into l_st_trdir where name = <l_st_ztadir>-progname. *Documentation perform get_docu using 'RE'

<l_st_ztadir>-obj_name 'E' changing l_it_doc. *Text Symbols loop at l_it_textelements assigning <l_st_textelements>. case <l_st_textelements>-id. when 'H'. clear l_st_textinput. l_st_textinput-value = <l_st_textelements>-entry. l_st_textinput-input = abap_true. l_st_textinput-no_name = abap_true. append l_st_textinput to l_it_row_titles. when 'I'. clear l_st_textelements_addons. append <l_st_textelements> to l_it_text_symbols. l_st_textelements_addons-strlen = strlen( <l_st_textelements>-entry ). append l_st_textelements_addons to l_it_text_symbols_addons. when 'S'. clear l_st_textelements_addons. if <l_st_textelements>-entry+0(1) = 'D'. <l_st_textelements>-entry+0(1) = space. l_st_textelements_addons-dict_ref = abap_true. endif. condense <l_st_textelements>-entry. append l_st_textelements_addons to l_it_selection_texts_addons. append <l_st_textelements> to l_it_selection_texts. when 'T'. clear l_st_textinput. l_st_textinput-value = <l_st_textelements>-entry. l_st_textinput-input = abap_true. l_st_textinput-no_name = abap_true. append l_st_textinput to l_it_list_titles. endcase. endloop. *Attributes * Title clear l_st_textinput. l_st_textinput-name = txt_title. l_st_textinput-value = <l_st_ztadir>-descript. l_st_textinput-value_double_length = abap_true. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput. * Original Language clear l_st_textinput. l_st_textinput-name = txt_original_language. l_masterlang = l_st_prog_inf-masterlang. if l_masterlang is initial. l_masterlang = <l_st_ztadir>-masterlang. endif. perform get_spras using l_masterlang changing l_laiso l_sptxt. l_st_textinput-value = l_laiso.

l_st_textinput-description = l_sptxt. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput. * Space clear l_st_textinput. l_st_textinput-space = abap_true. append l_st_textinput to l_it_textinput. * Created clear l_st_textinput. l_st_textinput-name = txt_created. perform get_date using l_st_prog_inf-creat_date changing l_st_textinput-value. l_st_textinput-value_ext = l_st_prog_inf-creat_user. perform get_user using l_st_prog_inf-creat_user changing l_name. l_st_textinput-value_ext_text = l_name. l_st_textinput-has_value_ext = abap_true. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput. * Last changed by clear l_st_textinput. l_st_textinput-name = txt_last_changed_by___1. perform get_date using l_st_prog_inf-mod_date changing l_st_textinput-value. l_st_textinput-value_ext = l_st_prog_inf-mod_user. perform get_user using l_st_prog_inf-mod_user changing l_name. l_st_textinput-value_ext_text = l_name. l_st_textinput-input = abap_true. l_st_textinput-has_value_ext = abap_true. append l_st_textinput to l_it_textinput. * Status clear l_st_textinput. l_st_textinput-name = txt_status. l_st_textinput-value = txt_active___1. append l_st_textinput to l_it_textinput. *Attributes - Box * Type clear l_st_textinput. l_st_textinput-name = txt_type___1. perform get_dom_value_text using 'SUBC' l_st_prog_inf-prog_type changing l_st_textinput-value. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput_box.

Status clear l_st_textinput. l_st_textinput-name = txt_status. perform get_dom_value_text using 'RSTAT' l_st_prog_inf-status changing l_st_textinput-value. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput_box. Application clear l_st_textinput. l_st_textinput-name = txt_application. select single atext from taplt into l_atext where appl = l_st_prog_inf-appl and sprsl = sy-langu. l_st_textinput-value = l_atext. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput_box. Authorization Group clear l_st_textinput. clear l_text01. l_st_textinput-name = txt_authorization_group. l_st_textinput-value = l_st_prog_inf-auth_group. select single text01 from tpgpt into l_text01 where p_group = l_st_prog_inf-auth_group and langu = sy-langu. l_st_textinput-description = l_text01. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput_box. Package clear l_st_textinput. l_st_textinput-name = txt_package. l_st_textinput-value = <l_st_ztadir>-devclass. perform get_devClass using <l_st_ztadir>-devclass changing l_text. l_st_textinput-description = l_text. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput_box. Logical database clear l_st_textinput. l_st_textinput-name = txt_logical_database. l_st_textinput-value = l_st_prog_inf-dbname. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput_box. Selection screen version clear l_st_textinput. l_st_textinput-name = txt_selection_screen_version. l_st_textinput-value = l_st_prog_inf-selscreen. l_st_textinput-input = abap_true. append l_st_textinput to l_it_textinput_box. Editor lock clear l_st_textinput. l_st_textinput-name = txt_editor_lock. l_st_textinput-value = l_st_trdir-edtx. l_st_textinput-flag = abap_true.

l_st_textinput-flag_col = 1. append l_st_textinput to l_it_textinput_box. * Fixed point arithmetic clear l_st_textinput. l_st_textinput-name = txt_fixed_point_arithmetic. l_st_textinput-value = l_st_trdir-fixpt. l_st_textinput-flag = abap_true. l_st_textinput-flag_col = 2. append l_st_textinput to l_it_textinput_box. * Unicode checks active clear l_st_textinput. l_st_textinput-name = txtt_unicode_checks_active. l_st_textinput-value = l_st_trdir-uccheck. l_st_textinput-flag = abap_true. l_st_textinput-flag_col = 1. append l_st_textinput to l_it_textinput_box. * Start using variant clear l_st_textinput. l_st_textinput-name = txt_start_using_variant. l_st_textinput-value = l_st_trdir-sset. l_st_textinput-flag = abap_true. l_st_textinput-flag_col = 2. append l_st_textinput to l_it_textinput_box. *Variants if g_add_report_variants = abap_true. select * from varid into table l_it_varid where report = <l_st_ztadir>-obj_name. loop at l_it_varid assigning <l_st_varid>. read table g_it_varid_broken transporting no fields with key report = <l_st_varid>-report vari = <l_st_varid>-variant. if sy-subrc = 0. continue. endif. call function 'RS_VARIANT_CONTENTS' exporting report = <l_st_varid>-report variant = <l_st_varid>-variant tables l_params = l_it_params l_params_nonv = l_it_params_nonv l_selop = l_it_selop l_selop_nonv = l_it_selop_nonv valutab = l_it_valutab objects = l_it_objects exceptions others = 1. if sy-subrc <> 0. continue. endif. loop at l_it_valutab assigning <l_st_valutab>. clear l_st_variant. l_st_variant-program = <l_st_varid>-report. l_st_variant-variant = <l_st_varid>-variant. l_st_variant-selname = <l_st_valutab>-selname. perform get_GUI_kind using <l_st_valutab>-kind changing l_st_variant-kind. perform get_GUI_sign using <l_st_valutab>-sign

changing l_st_variant-sign. perform get_GUI_operator using <l_st_valutab>-option changing l_st_variant-option. l_st_variant-low = <l_st_valutab>-low. l_st_variant-high = <l_st_valutab>-high. read table l_it_params assigning <l_st_vanz> with key name = <l_st_valutab>-selname. if sy-subrc <> 0 or <l_st_vanz>-text is initial. read table l_it_params_nonv assigning <l_st_vanz> with key name = <l_st_valutab>-selname. if sy-subrc <> 0 or <l_st_vanz>-text is initial. read table l_it_selop assigning <l_st_vanz> with key name = <l_st_valutab>-selname. if sy-subrc <> 0 or <l_st_vanz>-text is initial. read table l_it_selop_nonv assigning <l_st_vanz> with key name = <l_st_valutab>-selname. if sy-subrc <> 0 or <l_st_vanz>-text is initial. read table l_it_objects assigning <l_st_vanz> with key name = <l_st_valutab>-selname. endif. endif. endif. endif. if sy-subrc = 0. l_st_variant-text = <l_st_vanz>-text. endif. append l_st_variant to l_it_variant. endloop. endloop. endif. ***Tabstrip loop at l_it_tabstrip assigning <l_st_tabstrip>. <l_st_tabstrip>-empty = abap_false. case <l_st_tabstrip>-id. when 'LISTTITLE'. if l_it_list_titles is initial and l_it_row_titles is initial. <l_st_tabstrip>-empty = abap_true. endif. when 'SELECTIONTEXTS'. if l_it_selection_texts is initial. <l_st_tabstrip>-empty = abap_true. endif. when 'TEXTSYMBOLS'. if l_it_text_symbols is initial. <l_st_tabstrip>-empty = abap_true. endif. when 'DOC'. if l_it_doc is initial. <l_st_tabstrip>-empty = abap_true. endif. when 'VARIANT'. if l_it_variant is initial. <l_st_tabstrip>-empty = abap_true. if g_add_report_variants = abap_false. <l_st_tabstrip>-hidden = abap_true. endif. endif. endcase.

endloop. *** HTML perform html_main_header using tpt_prog_repo space "l_name_field <l_st_ztadir>-obj_name txt_active___1 space space 'makeDivSize(''SOURCECODE'');makeDivSize(''DOC'');' l_it_tabstrip g_it_link changing l_it_html. * list and row titles if not l_it_list_titles is initial or not l_it_row_titles is initial or g_empty_tab = g_c_empty_tab_display. perform html_add_box_textInput2Ver using txt_list_header l_it_list_titles txt_column_heading l_it_row_titles 'LISTTITLE' abap_false changing l_it_html. endif. * selection texts if not l_it_selection_texts is initial or g_empty_tab = g_c_empty_tab_display. perform html_add_table using 'PROG_SELEC' l_it_selection_texts l_it_selection_texts_addons 'SELECTIONTEXTS' abap_false changing l_it_html. endif. * text symbols if not l_it_text_symbols is initial or g_empty_tab = g_c_empty_tab_display. perform html_add_table using 'PROG_SYMBO' l_it_text_symbols l_it_text_symbols_addons 'TEXTSYMBOLS' abap_false changing l_it_html. endif. * variants if g_add_report_variants = abap_true and ( not l_it_variant is initial

or g_empty_tab = g_c_empty_tab_display ). perform html_add_table using 'PROG_VARIA' l_it_variant l_it_variant 'VARIANT' abap_false changing l_it_html. endif. * documentation if not l_it_doc is initial or g_empty_tab = g_c_empty_tab_display. perform html_add_doc using l_it_doc 'DOC' abap_false changing l_it_html. endif. * attributes perform html_add_textInput_subBox using l_it_textinput txt_attributes___2 l_it_textinput_box 'ATTRIBUTES' abap_false changing l_it_html. * source code perform add_report_sourceCode using <l_st_ztadir>-obj_name <l_st_ztadir>-obj_name g_c_extension_txt abap_true <l_st_ztadir> 'SOURCECODE' abap_true changing l_it_html. * perform html_main_footer using l_it_html. perform download using l_it_html <l_st_ztadir>-pgmid <l_st_ztadir>-object <l_st_ztadir>-obj_name g_c_extension_htm abap_true. endloop. endform. "r3tr_prog *&---------------------------------------------------------------------*

*& Include ZSOFTCOPY_SEO * *& * *&---------------------------------------------------------------------* *& * *& 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 <http://www.gnu.org/licenses/>. * *& * *&---------------------------------------------------------------------* *& * *& Author: Ruediger von Creytz ruediger.creytz@globalbit.net * *& Copyright: globalBIT, LLC http://www.globalbit.net * *& * *&---------------------------------------------------------------------* *----------------------------------------------------------------------* seo *----------------------------------------------------------------------form seo. *INTF perform seo_r3tr_intf. *CLAS perform seo_r3tr_clas. *CLAS methods perform seo_r3tr_clas_methods. endform. "seo

*----------------------------------------------------------------------* seo_clas_get_attribs *----------------------------------------------------------------------form seo_clas_get_attribs using value(i_clsname) i_it_super_class type it_seo_super_class i_it_ref_interface type it_ref_seointerface changing c_it_ref_attrib type it_ref_seoattrib. refresh c_it_ref_attrib. *Attributes - from Interfaces perform seo_clas_get_attribs_from_intf using i_clsname i_it_super_class i_it_ref_interface

changing c_it_ref_attrib. *Attributes - from Classes perform seo_clas_get_attribs_from_clas using i_clsname i_it_super_class changing c_it_ref_attrib. endform. "seo_clas_get_attribs *----------------------------------------------------------------------* seo_clas_get_aliases *----------------------------------------------------------------------form seo_clas_get_aliases using value(i_clsname) i_it_ref_attrib type it_ref_seoattrib i_it_ref_method type it_ref_seomethod i_it_ref_event type it_ref_seoevent i_it_ref_type type it_ref_seotype changing c_it_ref_alias type it_ref_seoalias. data: l_st_ref_alias type st_ref_seoalias, l_it_ref_alias_tmp type it_ref_seoalias, l_st_clskey type seoclskey, l_it_seoalias type seo_aliases, l_clsname type seoclsname, l_cmpname type seocmpname. field-symbols: <l_st_ref_attrib> type st_ref_seoattrib, <l_st_ref_method> type st_ref_seomethod, <l_st_ref_event> type st_ref_seoevent, <l_st_ref_type> type st_ref_seotype, <l_st_ref_alias> type st_ref_seoalias, <l_st_alias> type seoaliases. refresh: c_it_ref_alias. l_st_ref_alias-type = txt_attribute. loop at i_it_ref_attrib assigning <l_st_ref_attrib> where cpdname cp '*~*'. l_st_ref_alias-cpdname = <l_st_ref_attrib>-cpdname. l_st_ref_alias-owner = <l_st_ref_attrib>-owner. append l_st_ref_alias to l_it_ref_alias_tmp. endloop. l_st_ref_alias-type = txt_method. loop at i_it_ref_method assigning <l_st_ref_method> where cpdname cp '*~*'. l_st_ref_alias-cpdname = <l_st_ref_method>-cpdname. l_st_ref_alias-owner = <l_st_ref_method>-owner. append l_st_ref_alias to l_it_ref_alias_tmp. endloop. l_st_ref_alias-type = txt_event. loop at i_it_ref_event assigning <l_st_ref_event>

where cpdname cp '*~*'. l_st_ref_alias-cpdname = <l_st_ref_event>-cpdname. l_st_ref_alias-owner = <l_st_ref_event>-owner. append l_st_ref_alias to l_it_ref_alias_tmp. endloop. l_st_ref_alias-type = txt_type___1. loop at i_it_ref_type assigning <l_st_ref_type> where cpdname cp '*~*'. l_st_ref_alias-cpdname = <l_st_ref_type>-cpdname. l_st_ref_alias-owner = <l_st_ref_type>-owner. append l_st_ref_alias to l_it_ref_alias_tmp. endloop. * l_st_clskey-clsname = i_clsname. call function 'SEO_ALIASES_GET' exporting cifkey = l_st_clskey changing aliases = l_it_seoalias. l_clsname = i_clsname. loop at l_it_ref_alias_tmp assigning <l_st_ref_alias> where cpdname cp '*~*' and owner = i_clsname. split <l_st_ref_alias>-cpdname at '~' into l_clsname l_cmpname. read table l_it_seoalias assigning <l_st_alias> with key cmpname = l_cmpname. if sy-subrc = 0. <l_st_ref_alias>-refcmpname = <l_st_alias>-cmpname. perform get_dom_value_text using 'SEOEXPOSE' <l_st_alias>-exposure changing <l_st_ref_alias>-exposure. if not <l_st_ref_alias>-refcmpname is initial and <l_st_alias>-exposure > 0. append <l_st_ref_alias> to c_it_ref_alias. endif. else. append <l_st_ref_alias> to c_it_ref_alias. endif. endloop. sort c_it_ref_alias by cpdname. endform. "seo_clas_get_aliases *----------------------------------------------------------------------* seo_clas_get_attribs_from_clas *----------------------------------------------------------------------form seo_clas_get_attribs_from_clas using value(i_clsname) i_it_super_class type it_seo_super_class changing c_it_ref_attrib type it_ref_seoattrib. data: l_it_attrib type standard table of vseoattrib, l_cpdname type seocpdname,

l_st_ref_attrib type st_ref_seoattrib, l_str type string. field-symbols: <l_st_super_class> type st_seo_super_class, <l_st_attrib> type vseoattrib, <l_st_ref_attrib> type st_ref_seoattrib. loop at i_it_super_class assigning <l_st_super_class>. select * from vseoattrib into table l_it_attrib where clsname = <l_st_super_class>-clsname and alias = abap_false and langu = sy-langu and version = '1' order by editorder. loop at l_it_attrib assigning <l_st_attrib>. l_cpdname = <l_st_attrib>-cmpname. read table c_it_ref_attrib assigning <l_st_ref_attrib> with key cpdname = l_cpdname. if sy-subrc = 0. if <l_st_super_class>-clsname = i_clsname. <l_st_ref_attrib>-inherited = abap_false. endif. elseif <l_st_super_class>-clsname = i_clsname or <l_st_attrib>-exposure > 0. l_st_ref_attrib-cpdname = l_cpdname. if <l_st_super_class>-clsname = i_clsname. l_st_ref_attrib-inherited = abap_false. else. l_st_ref_attrib-inherited = abap_true. endif. perform get_dom_value_text using 'SEOEXPOSE' <l_st_attrib>-exposure changing l_st_ref_attrib-exposure. perform seo_get_check_model using <l_st_attrib> changing l_st_ref_attrib. perform get_dom_value_text using 'SEOATTDECL' <l_st_attrib>-attdecltyp changing l_st_ref_attrib-decltype. l_st_ref_attrib-attrdonly = <l_st_attrib>-attrdonly. perform get_dom_value_text using 'SEOTYPTYPE' <l_st_attrib>-typtype changing l_st_ref_attrib-typtype. l_st_ref_attrib-type = <l_st_attrib>-type. l_str = <l_st_attrib>-exposure. condense l_str. concatenate 'switchContent(''COMPONENTS_' l_str '_' <l_st_super_class>-clsname ''')' into l_st_ref_attrib-onclick. l_st_ref_attrib-typelink = '-&gt;'.

l_st_ref_attrib-descript = <l_st_attrib>-descript. l_st_ref_attrib-attvalue = <l_st_attrib>-attvalue. l_st_ref_attrib-owner = <l_st_super_class>-clsname. append l_st_ref_attrib to c_it_ref_attrib. endif. endloop. endloop. endform. "seo_clas_get_attribs_from_clas *----------------------------------------------------------------------* seo_clas_get_attribs_from_intf *----------------------------------------------------------------------form seo_clas_get_attribs_from_intf using value(i_clsname) i_it_super_class type it_seo_super_class i_it_ref_interface type it_ref_seointerface changing c_it_ref_attrib type it_ref_seoattrib. data: l_it_attrib type standard table of vseoattrib, l_cpdname type seocpdname, l_st_ref_attrib type st_ref_seoattrib, l_str type string. field-symbols: <l_st_super_class> type st_seo_super_class, <l_st_ref_interface> type st_ref_seointerface, <l_st_attrib> type vseoattrib, <l_st_ref_attrib> type st_ref_seoattrib. loop at i_it_super_class assigning <l_st_super_class>. loop at i_it_ref_interface assigning <l_st_ref_interface> where owner = <l_st_super_class>-clsname. select * from vseoattrib into table l_it_attrib where clsname = <l_st_ref_interface>-refclsname and alias = abap_false and langu = sy-langu and version = '1' order by editorder. loop at l_it_attrib assigning <l_st_attrib>. concatenate <l_st_attrib>-clsname '~' <l_st_attrib>-cmpname into l_cpdname. read table c_it_ref_attrib assigning <l_st_ref_attrib> with key cpdname = l_cpdname. if sy-subrc <> 0 and ( <l_st_super_class>-clsname = i_clsname or <l_st_attrib>-exposure > 0 ). l_st_ref_attrib-cpdname = l_cpdname. if <l_st_super_class>-clsname = i_clsname. l_st_ref_attrib-inherited = abap_false. else. l_st_ref_attrib-inherited = abap_true. endif. perform get_dom_value_text using 'SEOEXPOSE'

<l_st_attrib>-exposure changing l_st_ref_attrib-exposure. perform seo_get_check_model using <l_st_attrib> changing l_st_ref_attrib. perform get_dom_value_text using 'SEOATTDECL' <l_st_attrib>-attdecltyp changing l_st_ref_attrib-decltype. l_st_ref_attrib-attrdonly = <l_st_attrib>-attrdonly. perform get_dom_value_text using 'SEOTYPTYPE' <l_st_attrib>-typtype changing l_st_ref_attrib-typtype. l_st_ref_attrib-type = <l_st_attrib>-type. l_str = <l_st_attrib>-exposure. condense l_str. concatenate 'switchContent(''COMPONENTS_' l_str '_' <l_st_super_class>-clsname ''')' into l_st_ref_attrib-onclick. l_st_ref_attrib-typelink = '-&gt;'. l_st_ref_attrib-descript = <l_st_attrib>-descript. l_st_ref_attrib-attvalue = <l_st_attrib>-attvalue. l_st_ref_attrib-owner = <l_st_super_class>-clsname. append l_st_ref_attrib to c_it_ref_attrib. endif. endloop. endloop. endloop. endform. "seo_clas_get_attribs_from_intf *----------------------------------------------------------------------* seo_clas_get_events *----------------------------------------------------------------------form seo_clas_get_events using value(i_clsname) i_it_super_class type it_seo_super_class i_it_ref_interface type it_ref_seointerface changing c_it_ref_event type it_ref_seoevent. refresh: c_it_ref_event. *Events - from Interfaces perform seo_clas_get_events_from_intf using i_clsname i_it_super_class i_it_ref_interface changing c_it_ref_event. *Events - from Classes

perform seo_clas_get_events_from_clas using i_clsname i_it_super_class changing c_it_ref_event. endform. "seo_clas_get_events

*----------------------------------------------------------------------* seo_clas_get_events_from_clas *----------------------------------------------------------------------form seo_clas_get_events_from_clas using value(i_clsname) i_it_super_class type it_seo_super_class changing c_it_ref_event type it_ref_seoevent. data: l_it_event type standard table of vseoevent, l_st_ref_event type st_ref_seoevent, l_st_cmpkey type seocmpkey. field-symbols: <l_st_super_class> type st_seo_super_class, <l_st_event> type vseoevent. loop at i_it_super_class assigning <l_st_super_class>. select * from vseoevent into table l_it_event where clsname = <l_st_super_class>-clsname and langu = sy-langu and alias = abap_false and version = '1' order by editorder. loop at l_it_event assigning <l_st_event>. clear l_st_ref_event. l_st_cmpkey-clsname = <l_st_super_class>-clsname. l_st_cmpkey-cmpname = <l_st_event>-cmpname. call function 'SEO_EVENT_GET' exporting evtkey = l_st_cmpkey version = 1 importing event = <l_st_event> exceptions others = 1. if sy-subrc = 0 and <l_st_event>-alias = abap_false. l_st_ref_event-owner = <l_st_super_class>-clsname. if <l_st_super_class>-clsname <> i_clsname. l_st_ref_event-inherited = abap_true. endif. l_st_ref_event-cpdname = <l_st_event>-cmpname. perform get_dom_value_text using 'SEOEVTDECL' <l_st_event>-evtdecltyp changing l_st_ref_event-type.

perform get_dom_value_text using 'SEOEXPOSE' <l_st_event>-exposure changing l_st_ref_event-exposure. perform seo_get_check_model using <l_st_event> changing l_st_ref_event. l_st_ref_event-descript = <l_st_event>-descript. append l_st_ref_event to c_it_ref_event. endif. endloop. endloop. endform. "seo_clas_get_events_from_clas *----------------------------------------------------------------------* seo_clas_get_events_from_intf *----------------------------------------------------------------------form seo_clas_get_events_from_intf using value(i_clsname) i_it_super_class type it_seo_super_class i_it_ref_interface type it_ref_seointerface changing c_it_ref_event type it_ref_seoevent. data: l_it_event type standard table of vseoevent, l_st_ref_event type st_ref_seoevent, l_st_cmpkey type seocmpkey. field-symbols: <l_st_super_class> type st_seo_super_class, <l_st_ref_interface> type st_ref_seointerface, <l_st_event> type vseoevent. loop at i_it_super_class assigning <l_st_super_class>. loop at i_it_ref_interface assigning <l_st_ref_interface> where owner = <l_st_super_class>-clsname. select * from vseoevent into table l_it_event where clsname = <l_st_ref_interface>-refclsname and langu = sy-langu and alias = abap_false and version = '1' order by editorder. loop at l_it_event assigning <l_st_event>. clear l_st_ref_event. l_st_cmpkey-clsname = <l_st_ref_interface>-refclsname. if <l_st_super_class>-clsname <> i_clsname. l_st_ref_event-inherited = abap_true. endif. l_st_cmpkey-cmpname = <l_st_event>-cmpname. call function 'SEO_EVENT_GET' exporting evtkey = l_st_cmpkey version = 1 importing event = <l_st_event>

exceptions others = 1. if sy-subrc = 0 and <l_st_event>-alias = abap_false. l_st_ref_event-owner = <l_st_super_class>-clsname. concatenate <l_st_ref_interface>-refclsname '~' <l_st_event>-cmpname into l_st_ref_event-cpdname. perform get_dom_value_text using 'SEOEVTDECL' <l_st_event>-evtdecltyp changing l_st_ref_event-type. perform get_dom_value_text using 'SEOEXPOSE' <l_st_event>-exposure changing l_st_ref_event-exposure. perform seo_get_check_model using <l_st_event> changing l_st_ref_event. l_st_ref_event-descript = <l_st_event>-descript. append l_st_ref_event to c_it_ref_event. endif. endloop. endloop. endloop. endform. "seo_clas_get_events_from_intf

*----------------------------------------------------------------------* seo_clas_get_friends *----------------------------------------------------------------------form seo_clas_get_friends using value(i_clsname) changing c_it_ref_friends type it_ref_seofriends. data: l_it_friends type standard table of seofriends, l_st_ref_friends type st_ref_seofriends. field-symbols: <l_st_friends> type seofriends. refresh: c_it_ref_friends. select * from seofriends into table l_it_friends where clsname = i_clsname and version = '1' order by refclsname. loop at l_it_friends assigning <l_st_friends>. clear l_st_ref_friends. read table c_it_ref_friends transporting no fields with key refclsname = <l_st_friends>-refclsname. if sy-subrc <> 0. l_st_ref_friends-refclsname = <l_st_friends>-refclsname.

perform seo_get_check_model using <l_st_friends> changing l_st_ref_friends. select single descript from seoclasstx into l_st_ref_friends-descript where clsname = <l_st_friends>-refclsname and langu = sy-langu. append l_st_ref_friends to c_it_ref_friends. endif. endloop. endform. "seo_clas_get_friends *----------------------------------------------------------------------* seo_clas_get_interfaces *----------------------------------------------------------------------form seo_clas_get_interfaces using value(i_clsname) i_it_super_class type it_seo_super_class changing c_it_ref_interface type it_ref_seointerface c_it_ref_interface_all type it_ref_seointerface. data: l_it_ref_interface_tmp type it_ref_seointerface, l_it_ref_interface_all_tmp type it_ref_seointerface. field-symbols: <l_st_super_class> type st_seo_super_class, <l_st_ref_interface> type st_ref_seointerface. refresh: c_it_ref_interface, c_it_ref_interface_all. loop at i_it_super_class assigning <l_st_super_class>. refresh l_it_ref_interface_tmp. perform seo_get_interfaces using <l_st_super_class>-clsname 0 changing l_it_ref_interface_tmp l_it_ref_interface_all_tmp. loop at l_it_ref_interface_tmp assigning <l_st_ref_interface>. <l_st_ref_interface>-owner = <l_st_super_class>. if <l_st_super_class>-clsname <> i_clsname. <l_st_ref_interface>-inherited = abap_true. endif. append <l_st_ref_interface> to c_it_ref_interface. endloop. loop at l_it_ref_interface_all_tmp assigning <l_st_ref_interface>. <l_st_ref_interface>-owner = <l_st_super_class>. if <l_st_super_class>-clsname <> i_clsname. <l_st_ref_interface>-inherited = abap_true. endif. append <l_st_ref_interface> to c_it_ref_interface_all. endloop.

endloop. endform.

"seo_clas_get_interfaces

*----------------------------------------------------------------------* seo_clas_get_methods *----------------------------------------------------------------------form seo_clas_get_methods using i_st_ztadir type st_ztadir i_it_super_class type it_seo_super_class i_it_ref_interface type it_ref_seointerface changing c_it_ref_method type it_ref_seomethod. data: l_st_zseomethod type st_zseomethod, l_cpdname type seocpdname. field-symbols: <l_st_ref_method> type st_ref_seomethod. refresh: c_it_ref_method. *Methods - from Interfaces perform seo_clas_get_methods_from_intf using i_st_ztadir-obj_name i_it_super_class i_it_ref_interface changing c_it_ref_method. *Methods - from Classes perform seo_clas_get_methods_from_clas using i_st_ztadir-obj_name i_it_super_class changing c_it_ref_method. *Methods - check redefinitions select mtdname from seoredef into l_cpdname where clsname = i_st_ztadir-obj_name and version = '1'. read table c_it_ref_method assigning <l_st_ref_method> with key cpdname = l_cpdname. if sy-subrc = 0. <l_st_ref_method>-inherited = abap_false. <l_st_ref_method>-redefin = abap_true. endif. endselect. *Methods - add to global methods' table loop at c_it_ref_method assigning <l_st_ref_method>. read table g_it_zseomethod transporting no fields with key devclass = i_st_ztadir-devclass pgmid = i_st_ztadir-pgmid object = i_st_ztadir-object clsname = <l_st_ref_method>-owner cpdname = <l_st_ref_method>-cpdname. if sy-subrc <> 0.

clear l_st_zseomethod. l_st_zseomethod-pgmid = i_st_ztadir-pgmid. l_st_zseomethod-object = i_st_ztadir-object. l_st_zseomethod-devclass = i_st_ztadir-devclass. l_st_zseomethod-clsname = <l_st_ref_method>-owner. l_st_zseomethod-cpdname = <l_st_ref_method>-cpdname. l_st_zseomethod-active = <l_st_ref_method>-active. append l_st_zseomethod to g_it_zseomethod. endif. endloop. endform. "seo_clas_get_methods *----------------------------------------------------------------------* seo_clas_get_methods_from_clas *----------------------------------------------------------------------form seo_clas_get_methods_from_clas using value(i_clsname) i_it_super_class type it_seo_super_class changing c_it_ref_method type it_ref_seomethod. data: l_it_method type standard table of vseomethod, l_cpdname type seocpdname, l_st_ref_method type st_ref_seomethod. field-symbols: <l_st_super_class> type st_seo_super_class, <l_st_method> type vseomethod, <l_st_ref_method> type st_ref_seomethod. loop at i_it_super_class assigning <l_st_super_class>. select * from vseomethod into table l_it_method where clsname = <l_st_super_class>-clsname and langu = sy-langu and alias = abap_false and version = '1' order by editorder. loop at l_it_method assigning <l_st_method>. l_cpdname = <l_st_method>-cmpname. read table c_it_ref_method assigning <l_st_ref_method> with key cpdname = l_cpdname. if sy-subrc = 0. if <l_st_super_class>-clsname = i_clsname. <l_st_ref_method>-inherited = abap_false. endif. elseif <l_st_super_class>-clsname = i_clsname or <l_st_method>-exposure > 0. clear l_st_ref_method. l_st_ref_method-cpdname = l_cpdname. if <l_st_super_class>-clsname <> i_clsname. l_st_ref_method-inherited = abap_true. endif. perform get_dom_value_text using 'SEOVERSION' <l_st_method>-version changing

l_st_ref_method-active. perform get_dom_value_text using 'SEOMTDDECL' <l_st_method>-mtddecltyp changing l_st_ref_method-type. perform get_dom_value_text using 'SEOEXPOSE' <l_st_method>-exposure changing l_st_ref_method-exposure. perform seo_get_check_model using <l_st_method> changing l_st_ref_method. perform get_dom_value_text using 'SEOMTDTYPE' <l_st_method>-mtdtype changing l_st_ref_method-methodtype. l_st_ref_method-descript = <l_st_method>-descript. l_st_ref_method-owner = <l_st_super_class>-clsname. concatenate 'loadIFrame(''IFRAME'', ''' l_st_ref_method-owner '-' l_st_ref_method-cpdname '.' g_c_extension_htm ''');' 'switchContent(''IFRAME' ''')' into l_st_ref_method-onclick. perform replace_all using '~' '-' changing l_st_ref_method-onclick. append l_st_ref_method to c_it_ref_method. endif. endloop. endloop. endform. "seo_clas_get_methods_from_clas *----------------------------------------------------------------------* seo_clas_get_methods_from_intf *----------------------------------------------------------------------form seo_clas_get_methods_from_intf using value(i_clsname) i_it_super_class type it_seo_super_class i_it_ref_interface type it_ref_seointerface changing c_it_ref_method type it_ref_seomethod. data: l_it_method type standard table of vseomethod, l_cpdname type seocpdname, l_st_ref_method type st_ref_seomethod. field-symbols: <l_st_super_class> type st_seo_super_class,

<l_st_ref_interface> type st_ref_seointerface, <l_st_method> type vseomethod, <l_st_ref_method> type st_ref_seomethod. loop at i_it_super_class assigning <l_st_super_class>. loop at i_it_ref_interface assigning <l_st_ref_interface> where owner = <l_st_super_class>-clsname. select * from vseomethod into table l_it_method where clsname = <l_st_ref_interface>-refclsname and langu = sy-langu and alias = abap_false and version = '1' order by editorder. loop at l_it_method assigning <l_st_method>. concatenate <l_st_ref_interface>-refclsname '~' <l_st_method>-cmpname into l_cpdname. read table c_it_ref_method assigning <l_st_ref_method> with key cpdname = l_cpdname. if sy-subrc <> 0 and ( <l_st_super_class>-clsname = i_clsname or <l_st_method>-exposure > 0 ). clear l_st_ref_method. l_st_ref_method-cpdname = l_cpdname. if <l_st_super_class>-clsname <> i_clsname. l_st_ref_method-inherited = abap_true. endif. perform get_dom_value_text using 'SEOVERSION' <l_st_method>-version changing l_st_ref_method-active. perform get_dom_value_text using 'SEOMTDDECL' <l_st_method>-mtddecltyp changing l_st_ref_method-type. perform get_dom_value_text using 'SEOEXPOSE' <l_st_method>-exposure changing l_st_ref_method-exposure. perform seo_get_check_model using <l_st_method> changing l_st_ref_method. perform get_dom_value_text using 'SEOMTDTYPE' <l_st_method>-mtdtype changing l_st_ref_method-methodtype. l_st_ref_method-descript = <l_st_method>-descript. l_st_ref_method-owner = <l_st_super_class>-clsname. concatenate 'loadIFrame(''IFRAME'', ''' l_st_ref_method-owner '-'

l_st_ref_method-cpdname '.' g_c_extension_htm ''');' 'switchContent(''IFRAME'')' into l_st_ref_method-onclick. perform replace_all using '~' '-' changing l_st_ref_method-onclick. append l_st_ref_method to c_it_ref_method. endif. endloop. endloop. endloop. endform. "seo_clas_get_methods_from_intf *----------------------------------------------------------------------* seo_clas_get_props *----------------------------------------------------------------------form seo_clas_get_props using value(i_clsname) value(i_devclass) changing c_st_properties type st_properties c_it_textinput type it_textinput c_it_typegroup type it_seotypepls. data: l_st_clskey type seoclskey, l_st_extend type vseoextend, l_it_redefinition type standard table of seoredef with key clsname refclsname version mtdname, l_st_relkey type seorelkey, l_st_vseoclass type vseoclass, l_it_typegroup type it_seotypepls. field-symbols: <l_st_typegroup> type seotypepls, <l_explicit> type any, <l_state> type any. clear: c_st_properties. refresh: c_it_typegroup. l_st_clskey-clsname = i_clsname. call function 'SEO_CLASS_READ' exporting clskey = l_st_clskey version = '1' importing class = l_st_vseoclass. if l_st_vseoclass-changedby is initial and l_st_vseoclass-changedon is initial. l_st_vseoclass-changedby = l_st_vseoclass-author. l_st_vseoclass-changedon = l_st_vseoclass-createdon. endif. select * from seotypepls into table l_it_typegroup

where clsname = l_st_clskey-clsname and version = '1' order by typegroup. loop at l_it_typegroup assigning <l_st_typegroup>. assign component 'EXPLICIT' of structure <l_st_typegroup> to <l_explicit>. if <l_explicit> is assigned and <l_explicit> = abap_true. append <l_st_typegroup> to c_it_typegroup. endif. endloop. l_st_relkey-clsname = i_clsname. call function 'SEO_INHERITANC_GET' exporting inhkey = l_st_relkey version = '1' importing inheritance = l_st_extend redefinitions = l_it_redefinition exceptions others = 1. c_st_properties-superclass = l_st_extend-refclsname. assign component 'STATE' of structure l_st_extend to <l_state>. if <l_state> is assigned. if <l_state> = 0. c_st_properties-check_model_inh = abap_true. endif. else. c_st_properties-check_model_inh = abap_undefined. endif. c_st_properties-descript = l_st_vseoclass-descript. if l_st_vseoclass-clsabstrct = abap_true. l_st_vseoclass-exposure = 3. endif. perform get_dom_value_text using 'SEOCREATE' l_st_vseoclass-exposure changing c_st_properties-creatable. c_st_properties-clsfinal = l_st_vseoclass-clsfinal. if l_st_vseoclass-langu is initial. select single masterlang from tadir into l_st_vseoclass-langu where pgmid = 'R3TR' and object = 'CLAS' and obj_name = i_clsname. endif. perform seo_clas_get_props_textInput using i_clsname i_devclass l_st_vseoclass changing c_it_textinput. endform. "seo_clas_get_props *----------------------------------------------------------------------* seo_clas_get_props_textInput *----------------------------------------------------------------------form seo_clas_get_props_textInput using value(i_clsname)

value(i_devclass) i_st_vseoclass type vseoclass changing c_it_textinput type it_textinput. data: l_namtext type ad_namtext, l_st_textinput type st_textinput. field-symbols: <l_clssharedmemory> type any, <l_msg_id> type any, <l_unicode> type any. refresh: c_it_textinput. l_st_textinput-name = txt_released_internally. l_st_textinput-flag = abap_true. if not i_st_vseoclass-release is initial. l_st_textinput-value = abap_true. endif. append l_st_textinput to c_it_textinput. clear l_st_textinput. l_st_textinput-name = txt_fixed_point_arithmetic. l_st_textinput-flag = abap_true. l_st_textinput-flag_col = 1. l_st_textinput-value = i_st_vseoclass-fixpt. append l_st_textinput to c_it_textinput. assign component 'UNICODE' of structure i_st_vseoclass to <l_unicode>. if <l_unicode> is assigned. clear l_st_textinput. l_st_textinput-name = txtt_unicode_checks_active. l_st_textinput-flag = abap_true. l_st_textinput-flag_col = 2. l_st_textinput-value = i_st_vseoclass-unicode. append l_st_textinput to c_it_textinput. endif. assign component 'CLSSHAREDMEMORY' of structure i_st_vseoclass to <l_clssharedmemory>. if <l_clssharedmemory> is assigned. clear l_st_textinput. l_st_textinput-name = txt_shared_memory_enabled. l_st_textinput-flag = abap_true. l_st_textinput-value = <l_clssharedmemory>. append l_st_textinput to c_it_textinput. endif. assign component 'MSG_ID' of structure i_st_vseoclass to <l_msg_id>. if <l_msg_id> is assigned. clear l_st_textinput. l_st_textinput-name = txt_message_class. l_st_textinput-value = <l_msg_id>. l_st_textinput-input = abap_true. append l_st_textinput to c_it_textinput. endif. clear l_st_textinput. l_st_textinput-name = txt_program_status. perform get_dom_value_text using 'RSTAT' i_st_vseoclass-rstat changing l_st_textinput-value.

l_st_textinput-input = abap_true. append l_st_textinput to c_it_textinput. clear l_st_textinput. l_st_textinput-name = txt_category. perform get_dom_value_text using 'SEOCATEGRY' i_st_vseoclass-category changing l_st_textinput-value. l_st_textinput-input = abap_true. append l_st_textinput to c_it_textinput. clear l_st_textinput. l_st_textinput-name = txt_package. l_st_textinput-value = i_devclass. l_st_textinput-input = abap_true. append l_st_textinput to c_it_textinput. clear l_st_textinput. l_st_textinput-name = txt_original_language. l_st_textinput-value = i_st_vseoclass-langu. l_st_textinput-input = abap_true. append l_st_textinput to c_it_textinput. clear l_st_textinput. l_st_textinput-name = txt_created_by___1. l_st_textinput-value = i_st_vseoclass-author. perform get_user using i_st_vseoclass-author changing l_namtext. l_st_textinput-value_text = l_namtext. l_st_textinput-has_value_ext = abap_true. perform get_date using i_st_vseoclass-createdon changing l_st_textinput-value_ext. l_st_textinput-input = abap_true. append l_st_textinput to c_it_textinput. clear l_st_textinput. l_st_textinput-name = txt_last_changed_by___1. l_st_textinput-value = i_st_vseoclass-changedby. perform get_user using i_st_vseoclass-changedby changing l_namtext. l_st_textinput-value_text = l_namtext. l_st_textinput-has_value_ext = abap_true. perform get_date using i_st_vseoclass-changedon changing l_st_textinput-value_ext. l_st_textinput-input = abap_true. append l_st_textinput to c_it_textinput. endform. "seo_clas_get_props_textInput *----------------------------------------------------------------------* seo_clas_get_text_symbols *----------------------------------------------------------------------form seo_clas_get_text_symbols using value(i_clsname) changing c_it_text_symbols type it_textpool c_it_text_symbols_addons type it_textpool_addons. data: l_clsname type seoclsname, l_progname type progname, l_st_text_symbols_addons type st_textpool_addons. field-symbols:

<l_st_text_symbols> type textpool. refresh: c_it_text_symbols, c_it_text_symbols_addons. l_clsname = i_clsname. perform get_trdir_name using l_clsname 'CP' changing l_progname. read textpool l_progname into c_it_text_symbols language sy-langu. delete c_it_text_symbols where id <> 'I'. loop at c_it_text_symbols assigning <l_st_text_symbols>. l_st_text_symbols_addons-strlen = strlen( <l_st_text_symbols>-entry ). append l_st_text_symbols_addons to c_it_text_symbols_addons. endloop. endform. "seo_clas_get_text_symbols *----------------------------------------------------------------------* seo_clas_get_types *----------------------------------------------------------------------form seo_clas_get_types using value(i_clsname) i_it_super_class type it_seo_super_class changing c_it_ref_type type it_ref_seotype c_it_ref_type_par type it_ref_seotype. data: l_it_seotype type standard table of vseotype, l_st_ref_type type st_ref_seotype, l_str type string. field-symbols: <l_st_super_class> type st_seo_super_class, <l_st_seotype> type vseotype. refresh: c_it_ref_type, c_it_ref_type_par. loop at i_it_super_class assigning <l_st_super_class>. select * from vseotype into table l_it_seotype where clsname = <l_st_super_class>-clsname and langu = sy-langu and version = '1' order by editorder. loop at l_it_seotype assigning <l_st_seotype>. clear l_st_ref_type. l_st_ref_type-cpdname = <l_st_seotype>-cmpname. l_st_ref_type-owner = <l_st_super_class>-clsname. if <l_st_super_class>-clsname <> i_clsname. l_st_ref_type-inherited = abap_true. endif. perform get_dom_value_text

using 'SEOTYPTYPE' <l_st_seotype>-typtype changing l_st_ref_type-typtype. l_st_ref_type-type = <l_st_seotype>-type. l_str = <l_st_seotype>-exposure. condense l_str. concatenate 'switchContent(''COMPONENTS_' l_str '_' <l_st_super_class>-clsname ''')' into l_st_ref_type-onclick. l_st_ref_type-typelink = '-&gt;'. l_st_ref_type-descript = <l_st_seotype>-descript. perform get_dom_value_text using 'SEOEXPOSE' <l_st_seotype>-exposure changing l_st_ref_type-exposure. perform seo_get_check_model using <l_st_seotype> changing l_st_ref_type. append l_st_ref_type to c_it_ref_type_par. if <l_st_super_class>-clsname = i_clsname or <l_st_seotype>-exposure <> 0. append l_st_ref_type to c_it_ref_type. endif. endloop. endloop. endform. "seo_clas_get_types

*----------------------------------------------------------------------* seo_get_check_model *----------------------------------------------------------------------form seo_get_check_model using value(i_st_struc) type any changing c_st_struc type any. field-symbols: <l_state> type any, <l_check_model> type any. assign component 'STATE' of structure i_st_struc to <l_state>. assign component 'CHECK_MODEL' of structure c_st_struc to <l_check_model>. check <l_check_model> is assigned. if <l_state> is assigned. if <l_state> = 0. <l_check_model> = abap_true. else. <l_check_model> = abap_false. endif. else. <l_check_model> = abap_undefined. endif.

endform.

"seo_get_check_model

*----------------------------------------------------------------------* seo_get_interfaces *----------------------------------------------------------------------form seo_get_interfaces using value(i_clsname) value(i_hierlevel) changing c_it_ref_interface type it_ref_seointerface c_it_ref_interface_all type it_ref_seointerface. data: l_hierlevel type i, l_it_metarel type standard table of seometarel, l_it_ref_interface type it_ref_seointerface, l_st_ref_interface type st_ref_seointerface. field-symbols: <l_st_metarel> type seometarel, <l_st_ref_interface> type st_ref_seointerface, <l_impfinal> type any, <l_impabstrct> type any. l_hierlevel = i_hierlevel + 1. select * from seometarel into table l_it_metarel where clsname = i_clsname and reltype <= 1. clear l_st_ref_interface. loop at l_it_metarel assigning <l_st_metarel>. read table c_it_ref_interface_all transporting no fields with key refclsname = <l_st_metarel>-refclsname. if sy-subrc <> 0. l_st_ref_interface-refclsname = <l_st_metarel>-refclsname. assign component 'IMPFINAL' of structure <l_st_metarel> to <l_impfinal>. if <l_impfinal> is assigned. l_st_ref_interface-impfinal = <l_impfinal>. unassign <l_impfinal>. else. l_st_ref_interface-impfinal = abap_undefined. endif. assign component 'IMPABSTRCT' of structure <l_st_metarel> to <l_impabstrct>. if <l_impabstrct> is assigned. l_st_ref_interface-impabstrct = <l_impabstrct>. unassign <l_impabstrct>. else. l_st_ref_interface-impabstrct = abap_undefined. endif. perform seo_get_check_model using <l_st_metarel> changing l_st_ref_interface. select single descript from seoclasstx into l_st_ref_interface-descript where clsname = l_st_ref_interface-refclsname

and langu = sy-langu. append l_st_ref_interface to c_it_ref_interface. append l_st_ref_interface to c_it_ref_interface_all. perform seo_get_interfaces using <l_st_metarel>-refclsname l_hierlevel changing l_it_ref_interface c_it_ref_interface_all. endif. endloop. sort c_it_ref_interface_all by hierlevel descending refclsname ascending. sort c_it_ref_interface by refclsname. endform. "seo_get_interfaces *----------------------------------------------------------------------* seo_get_superClasses *----------------------------------------------------------------------form seo_get_superClasses using value(i_clsname) changing c_it_super_class type it_seo_super_class. data: l_st_clskey type seoclskey, l_st_clsref type seoclsref, l_st_super_class type st_seo_super_class, l_lines type i. field-symbols: <l_class> type seoclsname. describe table c_it_super_class lines l_lines. l_st_super_class-clsname = i_clsname. l_st_super_class-hierlevel = l_lines + 1. append l_st_super_class to c_it_super_class. l_st_clskey-clsname = i_clsname. call function 'SEO_CLASS_GET' exporting clskey = l_st_clskey version = '1' state = '0' importing superclass = l_st_clsref exceptions others = 1. if sy-subrc = 0 and not l_st_clsref-refclsname is initial. perform seo_get_superClasses using l_st_clsref-refclsname changing c_it_super_class.

endif. sort c_it_super_class by hierlevel descending. endform. "seo_get_superClasses *----------------------------------------------------------------------* seo_intf_get_aliases *----------------------------------------------------------------------form seo_intf_get_aliases using value(i_clsname) i_it_ref_attrib type it_ref_seoattrib i_it_ref_method type it_ref_seomethod i_it_ref_event type it_ref_seoevent i_it_ref_type type it_ref_seotype changing c_it_ref_alias type it_ref_seoalias. data: l_st_ref_alias type st_ref_seoalias, l_st_clskey type seoclskey, l_it_seoalias type seo_aliases, l_cpdname type seocpdname. field-symbols: <l_st_ref_attrib> type st_ref_seoattrib, <l_st_ref_method> type st_ref_seomethod, <l_st_ref_event> type st_ref_seoevent, <l_st_ref_type> type st_ref_seotype, <l_st_seoalias> type seoaliases, <l_st_ref_alias> type st_ref_seoalias. refresh: c_it_ref_alias. l_st_ref_alias-type = txt_attribute. loop at i_it_ref_attrib assigning <l_st_ref_attrib> where cpdname cp '*~*'. l_st_ref_alias-cpdname = <l_st_ref_attrib>-cpdname. append l_st_ref_alias to c_it_ref_alias. endloop. l_st_ref_alias-type = txt_method. loop at i_it_ref_method assigning <l_st_ref_method> where cpdname cp '*~*'. l_st_ref_alias-cpdname = <l_st_ref_method>-cpdname. append l_st_ref_alias to c_it_ref_alias. endloop. l_st_ref_alias-type = txt_event. loop at i_it_ref_event assigning <l_st_ref_event> where cpdname cp '*~*'. l_st_ref_alias-cpdname = <l_st_ref_event>-cpdname. append l_st_ref_alias to c_it_ref_alias. endloop. l_st_ref_alias-type = txt_type___1. loop at i_it_ref_type assigning <l_st_ref_type> where cpdname cp '*~*'. l_st_ref_alias-cpdname = <l_st_ref_type>-cpdname. append l_st_ref_alias to c_it_ref_alias. endloop.

l_st_clskey-clsname = i_clsname. call function 'SEO_ALIASES_GET' exporting cifkey = l_st_clskey changing aliases = l_it_seoalias. loop at l_it_seoalias assigning <l_st_seoalias>. concatenate <l_st_seoalias>-refclsname '~' <l_st_seoalias>-refcmpname into l_cpdname. read table c_it_ref_alias assigning <l_st_ref_alias> with key cpdname = l_cpdname. if sy-subrc = 0. <l_st_ref_alias>-refcmpname = <l_st_seoalias>-cmpname. endif. endloop. sort c_it_ref_alias by cpdname. endform. "seo_intf_get_aliases *----------------------------------------------------------------------* seo_intf_get_attribs *----------------------------------------------------------------------form seo_intf_get_attribs using value(i_clsname) i_it_ref_interface type it_ref_seointerface changing c_it_ref_attrib type it_ref_seoattrib. data: l_it_attrib type standard table of vseoattrib, l_st_ref_attrib type st_ref_seoattrib. field-symbols: <l_st_ref_interface> type st_ref_seointerface, <l_st_attrib> type vseoattrib. refresh: c_it_ref_attrib. loop at i_it_ref_interface assigning <l_st_ref_interface>. select * from vseoattrib into table l_it_attrib where clsname = <l_st_ref_interface>-refclsname and langu = sy-langu and version = '1' order by editorder. loop at l_it_attrib assigning <l_st_attrib>. clear l_st_ref_attrib. if <l_st_attrib>-alias = abap_false. l_st_ref_attrib-cpdname = <l_st_attrib>-cmpname. if <l_st_ref_interface>-refclsname <> i_clsname. concatenate <l_st_ref_interface>-refclsname '~' l_st_ref_attrib-cpdname into l_st_ref_attrib-cpdname. endif. perform seo_get_check_model using <l_st_attrib> changing l_st_ref_attrib. perform get_dom_value_text

using 'SEOATTDECL' <l_st_attrib>-attdecltyp changing l_st_ref_attrib-decltype. l_st_ref_attrib-attrdonly = <l_st_attrib>-attrdonly. perform get_dom_value_text using 'SEOTYPTYPE' <l_st_attrib>-typtype changing l_st_ref_attrib-typtype. l_st_ref_attrib-type = <l_st_attrib>-type. concatenate 'switchContent(''COMPONENTS_' <l_st_ref_interface>-refclsname ''')' into l_st_ref_attrib-onclick. l_st_ref_attrib-typelink = '-&gt;'. l_st_ref_attrib-descript = <l_st_attrib>-descript. l_st_ref_attrib-attvalue = <l_st_attrib>-attvalue. append l_st_ref_attrib to c_it_ref_attrib. endif. endloop. endloop. endform. "seo_intf_get_attribs *----------------------------------------------------------------------* seo_intf_get_events *----------------------------------------------------------------------form seo_intf_get_events using value(i_clsname) i_it_ref_interface type it_ref_seointerface changing c_it_ref_event type it_ref_seoevent. data: l_it_event type standard table of vseoevent, l_st_ref_event type st_ref_seoevent, l_st_cmpkey type seocmpkey, l_st_event type vseoevent. field-symbols: <l_st_ref_interface> type st_ref_seointerface, <l_st_event> type vseoevent. refresh: c_it_ref_event. loop at i_it_ref_interface assigning <l_st_ref_interface>. select * from vseoevent into table l_it_event where clsname = <l_st_ref_interface>-refclsname and langu = sy-langu and version = '1' order by editorder. clear l_st_ref_event. loop at l_it_event assigning <l_st_event>. l_st_cmpkey-clsname = <l_st_ref_interface>-refclsname. l_st_cmpkey-cmpname = <l_st_event>-cmpname. call function 'SEO_EVENT_GET'

exporting evtkey = l_st_cmpkey version = 1 importing event = l_st_event exceptions others = 1. if sy-subrc = 0 and l_st_event-alias = abap_false. l_st_ref_event-cpdname = l_st_event-cmpname. if <l_st_ref_interface>-refclsname <> i_clsname. concatenate <l_st_ref_interface>-refclsname '~' l_st_ref_event-cpdname into l_st_ref_event-cpdname. endif. perform seo_get_check_model using l_st_event changing l_st_ref_event. perform get_dom_value_text using 'SEOEVTDECL' l_st_event-evtdecltyp changing l_st_ref_event-type. l_st_ref_event-descript = l_st_event-descript. append l_st_ref_event to c_it_ref_event. endif. endloop. endloop. endform. "seo_intf_get_events *----------------------------------------------------------------------* seo_intf_get_methods *----------------------------------------------------------------------form seo_intf_get_methods using value(i_clsname) i_it_ref_interface type it_ref_seointerface changing c_it_ref_method type it_ref_seomethod. data: l_it_method type standard table of vseomethod, l_st_ref_method type st_ref_seomethod. field-symbols: <l_st_ref_interface> type st_ref_seointerface, <l_st_method> type vseomethod. refresh: c_it_ref_method. loop at i_it_ref_interface assigning <l_st_ref_interface>. select * from vseomethod into table l_it_method where clsname = <l_st_ref_interface>-refclsname and langu = sy-langu and version = '1' order by editorder. loop at l_it_method assigning <l_st_method>. clear l_st_ref_method. if <l_st_method>-alias = abap_false.

l_st_ref_method-cpdname = <l_st_method>-cmpname. if <l_st_ref_interface>-refclsname <> i_clsname. concatenate <l_st_ref_interface>-refclsname '~' l_st_ref_method-cpdname into l_st_ref_method-cpdname. endif. perform get_dom_value_text using 'SEOMTDDECL' <l_st_method>-mtddecltyp changing l_st_ref_method-type. perform seo_get_check_model using <l_st_method> changing l_st_ref_method. perform get_dom_value_text using 'SEOMTDTYPE' <l_st_method>-mtdtype changing l_st_ref_method-methodtype. l_st_ref_method-descript = <l_st_method>-descript. append l_st_ref_method to c_it_ref_method. endif. endloop. endloop. endform. "seo_intf_get_methods *----------------------------------------------------------------------* seo_intf_get_props *----------------------------------------------------------------------form seo_intf_get_props using value(i_clsname) value(i_devclass) changing c_st_properties type st_properties c_it_textinput type it_textinput c_it_typegroup type it_seotypepls. data: l_st_clskey type seoclskey, l_st_seointerf type vseointerf, l_it_typegroup type it_seotypepls. field-symbols: <l_st_typegroup> type seotypepls, <l_explicit> type any. clear: c_st_properties. refresh: c_it_typegroup. l_st_clskey-clsname = i_clsname. call function 'SEO_INTERFACE_READ' exporting intkey = l_st_clskey version = 1

importing interface = l_st_seointerf. if l_st_seointerf-changedby is initial and l_st_seointerf-changedon is initial. l_st_seointerf-changedby = l_st_seointerf-author. l_st_seointerf-changedon = l_st_seointerf-createdon. endif. select * from seotypepls into table l_it_typegroup where clsname = l_st_clskey-clsname and version = '1' order by typegroup. loop at l_it_typegroup assigning <l_st_typegroup>. assign component 'EXPLICIT' of structure <l_st_typegroup> to <l_explicit>. if <l_explicit> is assigned and <l_explicit> = abap_true. append <l_st_typegroup> to c_it_typegroup. endif. endloop. c_st_properties-descript = l_st_seointerf-descript. if l_st_seointerf-langu is initial. select single masterlang from tadir into l_st_seointerf-langu where pgmid = 'R3TR' and object = 'INTF' and obj_name = i_clsname. endif. perform seo_intf_get_props_textInput using i_clsname i_devclass l_st_seointerf changing c_it_textinput. endform. "seo_clas_get_props *----------------------------------------------------------------------* seo_intf_get_props_textInput *----------------------------------------------------------------------form seo_intf_get_props_textInput using value(i_clsname) value(i_devclass) i_st_seointerf type vseointerf changing c_it_textinput type it_textinput. data: l_namtext type ad_namtext, l_st_textinput type st_textinput. field-symbols: <l_unicode> type any. refresh: c_it_textinput. l_st_textinput-name = txt_released_internally. l_st_textinput-flag = abap_true. l_st_textinput-flag_col = 1.

if not i_st_seointerf-release is initial. l_st_textinput-value = abap_true. endif. append l_st_textinput to c_it_textinput. assign component 'UNICODE' of structure i_st_seointerf to <l_unicode>. if <l_unicode> is assigned. clear l_st_textinput. l_st_textinput-name = txtt_unicode_checks_active. l_st_textinput-flag = abap_true. l_st_textinput-flag_col = 2. l_st_textinput-value = <l_unicode>. append l_st_textinput to c_it_textinput. endif. clear l_st_textinput. l_st_textinput-name = txt_package. l_st_textinput-value = i_devclass. l_st_textinput-input = abap_true. append l_st_textinput to c_it_textinput. clear l_st_textinput. l_st_textinput-name = txt_original_language. l_st_textinput-value = i_st_seointerf-langu. l_st_textinput-input = abap_true. append l_st_textinput to c_it_textinput. clear l_st_textinput. l_st_textinput-name = txt_created_by___1. l_st_textinput-value = i_st_seointerf-author. perform get_user using i_st_seointerf-author changing l_namtext. l_st_textinput-value_text = l_namtext. l_st_textinput-has_value_ext = abap_true. perform get_date using i_st_seointerf-createdon changing l_st_textinput-value_ext. l_st_textinput-input = abap_true. append l_st_textinput to c_it_textinput. clear l_st_textinput. l_st_textinput-name = txt_last_changed_by___1. l_st_textinput-value = i_st_seointerf-changedby. perform get_user using i_st_seointerf-changedby changing l_namtext. l_st_textinput-value_text = l_namtext. l_st_textinput-has_value_ext = abap_true. perform get_date using i_st_seointerf-changedon changing l_st_textinput-value_ext. l_st_textinput-input = abap_true. append l_st_textinput to c_it_textinput. endform. "seo_intf_get_props_textInput

*----------------------------------------------------------------------* seo_intf_get_types *----------------------------------------------------------------------form seo_intf_get_types using value(i_clsname) i_it_ref_interface type it_ref_seointerface changing c_it_ref_type type it_ref_seotype c_it_ref_type_par type it_ref_seotype. data: l_it_type type standard table of vseotype, l_st_ref_type type st_ref_seotype. field-symbols: <l_st_ref_interface> type st_ref_seointerface, <l_st_type> type vseotype. refresh: c_it_ref_type. loop at i_it_ref_interface assigning <l_st_ref_interface>. select * from vseotype into table l_it_type where clsname = <l_st_ref_interface>-refclsname and langu = sy-langu and version = '1' order by editorder. clear l_st_ref_type. loop at l_it_type assigning <l_st_type>. l_st_ref_type-cpdname = <l_st_type>-cmpname. if <l_st_ref_interface>-refclsname <> i_clsname. concatenate <l_st_ref_interface>-refclsname '~' l_st_ref_type-cpdname into l_st_ref_type-cpdname. endif. perform get_dom_value_text using 'SEOTYPTYPE' <l_st_type>-typtype changing l_st_ref_type-typtype. l_st_ref_type-type = <l_st_type>-type. concatenate 'switchContent(''COMPONENTS_' <l_st_ref_interface>-refclsname ''')' into l_st_ref_type-onclick. l_st_ref_type-typelink = '-&gt;'. l_st_ref_type-descript = <l_st_type>-descript. append l_st_ref_type to c_it_ref_type_par. if <l_st_ref_interface>-refclsname = i_clsname. append l_st_ref_type to c_it_ref_type. endif. endloop. endloop. endform. "seo_intf_get_types *----------------------------------------------------------------------* seo_r3tr_clas Classes *----------------------------------------------------------------------form seo_r3tr_clas.

data: l_it_html type it_string, l_st_seoclass type seoclass, l_it_tabstrip type it_tabstrip, l_st_tabstrip type st_tabstrip, l_it_typegroup type standard table of seotypepls, l_st_properties type st_properties, l_it_textinput type it_textinput, l_it_super_class type it_seo_super_class, l_it_ref_interface type it_ref_seointerface, l_it_ref_interface_all type it_ref_seointerface, l_it_ref_attrib type it_ref_seoattrib, l_it_ref_friends type it_ref_seofriends, l_it_ref_method type it_ref_seomethod, l_it_ref_event type it_ref_seoevent, l_it_ref_type type it_ref_seotype, l_it_ref_type_par type it_ref_seotype, l_it_ref_alias type it_ref_seoalias, l_clsname type seoclsname, l_progname type programm, l_it_doc type it_string, l_it_text_symbols type it_textpool, l_it_text_symbols_addons type it_textpool_addons, l_javascript type string, l_filename type string, l_id type string, l_flag type flag, l_has_cl_name type flag, l_char type c. field-symbols: <l_st_tabstrip> type st_tabstrip, <l_st_ztadir> type st_ztadir, <l_st_super_class> type st_seo_super_class. loop at g_it_ztadir assigning <l_st_ztadir> where pgmid = 'R3TR' and object = 'CLAS' and downloaded = abap_false. <l_st_ztadir>-downloaded = abap_true. clear: l_javascript, l_st_tabstrip. refresh: l_it_html, l_it_super_class, l_it_ref_interface, l_it_ref_interface_all, l_it_doc. select single * from seoclass into l_st_seoclass where clsname = <l_st_ztadir>-obj_name and clstype = 0. if sy-subrc <> 0. <l_st_ztadir>-subrc = sy-subrc. continue.

endif. *Class Documentation perform get_docu using 'CL' <l_st_ztadir>-obj_name 'E' changing l_it_doc. *Text Symbols perform seo_clas_get_text_symbols using <l_st_ztadir>-obj_name changing l_it_text_symbols l_it_text_symbols_addons. *Properties perform seo_clas_get_props using <l_st_ztadir>-obj_name <l_st_ztadir>-devclass changing l_st_properties l_it_textinput l_it_typegroup. *Super classes perform seo_get_superClasses using <l_st_ztadir>-obj_name changing l_it_super_class. *Interfaces perform seo_clas_get_interfaces using <l_st_ztadir>-obj_name l_it_super_class changing l_it_ref_interface l_it_ref_interface_all. *Friends perform seo_clas_get_friends using <l_st_ztadir>-obj_name changing l_it_ref_friends. *Attributes perform seo_clas_get_attribs using <l_st_ztadir>-obj_name l_it_super_class l_it_ref_interface_all changing l_it_ref_attrib. *Methods perform seo_clas_get_methods using <l_st_ztadir> l_it_super_class l_it_ref_interface_all changing

l_it_ref_method. *Events perform seo_clas_get_events using <l_st_ztadir>-obj_name l_it_super_class l_it_ref_interface_all changing l_it_ref_event. *Types perform seo_clas_get_types using <l_st_ztadir>-obj_name l_it_super_class changing l_it_ref_type l_it_ref_type_par. *Aliases perform seo_clas_get_aliases using <l_st_ztadir>-obj_name l_it_ref_attrib l_it_ref_method l_it_ref_event l_it_ref_type_par changing l_it_ref_alias. * Check CL-name l_has_cl_name = abap_false. l_clsname = <l_st_ztadir>-obj_name. perform get_trdir_name using l_clsname 'CL' changing l_progname. select single name from trdir into l_progname where name = l_progname. if sy-subrc = 0. l_has_cl_name = abap_true. endif. ***Tabstrip l_char = '-'. if l_has_cl_name = abap_false. l_char = 'N'. endif. perform get_tabstrip using 'SEO_R3TR_CLAS' l_char changing l_it_tabstrip. loop at l_it_tabstrip assigning <l_st_tabstrip>. <l_st_tabstrip>-empty = abap_false. case <l_st_tabstrip>-id. when 'DOC'. if l_it_doc is initial. <l_st_tabstrip>-empty = abap_true. endif. when 'TEXTSYMBOLS'. if l_it_text_symbols is initial. <l_st_tabstrip>-empty = abap_true. endif. when 'INTERFACES'. if l_it_ref_interface is initial.

<l_st_tabstrip>-empty = abap_true. endif. when 'FRIENDS'. if l_it_ref_friends is initial. <l_st_tabstrip>-empty = abap_true. endif. when 'ATTRIBUTES'. if l_it_ref_attrib is initial. <l_st_tabstrip>-empty = abap_true. endif. when 'METHODS'. if l_it_ref_method is initial. <l_st_tabstrip>-empty = abap_true. endif. when 'EVENTS'. if l_it_ref_event is initial. <l_st_tabstrip>-empty = abap_true. endif. when 'TYPES'. if l_it_ref_type is initial. <l_st_tabstrip>-empty = abap_true. endif. when 'ALIASES'. if l_it_ref_alias is initial. <l_st_tabstrip>-empty = abap_true. endif. endcase. endloop. *Komponenten loop at l_it_super_class assigning <l_st_super_class>. *** public Komponenten concatenate 'COMPONENTS_2_' <l_st_super_class>-clsname into l_st_tabstrip-id. l_st_tabstrip-text = space. l_st_tabstrip-active = abap_false. l_st_tabstrip-hidden = abap_true. append l_st_tabstrip to l_it_tabstrip. concatenate l_javascript 'makeDivSize(''' l_st_tabstrip-id ''');' into l_javascript. *** private Komponenten concatenate 'COMPONENTS_0_' <l_st_super_class>-clsname into l_st_tabstrip-id. l_st_tabstrip-text = space. l_st_tabstrip-active = abap_false. l_st_tabstrip-hidden = abap_true. append l_st_tabstrip to l_it_tabstrip. concatenate l_javascript 'makeDivSize(''' l_st_tabstrip-id ''');' into l_javascript. *** protected Komponenten concatenate 'COMPONENTS_1_' <l_st_super_class>-clsname into l_st_tabstrip-id. l_st_tabstrip-text = space. l_st_tabstrip-active = abap_false. l_st_tabstrip-hidden = abap_true. append l_st_tabstrip to l_it_tabstrip. concatenate l_javascript 'makeDivSize(''' l_st_tabstrip-id ''');'

into l_javascript. endloop. l_st_tabstrip-id = 'IFRAME'. l_st_tabstrip-text = space. l_st_tabstrip-active = abap_false. l_st_tabstrip-hidden = abap_true. append l_st_tabstrip to l_it_tabstrip. *** JavaScript concatenate l_javascript 'makeDivSize(''IFRAME'');' 'makeDivSize(''LOCTYPES'');' 'makeDivSize(''IMPL'');' 'makeDivSize(''MACROS'');' 'makeDivSize(''DOC'');' into l_javascript. *** HTML perform html_main_header using tpt_seo_clas txt_class <l_st_ztadir>-obj_name txt_implemented_active space space l_javascript l_it_tabstrip g_it_link changing l_it_html. * Local Types (CL) l_clsname = <l_st_ztadir>-obj_name. if l_has_cl_name = abap_true. perform get_trdir_name using l_clsname 'CL' changing l_progname. concatenate <l_st_ztadir>-obj_name '.cl' into l_filename. perform add_report_sourceCode using l_progname l_filename g_c_extension_txt abap_false <l_st_ztadir> 'LOCTYPES' abap_false changing l_it_html. else. * Local Types (CCDEF) perform get_trdir_name using l_clsname 'CCDEF' changing l_progname. concatenate <l_st_ztadir>-obj_name '.ccdef' into l_filename. perform add_report_sourceCode using l_progname l_filename g_c_extension_txt abap_false <l_st_ztadir>

'LOCTYPES' abap_false changing l_it_html. * Implementation (CCIMP) perform get_trdir_name using l_clsname 'CCIMP' changing l_progname. concatenate <l_st_ztadir>-obj_name '.ccimp' into l_filename. perform add_report_sourceCode using l_progname l_filename g_c_extension_txt abap_false <l_st_ztadir> 'IMPL' abap_false changing l_it_html. * Macros (CCMAC) perform get_trdir_name using l_clsname 'CCMAC' changing l_progname. concatenate <l_st_ztadir>-obj_name '.ccmac' into l_filename. perform add_report_sourceCode using l_progname l_filename g_c_extension_txt abap_false <l_st_ztadir> 'MACROS' abap_false changing l_it_html. endif. * Class Documentation if not l_it_doc is initial or g_empty_tab = g_c_empty_tab_display. perform html_add_doc using l_it_doc 'DOC' abap_false changing l_it_html. endif. *Text Symbols if not l_it_text_symbols is initial or g_empty_tab = g_c_empty_tab_display. perform html_add_table using 'CLAS_SYMBO' l_it_text_symbols l_it_text_symbols_addons 'TEXTSYMBOLS' abap_false changing l_it_html.

endif. * Properties l_flag = abap_false. if l_it_ref_attrib is initial and l_it_ref_method is initial. l_flag = abap_true. endif. perform html_add_properties using l_st_properties l_it_textinput 'CLAS_TYPEG' l_it_typegroup 'PROPERTIES' l_flag changing l_it_html. * Interfaces if not l_it_ref_interface is initial or g_empty_tab = g_c_empty_tab_display. perform html_add_table using 'CLAS_INTER' l_it_ref_interface l_it_ref_interface 'INTERFACES' abap_false changing l_it_html. endif. * Friends if not l_it_ref_friends is initial or g_empty_tab = g_c_empty_tab_display. perform html_add_table using 'CLAS_FRIEN' l_it_ref_friends l_it_ref_friends 'FRIENDS' abap_false changing l_it_html. endif. * Attributes if not l_it_ref_attrib is initial or g_empty_tab = g_c_empty_tab_display. l_flag = abap_false. if l_it_ref_method is initial. l_flag = abap_true. endif. perform html_add_table using 'CLAS_ATTRI' l_it_ref_attrib l_it_ref_attrib 'ATTRIBUTES' l_flag changing l_it_html. endif.

* Methods if not l_it_ref_method is initial or g_empty_tab = g_c_empty_tab_display. perform html_add_table using 'CLAS_METHO' l_it_ref_method l_it_ref_method 'METHODS' abap_true changing l_it_html. endif. * Events if not l_it_ref_event is initial or g_empty_tab = g_c_empty_tab_display. perform html_add_table using 'CLAS_EVENT' l_it_ref_event l_it_ref_event 'EVENTS' abap_false changing l_it_html. endif. * Types if not l_it_ref_type is initial or g_empty_tab = g_c_empty_tab_display. perform html_add_table using 'CLAS_TYPES' l_it_ref_type l_it_ref_type 'TYPES' abap_false changing l_it_html. endif. * Aliases if not l_it_ref_alias is initial or g_empty_tab = g_c_empty_tab_display. perform html_add_table using 'CLAS_ALIAS' l_it_ref_alias l_it_ref_alias 'ALIASES' abap_false changing l_it_html. endif. *SourceCode der Komponenten lesen und in DIV ausgeben loop at l_it_super_class assigning <l_st_super_class>. *** public Komponenten perform get_trdir_name using <l_st_super_class>-clsname 'CU' changing l_progname. concatenate 'COMPONENTS_2_' <l_st_super_class>-clsname into l_id.

concatenate <l_st_super_class>-clsname '.public' into l_filename. perform add_report_sourceCode using l_progname l_filename g_c_extension_txt abap_false <l_st_ztadir> l_id abap_false changing l_it_html. *** private Komponenten perform get_trdir_name using <l_st_super_class>-clsname 'CI' changing l_progname. concatenate 'COMPONENTS_0_' <l_st_super_class>-clsname into l_id. concatenate <l_st_super_class>-clsname '.private' into l_filename. perform add_report_sourceCode using l_progname l_filename g_c_extension_txt abap_false <l_st_ztadir> l_id abap_false changing l_it_html. *** protected Komponenten perform get_trdir_name using <l_st_super_class>-clsname 'CO' changing l_progname. concatenate 'COMPONENTS_1_' <l_st_super_class>-clsname into l_id. concatenate <l_st_super_class>-clsname '.protected' into l_filename. perform add_report_sourceCode using l_progname l_filename g_c_extension_txt abap_false <l_st_ztadir> l_id abap_false changing l_it_html. endloop. ***IFrame for Methods' Sources perform html_add_iFrame using space 'IFRAME' abap_false changing l_it_html.

* perform html_main_footer using l_it_html. perform download using l_it_html <l_st_ztadir>-pgmid <l_st_ztadir>-object <l_st_ztadir>-obj_name g_c_extension_htm abap_true. endloop. endform. "r3tr_clas *----------------------------------------------------------------------* seo_r3tr_clas_methods Classes *----------------------------------------------------------------------form seo_r3tr_clas_methods. data: l_it_ref_signature type it_ref_seosignature, l_st_ref_signature type st_ref_seosignature, l_st_cpdkey type seocpdkey, l_it_vseomepara type standard table of vseomepara, l_it_vseoexcep type standard table of vseoexcep, l_progname type program, l_it_sourcecode type it_string, l_it_html type it_string, l_filename type string, l_clsname type seoclsname, l_cmpname type seocmpname. field-symbols: <l_st_vseomepara> type vseomepara, <l_st_vseoexcep> type vseoexcep, <l_st_zseomethod> type st_zseomethod. loop at g_it_zseomethod assigning <l_st_zseomethod>. refresh l_it_html. refresh l_it_ref_signature. refresh l_it_vseomepara. refresh l_it_vseoexcep. refresh l_it_sourcecode. clear l_clsname. clear l_cmpname. clear l_filename. if <l_st_zseomethod>-cpdname na '~'. l_clsname = <l_st_zseomethod>-clsname. l_cmpname = <l_st_zseomethod>-cpdname. else. split <l_st_zseomethod>-cpdname at '~' into l_clsname l_cmpname. endif. *read Signature - Parameter select * from vseomepara into table l_it_vseomepara

where clsname = l_clsname and cmpname = l_cmpname and langu = sy-langu and version = '1' order by pardecltyp editorder. loop at l_it_vseomepara assigning <l_st_vseomepara>. clear l_st_ref_signature. perform get_dom_value_text using 'SEOPARDECL' <l_st_vseomepara>-pardecltyp changing l_st_ref_signature-declaration. if <l_st_vseomepara>-parpasstyp = 0. concatenate 'VALUE(' <l_st_vseomepara>-sconame ')' into l_st_ref_signature-parameter separated by space. else. l_st_ref_signature-parameter = <l_st_vseomepara>-sconame. endif. perform get_dom_value_text using 'SEOTYPTYPE' <l_st_vseomepara>-typtype changing l_st_ref_signature-type. concatenate l_st_ref_signature-type <l_st_vseomepara>-type into l_st_ref_signature-type separated by space. if <l_st_vseomepara>-paroptionl = abap_true. concatenate l_st_ref_signature-type '(optional)' into l_st_ref_signature-type separated by space. endif. l_st_ref_signature-descript = <l_st_vseomepara>-descript. append l_st_ref_signature to l_it_ref_signature. endloop. *read Signature - Exceptions select * from vseoexcep into table l_it_vseoexcep where clsname = l_clsname and cmpname = l_cmpname and langu = sy-langu and version = '1' order by editorder. loop at l_it_vseoexcep assigning <l_st_vseoexcep>. clear l_st_ref_signature. l_st_ref_signature-declaration = txt_exception___1. l_st_ref_signature-parameter = <l_st_vseoexcep>-sconame. l_st_ref_signature-descript = <l_st_vseoexcep>-descript. append l_st_ref_signature to l_it_ref_signature. endloop. *read SourceCode l_st_cpdkey-clsname = <l_st_zseomethod>-clsname. l_st_cpdkey-cpdname = <l_st_zseomethod>-cpdname. perform get_trdir_name_method_include using l_st_cpdkey changing l_progname. if not l_progname is initial. perform try_read_report using l_progname changing l_it_sourcecode. endif.

*download SourceCode if g_add_sourcecode = abap_true. concatenate <l_st_zseomethod>-clsname '-' <l_st_zseomethod>-cpdname into l_filename. perform replace_all using '~' '-' changing l_filename. perform download using l_it_sourcecode <l_st_zseomethod>-pgmid <l_st_zseomethod>-object l_filename g_c_extension_txt abap_false. endif. *HTML perform html_main_iFrameHeader using <l_st_zseomethod>-cpdname changing l_it_html. perform html_add_methodNoDiv using <l_st_zseomethod>-cpdname <l_st_zseomethod>-active txt_method 'CLAS_SIGNA' l_it_ref_signature l_it_ref_signature l_it_sourcecode l_filename space space g_c_extension_txt 'CONTENT' changing l_it_html. perform html_main_iFrameFooter changing l_it_html. *Download concatenate <l_st_zseomethod>-clsname '-' <l_st_zseomethod>-cpdname into l_filename. perform replace_all using '~' '-' changing l_filename. perform download using l_it_html <l_st_zseomethod>-pgmid <l_st_zseomethod>-object l_filename g_c_extension_htm abap_false. endloop. endform. "r3tr_clas_methods

*----------------------------------------------------------------------* seo_r3tr_intf Interfaces *----------------------------------------------------------------------form seo_r3tr_intf. data: l_it_html type it_string, l_it_tabstrip type it_tabstrip, l_st_tabstrip type st_tabstrip, l_st_seoclass type seoclass, l_it_typegroup type standard table of seotypepls, l_st_properties type st_properties, l_it_textinput type it_textinput, l_it_ref_interface type it_ref_seointerface, l_it_ref_interface_all type it_ref_seointerface, l_st_ref_interface type st_ref_seointerface, l_it_ref_attrib type it_ref_seoattrib, l_it_ref_method type it_ref_seomethod, l_it_ref_event type it_ref_seoevent, l_it_ref_type type it_ref_seotype, l_it_ref_type_par type it_ref_seotype, l_it_ref_alias type it_ref_seoalias, l_it_doc type it_string, l_progname type programm, l_javascript type string, l_filename type string, l_id type string, l_flag. field-symbols: <l_st_tabstrip> type st_tabstrip, <l_st_ztadir> type st_ztadir, <l_st_ref_interface_all> type st_ref_seointerface. loop at g_it_ztadir assigning <l_st_ztadir> where pgmid = 'R3TR' and object = 'INTF' and downloaded = abap_false. <l_st_ztadir>-downloaded = abap_true. refresh: l_it_html, l_it_ref_interface, l_it_ref_interface_all. select single * from seoclass into l_st_seoclass where clsname = <l_st_ztadir>-obj_name and clstype = 1. if sy-subrc <> 0. <l_st_ztadir>-subrc = sy-subrc. continue. endif. *Interface Documentation perform get_docu using 'IF' <l_st_ztadir>-obj_name 'E'

changing l_it_doc. *Properties perform seo_intf_get_props using <l_st_ztadir>-obj_name <l_st_ztadir>-devclass changing l_st_properties l_it_textinput l_it_typegroup. *Interfaces perform seo_get_interfaces using <l_st_ztadir>-obj_name 0 changing l_it_ref_interface l_it_ref_interface_all. l_st_ref_interface-refclsname = <l_st_ztadir>-obj_name. append l_st_ref_interface to l_it_ref_interface_all. *Attributes perform seo_intf_get_attribs using <l_st_ztadir>-obj_name l_it_ref_interface_all changing l_it_ref_attrib. *Methods perform seo_intf_get_methods using <l_st_ztadir>-obj_name l_it_ref_interface_all changing l_it_ref_method. *Events perform seo_intf_get_events using <l_st_ztadir>-obj_name l_it_ref_interface_all changing l_it_ref_event. *Types perform seo_intf_get_types using <l_st_ztadir>-obj_name l_it_ref_interface_all changing l_it_ref_type l_it_ref_type_par. *Aliases perform seo_intf_get_aliases using <l_st_ztadir>-obj_name l_it_ref_attrib l_it_ref_method l_it_ref_event l_it_ref_type_par changing l_it_ref_alias.

*** TabStrip perform get_tabstrip using 'SEO_R3TR_INTF' space changing l_it_tabstrip. loop at l_it_tabstrip assigning <l_st_tabstrip>. <l_st_tabstrip>-empty = abap_false. case <l_st_tabstrip>-id. when 'DOC'. if l_it_doc is initial. <l_st_tabstrip>-empty = abap_true. endif. when 'INTERFACES'. if l_it_ref_interface is initial. <l_st_tabstrip>-empty = abap_true. endif. when 'ATTRIBUTES'. if l_it_ref_attrib is initial. <l_st_tabstrip>-empty = abap_true. endif. when 'METHODS'. if l_it_ref_method is initial. <l_st_tabstrip>-empty = abap_true. endif. when 'EVENTS'. if l_it_ref_event is initial. <l_st_tabstrip>-empty = abap_true. endif. when 'TYPES'. if l_it_ref_type is initial. <l_st_tabstrip>-empty = abap_true. endif. when 'ALIASES'. if l_it_ref_alias is initial. <l_st_tabstrip>-empty = abap_true. endif. endcase. endloop. loop at l_it_ref_interface_all assigning <l_st_ref_interface_all>. clear l_st_tabstrip. concatenate 'COMPONENTS_' <l_st_ref_interface_all>-refclsname into l_st_tabstrip-id. l_st_tabstrip-hidden = abap_true. append l_st_tabstrip to l_it_tabstrip. concatenate l_javascript 'makeDivSize(''COMPONENTS_' <l_st_ref_interface_all>-refclsname ''');' into l_javascript. endloop. *** HTML perform html_main_header using tpt_seo_intf txt_interface <l_st_ztadir>-obj_name txt_implemented_active space space l_javascript l_it_tabstrip

g_it_link changing l_it_html. Documentation if not l_it_doc is initial or g_empty_tab = g_c_empty_tab_display. perform html_add_doc using l_it_doc 'DOC' abap_false changing l_it_html. endif. Properties l_flag = abap_false. if l_it_ref_method is initial and l_it_ref_attrib is initial. l_flag = abap_true. endif. perform html_add_properties using l_st_properties l_it_textinput 'INTF_TYPEG' l_it_typegroup 'PROPERTIES' l_flag changing l_it_html. Interfaces if not l_it_ref_interface is initial or g_empty_tab = g_c_empty_tab_display. perform html_add_table using 'INTF_INTER' l_it_ref_interface l_it_ref_interface 'INTERFACES' abap_false changing l_it_html. endif. Attributes if not l_it_ref_attrib is initial or g_empty_tab = g_c_empty_tab_display. l_flag = abap_false. if l_it_ref_method is initial. l_flag = abap_true. endif. perform html_add_table using 'INTF_INTER' l_it_ref_attrib l_it_ref_attrib 'ATTRIBUTES' l_flag changing l_it_html. endif.

* Methods if not l_it_ref_method is initial or g_empty_tab = g_c_empty_tab_display. perform html_add_table using 'INTF_METHO' l_it_ref_method l_it_ref_method 'METHODS' abap_true changing l_it_html. endif. * Events if not l_it_ref_event is initial or g_empty_tab = g_c_empty_tab_display. perform html_add_table using 'INTF_EVENT' l_it_ref_event l_it_ref_event 'EVENTS' abap_false changing l_it_html. endif. * Types if not l_it_ref_type is initial or g_empty_tab = g_c_empty_tab_display. perform html_add_table using 'INTF_TYPES' l_it_ref_type l_it_ref_type 'TYPES' abap_false changing l_it_html. endif. * Aliases if not l_it_ref_alias is initial or g_empty_tab = g_c_empty_tab_display. perform html_add_table using 'INTF_ALIAS' l_it_ref_alias l_it_ref_alias 'ALIASES' abap_false changing l_it_html. endif. loop at l_it_ref_interface_all assigning <l_st_ref_interface_all>. perform get_trdir_name using <l_st_ref_interface_all>-refclsname 'IU' changing l_progname. concatenate 'COMPONENTS_' <l_st_ref_interface_all>-refclsname into l_id. concatenate <l_st_ref_interface_all>-refclsname '.components' into l_filename.

perform add_report_sourceCode using l_progname l_filename g_c_extension_txt abap_false <l_st_ztadir> l_id abap_false changing l_it_html. endloop. perform html_main_footer using l_it_html. perform download using l_it_html <l_st_ztadir>-pgmid <l_st_ztadir>-object <l_st_ztadir>-obj_name g_c_extension_htm abap_true. endloop. endform. "r3tr_intf *&---------------------------------------------------------------------* *& Include ZSOFTCOPY_SYSTEM * *& * *&---------------------------------------------------------------------* *& * *& 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 <http://www.gnu.org/licenses/>. * *& * *&---------------------------------------------------------------------* *& * *& Author: Ruediger von Creytz ruediger.creytz@globalbit.net * *& Copyright: globalBIT, LLC http://www.globalbit.net * *& * *&---------------------------------------------------------------------* *----------------------------------------------------------------------* system *----------------------------------------------------------------------form system. *System: Component Information perform system_component.

*System: Kernel Information perform system_kernel. *System: Status perform system_status. endform. "system

*----------------------------------------------------------------------* component System Component Info *----------------------------------------------------------------------form system_component. data: l_it_component type it_component, l_st_component type st_component, l_it_cvers type standard table of cvers, l_it_html type it_string. field-symbols: <l_st_cvers> type cvers. select * from cvers into table l_it_cvers. loop at l_it_cvers assigning <l_st_cvers>. clear l_st_component. l_st_component-component = <l_st_cvers>-component. l_st_component-release = <l_st_cvers>-release. call function 'OCS_GET_COMPONENT_STATE' exporting iv_component = <l_st_cvers>-component importing ev_comp_level = l_st_component-level ev_last_patch = l_st_component-high_package exceptions others = 1. select single desc_text from cvers_ref into l_st_component-desc_text where component = <l_st_cvers>-component and langu = sy-langu. append l_st_component to l_it_component. endloop. *HTML perform html_main_popupHeader using txt_component_information changing l_it_html. * Content perform html_add_tableNoDiv using 'MENU_COMPO' l_it_component l_it_component changing l_it_html. * Footer perform html_main_popupFooter changing l_it_html. *Download perform download

using l_it_html 'MENU' 'SYSTEM' 'COMPONENT' g_c_extension_htm abap_false. endform. "system_component

*----------------------------------------------------------------------* kernel System Kernel Info *----------------------------------------------------------------------form system_kernel. data: l_st_textinput type st_textinput, l_it_kernel type it_textinput, l_it_database type it_textinput, l_it_system type it_textinput, l_it_html type it_string, l_st_dbinfo type dbrelinfo. field-symbols: <l_patchlevel> type any. call function 'DB_DBRELINFO' importing dbinfo = l_st_dbinfo. *Kernel information * Kernel release clear l_st_textinput. l_st_textinput-name = txt_kernel_release. l_st_textinput-input = abap_true. perform get_version_info using 'kernel release' changing l_st_textinput-value. append l_st_textinput to l_it_kernel. * Compilation clear l_st_textinput. l_st_textinput-name = txt_compilation. l_st_textinput-input = abap_true. perform get_version_info using 'kernel compiled' changing l_st_textinput-value. append l_st_textinput to l_it_kernel. * Sup.Pkg lvl. clear l_st_textinput. l_st_textinput-name = txt_sup_pkg_lvl. l_st_textinput-input = abap_true. perform get_version_info using 'kernel patch level' changing l_st_textinput-value. append l_st_textinput to l_it_kernel. * ABAP Load clear l_st_textinput. l_st_textinput-name = txt_abap_load. l_st_textinput-input = abap_true.

perform get_version_info using 'ABAP load version' changing l_st_textinput-value. append l_st_textinput to l_it_kernel. * CUA load clear l_st_textinput. l_st_textinput-name = txt_cua_load. l_st_textinput-input = abap_true. perform get_version_info using 'CUA load version' changing l_st_textinput-value. append l_st_textinput to l_it_kernel. * Mode clear l_st_textinput. l_st_textinput-name = txt_mode. l_st_textinput-input = abap_true. perform get_version_info using 'kernel kind' changing l_st_textinput-value. append l_st_textinput to l_it_kernel. * Rsyn file clear l_st_textinput. l_st_textinput-name = txt_rsyn_file. l_st_textinput-input = abap_true. perform get_version_info using 'rsyn' changing l_st_textinput-value. append l_st_textinput to l_it_kernel. *Database information * DB client lib. clear l_st_textinput. l_st_textinput-name = txt_db_client_lib. l_st_textinput-input = abap_true. l_st_textinput-value = l_st_dbinfo-clirel. append l_st_textinput to l_it_database. * DB releases clear l_st_textinput. l_st_textinput-name = txt_db_releases. l_st_textinput-input = abap_true. l_st_textinput-value = l_st_dbinfo-releases. append l_st_textinput to l_it_database. * DBSL version clear l_st_textinput. l_st_textinput-name = txt_dbsl_version. l_st_textinput-input = abap_true. l_st_textinput-value = l_st_dbinfo-dbsl_vers. append l_st_textinput to l_it_database. * DBSL Patch Level assign component 'PATCHLEVEL' of structure l_st_dbinfo to <l_patchlevel>. if <l_patchlevel> is assigned. clear l_st_textinput. l_st_textinput-name = txt_dbsl_patch_level. l_st_textinput-input = abap_true. l_st_textinput-value = <l_patchlevel>. append l_st_textinput to l_it_database. endif. *System information

* IP address clear l_st_textinput. l_st_textinput-name = txt_ip_address. l_st_textinput-input = abap_true. perform get_version_info using 'IP address' changing l_st_textinput-value. append l_st_textinput to l_it_system. * SAP versions clear l_st_textinput. l_st_textinput-name = txt_sap_versions. l_st_textinput-input = abap_true. perform get_version_info using 'supported SAP vers.' changing l_st_textinput-value. append l_st_textinput to l_it_system. * Operating System clear l_st_textinput. l_st_textinput-name = txt_operating_system. l_st_textinput-input = abap_true. perform get_version_info using 'valid OP system' changing l_st_textinput-value. append l_st_textinput to l_it_system. * OP release clear l_st_textinput. l_st_textinput-name = txt_op_release. l_st_textinput-input = abap_true. perform get_version_info using 'OP system release' changing l_st_textinput-value. append l_st_textinput to l_it_system. *HTML perform html_main_popupHeader using txt_component_information changing l_it_html. * Content perform html_add_box1TI_2TIverNoDiv using txt_kernel_information___2 l_it_kernel txt_database_information l_it_database txt_system_information l_it_system changing l_it_html. * Footer perform html_main_popupFooter changing l_it_html. *Download perform download using l_it_html 'MENU' 'SYSTEM' 'KERNEL'

g_c_extension_htm abap_false. endform. "system_kernel

*----------------------------------------------------------------------* status System Status *----------------------------------------------------------------------form system_status. data: l_st_textinput type st_textinput, l_it_usage_data_r type it_textinput, l_it_usage_data_l type it_textinput, l_it_repository_data type it_textinput, l_it_sap_system_data type it_textinput, l_it_host_data type it_textinput, l_it_database_data type it_textinput, l_it_html type it_string, l_st_last_logon type st_last_logon, l_name type ad_namtext, l_laiso type laiso, l_sptxt type sptxt, l_title type rs38m-repti, l_date type sydatum, l_db_release(10) type c, l_servername(40) type c, l_unicode type c, l_exists type flag, l_ttext type ttext_stct, l_stext(40) type c, l_repid type syrepid, l_it_list type standard table of msxxlist. field-symbols: <l_st_list> type msxxlist. *Last logon get parameter id 'US2' field l_st_last_logon. *Usage data * Client clear l_st_textinput. l_st_textinput-name = txt_client. l_st_textinput-input = abap_true. l_st_textinput-value = sy-mandt. append l_st_textinput to l_it_usage_data_l. * User clear l_st_textinput. l_st_textinput-name = txt_user. l_st_textinput-input = abap_true. l_st_textinput-value = sy-uname. perform get_user using sy-uname changing l_name. l_st_textinput-value_text = l_name. append l_st_textinput to l_it_usage_data_l. * Language clear l_st_textinput.

l_st_textinput-name = txt_language. l_st_textinput-input = abap_true. perform get_spras using sy-langu changing l_laiso l_sptxt. l_st_textinput-value = l_laiso. l_st_textinput-value_text = l_sptxt. append l_st_textinput to l_it_usage_data_l. * Previous logon clear l_st_textinput. l_st_textinput-name = txt_previous_logon. l_st_textinput-input = abap_true. l_st_textinput-has_value_ext = abap_true. perform get_date using l_st_last_logon-date changing l_st_textinput-value. perform get_time using l_st_last_logon-time changing l_st_textinput-value_ext. append l_st_textinput to l_it_usage_data_r. * Logon clear l_st_textinput. l_st_textinput-name = txt_logon. l_st_textinput-input = abap_true. l_st_textinput-has_value_ext = abap_true. perform get_date using l_st_last_logon-date_now changing l_st_textinput-value. perform get_time using l_st_last_logon-time_now changing l_st_textinput-value_ext. append l_st_textinput to l_it_usage_data_r. * System time clear l_st_textinput. l_st_textinput-name = txt_system_time. l_st_textinput-input = abap_true. l_st_textinput-has_value_ext = abap_true. perform get_date using sy-datum changing l_st_textinput-value. perform get_time using sy-uzeit changing l_st_textinput-value_ext. append l_st_textinput to l_it_usage_data_r. *SAP data - Repository data l_repid = sy-repid. * Transition clear l_st_textinput. l_st_textinput-name = txt_transaction. l_st_textinput-input = abap_true. l_st_textinput-value = sy-tcode. select single ttext from tstct into l_ttext where sprsl = sy-langu and tcode = sy-tcode. l_st_textinput-value_text = l_ttext. append l_st_textinput to l_it_repository_data. * Program (screen) clear l_st_textinput. l_st_textinput-name = txt_program_screen.

l_st_textinput-input = abap_true. l_st_textinput-value = l_repid. call function 'PROGRAM_TITLE' exporting program = l_repid language = sy-langu importing title = l_title. l_st_textinput-value_text = l_title. append l_st_textinput to l_it_repository_data. * Screen number clear l_st_textinput. l_st_textinput-name = txt_screen_number. l_st_textinput-input = abap_true. l_st_textinput-value = sy-dynnr. append l_st_textinput to l_it_repository_data. * Program (GUI) clear l_st_textinput. l_st_textinput-name = txt_program_gui. l_st_textinput-input = abap_true. l_st_textinput-value = l_repid. call function 'PROGRAM_TITLE' exporting program = l_repid language = sy-langu importing title = l_title. l_st_textinput-value_text = l_title. append l_st_textinput to l_it_repository_data. * GUI status clear l_st_textinput. l_st_textinput-name = txt_gui_status. l_st_textinput-input = abap_true. l_st_textinput-value = sy-pfkey. append l_st_textinput to l_it_repository_data. *SAP data - SAP System data * Component version clear l_st_textinput. l_st_textinput-name = txt_component_version. l_st_textinput-input = abap_true. select single stext from cvers_txt into l_stext where langu = sy-langu. if sy-subrc <> 0. select single stext from cvers_txt into l_stext where langu = 'EN'. endif. l_st_textinput-value = l_stext. append l_st_textinput to l_it_sap_system_data. * Space row clear l_st_textinput. l_st_textinput-space = abap_true. append l_st_textinput to l_it_sap_system_data. * Installation number clear l_st_textinput. l_st_textinput-name = txt_installation_number. l_st_textinput-input = abap_true. call function 'SLIC_GET_LICENCE_NUMBER' importing license_number = l_st_textinput-value.

append l_st_textinput to l_it_sap_system_data. * License expiration clear l_st_textinput. l_st_textinput-name = txt_license_expiration. l_st_textinput-input = abap_true. call function 'SLIC_GET_LICENCE_DATE' importing licence_date = l_date. perform get_date using l_date changing l_st_textinput-value. append l_st_textinput to l_it_sap_system_data. * Unicode System perform get_fuba_exists using 'SLDAG_CHECK_FOR_UNICODE' changing l_exists. if l_exists = abap_true. clear l_st_textinput. l_st_textinput-name = txt_unicode_system. l_st_textinput-input = abap_true. call function 'SLDAG_CHECK_FOR_UNICODE' importing unicode = l_unicode. if l_unicode = 1. l_st_textinput-value = txt_yes. else. l_st_textinput-value = txt_no. endif. append l_st_textinput to l_it_sap_system_data. endif. *Host data * Operating system clear l_st_textinput. l_st_textinput-name = txt_operating_system. l_st_textinput-input = abap_true. l_st_textinput-value = sy-opsys. append l_st_textinput to l_it_host_data. * Machine type clear l_st_textinput. l_st_textinput-name = txt_machine_type. l_st_textinput-input = abap_true. perform get_version_info using 'machine type' changing l_st_textinput-value. append l_st_textinput to l_it_host_data. * Server name clear l_st_textinput. l_st_textinput-name = txt_server_name. l_st_textinput-input = abap_true. *** call function 'TH_SERVER_LIST' tables list = l_it_list exceptions others = 1. read table l_it_list assigning <l_st_list> index 1. if <l_st_list> is assigned. l_servername = <l_st_list>-name. else.

* call 'C_SAPGPARAM' * id 'NAME' field 'rdisp/myname' * id 'VALUE' field l_servername. * if sy-subrc <> 0. clear l_servername. endif. l_st_textinput-value = l_servername. append l_st_textinput to l_it_host_data. * Platform ID clear l_st_textinput. l_st_textinput-name = txt_platform_id. l_st_textinput-input = abap_true. perform get_version_info using 'SAP system id' changing l_st_textinput-value. append l_st_textinput to l_it_host_data. *Database data * Database system clear l_st_textinput. l_st_textinput-name = txt_database_system. l_st_textinput-input = abap_true. perform get_version_info using 'database system' changing l_st_textinput-value. append l_st_textinput to l_it_database_data. * Release clear l_st_textinput. l_st_textinput-name = txt_release. l_st_textinput-input = abap_true. call function 'DB_GET_RELEASE' importing release = l_db_release. l_st_textinput-value = l_db_release. append l_st_textinput to l_it_database_data. * Name clear l_st_textinput. l_st_textinput-name = txt_name. l_st_textinput-input = abap_true. perform get_version_info using 'database name' changing l_st_textinput-value. append l_st_textinput to l_it_database_data. * Host clear l_st_textinput. l_st_textinput-name = txt_host. l_st_textinput-input = abap_true. perform get_version_info using 'database host' changing l_st_textinput-value. l_st_textinput-value = sy-host. translate l_st_textinput-value to upper case. append l_st_textinput to l_it_database_data. * Owner clear l_st_textinput. l_st_textinput-name = txt_owner. l_st_textinput-input = abap_true. perform get_version_info using 'database owner' changing l_st_textinput-value.

append l_st_textinput to l_it_database_data. *HTML perform html_main_popupHeader using txt_status changing l_it_html. * Content perform html_add_box1TIDbl_Box2TI_2TIx using txt_usage_data l_it_usage_data_l l_it_usage_data_r txt_sap_data txt_repository_data txt_sap_system_data l_it_repository_data l_it_sap_system_data txt_host_data txt_database_data l_it_host_data l_it_database_data changing l_it_html. * Footer perform html_main_popupFooter changing l_it_html. *Download perform download using l_it_html 'MENU' 'SYSTEM' 'STATUS' g_c_extension_htm abap_false. endform. "system_status

*----------------------------------------------------------------------* optionals *----------------------------------------------------------------------form optionals. perform ddic. perform fugr. perform o2. perform pack. perform prog. perform seo. perform system. endform. "optionals

You might also like