Properties | SourceCde
Title | SoftCopy - html main |
Original language | DE | Englisch
Created | 03.01.2013 |  | CREYTZ |
Last changed by | 23.02.2021 |  | CREYTZ |
Status | Active |
Attributes
Type | INCLUDE program |
Status | Customer production program |
Application |  |
Authorization Group |  |
Package | ZSOFTCOPY | SoftCopy
| Editor lock
txt
    1
    *&---------------------------------------------------------------------*
    2
    *&  Include           ZSOFTCOPY_HTML_MAIN                              *
    3
    *&                                                                     *
    4
    *&---------------------------------------------------------------------*
    5
    *&                                                                     *
    6
    *& This file is part of ZSOFTCOPY.                                     *
    7
    *&                                                                     *
    8
    *& ZSOFTCOPY is free software: you can redistribute it and/or modify   *
    9
    *& it under the terms of the GNU General Public License as published   *
    10
    *& by the Free Software Foundation, either version 3 of the License,   *
    11
    *& or any later version.                                               *
    12
    *&                                                                     *
    13
    *& ZSOFTCOPY is distributed in the hope that it will be useful,        *
    14
    *& but WITHOUT ANY WARRANTY; without even the implied warranty of      *
    15
    *& MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the       *
    16
    *& GNU General Public License for more details.                        *
    17
    *&                                                                     *
    18
    *& You should have received a copy of the GNU General Public License   *
    19
    *& along with ZDOWNLOAD. If not, see <http://www.gnu.org/licenses/>.   *
    20
    *&                                                                     *
    21
    *&---------------------------------------------------------------------*
    22
    *&                                                                     *
    23
    *&  Author:     Ruediger von Creytz     ruediger.creytz@globalbit.net  *
    24
    *&  Copyright:  globalBIT, LLC          http://www.globalbit.net       *
    25
    *&                                                                     *
    26
    *&---------------------------------------------------------------------*
    27
    28
    29
    *-----------------------------------------------------------------------
    30
    * form: html_main_header
    31
    *-----------------------------------------------------------------------
    32
    FORM html_main_header
    33
      USING
    34
        value(i_title)
    35
        value(i_name_field)
    36
        value(i_name_value)
    37
        value(i_name_active)
    38
        value(i_descr_field)
    39
        value(i_descr_value)
    40
        value(i_onresize)
    41
        it_tabstrip TYPE it_tabstrip
    42
        it_link TYPE it_link
    43
      CHANGING
    44
        ct_html TYPE it_string.
    45
    46
      DATA:
    47
      lt_tabstrip TYPE it_tabstrip,
    48
      ls_html TYPE string,
    49
      l_class TYPE string,
    50
      l_laiso TYPE laiso,
    51
      l_sptxt TYPE sptxt,
    52
      l_title TYPE string.
    53
    54
      FIELD-SYMBOLS:
    55
      <ls_link> TYPE st_link,
    56
      <ls_tabstrip> TYPE st_tabstrip.
    57
    58
      l_title = i_title.
    59
      PERFORM replace_single
    60
          USING '#NAME_VALUE#' i_name_value
    61
          CHANGING l_title.
    62
    63
      PERFORM get_spras
    64
        USING
    65
          sy-langu
    66
          l_laiso
    67
          l_sptxt.
    68
      PERFORM get_tabstrip_defined
    69
        USING it_tabstrip
    70
        CHANGING lt_tabstrip.
    71
    ***
    72
      CONCATENATE
    73
          '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"'
    74
          ' "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'
    75
          INTO ls_html.
    76
      APPEND ls_html TO ct_html.
    77
      CONCATENATE
    78
        '<html xmlns="http://www.w3.org/1999/xhtml"'
    79
        ' xml:lang="' l_laiso '" lang="' l_laiso '">'
    80
          INTO ls_html.
    81
      APPEND ls_html TO ct_html.
    82
      CONCATENATE
    83
          '<head>'
    84
            '<title id="title">' l_title '</title>'
    85
          INTO ls_html.
    86
      APPEND ls_html TO ct_html.
    87
      PERFORM html_add_meta CHANGING ct_html.
    88
    *javascript
    89
      PERFORM html_main_js
    90
        USING
    91
          l_title
    92
          i_onresize
    93
          lt_tabstrip
    94
        CHANGING
    95
          ct_html.
    96
    *style
    97
      PERFORM html_main_style
    98
        CHANGING
    99
          ct_html.
    100
    *
    101
      CONCATENATE
    102
          '</head>'
    103
          '<body id="body" onload="myOnResize()">' INTO ls_html.
    104
      APPEND ls_html TO ct_html.
    105
    *
    106
      CONCATENATE
    107
            '<script type="text/javascript">'
    108
                '<!--'
    109
          INTO ls_html.
    110
      APPEND ls_html TO ct_html.
    111
      CONCATENATE
    112
                  'if(top==self){'
    113
                    'document.write("'
    114
                      '<table>'
    115
                        '<tr>'
    116
                          '<td class=\"button\">'
    117
                            '<a href=\"../index.htm\"'
    118
                            ' onclick=\"addFrame();return false\">'
    119
                              txt_frameset
    120
                            '<\/a>'
    121
                          '<\/td>'
    122
                        '<\/tr>'
    123
                      '<\/table>'
    124
                    '");'
    125
                  '}'
    126
          INTO ls_html.
    127
      APPEND ls_html TO ct_html.
    128
      APPEND '//-->' TO ct_html.
    129
      APPEND '</script>' TO ct_html.
    130
    *
    131
      CONCATENATE
    132
            '<form action="../index.htm" id="addFrame"'
    133
            ' method="get">'
    134
              '<p style="display:none;visibility:hidden">'
    135
                '<input id="addFrameA" name="pgmid" type="hidden"/>'
    136
                '<input id="addFrameB" name="object" type="hidden"/>'
    137
                '<input id="addFrameC" name="obj_name" type="hidden"/>'
    138
              '</p>'
    139
            '</form>'
    140
          INTO ls_html.
    141
      APPEND ls_html TO ct_html.
    142
    *
    143
      IF ( NOT i_name_field IS INITIAL AND NOT i_name_value IS INITIAL )
    144
      OR ( NOT i_descr_field IS INITIAL AND NOT i_descr_value IS INITIAL ).
    145
        APPEND   '<table class="titleTable">' TO ct_html.
    146
        IF NOT i_name_field IS INITIAL AND NOT i_name_value IS INITIAL.
    147
          CONCATENATE
    148
              '<tr>'
    149
                '<td class="titleTableText">' i_name_field '</td>'
    150
                '<td class="titleTableDescr">' i_name_value '</td>'
    151
                '<td>' i_name_active '</td>'
    152
                '<td style="width:100px">'
    153
                  '&#160;&#160;&#160;&#160;&#160;'
    154
                '</td>'
    155
              INTO ls_html.
    156
          LOOP AT it_link ASSIGNING <ls_link>.
    157
            CONCATENATE
    158
                ls_html
    159
                '<td>&#160;</td>'
    160
                '<td class="button">'
    161
                  '<a href="' <ls_link>-href '"'
    162
                  ' onclick="' <ls_link>-onclick ';return false"'
    163
                  ' title="' <ls_link>-title '">'
    164
                    <ls_link>-descript
    165
                  '</a>'
    166
                '</td>'
    167
                INTO ls_html.
    168
          ENDLOOP.
    169
          CONCATENATE ls_html '</tr>' INTO ls_html.
    170
          APPEND ls_html TO ct_html.
    171
        ENDIF.
    172
        IF NOT i_descr_field IS INITIAL AND NOT i_descr_value IS INITIAL.
    173
          CONCATENATE
    174
              '<tr>'
    175
                '<td class="titleTableText">' i_descr_field '</td>'
    176
                '<td class="titleTableDescr" colspan="2">'
    177
                  i_descr_value
    178
                '</td>'
    179
                '<td>&#160;</td>'
    180
              INTO ls_html.
    181
          LOOP AT it_link ASSIGNING <ls_link>.
    182
            CONCATENATE
    183
                ls_html
    184
                '<td colspan="2">&#160;</td>'
    185
                INTO ls_html.
    186
          ENDLOOP.
    187
          CONCATENATE ls_html '</tr>' INTO ls_html.
    188
          APPEND ls_html TO ct_html.
    189
        ENDIF.
    190
        APPEND   '</table><div>&#160;</div>' TO ct_html.
    191
      ENDIF.
    192
      CONCATENATE
    193
          '<table border="0" cellpadding="0" cellspacing="0"'
    194
          ' class="contentTable" width="100%">' INTO ls_html.
    195
      APPEND  ls_html TO ct_html.
    196
      IF NOT lt_tabstrip IS INITIAL.
    197
        READ TABLE lt_tabstrip TRANSPORTING NO FIELDS
    198
          WITH KEY firstrow = abap_true
    199
                   hidden = abap_false
    200
                   parent_id = space.
    201
        IF sy-subrc = 0.
    202
          CONCATENATE
    203
              '<tr>'
    204
                '<td class="contentTable">'
    205
                  '<table border="0" cellpadding="0" cellspacing="0"'
    206
                  ' class="contentTable">'
    207
                    '<tr>'
    208
              INTO ls_html.
    209
          APPEND ls_html TO ct_html.
    210
          LOOP AT lt_tabstrip ASSIGNING <ls_tabstrip>
    211
              WHERE hidden = abap_false
    212
              AND firstrow = abap_true
    213
              AND parent_id IS INITIAL.
    214
            IF <ls_tabstrip>-disabled = abap_true.
    215
              l_class = 'contentTabDisabled'.
    216
            ELSEIF <ls_tabstrip>-active = abap_true.
    217
              l_class = 'contentTabOn'.
    218
            ELSE.
    219
              l_class = 'contentTabOff'.
    220
            ENDIF.
    221
            IF <ls_tabstrip>-disabled = abap_false.
    222
              CONCATENATE '<td class="' l_class '" id="' <ls_tabstrip>-id
    223
                'tab"><a href="#" onclick="openTab('''
    224
                <ls_tabstrip>-id ''')">'
    225
                <ls_tabstrip>-text '</a></td>' INTO ls_html.
    226
              APPEND ls_html TO ct_html.
    227
            ELSE.
    228
              CONCATENATE '<td class="' l_class '" id="' <ls_tabstrip>-id
    229
                'tab"><a class="linkDisabled" href="#"'
    230
                ' onclick="return false">'
    231
                <ls_tabstrip>-text '</a></td>' INTO ls_html.
    232
              APPEND ls_html TO ct_html.
    233
            ENDIF.
    234
          ENDLOOP.
    235
          CONCATENATE
    236
                    '</tr>'
    237
                  '</table>'
    238
                '</td>'
    239
              '</tr>'
    240
              INTO ls_html.
    241
          APPEND ls_html TO ct_html.
    242
        ENDIF.
    243
        CONCATENATE
    244
            '<tr>'
    245
              '<td class="contentTable">'
    246
                '<table border="0" cellpadding="0" cellspacing="0"'
    247
                ' class="contentTable">'
    248
                  '<tr>'
    249
            INTO ls_html.
    250
        APPEND ls_html TO ct_html.
    251
        LOOP AT lt_tabstrip ASSIGNING <ls_tabstrip>
    252
          WHERE hidden = abap_false
    253
          AND firstrow = abap_false
    254
          AND parent_id IS INITIAL.
    255
          IF <ls_tabstrip>-disabled = abap_true.
    256
            l_class = 'contentTabDisabled'.
    257
          ELSEIF <ls_tabstrip>-active = abap_true.
    258
            l_class = 'contentTabOn'.
    259
          ELSE.
    260
            l_class = 'contentTabOff'.
    261
          ENDIF.
    262
          IF <ls_tabstrip>-disabled = abap_false.
    263
            CONCATENATE '<td class="' l_class '" id="' <ls_tabstrip>-id
    264
              'tab"><a href="#" onclick="openTab('''
    265
              <ls_tabstrip>-id ''')">'
    266
              <ls_tabstrip>-text '</a></td>' INTO ls_html.
    267
            APPEND ls_html TO ct_html.
    268
          ELSE.
    269
            CONCATENATE '<td class="' l_class '" id="' <ls_tabstrip>-id
    270
              'tab"><a class="linkDisabled" href="#"'
    271
              ' onclick="return false">'
    272
              <ls_tabstrip>-text '</a></td>' INTO ls_html.
    273
            APPEND ls_html TO ct_html.
    274
          ENDIF.
    275
        ENDLOOP.
    276
        CONCATENATE
    277
                  '</tr>'
    278
                '</table>'
    279
              '</td>'
    280
            '</tr>'
    281
            INTO ls_html.
    282
        APPEND ls_html TO ct_html.
    283
      ENDIF.
    284
      APPEND '<tr>' TO ct_html.
    285
      APPEND '<td class="contentBox">' TO ct_html.
    286
    287
    ENDFORM.                    "html_main_header
    288
    289
    290
    *-----------------------------------------------------------------------
    291
    * form: html_main_js
    292
    *-----------------------------------------------------------------------
    293
    FORM html_main_js
    294
      USING
    295
        value(i_title)
    296
        value(i_onresize)
    297
        it_tabstrip TYPE it_tabstrip
    298
      CHANGING
    299
        ct_html TYPE it_string.
    300
    301
      DATA:
    302
      ls_html TYPE string.
    303
    304
      FIELD-SYMBOLS:
    305
      <ls_tabstrip> TYPE st_tabstrip.
    306
    307
      CONCATENATE
    308
        '<script type="text/javascript">'
    309
          '<!--'
    310
          INTO ls_html.
    311
      APPEND ls_html TO ct_html.
    312
    *addFrame
    313
      CONCATENATE
    314
            'function addFrame() {'
    315
              'var parts;'
    316
              'if(window.location.pathname.indexOf("\\") >= 0) {'
    317
                'parts = window.location.pathname.split("\\");'
    318
              '}'
    319
              'else {'
    320
                'parts = window.location.pathname.split("/");'
    321
              '}'
    322
              'var po = parts[parts.length-2].split("_");'
    323
              'document.getElementById("addFrameA").value = po[0];'
    324
              'document.getElementById("addFrameB").value = po[1];'
    325
              'var objName = parts[parts.length-1];'
    326
              'objName = objName.substring(0,objName.lastIndexOf("."));'
    327
              'document.getElementById("addFrameC").value = objName;'
    328
              'document.getElementById("addFrame").submit();'
    329
            '}'
    330
          INTO ls_html.
    331
      APPEND ls_html TO ct_html.
    332
    *loadIFrame
    333
      CONCATENATE
    334
            'function loadIFrame(id, url) {'
    335
              'var iframeElem;'
    336
              'var myHTML;'
    337
              'myHTML="<iframe frameborder=\"0\"'
    338
              ' height=\"400\"'
    339
              ' id=\""+id+"scroll\"'
    340
              ' scrolling=\"auto\"'
    341
              ' src=\""+url+"\"'
    342
              ' width=\"90%\">'
    343
              '<\/iframe>";'
    344
              'iframeElem=document.getElementById(id+"iframe");'
    345
              'iframeElem.innerHTML=myHTML;'
    346
            '}'
    347
          INTO ls_html.
    348
      APPEND ls_html TO ct_html.
    349
    *makeDivSize
    350
      CONCATENATE
    351
            'function makeDivSize(divName) {'
    352
              'var winHeight;'
    353
              'var winWidth;'
    354
              'var bodyHeight;'
    355
              'var divPar;'
    356
              'var divElem;'
    357
              'var divHeight;'
    358
              'var divHeightNew;'
    359
              'var divWidthNew;'
    360
              'divPar = document.getElementById(divName+"div");'
    361
              'if(divPar == null'
    362
              ' || divPar.style.visibility == "hidden") {'
    363
                'return;'
    364
              '}'
    365
              'divElem = document.getElementById(divName+"scroll");'
    366
              'if(divElem == null) {'
    367
                'return;'
    368
              '}'
    369
              'divElem.style.overflowX = "auto";'
    370
              'divElem.style.overflowY = "auto";'
    371
              'winHeight = window.innerHeight;'
    372
              'winWidth = window.innerWidth;'
    373
              'bodyHeight = document.body.offsetHeight;'
    374
              'divHeight = divElem.offsetHeight;'
    375
              'divHeightNew = divHeight+winHeight-bodyHeight-20;'
    376
              'divWidthNew = winWidth-40;'
    377
              'divElem.style.height = divHeightNew + "px";'
    378
              'divElem.style.width = divWidthNew + "px";'
    379
            '}'
    380
          INTO ls_html.
    381
      APPEND ls_html TO ct_html.
    382
    *myOnResize
    383
      CONCATENATE
    384
            'function myOnResize() {'
    385
              i_onresize ';'
    386
            '}'
    387
          INTO ls_html.
    388
      APPEND ls_html TO ct_html.
    389
    *openChildTab
    390
      CONCATENATE
    391
            'function openChildTab(parentID, tabID) {'
    392
              'var elem;'
    393
              'switchChildContent(parentID, tabID);'
    394
          INTO ls_html.
    395
      APPEND ls_html TO ct_html.
    396
      LOOP AT it_tabstrip ASSIGNING <ls_tabstrip>
    397
          WHERE disabled = abap_false
    398
          AND NOT parent_id IS INITIAL.
    399
        IF <ls_tabstrip>-hidden = abap_false.
    400
          CONCATENATE
    401
              'document.getElementById("' <ls_tabstrip>-id 'tab")'
    402
              '.className="contentTabOff";'
    403
              INTO ls_html.
    404
          APPEND ls_html TO ct_html.
    405
        ENDIF.
    406
      ENDLOOP.
    407
      LOOP AT it_tabstrip ASSIGNING <ls_tabstrip>
    408
          WHERE disabled = abap_false
    409
          AND NOT parent_id IS INITIAL
    410
          and ACTIVE = abap_true.
    411
        CONCATENATE
    412
              'if(parentID!="' <ls_tabstrip>-parent_id '"){'
    413
                'document.getElementById(tabID+"tab")'
    414
                '.className="contentTabOn";'
    415
              '}'
    416
            INTO ls_html.
    417
        APPEND ls_html TO ct_html.
    418
      ENDLOOP.
    419
      CONCATENATE
    420
              'document.getElementById(tabID+"tab")'
    421
              '.className="contentTabOn";'
    422
            '}'
    423
          INTO ls_html.
    424
      APPEND ls_html TO ct_html.
    425
    *openTab
    426
      CONCATENATE
    427
            'function openTab(tabID) {'
    428
              'var elem;'
    429
              'switchContent(tabID);'
    430
          INTO ls_html.
    431
      APPEND ls_html TO ct_html.
    432
      LOOP AT it_tabstrip ASSIGNING <ls_tabstrip>
    433
          WHERE disabled = abap_false
    434
          AND parent_id IS INITIAL.
    435
        IF <ls_tabstrip>-hidden = abap_false.
    436
          CONCATENATE
    437
              'document.getElementById("' <ls_tabstrip>-id 'tab")'
    438
              '.className="contentTabOff";'
    439
              INTO ls_html.
    440
          APPEND ls_html TO ct_html.
    441
        ENDIF.
    442
      ENDLOOP.
    443
      CONCATENATE
    444
              'document.getElementById(tabID+"tab")'
    445
              '.className="contentTabOn";'
    446
            '}'
    447
          INTO ls_html.
    448
      APPEND ls_html TO ct_html.
    449
    *setTitle
    450
      CONCATENATE
    451
            'function setTitle() {'
    452
              'try {'
    453
                'if(top!=self) {'
    454
                  'parent.setTitle("' i_title '");'
    455
                '}'
    456
              '}'
    457
              'catch(e) {'
    458
              '}'
    459
            '}'
    460
            INTO ls_html.
    461
      APPEND ls_html TO ct_html.
    462
    *switchChildContent
    463
      CONCATENATE
    464
            'function switchChildContent(parentID, tabID) {'
    465
              'var elem;'
    466
          INTO ls_html.
    467
      APPEND ls_html TO ct_html.
    468
      LOOP AT it_tabstrip ASSIGNING <ls_tabstrip>
    469
          WHERE disabled = abap_false
    470
          AND NOT parent_id IS INITIAL.
    471
        CONCATENATE
    472
              'elem=document.getElementById("'
    473
                <ls_tabstrip>-id 'div");'
    474
              'elem.style.display="none";'
    475
              'elem.style.visibility="hidden";'
    476
            INTO ls_html.
    477
        APPEND ls_html TO ct_html.
    478
      ENDLOOP.
    479
      LOOP AT it_tabstrip ASSIGNING <ls_tabstrip>
    480
          WHERE disabled = abap_false
    481
          AND NOT parent_id IS INITIAL
    482
          and ACTIVE = abap_true.
    483
        CONCATENATE
    484
              'if(parentID!="' <ls_tabstrip>-parent_id '"){'
    485
                'elem=document.getElementById(tabID+"div");'
    486
                'elem.style.display="block";'
    487
                'elem.style.visibility="visible";'
    488
              '}'
    489
            INTO ls_html.
    490
        APPEND ls_html TO ct_html.
    491
      ENDLOOP.
    492
      CONCATENATE
    493
              'elem=document.getElementById(tabID+"div");'
    494
              'elem.style.display="block";'
    495
              'elem.style.visibility="visible";'
    496
              i_onresize ';'
    497
            '}'
    498
          INTO ls_html.
    499
      APPEND ls_html TO ct_html.
    500
    *switchContent
    501
      CONCATENATE
    502
            'function switchContent(tabID) {'
    503
              'var elem;'
    504
          INTO ls_html.
    505
      APPEND ls_html TO ct_html.
    506
      LOOP AT it_tabstrip ASSIGNING <ls_tabstrip>
    507
          WHERE disabled = abap_false
    508
          AND parent_id IS INITIAL.
    509
        CONCATENATE
    510
              'elem=document.getElementById("'
    511
                <ls_tabstrip>-id 'div");'
    512
              'elem.style.display="none";'
    513
              'elem.style.visibility="hidden";'
    514
            INTO ls_html.
    515
        APPEND ls_html TO ct_html.
    516
      ENDLOOP.
    517
      CONCATENATE
    518
              'elem=document.getElementById(tabID+"div");'
    519
              'elem.style.display="block";'
    520
              'elem.style.visibility="visible";'
    521
              i_onresize ';'
    522
            '}'
    523
          INTO ls_html.
    524
      APPEND ls_html TO ct_html.
    525
    *
    526
      APPEND '//--></script>' TO ct_html.
    527
    528
    ENDFORM.                    "html_main_js
    529
    530
    531
    *-----------------------------------------------------------------------
    532
    * form: html_main_footer
    533
    *-----------------------------------------------------------------------
    534
    FORM html_main_footer
    535
      CHANGING
    536
        ct_html TYPE it_string.
    537
    538
      DATA:
    539
      ls_html TYPE string.
    540
    541
      CONCATENATE
    542
                  '</td>'
    543
                '</tr>'
    544
              '</table>'
    545
              '<script type="text/javascript">'
    546
                '<!--'
    547
          INTO ls_html.
    548
      APPEND ls_html TO ct_html.
    549
      APPEND 'window.setTimeout("setTitle()",50);' TO ct_html.
    550
      APPEND 'window.onresize = myOnResize;' TO ct_html.
    551
      APPEND '//-->' TO ct_html.
    552
      APPEND '</script>' TO ct_html.
    553
      CONCATENATE
    554
            '</body>'
    555
          '</html>'
    556
          INTO ls_html.
    557
      APPEND ls_html TO ct_html.
    558
    559
    ENDFORM.                    "mainAddHTMLFooter
    560
    561
    562
    *-----------------------------------------------------------------------
    563
    * form: html_main_iFrameHeader
    564
    *-----------------------------------------------------------------------
    565
    FORM html_main_iframeheader
    566
      USING
    567
        value(i_title)
    568
      CHANGING
    569
        ct_html TYPE it_string.
    570
    571
      DATA:
    572
      ls_html TYPE string,
    573
      l_laiso TYPE laiso,
    574
      l_sptxt TYPE sptxt.
    575
    576
      FIELD-SYMBOLS:
    577
      <ls_tabstrip> TYPE st_tabstrip.
    578
    579
      PERFORM get_spras
    580
        USING
    581
          sy-langu
    582
          l_laiso
    583
          l_sptxt.
    584
    585
      CONCATENATE
    586
          '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"'
    587
          ' "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'
    588
          INTO ls_html.
    589
      APPEND ls_html TO ct_html.
    590
      CONCATENATE
    591
          '<html xmlns="http://www.w3.org/1999/xhtml"'
    592
          ' xml:lang="' l_laiso '" lang="' l_laiso '">'
    593
          INTO ls_html.
    594
      APPEND ls_html TO ct_html.
    595
      CONCATENATE
    596
            '<head>'
    597
              '<title id="title">' i_title '</title>'
    598
              INTO ls_html.
    599
      APPEND ls_html TO ct_html.
    600
      PERFORM html_add_meta CHANGING ct_html.
    601
      PERFORM html_main_style
    602
        CHANGING
    603
          ct_html.
    604
      CONCATENATE
    605
            '</head>'
    606
            '<body class="iframebody" id="body">'
    607
          INTO ls_html.
    608
      APPEND ls_html TO ct_html.
    609
    610
    ENDFORM.                    "html_main_iFrameHeader
    611
    612
    613
    *-----------------------------------------------------------------------
    614
    * form: html_main_iFrameFooter
    615
    *-----------------------------------------------------------------------
    616
    FORM html_main_iframefooter
    617
      CHANGING
    618
        ct_html TYPE it_string.
    619
    620
      DATA:
    621
      ls_html TYPE string.
    622
    623
      CONCATENATE
    624
            '</body>'
    625
          '</html>'
    626
          INTO ls_html.
    627
      APPEND ls_html TO ct_html.
    628
    629
    ENDFORM.                    "html_main_iFrameFooter
    630
    631
    632
    *-----------------------------------------------------------------------
    633
    * form: html_main_popupHeader
    634
    *-----------------------------------------------------------------------
    635
    FORM html_main_popupheader
    636
      USING
    637
        value(i_title)
    638
      CHANGING
    639
        ct_html TYPE it_string.
    640
    641
      DATA:
    642
      ls_html TYPE string,
    643
      l_laiso TYPE laiso,
    644
      l_sptxt TYPE sptxt.
    645
    646
      FIELD-SYMBOLS:
    647
      <ls_tabstrip> TYPE st_tabstrip.
    648
    649
      PERFORM get_spras
    650
        USING
    651
          sy-langu
    652
          l_laiso
    653
          l_sptxt.
    654
    655
      CONCATENATE
    656
          '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"'
    657
          ' "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'
    658
          INTO ls_html.
    659
      APPEND ls_html TO ct_html.
    660
      CONCATENATE
    661
          '<html xmlns="http://www.w3.org/1999/xhtml"'
    662
          ' xml:lang="' l_laiso '" lang="' l_laiso '">'
    663
          INTO ls_html.
    664
      APPEND ls_html TO ct_html.
    665
      CONCATENATE
    666
            '<head>'
    667
              '<title id="title">' i_title '</title>'
    668
              INTO ls_html.
    669
      APPEND ls_html TO ct_html.
    670
      PERFORM html_add_meta CHANGING ct_html.
    671
      PERFORM html_main_style
    672
        CHANGING
    673
          ct_html.
    674
      CONCATENATE
    675
            '</head>'
    676
            '<body class="popupbody" id="body">'
    677
          INTO ls_html.
    678
      APPEND ls_html TO ct_html.
    679
    680
    ENDFORM.                    "html_main_popupHeader
    681
    682
    683
    *-----------------------------------------------------------------------
    684
    * form: html_main_popupFooter
    685
    *-----------------------------------------------------------------------
    686
    FORM html_main_popupfooter
    687
      CHANGING
    688
        ct_html TYPE it_string.
    689
    690
      DATA:
    691
      ls_html TYPE string.
    692
    693
      CONCATENATE
    694
            '</body>'
    695
          '</html>'
    696
          INTO ls_html.
    697
      APPEND ls_html TO ct_html.
    698
    699
    ENDFORM.                    "html_main_popupFooter
    700
    701
    702
    *-----------------------------------------------------------------------
    703
    * form: html_main_style
    704
    *-----------------------------------------------------------------------
    705
    FORM html_main_style
    706
      CHANGING
    707
        ct_html TYPE it_string.
    708
    709
      DATA:
    710
      ls_html TYPE string.
    711
    712
      APPEND '<style type="text/css">' TO ct_html.
    713
      CONCATENATE
    714
          'a {'
    715
            'color:black;'
    716
            'font-family:arial;'
    717
            'font-size:10px;'
    718
            'font-style:normal;'
    719
            'font-weight:normal;'
    720
            'text-decoration:none;'
    721
          '}'
    722
          'a:active {'
    723
            'color:darkred;'
    724
          '}'
    725
          'a:focus {'
    726
            'color:darkred;'
    727
          '}'
    728
          'a:hover {'
    729
            'color:red;'
    730
          '}'
    731
          'a:link {'
    732
            'color:black;'
    733
          '}'
    734
          'a:visited {'
    735
            'color:#000000;'
    736
          '}'
    737
          'body {'
    738
            'background-color:#94b6c6;'
    739
            'margin:10px;'
    740
          '}'
    741
          'pre {'
    742
            'font-size:11px;'
    743
            'margin:0px;'
    744
            'padding:0px;'
    745
          '}'
    746
          'span {'
    747
            'color:#000000;'
    748
            'font-family:arial;'
    749
            'font-size:10px;'
    750
            'font-style:normal;'
    751
            'font-weight:normal;'
    752
            'text-decoration:none;'
    753
            'white-space:nowrap;'
    754
          '}'
    755
          'td {'
    756
            'color:black;'
    757
            'empty-cells:show;'
    758
            'font-family:arial;'
    759
            'font-size:10px;'
    760
            'font-style:normal;'
    761
            'font-weight:normal;'
    762
            'text-align:left;'
    763
            'text-decoration:none;'
    764
            'white-space:nowrap;'
    765
          '}'
    766
          'th {'
    767
            'color:black;'
    768
            'empty-cells:show;'
    769
            'font-family:arial;'
    770
            'font-size:10px;'
    771
            'font-style:normal;'
    772
            'font-weight:normal;'
    773
            'text-align:center;'
    774
            'text-decoration:none;'
    775
            'white-space:nowrap;'
    776
          '}'
    777
          '.box {'
    778
            'border:1px solid #73716b;'
    779
            'border-spacing:0px !important;'
    780
            'padding:0px !important;'
    781
            'margin:0px !important;'
    782
          '}'
    783
          '.boxContent {'
    784
            'background-color:#ded7c5;'
    785
            'border-spacing:0px !important;'
    786
            'padding:0px !important;'
    787
            'margin:0px !important;'
    788
          '}'
    789
          '.boxName {'
    790
            'background-color:#cecabd;'
    791
            'border-bottom:1px solid #73716b;'
    792
            'border-left-width:0px;'
    793
            'border-right:1px solid #73716b;'
    794
            'border-top-width:0px;'
    795
            'border-spacing:0px !important;'
    796
            'margin:0px 3px 2px 0px !important;'
    797
            'padding:1px 2px 1px 2px;'
    798
          '}'
    799
          '.boxContainerTd {'
    800
            'border-spacing:0px !important;'
    801
            'padding:0px !important;'
    802
            'margin:0px !important;'
    803
            'vertical-align:top;'
    804
          '}'
    805
          '.button {'
    806
            'background-color:#efefde;'
    807
            'border:1px solid #73716b;'
    808
            'color:#000000;'
    809
            'font-weight:bolder;'
    810
            'font-size:8px;'
    811
            'padding:1px 3px 1px 3px;'
    812
            'text-align:center;'
    813
            'vertical-align:middle;'
    814
          '}'
    815
          '.container {'
    816
            'border-spacing:0px !important;'
    817
          '}'
    818
          '.containerContent {'
    819
            'border:1px solid #73716b;'
    820
            'border-spacing:0px !important;'
    821
            'padding:2px;'
    822
            'margin:0px !important;'
    823
          '}'
    824
          '.containerTitle {'
    825
            'background-color:#cecabd;'
    826
            'border-color:#73716b;'
    827
            'border-spacing:0px !important;'
    828
            'border-style:solid;'
    829
            'border-width:1px 1px 0px 1px;'
    830
            'margin:0px !important;'
    831
            'padding:1px 2px 1px 2px;'
    832
          '}'
    833
          '.contentBox {'
    834
            'background-color:#ded7c5;'
    835
            'border-color:#ffffff #000000 #000000 #ffffff;'
    836
            'border-style:solid;'
    837
            'border-width:1px;'
    838
            'padding:20px 5px 20px 5px;'
    839
          '}'
    840
          '.contentDiv {'
    841
            'background-color:#ded7c5;'
    842
            'height:100%;'
    843
            'width:100%;'
    844
          '}'
    845
          '.contentTable {'
    846
            'padding:0px;'
    847
            'border-spacing:0px;'
    848
          '}'
    849
          '.contentTabDisabled {'
    850
            'background-color:#c5c6b5;'
    851
            'border-color:#ffffff #000000 #000000 #ffffff;'
    852
            'border-style:solid;'
    853
            'border-width:1px;'
    854
            'color:#999999;'
    855
            'padding:1px 10px 1px 10px;'
    856
          '}'
    857
          '.contentTabOff {'
    858
            'background-color:#c5c6b5;'
    859
            'border-color:#ffffff #000000 #000000 #ffffff;'
    860
            'border-style:solid;'
    861
            'border-width:1px;'
    862
            'padding:1px 10px 1px 10px;'
    863
          '}'
    864
          '.contentTabOn {'
    865
            'background-color:#ded7c5;'
    866
            'border-color:#ffffff #000000 #000000 #ffffff;'
    867
            'border-style:solid;'
    868
            'border-width:1px 1px 0px 1px;'
    869
            'padding:1px 10px 1px 10px;'
    870
          '}'
    871
          '.iframebody {'
    872
            'background-color:#ded7c5;'
    873
            'margin:0px;'
    874
          '}'
    875
          '.info {'
    876
            'color:#0000ff'
    877
          '}'
    878
          '.innerTable {'
    879
            'border-color:#73716b;'
    880
            'border-style:solid;'
    881
            'border-width:0px 0px 1px 1px;'
    882
          '}'
    883
          '.innerTableButton {'
    884
            'background-color:#efefde;'
    885
            'border:1px solid #73716b;'
    886
            'color:#000000;'
    887
            'font-weight:bolder;'
    888
            'font-size:8px;'
    889
            'padding:1px 3px 1px 3px;'
    890
            'text-align:center;'
    891
            'vertical-align:middle;'
    892
            'width:20px;'
    893
          '}'
    894
          '.innerTableFlag {'
    895
            'background-color:#cecebd;'
    896
            'border:1px solid #ffffff;'
    897
            'border-spacing:0px;'
    898
            'color:#73716b;'
    899
            'height:12px !important;'
    900
            'margin:0px;'
    901
            'padding:0px;'
    902
            'width:12px !important;'
    903
          '}'
    904
          '.innerTableTD {'
    905
            'background-color:#cecebd;'
    906
            'border-color:#73716b;'
    907
            'border-style:solid;'
    908
            'border-width:1px 1px 0px 0px;'
    909
            'empty-cells:show;'
    910
            'padding:1px 3px 1px 3px;'
    911
          '}'
    912
          '.innerTableTDColored {'
    913
            'background-color:#cecebd;'
    914
            'border-color:#73716b;'
    915
            'border-style:solid;'
    916
            'border-width:1px 1px 0px 0px;'
    917
            'color:#0000ff !important;'
    918
            'empty-cells:show;'
    919
            'padding:1px 3px 1px 3px;'
    920
          '}'
    921
          '.innerTableTH {'
    922
            'background-color:#efefde;'
    923
            'border-color:#73716b;'
    924
            'border-style:solid;'
    925
            'border-width:1px 1px 0px 0px;'
    926
            'padding:1px 3px 1px 3px;'
    927
          '}'
    928
          '.innerTableTHtop {'
    929
            'background-color:#cecabd;'
    930
            'border-color:#73716b;'
    931
            'border-style:solid;'
    932
            'border-width:1px 1px 0px 0px;'
    933
            'padding:1px 3px 1px 3px;'
    934
          '}'
    935
          '.linkDisabled {'
    936
            'color:#888888 !important;'
    937
          '}'
    938
          '.popupbody {'
    939
            'background-color:#94b2c5;'
    940
            'margin:0px;'
    941
          '}'
    942
          '.radio {'
    943
            'margin:0px'
    944
          '}'
    945
          '.scrollDiv {'
    946
            'background-color:#ded7c5;'
    947
          '}'
    948
          '.scrollTable {'
    949
            'border-spacing:0px;'
    950
            'padding:0px;'
    951
          '}'
    952
          '.src {'
    953
            'background-color:#cdcbbd;'
    954
            'border-color:#ffffff #8c8e8c #8c8e8c #ffffff;'
    955
            'border-style:solid;'
    956
            'border-width:1px;'
    957
            'overflow:auto;'
    958
          '}'
    959
          '.srcLine {'
    960
            'color:#000000;'
    961
            'empty-cells:show;'
    962
          '}'
    963
          '.srcLineComment {'
    964
            'color:#0000ff;'
    965
            'empty-cells:show;'
    966
          '}'
    967
          '.srcLineNumber {'
    968
            'padding-right:5px;'
    969
            'text-align:right;'
    970
          '}'
    971
          '.tableLink {'
    972
            'color:#000000 !important;'
    973
          '}'
    974
          '.tableLinkColored {'
    975
            'color:#0000ff !important;'
    976
          '}'
    977
          '.titleTable {'
    978
            'border-spacing:2px;'
    979
          '}'
    980
          '.titleTableDescr {'
    981
            'background-color:#cecebd;'
    982
            'border:1px solid #ffffff;'
    983
            'padding:1px 5px 1px 5px;'
    984
          '}'
    985
          '.titleTableText {'
    986
            'border-bottom:1px solid #ffffff;'
    987
            'padding-right:20px;'
    988
          '}'
    989
          INTO ls_html.
    990
      APPEND ls_html TO ct_html.
    991
      APPEND '</style>' TO ct_html.
    992
    993
    ENDFORM.                    "addHTMLStyle