*&---------------------------------------------------------------------*
*&  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
    is_attributes TYPE st_attributes
    value(i_id)
    value(i_on)
  CHANGING
    ct_html TYPE it_string.

  PERFORM html_add_div_begin
    USING
      i_id
      i_on
    CHANGING
      ct_html.

  PERFORM html_add_attributes_1nodiv
    USING
      is_attributes
    CHANGING
      ct_html.

  PERFORM html_add_div_end
    CHANGING
      ct_html.

ENDFORM.                    "html_add_attributes_1


*-----------------------------------------------------------------------
* form: html_add_attributes_1NoDiv
*-----------------------------------------------------------------------
FORM html_add_attributes_1nodiv
  USING
    is_attributes TYPE st_attributes
  CHANGING
    ct_html TYPE it_string.

  DATA:
  ls_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 is_attributes-name_text TO l_name_text.
  WRITE is_attributes-bname TO l_bname.
  WRITE is_attributes-date_last_changed TO l_date_last_changed.
  WRITE is_attributes-devclass TO l_devclass.
  WRITE is_attributes-devclass_descr TO l_devclass_descr.
  WRITE is_attributes-laiso TO l_laiso.
  WRITE is_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 ls_html.
  APPEND ls_html TO ct_html.
  IF is_attributes-display_rfcenable = abap_true.
    CLEAR l_checked.
    IF is_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="' is_attributes-rfcenable '"/>'
                '</td>'
                '<td>' txt_allow_rfc '</td>'
              '</tr>'
            '</table>'
          '</td>'
        '</tr>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
  ENDIF.
  IF is_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">'
            is_attributes-appview
          '</td>'
          '<td>&#160;</td>'
        '</tr>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
  ENDIF.
  APPEND '</table>' TO ct_html.

ENDFORM.                    "html_add_attributes_1NoDiv


*-----------------------------------------------------------------------
* form: html_add_attributes_2
*-----------------------------------------------------------------------
FORM html_add_attributes_2
  USING
    is_attributes TYPE st_attributes
    value(i_id)
    value(i_on)
  CHANGING
    ct_html TYPE it_string.

  DATA:
  ls_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_internal_name TYPE char255,
  l_initial_bsp TYPE char255,
  l_application_class TYPE char255,
  l_theme TYPE char255,
  l_checked TYPE string.

  WRITE is_attributes-descript TO l_descript.
  WRITE is_attributes-author TO l_author.
  WRITE is_attributes-author_text TO l_author_text.
  WRITE is_attributes-date_created TO l_date_created.
  WRITE is_attributes-bname TO l_bname.
  WRITE is_attributes-name_text TO l_name_text.
  WRITE is_attributes-date_last_changed TO l_date_last_changed.
  WRITE is_attributes-devclass TO l_devclass.
  WRITE is_attributes-devclass_descr TO l_devclass_descr.
  WRITE is_attributes-laiso TO l_laiso.
  WRITE is_attributes-sptxt TO l_sptxt.
  WRITE is_attributes-internal_name TO l_internal_name.
  WRITE is_attributes-initial_bsp TO l_initial_bsp.
  WRITE is_attributes-application_class TO l_application_class.
  WRITE is_attributes-theme TO l_theme.

  PERFORM html_add_div_begin
    USING
      i_id
      i_on
    CHANGING
      ct_html.

  CONCATENATE
      '<table class="titleTable">'
        '<tr>'
          '<td class="titleTableText">'
            txt_short_description___2
          '</td>'
          '<td class="titleTableDescr" colspan="7">' l_descript '</td>'
        '</tr>'
      INTO ls_html.
  APPEND ls_html TO ct_html.
  IF is_attributes-space_after_descript = abap_true.
    CONCATENATE
        '<tr>'
          '<td colspan="8">&#160;</td>'
        '</tr>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
  ENDIF.
  CONCATENATE
        '<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 ls_html.
  APPEND ls_html TO ct_html.
  IF is_attributes-is_bsp_appl = abap_true.
    CONCATENATE
        '<tr>'
          '<td class="titleTableText">' txt_internal_name '</td>'
          '<td class="titleTableDescr" colspan="4">'
            l_internal_name
          '</td>'
          '<td colspan="3">&#160;</td>'
        '</tr>'
        '<tr>'
          '<td colspan="8">&#160;</td>'
        '</tr>'
        '<tr>'
          '<td class="titleTableText">'
            txt_initial_bsp
          '</td>'
          '<td class="titleTableDescr" colspan="7">'
            l_initial_bsp
          '</td>'
        '</tr>'
        '<tr>'
          '<td class="titleTableText">' txt_application_class '</td>'
          '<td class="titleTableDescr" colspan="4">'
            l_application_class
          '</td>'
          '<td colspan="3">&#160;</td>'
        '</tr>'
        '<tr>'
          '<td class="titleTableText">' txt_theme '</td>'
          '<td class="titleTableDescr" colspan="4">'
            l_theme
          '</td>'
          '<td colspan="3">&#160;</td>'
        '</tr>'
        '<tr>'
          '<td colspan="8">'
            '<table>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
    CLEAR l_checked.
    IF is_attributes-stateful = abap_true.
      l_checked = ' checked="checked"'.
    ENDIF.
    CONCATENATE
              '<tr>'
                '<td>'
                  '<input class="innerTableFlag"'
                  l_checked
                  ' disabled="disabled" type="checkbox"'
                  ' value="' is_attributes-stateful '"/>'
                '</td>'
                '<td>' txt_stateful '</td>'
              '</tr>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
    CLEAR l_checked.
    IF is_attributes-supports_portal_integration = abap_true.
      l_checked = ' checked="checked"'.
    ENDIF.
    CONCATENATE
              '<tr>'
                '<td>'
                  '<input class="innerTableFlag"'
                  l_checked
                  ' disabled="disabled" type="checkbox"'
                  ' value="' is_attributes-supports_portal_integration
                  '"/>'
                '</td>'
                '<td>' txt_supports_portal_integratio '</td>'
              '</tr>'
            '</table>'
          '</td>'
        '</tr>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
  ENDIF.
  IF is_attributes-display_rfcenable = abap_true.
    CLEAR l_checked.
    IF is_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="' is_attributes-rfcenable '"/>'
                '</td>'
                '<td>' txt_allow_rfc '</td>'
              '</tr>'
            '</table>'
          '</td>'
        '</tr>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
  ENDIF.
  APPEND '</table>' TO ct_html.

  PERFORM html_add_div_end
    CHANGING
      ct_html.

ENDFORM.                    "html_add_attributes_2


*-----------------------------------------------------------------------
* form: html_add_attributes_3
*-----------------------------------------------------------------------
FORM html_add_attributes_3
  USING
    is_attributes TYPE st_attributes
    value(i_title_ml)
    value(i_name_ml)
    it_accessmode_ml TYPE it_access
    value(i_title_mr)
    it_ti_mr TYPE it_textinput
    value(i_title_u)
    it_ti_u TYPE it_textinput
    value(i_id)
    value(i_on)
  CHANGING
    ct_html TYPE it_string.

  DATA:
  ls_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 is_attributes-descript TO l_descript.
  WRITE is_attributes-devclass TO l_devclass.
  WRITE is_attributes-devclass_descr TO l_devclass_descr.
  WRITE is_attributes-laiso TO l_laiso.
  WRITE is_attributes-sptxt TO l_sptxt.
  WRITE is_attributes-date_last_changed TO l_date_last_changed.
  WRITE is_attributes-time_last_changed TO l_time_last_changed.
  WRITE is_attributes-date_last_generation TO l_date_last_generation.
  WRITE is_attributes-time_last_generation TO l_time_last_generation.

  PERFORM html_add_div_begin
    USING
      i_id
      i_on
    CHANGING
      ct_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 ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_radiobuttonsnodiv
    USING
      i_title_ml
      i_name_ml
      it_accessmode_ml
    CHANGING
      ct_html.

  APPEND '</td><td>&#160;</td><td style="vertical-align:top">'
      TO ct_html.

  PERFORM html_add_box_textinputnodiv
    USING
      i_title_mr
      it_ti_mr
    CHANGING
      ct_html.

  CONCATENATE
          '</td>'
        '</tr>'
        '<tr>'
          '<td>&#160;</td>'
        '</tr>'
        '<tr>'
          '<td style="vertical-align:top">'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_textinputnodiv
    USING
      i_title_u
      it_ti_u
    CHANGING
      ct_html.

  APPEND '</td></tr></table>' TO ct_html.

  PERFORM html_add_div_end
    CHANGING
      ct_html.

ENDFORM.                    "html_add_attributes_3


*-----------------------------------------------------------------------
* form: html_add_attributes_4
*-----------------------------------------------------------------------
FORM html_add_attributes_4
  USING
    is_attributes TYPE st_attributes
    value(i_title_m)
    it_ti_m TYPE it_textinput
    value(i_title_u)
    it_ti_u TYPE it_textinput
    value(i_id)
    value(i_on)
  CHANGING
    ct_html TYPE it_string.

  DATA:
  ls_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 is_attributes-descript TO l_descript.
  WRITE is_attributes-person_responsible TO l_person_responsible.
  WRITE is_attributes-person_responsible_text
      TO l_person_responsible_descr.
  WRITE is_attributes-author TO l_created_by.
  WRITE is_attributes-author_text TO l_created_by_descr.
  WRITE is_attributes-date_created TO l_created_on.
  WRITE is_attributes-bname TO l_last_changed_by.
  WRITE is_attributes-name_text TO l_last_changed_by_descr.
  WRITE is_attributes-date_last_changed TO l_changed_on.
  WRITE is_attributes-application_component
      TO l_application_component.

  PERFORM html_add_div_begin
    USING
      i_id
      i_on
    CHANGING
      ct_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 ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_textinputnodiv
    USING
      i_title_m
      it_ti_m
    CHANGING
      ct_html.

  CONCATENATE
          '</td>'
        '</tr>'
        '<tr>'
          '<td>&#160;</td>'
        '</tr>'
        '<tr>'
          '<td style="vertical-align:top">'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_textinputnodiv
    USING
      i_title_u
      it_ti_u
    CHANGING
      ct_html.

  APPEND '</td></tr></table>' TO ct_html.

  PERFORM html_add_div_end
    CHANGING
      ct_html.

ENDFORM.                    "html_add_attributes_4


*-----------------------------------------------------------------------
* form: html_add_box_begin
*-----------------------------------------------------------------------
FORM html_add_box_begin
  USING
    value(i_title)
    value(i_colspan)
  CHANGING
    ct_html TYPE it_string.

  DATA:
  l_colspan TYPE num1,
  l_str TYPE string VALUE '',
  ls_html TYPE string.

  l_colspan = i_colspan.
  IF i_colspan > 1.
    CONCATENATE ' colspan="' l_colspan '"' INTO l_str.
  ENDIF.

  CONCATENATE
      '<table border="0" cellpadding="0" cellspacing="0" class="box">'
        '<tr class="boxContent">'
          '<td class="boxContent"' l_str '>'
            '<table class="boxName">'
              '<tr>'
                '<td>'
                  '<span>' i_title '</span>'
                '</td>'
              '</tr>'
            '</table>'
          '</td>'
        '</tr>'
        '<tr class="boxContent">'
          '<td class="boxContent">'
      INTO ls_html.
  APPEND ls_html TO ct_html.

ENDFORM.                    "html_add_box_begin


*-----------------------------------------------------------------------
* form: html_add_box_end
*-----------------------------------------------------------------------
FORM html_add_box_end
  CHANGING
    ct_html TYPE it_string.

  APPEND '</td></tr></table>' TO ct_html.

ENDFORM.                    "html_add_box_end


*-----------------------------------------------------------------------
* form: html_add_box1RB_1TIhornodiv
*-----------------------------------------------------------------------
FORM html_add_box1rb_1tihornodiv
  USING
    value(i_title)
    it_accessmode TYPE it_access
    it_ti TYPE it_textinput
  CHANGING
    ct_html TYPE it_string.

  DATA:
  ls_html TYPE string.

  PERFORM html_add_box_begin
    USING i_title '1'
    CHANGING ct_html.

  CONCATENATE
      '<table>'
        '<tr>'
          '<td>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_radiobuttonsnodiv
    USING
      'boxz'
      it_accessmode
    CHANGING
      ct_html.

  CONCATENATE
          '</td>'
          '<td>&#160;</td>'
          '<td>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_textinputnodiv
    USING it_ti
    CHANGING ct_html.

  CONCATENATE
          '</td>'
        '</tr>'
      '</table>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_end
    CHANGING ct_html.

ENDFORM.                    "html_add_box1RB_1TIhornodiv


*-----------------------------------------------------------------------
* form: html_add_box1RB_1TIvernodiv
*-----------------------------------------------------------------------
FORM html_add_box1rb_1tivernodiv
  USING
    value(i_title)
    it_accessmode TYPE it_access
    it_ti TYPE it_textinput
  CHANGING
    ct_html TYPE it_string.

  DATA:
  ls_html TYPE string.

  PERFORM html_add_box_begin
    USING i_title '1'
    CHANGING ct_html.

  CONCATENATE
      '<table>'
        '<tr>'
          '<td>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_radiobuttonsnodiv
    USING
      'boxx'
      it_accessmode
    CHANGING
      ct_html.

  CONCATENATE
          '</td>'
        '</tr>'
        '<tr>'
          '<td>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_textinputnodiv
    USING it_ti
    CHANGING ct_html.

  CONCATENATE
          '</td>'
        '</tr>'
      '</table>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_end
    CHANGING ct_html.

