Properties SourceCde
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