ENDFORM.                    "html_add_box1RB_1TIvernodiv


*-----------------------------------------------------------------------
* form: html_add_box1RB_subbox2TI
*-----------------------------------------------------------------------
FORM html_add_box1rb_subbox2ti
  USING
    value(i_title)
    it_accessmode TYPE it_access
    value(i_subtitle)
    it_ti_l TYPE it_textinput
    it_ti_r TYPE it_textinput
    value(i_id)
    value(i_on)
  CHANGING
    ct_html TYPE it_string.

  PERFORM html_add_div_begin
    USING
      i_id
      i_on
    CHANGING
      ct_html.

  PERFORM html_add_box1rb_subbox2tinodiv
    USING
      i_title
      it_accessmode
      i_subtitle
      it_ti_l
      it_ti_r
    CHANGING
      ct_html.

  PERFORM html_add_div_end
    CHANGING
      ct_html.

ENDFORM.                    "html_add_box1RB_subbox2TI


*-----------------------------------------------------------------------
* form: html_add_box1RB_subbox2TInodiv
*-----------------------------------------------------------------------
FORM html_add_box1rb_subbox2tinodiv
  USING
    value(i_title)
    it_accessmode TYPE it_access
    value(i_subtitle)
    it_ti_l TYPE it_textinput
    it_ti_r TYPE it_textinput
  CHANGING
    ct_html TYPE it_string.

  DATA:
  ls_html TYPE string.

  PERFORM html_add_box_begin
    USING i_title '1'
    CHANGING ct_html.

  CONCATENATE
      '<table>'
        '<tr>'
          '<td>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_radiobuttonsnodiv
    USING
      'box'
      it_accessmode
    CHANGING
      ct_html.

  CONCATENATE
          '</td>'
        '</tr>'
        '<tr><td>&#160;</td></tr>'
        '<tr>'
          '<td>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_begin
    USING i_subtitle '3'
    CHANGING ct_html.

  CONCATENATE
      '<table>'
        '<tr>'
          '<td>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_textinputnodiv
    USING it_ti_l
    CHANGING ct_html.

  CONCATENATE
          '</td>'
          '<td>&#160;</td>'
          '<td>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_textinputnodiv
    USING it_ti_r
    CHANGING ct_html.

  CONCATENATE
          '</td>'
        '</tr>'
      '</table>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_end
    CHANGING ct_html.

  CONCATENATE
          '</td>'
        '</tr>'
      '</table>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_end
    CHANGING ct_html.

ENDFORM.                    "html_add_box1RB_subbox2TInodiv


*-----------------------------------------------------------------------
* form: html_add_box1TI_subboxMSnodiv
*-----------------------------------------------------------------------
FORM html_add_box1ti_subboxmsnodiv
  USING
    value(i_title)
    it_ti TYPE it_textinput
    value(i_subtitle)
    value(i_step) TYPE c
    value(i_overview_screen)
    value(i_single_screen)
  CHANGING
    ct_html TYPE it_string.

  DATA:
  ls_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 '1'
    CHANGING ct_html.

  CONCATENATE
      '<table>'
        '<tr>'
          '<td>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_textinputnodiv
    USING it_ti
    CHANGING ct_html.

  CONCATENATE
          '</td>'
        '</tr>'
        '<tr><td>&#160;</td></tr>'
        '<tr>'
          '<td>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_begin
    USING i_subtitle '1'
    CHANGING ct_html.

*Maintenance Screens
* one step
  CONCATENATE
      '<table>'
        '<tr>'
          '<td class="titleTableText">'
            txt_maintenance_type
          '</td>'
          '<td>'
            '<input'
      INTO ls_html.
  IF i_step = '1'.
    CONCATENATE ls_html ' checked="checked"' INTO ls_html.
  ENDIF.
  CONCATENATE
                  ls_html
                  ' class="radio"'
                  ' disabled="disabled" name="ms"'
                  ' type="radio"'
                  ' value="1"/>'
          '</td>'
          '<td>'
            '<span>' txt_one_step '</span>'
          '</td>'
          '<td>&#160;</td>'
        '</tr>'
      INTO ls_html.
  APPEND ls_html TO ct_html.
* two step
  CONCATENATE
        '<tr>'
          '<td>&#160;</td>'
          '<td>'
            '<input'
      INTO ls_html.
  IF i_step = '2'.
    CONCATENATE ls_html ' checked="checked"' INTO ls_html.
  ENDIF.
  CONCATENATE
                  ls_html
                  ' class="radio"'
                  ' disabled="disabled" name="ms"'
                  ' type="radio"'
                  ' value="1"/>'
          '</td>'
          '<td>'
            '<span>' txt_two_step '</span>'
          '</td>'
          '<td>&#160;</td>'
        '</tr>'
      INTO ls_html.
  APPEND ls_html TO ct_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 ls_html.
  APPEND ls_html TO ct_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 ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_end
    CHANGING ct_html.

  CONCATENATE
          '</td>'
        '</tr>'
      '</table>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_end
    CHANGING ct_html.

ENDFORM.                    "html_add_box1TI_subboxMSnodiv


*-----------------------------------------------------------------------
* form: html_add_box1TI_2RB_TI
*-----------------------------------------------------------------------
FORM html_add_box1ti_2rb_ti
  USING
    value(i_title_o)
    it_ti_o TYPE it_textinput
    value(i_title_ul)
    value(i_name_ul)
    it_accessmode_ul TYPE it_access
    value(i_title_ur)
    it_ti_ur TYPE it_textinput
    value(i_id)
    value(i_on)
  CHANGING
    ct_html TYPE it_string.

  DATA:
  ls_html TYPE string.

  PERFORM html_add_div_begin
    USING
      i_id
      i_on
    CHANGING
      ct_html.

  CONCATENATE
      '<table>'
        '<tr>'
          '<td colspan="3">'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_textinputnodiv
    USING
      i_title_o
      it_ti_o
    CHANGING
      ct_html.

  CONCATENATE
          '</td>'
        '</tr>'
        '<tr>'
          '<td>&#160;</td>'
        '</tr>'
        '<tr>'
          '<td style="vertical-align:top">'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_radiobuttonsnodiv
    USING
      i_title_ul
      i_name_ul
      it_accessmode_ul
    CHANGING
      ct_html.

  APPEND '</td><td>&#160;</td><td style="vertical-align:top">'
      TO ct_html.

  PERFORM html_add_box_textinputnodiv
    USING
      i_title_ur
      it_ti_ur
    CHANGING
      ct_html.

  CONCATENATE
          '</td>'
        '</tr>'
      '</table>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_div_end
    CHANGING
      ct_html.

ENDFORM.                    "html_add_box1TI_2RB_TI


*-----------------------------------------------------------------------
* form: html_add_box1TI_2TIverNoDiv
*-----------------------------------------------------------------------
FORM html_add_box1ti_2tivernodiv
  USING
    value(i_title_l)
    it_ti_l TYPE it_textinput
    value(i_title_ro)
    it_ti_ro TYPE it_textinput
    value(i_title_ru)
    it_ti_ru TYPE it_textinput
  CHANGING
    ct_html TYPE it_string.

  DATA:
  ls_html TYPE string.

  CONCATENATE
      '<table>'
        '<tr>'
          '<td class="boxContainerTd" rowspan="3">'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_textinputnodiv
    USING
      i_title_l
      it_ti_l
    CHANGING
      ct_html.

  CONCATENATE
          '</td>'
          '<td class="boxContainerTd" rowspan="3">&#160;</td>'
          '<td class="boxContainerTd">'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_textinputnodiv
    USING
      i_title_ro
      it_ti_ro
    CHANGING
      ct_html.

  CONCATENATE
          '</td>'
        '</tr>'
        '<tr><td class="boxContainerTd">&#160;</td></tr>'
        '<tr>'
          '<td class="boxContainerTd">'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_textinputnodiv
    USING
      i_title_ru
      it_ti_ru
    CHANGING
      ct_html.

  CONCATENATE
          '</td>'
        '</tr>'
      '</table>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

ENDFORM.                    "html_add_box1TI_2TIverNoDiv


*-----------------------------------------------------------------------
* form: html_add_box1TIDbl_Box2TI_2TIx
*-----------------------------------------------------------------------
FORM html_add_box1tidbl_box2ti_2tix
  USING
    value(i_title_o)
    it_ti_ol TYPE it_textinput
    it_ti_or TYPE it_textinput
    value(i_title_m)
    value(i_title_ml)
    value(i_title_mr)
    it_ti_ml TYPE it_textinput
    it_ti_mr TYPE it_textinput
    value(i_title_ul)
    value(i_title_ur)
    it_ti_ul TYPE it_textinput
    it_ti_ur TYPE it_textinput
  CHANGING
    ct_html TYPE it_string.

  DATA:
  ls_html TYPE string.

  CONCATENATE
      '<table>'
        '<tr>'
          '<td class="boxContainerTd" colspan="3">'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_textinputdblnodiv
    USING
      i_title_o
      it_ti_ol
      it_ti_or
    CHANGING
      ct_html.

  PERFORM html_add_box_begin
    USING i_title_m '5'
    CHANGING ct_html.

  PERFORM html_add_box_textinputnodiv
    USING
      i_title_ml
      it_ti_ml
    CHANGING
      ct_html.

  CONCATENATE
                '</td>'
                '<td class="boxContent">&#160;</td>'
                '<td class="boxContent">'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_textinputnodiv
    USING
      i_title_mr
      it_ti_mr
    CHANGING
      ct_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 ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_textinputnodiv
    USING
      i_title_ul
      it_ti_ul
    CHANGING
      ct_html.

  CONCATENATE
          '</td>'
          '<td class="boxContainerTd">&#160;</td>'
          '<td class="boxContainerTd">'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_textinputnodiv
    USING
      i_title_ur
      it_ti_ur
    CHANGING
      ct_html.

  PERFORM html_add_box_end
    CHANGING ct_html.

ENDFORM.                    "html_add_box1TIDbl_Box2TI_2TIx


*-----------------------------------------------------------------------
* form: html_add_box_radioButtons
*-----------------------------------------------------------------------
FORM html_add_box_radiobuttons
  USING
    value(i_title)
    value(i_name)
    it_accessmode TYPE it_access
    value(i_id)
    value(i_on)
  CHANGING
    ct_html TYPE it_string.

  PERFORM html_add_div_begin
    USING
      i_id
      i_on
    CHANGING
      ct_html.

  PERFORM html_add_box_radiobuttonsnodiv
    USING
      i_title
      i_name
      it_accessmode
    CHANGING
      ct_html.

  PERFORM html_add_div_end
    CHANGING
      ct_html.

ENDFORM.                    "html_add_box_radioButtons


*-----------------------------------------------------------------------
* form: html_add_box_radioButtonsNoDiv
*-----------------------------------------------------------------------
FORM html_add_box_radiobuttonsnodiv
  USING
    value(i_title)
    value(i_name)
    it_accessmode TYPE it_access
  CHANGING
    ct_html TYPE it_string.

  PERFORM html_add_box_begin
    USING i_title '1'
    CHANGING ct_html.

  PERFORM html_add_radiobuttonsnodiv
    USING
      i_name
      it_accessmode
    CHANGING
      ct_html.

  PERFORM html_add_box_end
    CHANGING ct_html.

ENDFORM.                    "html_add_box_radioButtonsNoDiv


*-----------------------------------------------------------------------
* form: html_add_box_textInput2Ver
*-----------------------------------------------------------------------
FORM html_add_box_textinput2ver
  USING
    value(i_title_o)
    it_ti_o TYPE it_textinput
    value(i_title_u)
    it_ti_u TYPE it_textinput
    value(i_id)
    value(i_on)
  CHANGING
    ct_html TYPE it_string.

  DATA:
  ls_html TYPE string.

  PERFORM html_add_div_begin
    USING
      i_id
      i_on
    CHANGING
      ct_html.

  CONCATENATE
      '<table>'
        '<tr>'
          '<td>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_textinputnodiv
    USING
      i_title_o
      it_ti_o
    CHANGING
      ct_html.

  CONCATENATE
          '</td>'
        '</tr>'
        '<tr>'
          '<td>&#160;</td>'
        '</tr>'
        '<tr>'
          '<td>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_textinputnodiv
    USING
      i_title_u
      it_ti_u
    CHANGING
      ct_html.

  APPEND '</td></tr></table>' TO ct_html.

  PERFORM html_add_div_end
    CHANGING
      ct_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
    ct_html TYPE it_string.

  DATA:
  ls_html TYPE string.

  PERFORM html_add_box_begin
    USING i_title '1'
    CHANGING ct_html.

*Recording routine
* Standard recording routine
  CONCATENATE
      '<table>'
        '<tr>'
          '<td class="titleTableText">'
            txt_recording_routine
          '</td>'
          '<td>'
            '<input'
      INTO ls_html.
  IF i_recording = abap_false.
    CONCATENATE ls_html ' checked="checked"' INTO ls_html.
  ENDIF.
  CONCATENATE
                  ls_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 ls_html.
  APPEND ls_html TO ct_html.
* no, or user, recording routine
  CONCATENATE
        '<tr>'
          '<td>&#160;</td>'
          '<td>'
            '<input'
      INTO ls_html.
  IF i_recording = abap_true.
    CONCATENATE ls_html ' checked="checked"' INTO ls_html.
  ENDIF.
  CONCATENATE
                  ls_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 ls_html.
  APPEND ls_html TO ct_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 ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_end
    CHANGING ct_html.

ENDFORM.                    "html_add_box_data_transport


*-----------------------------------------------------------------------
* form: html_add_box_textInputDblNoDiv
*-----------------------------------------------------------------------
FORM html_add_box_textinputdblnodiv
  USING
    value(i_title)
    it_ti_l TYPE it_textinput
    it_ti_r TYPE it_textinput
  CHANGING
    ct_html TYPE it_string.

  DATA:
  ls_html TYPE string.

  PERFORM html_add_box_begin
    USING i_title '3'
    CHANGING ct_html.

  PERFORM html_add_textinputnodiv
    USING
      it_ti_l
    CHANGING
      ct_html.

  CONCATENATE
          '</td>'
          '<td>&#160;</td>'
          '<td>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_textinputnodiv
    USING
      it_ti_r
    CHANGING
      ct_html.

  PERFORM html_add_box_end
    CHANGING ct_html.

ENDFORM.                    "html_add_box_textInputDblNoDiv


*-----------------------------------------------------------------------
* form: html_add_box_textInputNoDiv
*-----------------------------------------------------------------------
FORM html_add_box_textinputnodiv
  USING
    value(i_title)
    it_ti TYPE it_textinput
  CHANGING
    ct_html TYPE it_string.

  DATA:
  ls_html TYPE string.

  PERFORM html_add_box_begin
    USING i_title '1'
    CHANGING ct_html.

  PERFORM html_add_textinputnodiv
    USING
      it_ti
    CHANGING
      ct_html.

  PERFORM html_add_box_end
    CHANGING ct_html.

ENDFORM.                    "html_add_box_textInputNoDiv


*-----------------------------------------------------------------------
* form: html_add_container_begin
*-----------------------------------------------------------------------
FORM html_add_container_begin
  USING
    it_tabstrip TYPE it_tabstrip
    value(i_id)
    value(i_on)
  CHANGING
    ct_html TYPE it_string.

  DATA:
  lt_tabstrip TYPE it_tabstrip,
  ls_html TYPE string,
  l_class TYPE string.

  FIELD-SYMBOLS:
  <ls_tabstrip> TYPE st_tabstrip.

  PERFORM get_tabstrip_defined
    USING it_tabstrip
    CHANGING lt_tabstrip.

  PERFORM html_add_div_begin
    USING
      i_id
      i_on
    CHANGING
      ct_html.

  CONCATENATE
      '<table>'
        '<tr>'
          '<td class="contentTable">'
            '<table border="0" cellpadding="0" cellspacing="0"'
            ' class="contentTable">'
              '<tr>'
        INTO ls_html.
  APPEND ls_html TO ct_html.
  LOOP AT lt_tabstrip ASSIGNING <ls_tabstrip>
    WHERE hidden = abap_false
    AND parent_id = i_id.
    IF <ls_tabstrip>-disabled = abap_true.
      l_class = 'contentTabDisabled'.
    ELSEIF <ls_tabstrip>-active = abap_true.
      l_class = 'contentTabOn'.
    ELSE.
      l_class = 'contentTabOff'.
    ENDIF.
    IF <ls_tabstrip>-disabled = abap_false.
      CONCATENATE '<td class="' l_class '" id="' <ls_tabstrip>-id
        'tab"><a href="#" onclick="openChildTab('''
        <ls_tabstrip>-parent_id ''','''
        <ls_tabstrip>-id ''')">'
        <ls_tabstrip>-text '</a></td>' INTO ls_html.
      APPEND ls_html TO ct_html.
    ELSE.
      CONCATENATE '<td class="' l_class '" id="' <ls_tabstrip>-id
        'tab"><a class="linkDisabled" href="#"'
        ' onclick="return false">'
        <ls_tabstrip>-text '</a></td>' INTO ls_html.
      APPEND ls_html TO ct_html.
    ENDIF.
  ENDLOOP.
  CONCATENATE
            '</tr>'
          '</table>'
        '</td>'
      '</tr>'
      INTO ls_html.
  APPEND ls_html TO ct_html.
  APPEND '<tr>' TO ct_html.
  APPEND '<td class="contentBox">' TO ct_html.

ENDFORM.                    "html_add_container_begin


*-----------------------------------------------------------------------
* form: html_add_container_end
*-----------------------------------------------------------------------
FORM html_add_container_end
  CHANGING
    ct_html TYPE it_string.

  APPEND '</td></tr></table>' TO ct_html.

  PERFORM html_add_div_end
    CHANGING
      ct_html.

ENDFORM.                    "html_add_container_end


*-----------------------------------------------------------------------
* form: html_add_data_type
*-----------------------------------------------------------------------
FORM html_add_data_type
  USING
    is_data_type TYPE st_data_type
    value(i_id)
    value(i_on)
  CHANGING
    ct_html TYPE it_string.

  DATA:
  ls_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 is_data_type-refkind.
    WHEN 'R'.
      l_checked_34 = ' checked="checked" '.
      CASE is_data_type-reftype.
        WHEN 'B'.
          l_checked_4 = ' checked="checked" '.
          WRITE is_data_type-datatype TO l_datatype_4.
          WRITE is_data_type-datadescr TO l_datadescr_4.
          PERFORM get_unpacked
            USING
              is_data_type-dataleng
            CHANGING
              l_dataleng_4.
          PERFORM get_unpacked
            USING
              is_data_type-datadeci
            CHANGING
              l_datadeci_4.
        WHEN OTHERS.
          l_checked_3 = ' checked="checked" '.
          l_reftypename_3 = is_data_type-domname.
      ENDCASE.
    WHEN 'D'.
      l_checked_12 = ' checked="checked" '.
      l_checked_1 = ' checked="checked" '.
      WRITE is_data_type-domname TO l_domname_1.
      WRITE is_data_type-domdescr TO l_domdescr_1.
      WRITE is_data_type-datatype TO l_datatype_1.
      WRITE is_data_type-datadescr TO l_datadescr_1.
      PERFORM get_unpacked
        USING
          is_data_type-dataleng
        CHANGING
          l_dataleng_1.
      PERFORM get_unpacked
        USING
          is_data_type-datadeci
        CHANGING
          l_datadeci_1.
    WHEN OTHERS.
      l_checked_12 = ' checked="checked" '.
      l_checked_2 = ' checked="checked" '.
      WRITE is_data_type-datatype TO l_datatype_2.
      PERFORM get_unpacked
        USING
          is_data_type-dataleng
        CHANGING
          l_dataleng_2.
      PERFORM get_unpacked
        USING
          is_data_type-datadeci
        CHANGING
          l_datadeci_2.
  ENDCASE.

  PERFORM html_add_div_begin
    USING
      i_id
      i_on
    CHANGING
      ct_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 ls_html.
  APPEND ls_html TO ct_html.
  IF is_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 ls_html.
    APPEND ls_html TO ct_html.
  ENDIF.
  CONCATENATE
        '</table>'
      '</form>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_div_end
    CHANGING
      ct_html.

ENDFORM.                    "html_add_data_type


*-----------------------------------------------------------------------
* form: html_add_definition_1
*-----------------------------------------------------------------------
FORM html_add_definition_1
  USING
    is_definition TYPE st_definition_1
    value(i_id)
    value(i_on)
  CHANGING
    ct_html TYPE it_string.

  DATA:
  ls_html TYPE string,
  l_dataleng TYPE string,
  l_datadeci TYPE string,
  l_outputlen TYPE string,
  lt_ti TYPE it_textinput,
  ls_ti TYPE st_textinput,
  l_datatype TYPE char255,
  l_datadescr TYPE char255,
  l_convexit TYPE char255,
  l_signflag TYPE char255,
  l_lowercase TYPE char255.

  WRITE is_definition-datatype TO l_datatype.
  WRITE is_definition-datadescr TO l_datadescr.
  WRITE is_definition-convexit TO l_convexit.
  WRITE is_definition-signflag TO l_signflag.
  WRITE is_definition-lowercase TO l_lowercase.

  PERFORM get_unpacked
    USING
      is_definition-dataleng
    CHANGING
      l_dataleng.
  PERFORM get_unpacked
    USING
      is_definition-datadeci
    CHANGING
      l_datadeci.
  PERFORM get_unpacked
    USING
      is_definition-outputlen
    CHANGING
      l_outputlen.

  PERFORM html_add_div_begin
    USING
      i_id
      i_on
    CHANGING
      ct_html.

  CONCATENATE
      '<table class="titleTable">'
        '<tr>'
          '<td>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  REFRESH lt_ti.
  CLEAR ls_ti.
  ls_ti-name = txt_data_type.
  ls_ti-value = l_datatype.
  ls_ti-input = abap_true.
  ls_ti-description = l_datadescr.
  APPEND ls_ti TO lt_ti.
  CLEAR ls_ti.
  ls_ti-name = txt_no_of_characters.
  ls_ti-value = l_dataleng.
  ls_ti-input = abap_true.
  APPEND ls_ti TO lt_ti.
  CLEAR ls_ti.
  ls_ti-name = txt_decimal_places___m.
  ls_ti-value = l_datadeci.
  ls_ti-input = abap_true.
  APPEND ls_ti TO lt_ti.

  PERFORM html_add_box_textinputnodiv
    USING
      txt_formatting
      lt_ti
    CHANGING
      ct_html.

  CONCATENATE
          '</td>'
        '</tr>'
        '<tr>'
          '<td>&#160;</td>'
        '</tr>'
        '<tr>'
          '<td>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  REFRESH lt_ti.
  CLEAR ls_ti.
  ls_ti-name = txt_output_length.
  ls_ti-value = l_outputlen.
  ls_ti-input = abap_true.
  APPEND ls_ti TO lt_ti.
  CLEAR ls_ti.
  ls_ti-name = txt_convers_routine.
  ls_ti-value = l_convexit.
  ls_ti-input = abap_true.
  APPEND ls_ti TO lt_ti.
  CLEAR ls_ti.
  ls_ti-name = txt_sign.
  ls_ti-value = l_signflag.
  ls_ti-flag = abap_true.
  APPEND ls_ti TO lt_ti.
  CLEAR ls_ti.
  ls_ti-name = txt_lowercase.
  ls_ti-value = l_lowercase.
  ls_ti-flag = abap_true.
  APPEND ls_ti TO lt_ti.

  PERFORM html_add_box_textinputnodiv
    USING
      txt_output_characteristics
      lt_ti
    CHANGING
      ct_html.

  CONCATENATE
          '</td>'
        '</tr>'
      '</table>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_div_end
    CHANGING
      ct_html.

ENDFORM.                    "addHTMLDefinition_1


*-----------------------------------------------------------------------
* form: html_add_definition_2
*-----------------------------------------------------------------------
FORM html_add_definition_2
  USING
    is_definition TYPE st_definition_2
    i_param_table TYPE string
    it_param_content TYPE ANY TABLE
    value(i_id)
    value(i_on)
  CHANGING
    ct_html TYPE it_string.

  DATA:
  ls_html TYPE string,
  lt_ti TYPE it_textinput,
  ls_ti TYPE st_textinput,
  l_selmethod TYPE char255,
  l_texttab TYPE char255,
  l_dialogtype TYPE char255,
  l_hotkey TYPE char255,
  l_selmexit TYPE char255.

  WRITE is_definition-selmethod TO l_selmethod.
  WRITE is_definition-texttab TO l_texttab.
  WRITE is_definition-dialogtype TO l_dialogtype.
  WRITE is_definition-hotkey TO l_hotkey.
  WRITE is_definition-selmexit TO l_selmexit.

  PERFORM html_add_div_begin
    USING
      i_id
      i_on
    CHANGING
      ct_html.

  CONCATENATE
      '<table class="titleTable">'
        '<tr>'
          '<td>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  REFRESH lt_ti.
  ls_ti-name = txt_selection_method.
  ls_ti-value = l_selmethod.
  ls_ti-input = abap_true.
  APPEND ls_ti TO lt_ti.
  ls_ti-name = txt_text_table.
  ls_ti-value = l_texttab.
  ls_ti-input = abap_false.
  APPEND ls_ti TO lt_ti.
  PERFORM html_add_box_textinputnodiv
    USING
      txt_data_collection
      lt_ti
    CHANGING
      ct_html.

  CONCATENATE
          '</td>'
          '<td>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  REFRESH lt_ti.
  ls_ti-name = txt_dialog_type.
  ls_ti-value = l_dialogtype.
  ls_ti-input = abap_true.
  APPEND ls_ti TO lt_ti.
  ls_ti-name = txt_hot_key.
  ls_ti-value = l_hotkey.
  ls_ti-input = abap_true.
  APPEND ls_ti TO lt_ti.
  PERFORM html_add_box_textinputnodiv
    USING
      txt_dialog_behavior
      lt_ti
    CHANGING
      ct_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 ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_tablenodiv
    USING
      i_param_table
      it_param_content
      it_param_content
    CHANGING
      ct_html.

  CONCATENATE
                '</td>'
              '</tr>'
            '</table>'
          '</td>'
        '</tr>'
      '</table>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_div_end
    CHANGING
      ct_html.

ENDFORM.                    "html_add_definition_2


*-----------------------------------------------------------------------
* form: html_add_deliv_maint
*-----------------------------------------------------------------------
FORM html_add_deliv_maint
  USING
    is_deliv_maint TYPE st_deliv_maint
    it_access TYPE it_access
    value(i_id)
    value(i_on)
  CHANGING
    ct_html TYPE it_string.

  DATA:
  l_tabix TYPE sytabix,
  l_checked TYPE string,
  ls_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:
  <ls_access> TYPE st_access.

  WRITE is_deliv_maint-contflag TO l_contflag.
  WRITE is_deliv_maint-contflag_text TO l_contflag_text.
  WRITE is_deliv_maint-mainflag_text TO l_mainflag_text.
  WRITE is_deliv_maint-sqltab TO l_sqltab.

  PERFORM html_add_div_begin
    USING
      i_id
      i_on
    CHANGING
      ct_html.

  APPEND '<table class="titleTable">' TO ct_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 ls_html.
    APPEND ls_html TO ct_html.
  ENDIF.
*access
  IF NOT it_access IS INITIAL.
    CONCATENATE
        '<tr>'
          '<td colspan="4">'
        INTO ls_html.
    APPEND ls_html TO ct_html.

    PERFORM html_add_box_radiobuttonsnodiv
      USING
        txt_access
        'access'
        it_access
      CHANGING
        ct_html.

    CONCATENATE
          '</td>'
        '</tr>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
  ENDIF.
*cont
  IF is_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 ls_html.
    APPEND ls_html TO ct_html.
  ENDIF.
*main
  IF is_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 ls_html.
    APPEND ls_html TO ct_html.
  ENDIF.
***
  APPEND '</table>' TO ct_html.

  PERFORM html_add_div_end
    CHANGING
      ct_html.

ENDFORM.                    "html_add_deliv_maint


*-----------------------------------------------------------------------
* form: html_add_div_begin
*-----------------------------------------------------------------------
FORM html_add_div_begin
  USING
    value(i_id)
    value(i_on)
  CHANGING
    ct_html TYPE it_string.

  DATA:
  l_style TYPE string,
  ls_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 ls_html.
  APPEND ls_html TO ct_html.

ENDFORM.                    "html_add_div_begin


*-----------------------------------------------------------------------
* form: html_add_div_end
*-----------------------------------------------------------------------
FORM html_add_div_end
  CHANGING
    ct_html TYPE it_string.

  APPEND '</div>' TO ct_html.

ENDFORM.                    "html_add_div_end


*-----------------------------------------------------------------------
* form: html_add_doc
*-----------------------------------------------------------------------
FORM html_add_doc
  USING
    it_doc TYPE it_string
    value(i_id)
    value(i_on)
  CHANGING
    ct_html TYPE it_string.

  DATA:
  l_text TYPE string,
  ls_html TYPE string,
  l_tabix TYPE string,
  l_titletag_open TYPE string,
  l_titletag_close TYPE string.

  FIELD-SYMBOLS:
  <ls_doc> TYPE string.

  PERFORM html_add_div_begin
    USING
      i_id
      i_on
    CHANGING
      ct_html.

  CONCATENATE
      '<table class="scrollTable">'
        '<tr>'
          '<td style="border-spacing:0px;padding:0px">'
            '<div id="' i_id 'scroll" class="scrollDiv">'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  LOOP AT it_doc ASSIGNING <ls_doc>.
    APPEND <ls_doc> TO ct_html.
  ENDLOOP.

  CONCATENATE
            '</div>'
          '</td>'
        '</tr>'
      '</table>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_div_end
    CHANGING
      ct_html.

ENDFORM.                    "html_add_doc


*-----------------------------------------------------------------------
* form: html_add_field_label
*-----------------------------------------------------------------------
FORM html_add_field_label
  USING
    is_field_label TYPE st_field_label
    value(i_id)
    value(i_on)
  CHANGING
    ct_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,
  ls_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 is_field_label-reptext TO l_reptext.
  WRITE is_field_label-scrtext_l TO l_scrtext_l.
  WRITE is_field_label-scrtext_m TO l_scrtext_m.
  WRITE is_field_label-scrtext_s TO l_scrtext_s.

  PERFORM get_unpacked
    USING
      is_field_label-headlen
    CHANGING
      l_headlen.
  PERFORM get_unpacked
    USING
      is_field_label-scrlen_l
    CHANGING
      l_scrlen_l.
  PERFORM get_unpacked
    USING
      is_field_label-scrlen_m
    CHANGING
      l_scrlen_m.
  PERFORM get_unpacked
    USING
      is_field_label-scrlen_s
    CHANGING
      l_scrlen_s.

  PERFORM html_add_div_begin
    USING
      i_id
      i_on
    CHANGING
      ct_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 ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_div_end
    CHANGING
      ct_html.

ENDFORM.                    "html_add_field_label


*-----------------------------------------------------------------------
* form: html_add_further_char
*-----------------------------------------------------------------------
FORM html_add_further_char
  USING
    is_further_char TYPE st_further_char
    value(i_id)
    value(i_on)
  CHANGING
    ct_html TYPE it_string.

  DATA:
  ls_html TYPE string,
  lt_ti TYPE it_textinput,
  ls_ti TYPE st_textinput,
  l_deffdname TYPE char255,
  l_memoryid TYPE char255,
  l_shlpfield TYPE char255,
  l_shlpname TYPE char255,
  l_checked TYPE string.

  WRITE is_further_char-deffdname TO l_deffdname.
  WRITE is_further_char-memoryid TO l_memoryid.
  WRITE is_further_char-shlpfield TO l_shlpfield.
  WRITE is_further_char-shlpname TO l_shlpname.

  PERFORM html_add_div_begin
    USING
      i_id
      i_on
    CHANGING
      ct_html.

  CONCATENATE
      '<table class="titleTable">'
        '<tr>'
          '<td colspan="2">'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  REFRESH lt_ti.
  ls_ti-name = txt_name.
  ls_ti-value = l_shlpname.
  ls_ti-input = abap_true.
  APPEND ls_ti TO lt_ti.
  ls_ti-name = txt_parameters.
  ls_ti-value = l_shlpfield.
  ls_ti-input = abap_true.
  APPEND ls_ti TO lt_ti.
  PERFORM html_add_box_textinputnodiv
    USING
      txt_srch_help
      lt_ti
    CHANGING
      ct_html.

  CLEAR l_checked.
  IF is_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="' is_further_char-logflag '"/>'
                '</td>'
                '<td>' txt_change_document '</td>'
              '</tr>'
            '</table>'
          '</td>'
        '</tr>'
      '</table>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_div_end
    CHANGING
      ct_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
    ct_html TYPE it_string.

  DATA:
  ls_html TYPE string.

  PERFORM html_add_div_begin
    USING
      i_id
      i_on
    CHANGING
      ct_html.

  APPEND '<table class="scrollTable">' TO ct_html.
  CONCATENATE
        '<tr>'
          '<td id="' i_id 'iframe"'
            ' style="border-spacing:0px;padding:0px">'
      INTO ls_html.
  APPEND ls_html TO ct_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 ls_html.
    APPEND ls_html TO ct_html.
  ENDIF.
  CONCATENATE
          '</td>'
        '</tr>'
      '</table>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_div_end
    CHANGING
      ct_html.

ENDFORM.                    "html_add_iFrame


*-----------------------------------------------------------------------
* form: html_add_init_access
*-----------------------------------------------------------------------
FORM html_add_init_access
  USING
    is_init_access TYPE st_init_access
    it_accessmode TYPE it_access
    value(i_id)
    value(i_on)
  CHANGING
    ct_html TYPE it_string.

  DATA:
  ls_html TYPE string,
  l_info1 TYPE char255,
  l_info2 TYPE char255,
  l_occurs TYPE string.

  WRITE is_init_access-info1 TO l_info1.
  WRITE is_init_access-info2 TO l_info2.

  PERFORM get_unpacked
    USING
      is_init_access-occurs
    CHANGING
      l_occurs.

  PERFORM html_add_div_begin
    USING
      i_id
      i_on
    CHANGING
      ct_html.

  APPEND '<table class="titleTable">' TO ct_html.
  IF NOT is_init_access-info1 IS INITIAL.
    CONCATENATE
        '<tr>'
          '<td class="info" colspan="3">' l_info1 '</td>'
        '</tr>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
  ENDIF.
  IF is_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 ls_html.
    APPEND ls_html TO ct_html.
  ENDIF.
  IF NOT is_init_access-info2 IS INITIAL.
    CONCATENATE
        '<tr>'
          '<td class="info" colspan="3">' l_info2 '</td>'
        '</tr>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
  ENDIF.
  CONCATENATE
        '<tr>'
          '<td colspan="3">'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_radiobuttonsnodiv
    USING
      txt_access
      'accessmode'
      it_accessmode
    CHANGING
      ct_html.

  CONCATENATE
          '</td>'
        '</tr>'
      '</table>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_div_end
    CHANGING
      ct_html.

ENDFORM.                    "html_add_init_access


*-----------------------------------------------------------------------
* form: html_add_key
*-----------------------------------------------------------------------
FORM html_add_key
  USING
    is_key TYPE st_key
    it_keydef TYPE it_access
    it_keykind TYPE it_access
    i_keycomp_table TYPE string
    it_keycomp_content TYPE ANY TABLE
    value(i_id)
    value(i_on)
  CHANGING
    ct_html TYPE it_string.

  DATA:
  ls_html TYPE string.

  PERFORM html_add_div_begin
    USING
      i_id
      i_on
    CHANGING
      ct_html.

  APPEND '<table class="titleTable">' TO ct_html.
  IF NOT is_key-info IS INITIAL.
    CONCATENATE
        '<tr>'
          '<td class="info" colspan="8">'
            is_key-info
          '</td>'
        '</tr>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
  ENDIF.
  CONCATENATE
        '<tr>'
          '<td style="vertical-align:top">'
        INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_radiobuttonsnodiv
    USING
      txt_key_definition
      'keydef'
      it_keydef
    CHANGING
      ct_html.

  CONCATENATE
          '</td>'
          '<td style="vertical-align:top">'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_radiobuttonsnodiv
    USING
      txt_key_category
      'keykind'
      it_keykind
    CHANGING
      ct_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 ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_tablenodiv
    USING
      i_keycomp_table
      it_keycomp_content
      it_keycomp_content
    CHANGING
      ct_html.

  CONCATENATE
                '</td>'
              '</tr>'
            '</table>'
          '</td>'
        '</tr>'
      '</table>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_div_end
    CHANGING
      ct_html.

ENDFORM.                    "html_add_key


*-----------------------------------------------------------------------
* form: html_add_line_type_1
*-----------------------------------------------------------------------
FORM html_add_line_type_1
  USING
    is_line_type TYPE st_line_type
    value(i_id)
    value(i_on)
  CHANGING
    ct_html TYPE it_string.

  DATA:
  ls_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 is_line_type-rowkind.
    WHEN 'E'.
      l_checked_1 = ' checked="checked" '.
      l_linetype_1 = txt_elementary_type.
      WRITE is_line_type-rowtype TO l_rowtype_1.
      WRITE is_line_type-rowdescr TO l_rowdescr_1.
    WHEN 'S'.
      l_checked_1 = ' checked="checked" '.
      l_linetype_1 = txt_structured_type.
      WRITE is_line_type-rowtype TO l_rowtype_1.
      WRITE is_line_type-rowdescr TO l_rowdescr_1.
    WHEN 'L'.
      l_checked_1 = ' checked="checked" '.
      l_linetype_1 = txt_table_type.
      WRITE is_line_type-rowtype TO l_rowtype_1.
      WRITE is_line_type-rowdescr TO l_rowdescr_1.
    WHEN space.
      l_checked_2 = ' checked="checked" '.
      WRITE is_line_type-datatype TO l_datatype_2.
      PERFORM get_unpacked
        USING
          is_line_type-dataleng
        CHANGING
          l_dataleng_2.
      PERFORM get_unpacked
        USING
          is_line_type-datadeci
        CHANGING
          l_datadeci_2.
      IF is_line_type-dataleng IS INITIAL.
        l_info_2 = txt_no_length_restriction.
      ENDIF.
    WHEN 'R'.
      l_checked_3 = ' checked="checked" '.
      CASE is_line_type-reftype.
        WHEN 'D' OR 'O'.
          l_checked_31 = ' checked="checked" '.
          WRITE is_line_type-rowtype TO l_reftypename_31.
        WHEN 'B'.
          l_checked_32 = ' checked="checked" '.
          WRITE is_line_type-rowtype TO l_datatype_32.
          PERFORM get_unpacked
            USING
              is_line_type-dataleng
            CHANGING
              l_dataleng_32.
          PERFORM get_unpacked
            USING
              is_line_type-datadeci
            CHANGING
              l_datadeci_32.
        WHEN 'E' OR 'S' OR 'C' OR 'I'.
          l_checked_31 = ' checked="checked" '.
          WRITE is_line_type-rowtype TO l_reftypename_31.
          WRITE is_line_type-refdescr TO l_reftypedescr_31.
      ENDCASE.
  ENDCASE.

  PERFORM html_add_div_begin
    USING i_id i_on
    CHANGING ct_html.

  WRITE is_line_type-info TO l_info.

  CONCATENATE
      '<form action="#" method="post">'
        '<table class="titleTable">'
      INTO ls_html.
  APPEND ls_html TO ct_html.
  IF NOT l_info IS INITIAL.
    CONCATENATE
          '<tr>'
            '<td class="info" colspan="8">'
              l_info
            '</td>'
          '</tr>'
        INTO ls_html.
    APPEND ls_html TO ct_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 ls_html.
  APPEND ls_html TO ct_html.
  IF NOT l_info_2 IS INITIAL.
    CONCATENATE
          '<tr>'
            '<td class="info" colspan="8">'
              l_info_2
            '</td>'
          '</tr>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
  ENDIF.
  IF is_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 ls_html.
    APPEND ls_html TO ct_html.
  ENDIF.
  CONCATENATE
        '</table>'
      '</form>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_div_end
    CHANGING ct_html.

ENDFORM.                    "html_add_line_type_1


*-----------------------------------------------------------------------
* form: html_add_line_type_2
*-----------------------------------------------------------------------
FORM html_add_line_type_2
  USING
    is_line_type TYPE st_line_type
    value(i_id)
    value(i_on)
  CHANGING
    ct_html TYPE it_string.

  DATA:
  ls_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 is_line_type-range_ctyp IS INITIAL.
    l_checked_1 = ' checked="checked" '.
    l_range_ctyp_1 = is_line_type-range_ctyp.
  ELSE.
    l_checked_2 = ' checked="checked" '.
    WRITE is_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 is_line_type-ctleng
      CHANGING l_dataleng_2.
    PERFORM get_unpacked
      USING is_line_type-ctdecimals
      CHANGING l_datadeci_2.
  ENDIF.

  WRITE is_line_type-rowtype TO l_rowtype.


  PERFORM html_add_div_begin
    USING i_id i_on
    CHANGING ct_html.

  CONCATENATE
      '<form action="#" method="post">'
        '<table class="titleTable">'
          '<tr>'
            '<td>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_begin
    USING txt_associated_type_for_low_hi '1'
    CHANGING ct_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 ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_end
    CHANGING ct_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 ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_div_end
    CHANGING
      ct_html.

ENDFORM.                    "html_add_line_type_2


*-----------------------------------------------------------------------
* form: html_add_meta
*-----------------------------------------------------------------------
FORM html_add_meta
        CHANGING
          ct_html TYPE it_string.

  DATA:
    l_laiso TYPE laiso,
    l_sptxt TYPE sptxt,
    ls_html TYPE string.

  PERFORM get_spras USING sy-langu l_laiso l_sptxt.

* charset
  APPEND '<meta charset="iso-8859-1"/>' TO ct_html.
* application-name
  APPEND '<meta name="application-name" content="SoftCopy"/>'
    TO ct_html.
* author
  APPEND '<meta name="author" content="Ruediger von Creytz"/>'
    TO ct_html.
* copyright
  APPEND '<meta name="copyright" content="globalBIT, LLC"/>'
    TO ct_html.
* date
  CONCATENATE
    '<meta name="date" content="'
    sy-datum+0(4) '-' sy-datum+4(2) '-' sy-datum+6(2) '">'
    INTO ls_html.
  APPEND ls_html TO ct_html.
* generator
  CONCATENATE
    '<meta name="generator" content="SoftCopy.' gc_version '"/>'
    INTO ls_html.
  APPEND ls_html TO ct_html.
* language
  CONCATENATE
    '<meta name="language" content="' l_laiso '"/>'
    INTO ls_html.
  APPEND ls_html TO ct_html.
* rights
  APPEND '<meta name="rights" content="globalBIT, LLC"/>'
    TO ct_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
          it_table TYPE ANY TABLE
          it_table_ext TYPE ANY TABLE
          it_source TYPE it_string
          value(i_filename)
          value(i_filename_no_includes)
          value(i_filename_compressed)
          value(i_extension)
          value(i_id)
        CHANGING
          ct_html TYPE it_string.

  DATA:
  ls_html TYPE string,
  l_id_sc TYPE string.

  CONCATENATE
    '<table class="titleTable">'
      '<tr>'
        '<td>'
    INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_tablenodiv
    USING
      i_table
      it_table
      it_table_ext
    CHANGING
      ct_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 ls_html.
  APPEND ls_html TO ct_html.

  PERFORM get_id
    USING i_id 'SC'
    CHANGING l_id_sc.
  PERFORM html_add_sourcecodenodiv
    USING
      it_source
      i_filename
      i_filename_no_includes
      i_filename_compressed
      i_extension
      l_id_sc
    CHANGING
      ct_html.

  CONCATENATE
        '</td>'
      '</tr>'
    '</table>'
    INTO ls_html.
  APPEND ls_html TO ct_html.

ENDFORM.                    "html_add_methodNoDiv


*-----------------------------------------------------------------------
* form: html_add_properties
*-----------------------------------------------------------------------
FORM html_add_properties
        USING
          is_properties TYPE st_properties
          it_ti TYPE it_textinput
          i_typegroup_table TYPE string
          it_typegroup TYPE ANY TABLE
          value(i_id)
          value(i_on)
        CHANGING
          ct_html TYPE it_string.

  DATA:
  ls_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 is_properties-superclass TO l_superclass.
  WRITE is_properties-check_model_inh TO l_check_model_inh.
  WRITE is_properties-descript TO l_description.
  WRITE is_properties-creatable TO l_creatable.
  WRITE is_properties-clsfinal TO l_clsfinal.

  PERFORM html_add_div_begin
    USING
      i_id
      i_on
    CHANGING
      ct_html.

  CONCATENATE
      '<table class="titleTable">'
        '<tr>'
          '<td>'
            '<table class="titleTable">'
      INTO ls_html.
  APPEND ls_html TO ct_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 ls_html.
    APPEND ls_html TO ct_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 ls_html.
    APPEND ls_html TO ct_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 ls_html.
    APPEND ls_html TO ct_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 ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_tablenodiv
    USING
      i_typegroup_table
      it_typegroup
      it_typegroup
    CHANGING
      ct_html.

  CONCATENATE
                '</td>'
              '</tr>'
            '</table>'
          '</td>'
        '</tr>'
        '<tr>'
          '<td>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_textinputnodiv
    USING
      txt_general_data
      it_ti
    CHANGING
      ct_html.

  CONCATENATE
          '</td>'
        '</tr>'
      '</table>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_div_end
    CHANGING
      ct_html.

ENDFORM.                    "html_add_properties


*-----------------------------------------------------------------------
* form: html_add_properties_o2
*-----------------------------------------------------------------------
FORM html_add_properties_o2
  USING
    it_header TYPE it_textinput
    i_page_type_title TYPE string
    it_page_type_rb TYPE it_access
    it_page_type_ti TYPE it_textinput
    i_error_title TYPE string
    it_error TYPE it_textinput
    i_status_title TYPE string
    it_status_rb TYPE it_access
    it_status_ti TYPE it_textinput
    i_cache_title TYPE string
    it_cache_li TYPE it_textinput
    it_cache_re TYPE it_textinput
    i_transfer_title TYPE string
    it_transfer_li TYPE it_textinput
    it_transfer_re TYPE it_textinput
    it_footer TYPE it_textinput
    value(i_id)
    value(i_on)
  CHANGING
    ct_html TYPE it_string.

  DATA:
  ls_html TYPE string.

  PERFORM html_add_div_begin
    USING
      i_id
      i_on
    CHANGING
      ct_html.

  APPEND '<table class="titleTable">' TO ct_html.

* Header
  IF NOT it_header IS INITIAL.
    CONCATENATE
          '<tr>'
            '<td>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
    PERFORM html_add_textinputnodiv
      USING it_header
      CHANGING ct_html.
    CONCATENATE
            '</td>'
          '</tr>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
  ENDIF.

* Page Type
  IF NOT it_page_type_rb IS INITIAL
  AND NOT it_page_type_ti IS INITIAL.
    CONCATENATE
          '<tr>'
            '<td>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
    PERFORM html_add_box1rb_1tihornodiv
      USING i_page_type_title it_page_type_rb it_page_type_ti
      CHANGING ct_html.
    CONCATENATE
            '</td>'
          '</tr>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
  ENDIF.

* Error Handling
  IF NOT it_error IS INITIAL.
    CONCATENATE
          '<tr>'
            '<td>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
    PERFORM html_add_box_textinputnodiv
      USING i_error_title it_error
      CHANGING ct_html.
    CONCATENATE
            '</td>'
          '</tr>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
  ENDIF.

* Status
  IF NOT it_status_ti IS INITIAL AND NOT it_status_rb IS INITIAL.
    CONCATENATE
          '<tr>'
            '<td>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
    PERFORM html_add_box1rb_1tivernodiv
      USING i_status_title it_status_rb it_status_ti
      CHANGING ct_html.
    CONCATENATE
            '</td>'
          '</tr>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
  ENDIF.

* Cache
  IF NOT it_cache_li IS INITIAL AND NOT it_cache_re IS INITIAL.
    CONCATENATE
          '<tr>'
            '<td>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
    PERFORM html_add_box_textinputdblnodiv
      USING i_cache_title it_cache_li it_cache_re
      CHANGING ct_html.
    CONCATENATE
            '</td>'
          '</tr>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
  ENDIF.

* Transfer Options
  IF NOT it_transfer_li IS INITIAL
  AND NOT it_transfer_re IS INITIAL.
    CONCATENATE
          '<tr>'
            '<td>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
    PERFORM html_add_box_textinputdblnodiv
      USING i_transfer_title it_transfer_li it_transfer_re
      CHANGING ct_html.
    CONCATENATE
            '</td>'
          '</tr>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
  ENDIF.

* Footer
  IF NOT it_footer IS INITIAL.
    CONCATENATE
          '<tr>'
            '<td>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
    PERFORM html_add_textinputnodiv
      USING it_footer
      CHANGING ct_html.
    CONCATENATE
            '</td>'
          '</tr>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
  ENDIF.

*
  APPEND '</table>' TO ct_html.

  PERFORM html_add_div_end
    CHANGING
      ct_html.

ENDFORM.                    "html_add_properties_o2


*-----------------------------------------------------------------------
* form: html_add_radioButtonsNoDiv
*-----------------------------------------------------------------------
FORM html_add_radiobuttonsnodiv
  USING
    value(i_name)
    it_accessmode TYPE it_access
  CHANGING
    ct_html TYPE it_string.

  DATA:
  l_first_row TYPE flag VALUE abap_true,
  ls_html TYPE string,
  l_colspan TYPE n,
  l_name TYPE string,
  l_ddtext TYPE char255,
  l_tabix TYPE string.

  FIELD-SYMBOLS:
  <ls_access> TYPE st_access.

  APPEND '<table class="titleTable">' TO ct_html.

  LOOP AT it_accessmode ASSIGNING <ls_access>.
    l_tabix = sy-tabix.
    CONDENSE l_tabix.
    WRITE <ls_access>-ddtext TO l_ddtext.
    APPEND '<tr>' TO ct_html.
    IF <ls_access>-sub IS INITIAL.
      l_colspan = 2.
    ELSE.
      l_colspan = 1.
      APPEND '<td>&#160;</td>' TO ct_html.
    ENDIF.
    CONCATENATE
                '<td>'
                  '<input '
        INTO ls_html.
    IF <ls_access>-checked = abap_true.
      CONCATENATE ls_html ' checked="checked"' INTO ls_html.
    ENDIF.

    CONCATENATE i_name <ls_access>-sub INTO l_name.
    CONCATENATE
                  ls_html
                  ' class="radio"'
                  ' disabled="disabled" name="' l_name '"'
                  ' type="radio"'
                  ' value="' <ls_access>-sub 'x' l_tabix '"/>'
                '</td>'
                '<td colspan="' l_colspan '">'
                  '<span>' l_ddtext '</span>'
                '</td>'
              '</tr>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
  ENDLOOP.

  APPEND '</table>' TO ct_html.

ENDFORM.                    "html_add_radioButtonsNoDiv


*-----------------------------------------------------------------------
* form: html_add_sourceCode
*-----------------------------------------------------------------------
FORM html_add_sourcecode
  USING
    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) TYPE flag
  CHANGING
    ct_html TYPE it_string.

  PERFORM html_add_div_begin
    USING
      i_id
      i_on
    CHANGING
      ct_html.
  PERFORM html_add_sourcecodenodiv
    USING
      it_source
      i_filename
      i_filename_no_includes
      i_filename_compressed
      i_extension
      i_id
    CHANGING
      ct_html.
  PERFORM html_add_div_end
    CHANGING
      ct_html.

ENDFORM.                    "html_add_sourceCode


*-----------------------------------------------------------------------
* form: html_add_sourceCodeNoDiv
*-----------------------------------------------------------------------
FORM html_add_sourcecodenodiv
  USING
    it_source TYPE it_string
    value(i_filename)
    value(i_filename_no_includes)
    value(i_filename_compressed)
    value(i_extension)
    value(i_id)
  CHANGING
    ct_html TYPE it_string.

  DATA:
  l_style TYPE string,
  l_source TYPE string,
  ls_html TYPE string,
  l_tabix TYPE string,
  lt_filename TYPE it_string,
  l_filename TYPE string,
  l_filename_no_includes TYPE string,
  l_filename_compressed TYPE string,
  l_strlen TYPE i.

  FIELD-SYMBOLS:
  <ls_source> TYPE string.

  SPLIT i_filename AT '/' INTO TABLE lt_filename.
  LOOP AT lt_filename INTO l_filename.
  ENDLOOP.
  PERFORM replace_all
    USING '<' '-'
    CHANGING l_filename.
  PERFORM replace_all
    USING '>' '-'
    CHANGING l_filename.

  SPLIT i_filename_no_includes AT '/' INTO TABLE lt_filename.
  LOOP AT lt_filename INTO l_filename_no_includes.
  ENDLOOP.
  PERFORM replace_all
    USING '<' '-'
    CHANGING l_filename_no_includes.
  PERFORM replace_all
    USING '>' '-'
    CHANGING l_filename_no_includes.

  SPLIT i_filename_compressed AT '/' INTO TABLE lt_filename.
  LOOP AT lt_filename INTO l_filename_compressed.
  ENDLOOP.
  PERFORM replace_all
    USING '<' '-'
    CHANGING l_filename_compressed.
  PERFORM replace_all
    USING '>' '-'
    CHANGING l_filename_compressed.

  APPEND '<table class="scrollTable">' TO ct_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 ls_html.
    APPEND ls_html TO ct_html.
    IF NOT l_filename_no_includes IS INITIAL.
      CONCATENATE
                '<td>&#160;</td>'
                '<td class="button">'
                  '<a href="' l_filename_no_includes '.' i_extension '"'
                  ' onclick="window.open(this.href); return false">'
                    txt_complete '.' i_extension
                  '</a>'
                '</td>'
          INTO ls_html.
      APPEND ls_html TO ct_html.
    ENDIF.

    IF NOT l_filename_compressed IS INITIAL.
      CONCATENATE
                '<td>&#160;</td>'
                '<td class="button">'
                  '<a href="' l_filename_compressed '.' i_extension '"'
                  ' onclick="window.open(this.href); return false">'
                    txt_compressed '.' i_extension
                  '</a>'
                '</td>'
          INTO ls_html.
      APPEND ls_html TO ct_html.
    ENDIF.

    CONCATENATE
              '</tr>'
            '</table>'
          '</td>'
        '</tr>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
  ENDIF.
  CONCATENATE
        '<tr>'
          '<td style="border-spacing:0px;padding:0px">'
            '<div id="' i_id 'scroll" class="scrollDiv">'
              '<table class="src">'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  LOOP AT it_source ASSIGNING <ls_source>.
    l_tabix = sy-tabix.
    CONDENSE l_tabix.
    l_style = 'srcLine'.
    l_strlen = strlen( <ls_source> ).
    IF l_strlen > 1 AND <ls_source>(1) = '*'.
      l_style = 'srcLineComment'.
    ENDIF.
    l_source = <ls_source>.
    PERFORM encode_html_force CHANGING l_source.
    IF l_source IS INITIAL.
      l_source = '&#160;'.
    ENDIF.
    CONCATENATE
                '<tr>'
                  '<td class="srcLineNumber">'
                    '<pre>' l_tabix '</pre>'
                  '</td>'
                  '<td class="' l_style '">'
                    '<pre>' l_source '</pre>'
                  '</td>'
                '</tr>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
  ENDLOOP.

  CONCATENATE
              '</table>'
            '</div>'
          '</td>'
        '</tr>'
      '</table>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

ENDFORM.                    "html_add_sourceCodeNoDiv


*-----------------------------------------------------------------------
* form: html_add_table
*-----------------------------------------------------------------------
FORM html_add_table
  USING
    i_table TYPE string
    it_content TYPE ANY TABLE
    it_content_ext TYPE ANY TABLE
    value(i_id)
    value(i_on)
  CHANGING
    ct_html TYPE it_string.

  DATA:
  ls_html TYPE string.

  PERFORM html_add_div_begin
    USING
      i_id
      i_on
    CHANGING
      ct_html.
  PERFORM html_add_tablenodiv
    USING
      i_table
      it_content
      it_content_ext
    CHANGING
      ct_html.
  PERFORM html_add_div_end
    CHANGING
      ct_html.

ENDFORM.                    "html_add_table


*-----------------------------------------------------------------------
* form: html_add_table2hor
*-----------------------------------------------------------------------
FORM html_add_table2hor
  USING
    i_table_l TYPE string
    it_content_l TYPE ANY TABLE
    it_content_ext_l TYPE ANY TABLE
    i_table_r TYPE string
    it_content_r TYPE ANY TABLE
    it_content_ext_r TYPE ANY TABLE
    value(i_id)
    value(i_on)
  CHANGING
    ct_html TYPE it_string.

  DATA:
  ls_html TYPE string.

  PERFORM html_add_div_begin
    USING
      i_id
      i_on
    CHANGING
      ct_html.

  CONCATENATE
      '<table>'
        '<tr>'
          '<td style="vertical-align:top">'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_tablenodiv
    USING
      i_table_l
      it_content_l
      it_content_ext_l
    CHANGING
      ct_html.

  APPEND '</td><td>&#160;</td><td style="vertical-align:top">'
      TO ct_html.

  PERFORM html_add_tablenodiv
    USING
      i_table_r
      it_content_r
      it_content_ext_r
    CHANGING
      ct_html.

  APPEND '</td></tr></table>' TO ct_html.

  PERFORM html_add_div_end
    CHANGING
      ct_html.

ENDFORM.                    "html_add_table2hor


*-----------------------------------------------------------------------
* form: html_add_table2ver
*-----------------------------------------------------------------------
FORM html_add_table2ver
  USING
    i_table_o TYPE string
    it_content_o TYPE ANY TABLE
    it_content_ext_o TYPE ANY TABLE
    i_table_u TYPE string
    it_content_u TYPE ANY TABLE
    it_content_ext_u TYPE ANY TABLE
    value(i_id)
    value(i_on)
  CHANGING
    ct_html TYPE it_string.

  DATA:
  ls_html TYPE string.

  PERFORM html_add_div_begin
    USING
      i_id
      i_on
    CHANGING
      ct_html.

  CONCATENATE
      '<table>'
        '<tr>'
          '<td>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_tablenodiv
    USING
      i_table_o
      it_content_o
      it_content_ext_o
    CHANGING
      ct_html.

  CONCATENATE
          '</td>'
        '</tr>'
        '<tr>'
          '<td>&#160;</td>'
        '</tr>'
        '<tr>'
          '<td>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_tablenodiv
    USING
      i_table_u
      it_content_u
      it_content_ext_u
    CHANGING
      ct_html.

  APPEND '</td></tr></table>' TO ct_html.

  PERFORM html_add_div_end
    CHANGING
      ct_html.

ENDFORM.                    "html_add_table2ver


*-----------------------------------------------------------------------
* form: html_add_tableMaintGenerator
*-----------------------------------------------------------------------
FORM html_add_tablemaintgenerator
  USING
    value(i_tdd_title)
    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
    ct_html TYPE it_string.

  DATA:
  ls_html TYPE string.

  PERFORM html_add_div_begin
    USING
      i_id
      i_on
    CHANGING
      ct_html.

  CONCATENATE
      '<table>'
        '<tr>'
          '<td>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box1ti_subboxmsnodiv
    USING
      i_tdd_title
      it_tdd_textinput
      i_tdd_subtitle
      i_tdd_step
      i_tdd_overview_screen
      i_tdd_single_screen
    CHANGING
      ct_html.

  CONCATENATE
          '</td>'
        '</tr>'
        '<tr>'
          '<td>&#160;</td>'
        '</tr>'
        '<tr>'
          '<td>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_data_transport
    USING
      i_ddtd_title
      i_ddtd_recording
      i_ddtd_compare_flag
    CHANGING
      ct_html.

  APPEND '</td></tr></table>' TO ct_html.

  PERFORM html_add_div_end
    CHANGING
      ct_html.

ENDFORM.                    "html_add_tableMaintGenerator


*-----------------------------------------------------------------------
* form: html_add_tableNoDiv
*-----------------------------------------------------------------------
FORM html_add_tablenodiv
  USING
    i_table TYPE string
    it_content TYPE ANY TABLE
    it_content_ext TYPE ANY TABLE
  CHANGING
    ct_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,
  ls_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:
  <ls_tabdef> TYPE st_table_structure,
  <ls_content> TYPE ANY,
  <ls_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 ls_html.
  APPEND ls_html TO ct_html.

*title row
  LOOP AT gt_table_structure ASSIGNING <ls_tabdef>
      WHERE id = l_tabid.
    CASE <ls_tabdef>-comparator.
      WHEN 'CO'.
        IF NOT l_tabcomp CO <ls_tabdef>-comp_value.
          CONTINUE.
        ENDIF.
    ENDCASE.
    l_title = <ls_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 ls_html.
    APPEND ls_html TO ct_html.
  ENDLOOP.
  APPEND '</tr>' TO ct_html.

*content rows
  LOOP AT it_content ASSIGNING <ls_content>.
    l_tabix = sy-tabix.
    LOOP AT it_content_ext ASSIGNING <ls_content_ext>.
      IF sy-tabix = l_tabix.
        EXIT.
      ENDIF.
    ENDLOOP.

    APPEND '<tr>' TO ct_html.

    LOOP AT gt_table_structure ASSIGNING <ls_tabdef>
        WHERE id = l_tabid.
      CASE <ls_tabdef>-comparator.
        WHEN 'CO'.
          IF NOT l_tabcomp CO <ls_tabdef>-comp_value.
            CONTINUE.
          ENDIF.
      ENDCASE.
      CLEAR l_txt.
      CLEAR l_text.
      ASSIGN COMPONENT <ls_tabdef>-fieldname
          OF STRUCTURE <ls_content> TO <l_value>.
      IF NOT <l_value> IS ASSIGNED.
        ASSIGN COMPONENT <ls_tabdef>-fieldname
            OF STRUCTURE <ls_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 <ls_tabdef>-link_row IS INITIAL.
        ASSIGN COMPONENT <ls_tabdef>-link_row
            OF STRUCTURE <ls_content> TO <l_link>.
        IF NOT <l_link> IS ASSIGNED.
          ASSIGN COMPONENT <ls_tabdef>-link_row
              OF STRUCTURE <ls_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 <ls_tabdef>-colored_row IS INITIAL.
        ASSIGN COMPONENT <ls_tabdef>-colored_row
            OF STRUCTURE <ls_content> TO <l_colored>.
        IF NOT <l_colored> IS ASSIGNED.
          ASSIGN COMPONENT <ls_tabdef>-colored_row
              OF STRUCTURE <ls_content_ext> TO <l_colored>.
        ENDIF.
        IF <l_colored> IS ASSIGNED.
          l_colored = <l_colored>.
          UNASSIGN <l_colored>.
        ENDIF.
      ENDIF.

      l_align = 'left'.
      CASE <ls_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 ls_html.
      APPEND ls_html TO ct_html.
    ENDLOOP.
    APPEND '</tr>' TO ct_html.
  ENDLOOP.

  APPEND '</table>' TO ct_html.
ENDFORM.                    "html_add_tableNoDiv


*-----------------------------------------------------------------------
* form: html_add_tables
*-----------------------------------------------------------------------
FORM html_add_tables
  USING
    it_tables TYPE it_tables
    value(i_id)
    value(i_on)
  CHANGING
    ct_html TYPE it_string.

  DATA:
  ls_html TYPE string,
  ls_tables TYPE st_tables,
  lt_ti TYPE it_textinput,
  ls_ti TYPE st_textinput,
  l_enqmode TYPE char255,
  l_tabname TYPE char255.

  FIELD-SYMBOLS:
  <ls_tables> TYPE st_tables.

  READ TABLE it_tables INTO ls_tables
      WITH KEY primary = abap_true.
  WRITE ls_tables-enqmode TO l_enqmode.
  WRITE ls_tables-tabname TO l_tabname.

  PERFORM html_add_div_begin
    USING
      i_id
      i_on
    CHANGING
      ct_html.

  CONCATENATE
      '<table class="titleTable">'
        '<tr>'
          '<td colspan="5">'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  REFRESH lt_ti.
  CLEAR ls_ti.
  ls_ti-name = txt_name.
  ls_ti-value = l_tabname.
  ls_ti-input = abap_true.
  APPEND ls_ti TO lt_ti.
  CLEAR ls_ti.
  ls_ti-name = txt_lock_mode.
  ls_ti-value = l_enqmode.
  ls_ti-input = abap_true.
  APPEND ls_ti TO lt_ti.
  PERFORM html_add_box_textinputnodiv
    USING
      txt_primary_table
      lt_ti
    CHANGING
      ct_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 ls_html.
  APPEND ls_html TO ct_html.
  LOOP AT it_tables ASSIGNING <ls_tables>
      WHERE primary = abap_false.
    WRITE <ls_tables>-enqmode TO l_enqmode.
    WRITE <ls_tables>-tabname TO l_tabname.
    CONCATENATE
                    '<tr>'
                      '<td class="innerTableTD">' l_tabname '</td>'
                      '<td class="innerTableTD">' l_enqmode '</td>'
                    '</tr>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
  ENDLOOP.
  CONCATENATE
                  '</table>'
                '</td>'
              '</tr>'
            '</table>'
          '</td>'
        '</tr>'
      '</table>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_div_end
    CHANGING
      ct_html.

ENDFORM.                    "html_add_tables


*-----------------------------------------------------------------------
* form: html_add_tech_settings
*-----------------------------------------------------------------------
FORM html_add_tech_settings
  USING
    i_title_params TYPE string
    it_ti_params TYPE it_textinput
    i_title_buffer TYPE string
    it_access_buffer TYPE it_access
    i_title_buffer_type TYPE string
    it_ti_buffer_type_l TYPE it_textinput
    it_ti_buffer_type_r TYPE it_textinput
    it_ti_bottom TYPE it_textinput
    value(i_id)
    value(i_on)
  CHANGING
    ct_html TYPE it_string.

  DATA:
  ls_html TYPE string.

  PERFORM html_add_div_begin
    USING
      i_id
      i_on
    CHANGING
      ct_html.

  CONCATENATE
      '<table>'
        '<tr>'
          '<td>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_textinputnodiv
    USING
      i_title_params
      it_ti_params
    CHANGING
      ct_html.

  CONCATENATE
          '</td>'
        '</tr>'
        '<tr><td>&#160;</td></tr>'
        '<tr>'
          '<td>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box1rb_subbox2tinodiv
    USING
      i_title_buffer
      it_access_buffer
      i_title_buffer_type
      it_ti_buffer_type_l
      it_ti_buffer_type_r
    CHANGING
      ct_html.

  CONCATENATE
          '</td>'
        '</tr>'
        '<tr><td>&#160;</td></tr>'
        '<tr>'
          '<td>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_textinputnodiv
    USING it_ti_bottom
    CHANGING ct_html.

  CONCATENATE
          '</td>'
        '</tr>'
      '</table>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_div_end
    CHANGING
      ct_html.

ENDFORM.                    "html_add_tech_settings


*-----------------------------------------------------------------------
* form: html_add_textInput
*-----------------------------------------------------------------------
FORM html_add_textinput
  USING
    it_ti TYPE it_textinput
    value(i_id)
    value(i_on)
  CHANGING
    ct_html TYPE it_string.

  DATA:
  ls_html TYPE string.

  PERFORM html_add_div_begin
    USING
      i_id
      i_on
    CHANGING
      ct_html.

  PERFORM html_add_textinputnodiv
    USING
      it_ti
    CHANGING
      ct_html.

  PERFORM html_add_div_end
    CHANGING
      ct_html.

ENDFORM.                    "html_add_textInput


*-----------------------------------------------------------------------
* form: html_add_textInputNoDiv
*-----------------------------------------------------------------------
FORM html_add_textinputnodiv
  USING
    it_ti TYPE it_textinput
  CHANGING
    ct_html TYPE it_string.

  DATA:
  l_first_row TYPE flag VALUE abap_true,
  ls_html TYPE string,
  ls_ti TYPE st_textinput,
  ls_ti2 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:
  <ls_ti> TYPE st_textinput.

  LOOP AT it_ti ASSIGNING <ls_ti>
      WHERE description <> space.
    l_has_description = abap_true.
    EXIT.
  ENDLOOP.

  APPEND '<table class="titleTable">' TO ct_html.

  LOOP AT it_ti INTO ls_ti
      WHERE flag_col <= 1.
    l_tabix = sy-tabix.
    WRITE ls_ti-description TO l_description.
    IF l_description IS INITIAL.
      l_description = '&#160;'.
    ENDIF.
    WRITE ls_ti-name TO l_name.
    IF l_name IS INITIAL.
      l_name = '&#160;'.
    ENDIF.
    WRITE ls_ti-name_suffix TO l_name_suffix.
    WRITE ls_ti-value TO l_value.
    IF l_value IS INITIAL.
      l_value = '&#160;'.
    ENDIF.
    WRITE ls_ti-value_text TO l_value_text.
    WRITE ls_ti-value_ext TO l_value_ext.
    WRITE ls_ti-value_ext_text TO l_value_ext_text.
    IF l_value_ext IS INITIAL.
      l_value_ext = '&#160;'.
    ENDIF.

    APPEND '<tr>' TO ct_html.
*   Space
    IF ls_ti-space = abap_true.
      CONCATENATE
                '<td colspan="4">'
                  '&#160;'
                '</td>'
          INTO ls_html.
      APPEND ls_html TO ct_html.
*   Flag
    ELSEIF ls_ti-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 ls_html.
      APPEND ls_html TO ct_html.
      l_tabix = l_tabix + 1.
*     a row can have multiple checkboxes
      LOOP AT it_ti INTO ls_ti2
          FROM l_tabix.
        IF ls_ti2-flag_col > 1.
          WRITE ls_ti2-name TO l_name.
          IF l_name IS INITIAL.
            l_name = '&#160;'.
          ENDIF.
          WRITE ls_ti2-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 ls_html.
          APPEND ls_html TO ct_html.
        ELSE.
          EXIT.
        ENDIF.
      ENDLOOP.
      CONCATENATE
                    '</tr>'
                  '</table>'
                '</td>'
          INTO ls_html.
      APPEND ls_html TO ct_html.
*   Textinput
    ELSE.
      IF ls_ti-no_name = abap_false.
        IF l_name_suffix IS INITIAL.
          CONCATENATE
                    '<td class="titleTableText" colspan="2">'
                      l_name
                    '</td>'
              INTO ls_html.
        ELSE.
          CONCATENATE
                    '<td class="titleTableText">'
                      l_name
                    '</td>'
                    '<td class="titleTableText">'
                      l_name_suffix
                    '</td>'
              INTO ls_html.
        ENDIF.
        APPEND ls_html TO ct_html.
      ENDIF.
      IF ls_ti-has_value_ext = abap_true
      AND ls_ti-value_double_length = abap_false.
        l_colspan = '1'.
      ELSE.
        l_colspan = '3'.
      ENDIF.
      IF ls_ti-no_name = abap_true.
        l_colspan = l_colspan + 1.
      ENDIF.
      IF ls_ti-input = abap_true.
        l_value_class = ' class="titleTableDescr"'.
      ELSE.
        CLEAR l_value_class.
      ENDIF.
      CONCATENATE
                '<td ' l_value_class ' colspan="' l_colspan '">'
                  '<span>'
          INTO ls_html.
      APPEND ls_html TO ct_html.
      IF NOT l_value_text IS INITIAL.
        CONCATENATE
                    '<a href="#" onclick="return false;"'
                    ' title="' l_value_text '">'
                      l_value
                    '</a>'
            INTO ls_html.
        APPEND ls_html TO ct_html.
      ELSE.
        APPEND l_value TO ct_html.
      ENDIF.
      CONCATENATE
                  '</span>'
                '</td>'
          INTO ls_html.
      APPEND ls_html TO ct_html.
      IF ls_ti-has_value_ext = abap_true
      AND ls_ti-value_double_length = abap_false.
        IF ls_ti-value_ext_space = abap_true.
          CLEAR l_value_class.
        ENDIF.
        CONCATENATE
                '<td>&#160;</td>'
                '<td' l_value_class '>'
                  '<span>'
            INTO ls_html.
        APPEND ls_html TO ct_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 ls_html.
          APPEND ls_html TO ct_html.
        ELSE.
          APPEND l_value_ext TO ct_html.
        ENDIF.
        CONCATENATE
                  '</span>'
                '</td>'
            INTO ls_html.
        APPEND ls_html TO ct_html.
      ENDIF.
    ENDIF.
    IF l_has_description = abap_true.
      CONCATENATE
                '<td>' l_description '</td>'
          INTO ls_html.
      APPEND ls_html TO ct_html.
    ENDIF.
    APPEND '</tr>' TO ct_html.
  ENDLOOP.

  APPEND '</table>' TO ct_html.

ENDFORM.                    "html_add_textInputNoDiv


*-----------------------------------------------------------------------
* form: html_add_textInput_subBox
*-----------------------------------------------------------------------
FORM html_add_textinput_subbox
  USING
    it_ti TYPE it_textinput
    value(i_subbox_title)
    it_subbox_ti TYPE it_textinput
    value(i_id)
    value(i_on)
  CHANGING
    ct_html TYPE it_string.

  DATA:
  ls_html TYPE string.

  PERFORM html_add_div_begin
    USING
      i_id
      i_on
    CHANGING
      ct_html.

  CONCATENATE
      '<table>'
        '<tr>'
          '<td style="vertical-align:top">'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_textinputnodiv
    USING
      it_ti
    CHANGING
      ct_html.

  CONCATENATE
          '</td>'
            '</tr>'
            '<tr>'
              '<td>&#160;</td>'
            '</tr>'
            '<tr>'
              '<td style="vertical-align:top">'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_textinputnodiv
    USING
      i_subbox_title
      it_subbox_ti
    CHANGING
      ct_html.

  APPEND '</td></tr></table>' TO ct_html.

  PERFORM html_add_div_end
    CHANGING
      ct_html.


ENDFORM.                    "html_add_textInput_subBox


*-----------------------------------------------------------------------
* form: html_add_textInput_subBox
*-----------------------------------------------------------------------
FORM html_add_textinput_subboxes
  USING
    it_ti TYPE it_textinput
    value(i_subbox1_title)
    value(i_subbox1_name)
    it_subbox1 TYPE it_access
    value(i_subbox2_title)
    it_subbox2 TYPE it_textinput
    value(i_subbox3_title)
    it_subbox3 TYPE it_textinput
    value(i_id)
    value(i_on)
  CHANGING
    ct_html TYPE it_string.

  DATA:
  ls_html TYPE string.

  PERFORM html_add_div_begin
    USING
      i_id
      i_on
    CHANGING
      ct_html.

  CONCATENATE
      '<table>'
        '<tr>'
          '<td style="vertical-align:top">'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_textinputnodiv
    USING
      it_ti
    CHANGING
      ct_html.

  CONCATENATE
          '</td>'
            '</tr>'
            '<tr>'
              '<td>&#160;</td>'
            '</tr>'
            '<tr>'
              '<td style="vertical-align:top">'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_radiobuttonsnodiv
    USING
      i_subbox1_title
      i_subbox1_name
      it_subbox1
    CHANGING
      ct_html.

  CONCATENATE
          '</td>'
            '</tr>'
            '<tr>'
              '<td>&#160;</td>'
            '</tr>'
            '<tr>'
              '<td style="vertical-align:top">'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_textinputnodiv
    USING
      i_subbox2_title
      it_subbox2
    CHANGING
      ct_html.

  CONCATENATE
          '</td>'
            '</tr>'
            '<tr>'
              '<td>&#160;</td>'
            '</tr>'
            '<tr>'
              '<td style="vertical-align:top">'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_textinputnodiv
    USING
      i_subbox3_title
      it_subbox3
    CHANGING
      ct_html.

  APPEND '</td></tr></table>' TO ct_html.

  PERFORM html_add_div_end
    CHANGING
      ct_html.


ENDFORM.                    "html_add_textInput_subBox


*-----------------------------------------------------------------------
* form: html_add_transaction
*-----------------------------------------------------------------------
FORM html_add_transaction
  USING
    is_tran TYPE st_transaction
    it_auth_value TYPE ANY TABLE
    it_defval_for TYPE it_textinput
    it_gui_support TYPE it_textinput
    it_defval TYPE ANY TABLE
    value(i_id)
    value(i_on)
  CHANGING
    ct_html TYPE it_string.

  DATA:
  ls_html TYPE string.

  PERFORM html_add_div_begin
    USING
      i_id
      i_on
    CHANGING
      ct_html.

*Transaction   begin
  CONCATENATE
      '<table>'
        '<tr>'
          '<td>'
            '<table>'
              '<tr>'
                '<td class="titleTableText" colspan="2">'
                  txt_transaction_text
                '</td>'
                '<td class="titleTableDescr" colspan="4">'
                  is_tran-ttext
                '</td>'
              '</tr>'
      INTO ls_html.
  APPEND ls_html TO ct_html.
*Transaction - Dialog   begin
  IF is_tran-ttype = gc_tcode_dialog.
    CONCATENATE
              '<tr>'
                '<td class="titleTableText" colspan="2">'
                  txt_program
                '</td>'
                '<td class="titleTableDescr" colspan="4">'
                  is_tran-pgmna
                '</td>'
                '<td>&#160;</td>'
                '<td>&#160;</td>'
              '</tr>'
              '<tr>'
                '<td class="titleTableText" colspan="2">'
                  txt_selection_screen
                '</td>'
                '<td class="titleTableDescr" colspan="2">'
                  is_tran-dypno
                '</td>'
                '<td>&#160;</td>'
                '<td>&#160;</td>'
              '</tr>'
              '<tr>'
                '<td class="titleTableText" colspan="2">'
                  txt_authorization_object___1
                '</td>'
                '<td class="titleTableDescr" colspan="2">'
                  is_tran-objct
                '</td>'
                '<td>&#160;</td>'
                '<td>&#160;</td>'
              '</tr>'
              '<tr>'
                '<td>&#160;</td>'
                '<td>&#160;</td>'
                '<td colspan="4">'
        INTO ls_html.
    APPEND ls_html TO ct_html.

    PERFORM html_add_tablenodiv
      USING
        'TRAN_AUTHV'
        it_auth_value
        it_auth_value
      CHANGING
        ct_html.

    CONCATENATE
                '</td>'
              '</tr>'
              '<tr>'
                '<td>&#160;</td>'
                '<td>&#160;</td>'
                '<td>&#160;</td>'
                '<td>&#160;</td>'
                '<td>&#160;</td>'
                '<td>&#160;</td>'
              '</tr>'
              '<tr>'
                '<td>'
                  '<input '
        INTO ls_html.
    IF is_tran-trans_var = abap_true.
      CONCATENATE ls_html ' checked="checked"' INTO ls_html.
    ENDIF.
    CONCATENATE
        ls_html
                  ' class="innerTableFlag"'
                  ' disabled="disabled"'
                  ' type="checkbox"'
                  ' value="transvar"/>'
                '</td>'
                '<td colspan="5">'
                  '<span>' txt_maintenance_of_standard_tr '</span>'
                '</td>'
              '</tr>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
  ENDIF.
*Transaction - Dialog   end
*Transaction - Report   begin
  IF is_tran-ttype = gc_tcode_report.
    CONCATENATE
              '<tr>'
                '<td class="titleTableText" colspan="2">'
                  txt_program
                '</td>'
                '<td class="titleTableDescr" colspan="4">'
                  is_tran-pgmna
                '</td>'
                '<td>&#160;</td>'
                '<td>&#160;</td>'
              '</tr>'
              '<tr>'
                '<td class="titleTableText" colspan="2">'
                  txt_selection_screen
                '</td>'
                '<td class="titleTableDescr" colspan="2">'
                  is_tran-dypno
                '</td>'
                '<td>&#160;</td>'
                '<td>&#160;</td>'
              '</tr>'
              '<tr>'
                '<td class="titleTableText" colspan="2">'
                  txt_start_with_variant
                '</td>'
                '<td class="titleTableDescr" colspan="2">'
                  is_tran-repo_vari
                '</td>'
                '<td>&#160;</td>'
                '<td>&#160;</td>'
              '</tr>'
              '<tr>'
                '<td class="titleTableText" colspan="2">'
                  txt_authorization_object___1
                '</td>'
                '<td class="titleTableDescr" colspan="2">'
                  is_tran-objct
                '</td>'
                '<td>&#160;</td>'
                '<td>&#160;</td>'
              '</tr>'
              '<tr>'
                '<td>&#160;</td>'
                '<td>&#160;</td>'
                '<td colspan="4">'
        INTO ls_html.
    APPEND ls_html TO ct_html.

    PERFORM html_add_tablenodiv
      USING
        'TRAN_AUTHV'
        it_auth_value
        it_auth_value
      CHANGING
        ct_html.

    CONCATENATE
                '</td>'
              '</tr>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
  ENDIF.
*Transaction - Report   end
*Transaction - Object   begin
  IF is_tran-ttype = gc_tcode_object.
    CONCATENATE
              '<tr>'
                '<td>'
                  '<input '
        INTO ls_html.
    IF is_tran-trframe = abap_true.
      CONCATENATE ls_html ' checked="checked"' INTO ls_html.
    ENDIF.
    CONCATENATE
        ls_html
                  ' class="innerTableFlag"'
                  ' disabled="disabled"'
                  ' type="checkbox"'
                  ' value="trframe"/>'
                '</td>'
                '<td colspan="2">'
                  '<span>'
                    txt_oo_transaction_model
                  '</span>'
                '</td>'
                '<td>&#160;</td>'
                '<td>&#160;</td>'
                '<td>&#160;</td>'
              '</tr>'
              '<tr><td colspan="6">&#160;</td></tr>'
              '<tr>'
                '<td class="titleTableText" colspan="2">'
                  txt_class_name
                '</td>'
                '<td class="titleTableDescr" colspan="2">'
                  is_tran-classname
                '</td>'
                '<td>&#160;</td>'
                '<td>&#160;</td>'
              '</tr>'
              '<tr>'
                '<td class="titleTableText" colspan="2">'
                  txt_method
                '</td>'
                '<td class="titleTableDescr" colspan="4">'
                  is_tran-method
                '</td>'
              '</tr>'
              '<tr>'
                '<td>'
                  '<input '
        INTO ls_html.
    IF is_tran-local = abap_true.
      CONCATENATE ls_html ' checked="checked"' INTO ls_html.
    ENDIF.
    CONCATENATE
        ls_html
                  ' class="innerTableFlag"'
                  ' disabled="disabled"'
                  ' type="checkbox"'
                  ' value="local"/>'
                '</td>'
                '<td>'
                  '<span>'
                    txt_local_in_program
                  '</span>'
                '</td>'
                '<td class="titleTableDescr" colspan="2">'
                  is_tran-pgmna
                '</td>'
                '<td>&#160;</td>'
                '<td>&#160;</td>'
              '</tr>'
              '<tr>'
                '<td>&#160;</td>'
                '<td>&#160;</td>'
                '<td>&#160;</td>'
                '<td>&#160;</td>'
                '<td>&#160;</td>'
                '<td>&#160;</td>'
              '</tr>'
              '<tr>'
                '<td class="titleTableText" colspan="2">'
                  txt_authorization_object___1
                '</td>'
                '<td class="titleTableDescr" colspan="2">'
                  is_tran-objct
                '</td>'
                '<td>&#160;</td>'
                '<td>&#160;</td>'
              '</tr>'
              '<tr>'
                '<td>&#160;</td>'
                '<td>&#160;</td>'
                '<td colspan="4">'
        INTO ls_html.
    APPEND ls_html TO ct_html.

    PERFORM html_add_tablenodiv
      USING
        'TRAN_AUTHV'
        it_auth_value
        it_auth_value
      CHANGING
        ct_html.

    CONCATENATE
                '</td>'
              '</tr>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
  ENDIF.
*Transaction - Object   end
*Transaction - Variant   begin
  IF is_tran-ttype = gc_tcode_variant.
    CONCATENATE
              '<tr>'
                '<td class="titleTableText" colspan="2">'
                  txt_transaction
                '</td>'
                '<td class="titleTableDescr" colspan="2">'
                  is_tran-def_call_tcode
                '</td>'
                '<td>&#160;</td>'
                '<td>&#160;</td>'
              '</tr>'
              '<tr>'
                '<td class="titleTableText" colspan="2">'
                  txt_transaction_variant
                '</td>'
                '<td class="titleTableDescr" colspan="2">'
                  is_tran-variant
                '</td>'
                '<td>&#160;</td>'
                '<td>&#160;</td>'
              '</tr>'
              '<tr>'
                '<td>&#160;</td>'
                '<td>&#160;</td>'
                '<td>'
                  '<input '
        INTO ls_html.
    IF is_tran-ind_vari = abap_true.
      CONCATENATE ls_html ' checked="checked"' INTO ls_html.
    ENDIF.
    CONCATENATE
        ls_html
                  ' class="innerTableFlag"'
                  ' disabled="disabled"'
                  ' type="checkbox"'
                  ' value="cross"/>'
                '</td>'
                '<td colspan="3">'
                  txt_cross_client
                '</td>'
              '</tr>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
  ENDIF.
*Transaction - Variant   end
  CONCATENATE
            '</table>'
          '</td>'
        '</tr>'
      INTO ls_html.
  APPEND ls_html TO ct_html.
*Transaction   end

*Default values for   begin
  IF is_tran-ttype = gc_tcode_parameter.
    CONCATENATE
        '<tr><td>&#160;</td></tr>'
        '<tr>'
          '<td>'
        INTO ls_html.
    APPEND ls_html TO ct_html.

    PERFORM html_add_box_textinputnodiv
    USING
      txt_default_values_for
      it_defval_for
    CHANGING
      ct_html.

    CONCATENATE
          '</td>'
        '</tr>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
  ENDIF.
*Default values for   end

*Classification   begin
  CONCATENATE
        '<tr><td>&#160;</td></tr>'
        '<tr>'
          '<td>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_begin
    USING
      txt_classification '1'
    CHANGING
      ct_html.

  APPEND '<table class="titleTable">' TO ct_html.

  IF is_tran-ttype = gc_tcode_parameter
  OR is_tran-ttype = gc_tcode_variant.
    CONCATENATE
              '<tr>'
                '<td>'
                  '<table class="titleTable">'
                    '<tr>'
                      '<td>'
                        '<input '
        INTO ls_html.
    IF is_tran-clf_inhe = abap_true.
      CONCATENATE ls_html ' checked="checked"' INTO ls_html.
    ENDIF.
    CONCATENATE
        ls_html
                        ' class="innerTableFlag"'
                        ' disabled="disabled"'
                        ' type="checkbox"'
                        ' value="inherit"/>'
                      '</td>'
                      '<td>'
                        '<span>'
                          txt_inherit_gui_attributes
                        '</span>'
                      '</td>'
                    '</tr>'
                  '</table>'
                '</td>'
              '</tr>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
  ENDIF.

  CONCATENATE
              '<tr>'
                '<td>'
      INTO ls_html.
  APPEND ls_html TO ct_html.
**Transaction classification
  PERFORM html_add_box_begin
    USING
      txt_transaction_classification '1'
    CHANGING
      ct_html.

  CONCATENATE
                  '<table class="titleTable">'
                    '<tr>'
                      '<td>'
                        '<input '
      INTO ls_html.
  IF is_tran-clf_profi = abap_true.
    CONCATENATE ls_html ' checked="checked"' INTO ls_html.
  ENDIF.
  CONCATENATE
      ls_html
                        ' class="radio"'
                        ' disabled="disabled"'
                        ' name="tranclass"'
                        ' type="radio"'
                        ' value="profi"/>'
                      '</td>'
                      '<td colspan="2">'
                        '<span>'
                          txt_professional_user_transact
                        '</span>'
                      '</td>'
                      '<td colspan="3">&#160;</td>'
                    '</tr>'
                    '<tr>'
                      '<td>'
                        '<input '
      INTO ls_html.
  IF is_tran-clf_ewt = abap_true.
    CONCATENATE ls_html ' checked="checked"' INTO ls_html.
  ENDIF.
  CONCATENATE
      ls_html
                        ' class="radio"'
                        ' disabled="disabled"'
                        ' name="tranclass"'
                        ' type="radio"'
                        ' value="profi"/>'
                      '</td>'
                      '<td colspan="2">'
                        '<span>' txt_easy_web_transaction '</span>'
                      '</td>'
                      '<td>&#160;</td>'
                      '<td class="titleTableText">' txt_service '</td>'
                      '<td class="titleTableDescr">'
                        is_tran-clf_service
                      '</td>'
                    '</tr>'
                    '<tr>'
                      '<td>&#160;</td>'
                      '<td>'
                        '<input '
      INTO ls_html.
  IF is_tran-clf_pervas = abap_true.
    CONCATENATE ls_html ' checked="checked"' INTO ls_html.
  ENDIF.
  CONCATENATE
      ls_html
                        ' class="innerTableFlag"'
                        ' disabled="disabled"'
                        ' type="checkbox"'
                        ' value="pervasive"/>'
                      '</td>'
                      '<td><span>' txt_pervasive_enabled '</span></td>'
                      '<td>&#160;</td>'
                      '<td>&#160;</td>'
                      '<td>&#160;</td>'
                    '</tr>'
                  '</table>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_end
    CHANGING
      ct_html.

  CONCATENATE
                '</td>'
              '</tr>'
              '<tr>'
                '<td>'
      INTO ls_html.
  APPEND ls_html TO ct_html.
**GUI support
  PERFORM html_add_box_textinputnodiv
    USING
      txt_gui_support
      it_gui_support
    CHANGING
      ct_html.

  CONCATENATE
                '</td>'
              '</tr>'
            '</table>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_box_end
    CHANGING
      ct_html.

  CONCATENATE
          '</td>'
        '</tr>'
      INTO ls_html.
  APPEND ls_html TO ct_html.
*Classification   end

*Default values - Parameter   begin
  IF is_tran-ttype = gc_tcode_parameter.
    CONCATENATE
        '<tr><td>&#160;</td></tr>'
        '<tr>'
          '<td>'
        INTO ls_html.
    APPEND ls_html TO ct_html.

    PERFORM html_add_box_begin
      USING
        txt_default_values '1'
      CHANGING
        ct_html.

    CONCATENATE
            '<table>'
              '<tr>'
                '<td>'
        INTO ls_html.
    APPEND ls_html TO ct_html.

    PERFORM html_add_tablenodiv
      USING
        'TRAN_DEFVA'
        it_defval
        it_defval
      CHANGING
        ct_html.

    CONCATENATE
                '</td>'
              '</tr>'
            '</table>'
        INTO ls_html.
    APPEND ls_html TO ct_html.

    PERFORM html_add_box_end
      CHANGING
        ct_html.

    CONCATENATE
          '</td>'
        '</tr>'
        INTO ls_html.
    APPEND ls_html TO ct_html.
  ENDIF.
*Default values - Parameter   end

  APPEND '</table>' TO ct_html.

  PERFORM html_add_div_end
    CHANGING
      ct_html.

ENDFORM.                    "html_add_transaction


*-----------------------------------------------------------------------
* form: html_add_value_range
*-----------------------------------------------------------------------
FORM html_add_value_range
  USING
    it_value_range TYPE it_value_range
    value(i_id)
    value(i_on)
  CHANGING
    ct_html TYPE it_string.

  DATA:
  ls_html TYPE string,
  l_ddtext TYPE char255,
  l_domvalue_h TYPE char255,
  l_domvalue_l TYPE char255.

  FIELD-SYMBOLS:
  <ls_value_range> TYPE st_value_range.

  PERFORM html_add_div_begin
    USING
      i_id
      i_on
    CHANGING
      ct_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 ls_html.
  APPEND ls_html TO ct_html.

  LOOP AT it_value_range ASSIGNING <ls_value_range>
      WHERE domvalue_h = space.
    WRITE <ls_value_range>-ddtext TO l_ddtext.
    WRITE <ls_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 ls_html.
    APPEND ls_html TO ct_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 ls_html.
  APPEND ls_html TO ct_html.

  LOOP AT it_value_range ASSIGNING <ls_value_range>
      WHERE domvalue_h <> space.
    WRITE <ls_value_range>-ddtext TO l_ddtext.
    WRITE <ls_value_range>-domvalue_h TO l_domvalue_h.
    WRITE <ls_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 ls_html.
    APPEND ls_html TO ct_html.
  ENDLOOP.

  CONCATENATE
            '</table>'
          '</td>'
        '</tr>'
      '</table>'
      INTO ls_html.
  APPEND ls_html TO ct_html.

  PERFORM html_add_div_end
    CHANGING
      ct_html.

ENDFORM.                    "html_add_value_range
