Properties | SourceCde
Title | SoftCopy - links |
Original language | DE | Englisch
Created | 03.01.2013 |  | CREYTZ |
Last changed by | 01.03.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_LINKS                                  *
    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
    * links
    31
    *-----------------------------------------------------------------------
    32
    FORM links
    33
      CHANGING
    34
        ct_html TYPE it_string.
    35
    36
      DATA:
    37
      l_descript TYPE as4text.
    38
    39
      clear g_cnt_link_leaves.
    40
    41
      PERFORM get_devclass
    42
        USING
    43
          gs_tdevc-devclass
    44
        CHANGING
    45
          l_descript.
    46
    47
      APPEND '<ul>' TO ct_html.
    48
      PERFORM html_links_node_start
    49
        USING
    50
          'R3TR_DEVC'
    51
          gs_tdevc-devclass
    52
          gs_tdevc-devclass
    53
          l_descript
    54
        CHANGING
    55
          ct_html.
    56
    57
      SORT gt_ztadir BY
    58
          pgmid
    59
          object
    60
          obj_name
    61
          funcname
    62
          subc
    63
          dynpronr
    64
          o2pagekey.
    65
    66
    67
      PERFORM links_ddic CHANGING ct_html.
    68
      PERFORM links_seo  CHANGING ct_html.
    69
      PERFORM links_prog CHANGING ct_html.
    70
      PERFORM links_fugr CHANGING ct_html.
    71
      PERFORM links_incl CHANGING ct_html.
    72
      PERFORM links_tran CHANGING ct_html.
    73
      PERFORM links_para CHANGING ct_html.
    74
      PERFORM links_msag CHANGING ct_html.
    75
      PERFORM links_tobj CHANGING ct_html.
    76
      PERFORM links_xslt CHANGING ct_html.
    77
      PERFORM links_bsp  CHANGING ct_html.
    78
    79
    80
      PERFORM html_links_node_end CHANGING ct_html.
    81
      APPEND '</ul>' TO ct_html.
    82
    83
    ENDFORM.                    "links
    84
    85
    86
    *-----------------------------------------------------------------------
    87
    * links - BSP
    88
    *-----------------------------------------------------------------------
    89
    FORM links_bsp
    90
      CHANGING
    91
        ct_html TYPE it_string.
    92
    93
      DATA:
    94
      l_step_a TYPE flag.
    95
    96
      PERFORM links_bsp_apps  CHANGING ct_html l_step_a.
    97
      PERFORM links_bsp_tags  CHANGING ct_html l_step_a.
    98
    99
      IF l_step_a = abap_true.
    100
        PERFORM html_links_node_end CHANGING ct_html.
    101
        l_step_a = abap_false.
    102
      ENDIF.
    103
    104
    ENDFORM.                    "links_bsp
    105
    106
    107
    *-----------------------------------------------------------------------
    108
    * links - BSP - APPS
    109
    *-----------------------------------------------------------------------
    110
    FORM links_bsp_apps
    111
      CHANGING
    112
        ct_html TYPE it_string
    113
        c_step_a TYPE flag.
    114
    115
      DATA:
    116
      l_step_b TYPE flag,
    117
      ls_ztadir TYPE st_ztadir,
    118
      l_id TYPE string.
    119
    120
      LOOP AT gt_ztadir INTO ls_ztadir
    121
          WHERE pgmid = 'R3TR'
    122
          AND object = 'WAPA'
    123
          AND o2pagekey = space.
    124
        IF l_step_b IS INITIAL.
    125
          l_step_b = abap_true.
    126
          IF c_step_a = abap_false.
    127
            c_step_a = abap_true.
    128
            PERFORM html_links_node_start
    129
              USING
    130
                'bsplib'
    131
                txt_bsp_library
    132
                space
    133
                space
    134
              CHANGING
    135
                ct_html.
    136
          ENDIF.
    137
          PERFORM html_links_node_start
    138
            USING
    139
              'R3TR_WAPA'
    140
              txt_bsp_applications
    141
              space
    142
              space
    143
            CHANGING
    144
              ct_html.
    145
        ENDIF.
    146
        PERFORM get_id
    147
          USING 'R3TR_WAPA__' ls_ztadir-obj_name
    148
          CHANGING l_id.
    149
        PERFORM html_links_node_start
    150
          USING
    151
            l_id
    152
            ls_ztadir-o2name
    153
            ls_ztadir-obj_name
    154
            ls_ztadir-descript
    155
          CHANGING
    156
            ct_html.
    157
        PERFORM links_bsp_appl
    158
          USING
    159
            ls_ztadir-obj_name
    160
            gc_o2type_ctrl
    161
          CHANGING
    162
            ct_html.
    163
        PERFORM links_bsp_appl
    164
          USING
    165
            ls_ztadir-obj_name
    166
            gc_o2type_view
    167
          CHANGING
    168
            ct_html.
    169
        PERFORM links_bsp_appl
    170
          USING
    171
            ls_ztadir-obj_name
    172
            gc_o2type_bsp
    173
          CHANGING
    174
            ct_html.
    175
        PERFORM links_bsp_appl
    176
          USING
    177
            ls_ztadir-obj_name
    178
            gc_o2type_incl
    179
          CHANGING
    180
            ct_html.
    181
        PERFORM links_bsp_appl
    182
          USING
    183
            ls_ztadir-obj_name
    184
            gc_o2type_mime
    185
          CHANGING
    186
            ct_html.
    187
        PERFORM html_links_node_end
    188
          CHANGING
    189
            ct_html.
    190
      ENDLOOP.
    191
      IF l_step_b = abap_true.
    192
        CLEAR l_step_b.
    193
        PERFORM html_links_node_end
    194
          CHANGING
    195
            ct_html.
    196
      ENDIF.
    197
    ENDFORM.                    "links_bsp_apps
    198
    199
    200
    *-----------------------------------------------------------------------
    201
    * links - BSP - APPL
    202
    *-----------------------------------------------------------------------
    203
    FORM links_bsp_appl
    204
      USING
    205
        value(i_obj_name)
    206
        value(i_o2type)
    207
      CHANGING
    208
        ct_html TYPE it_string.
    209
    210
      DATA:
    211
      l_filename TYPE string,
    212
      l_id TYPE string,
    213
      l_type TYPE string,
    214
      l_step_c TYPE flag,
    215
      l_text TYPE string,
    216
      lt_node_new TYPE it_string,
    217
      lt_node_old TYPE it_string,
    218
      l_subdir_cnt TYPE i,
    219
      l_node_id TYPE string,
    220
      l_node_id_cnt(3) TYPE n.
    221
    222
      FIELD-SYMBOLS:
    223
      <ls_ztadir> TYPE st_ztadir,
    224
      <ls_node_new> TYPE string,
    225
      <ls_node_old> TYPE string.
    226
    227
      CASE i_o2type.
    228
        WHEN gc_o2type_ctrl.
    229
          l_type = 'ctrl'.
    230
          l_text = txt_controller.
    231
        WHEN gc_o2type_view.
    232
          l_type = 'view'.
    233
          l_text = txt_views.
    234
        WHEN gc_o2type_bsp.
    235
          l_type = 'bsp'.
    236
          l_text = txt_pages_with_flow_logic.
    237
        WHEN gc_o2type_incl.
    238
          l_type = 'incl'.
    239
          l_text = txt_page_fragments.
    240
        WHEN gc_o2type_mime.
    241
          l_type = 'mime'.
    242
          l_text = txt_mimes.
    243
      ENDCASE.
    244
      PERFORM get_id
    245
        USING l_type i_obj_name
    246
        CHANGING l_id.
    247
      LOOP AT gt_ztadir ASSIGNING <ls_ztadir>
    248
          WHERE pgmid = 'R3TR'
    249
          AND object = 'WAPA'
    250
          AND obj_name = i_obj_name
    251
          AND o2type = i_o2type
    252
          AND o2pagekey <> space.
    253
        IF l_step_c = abap_false.
    254
          l_step_c = abap_true.
    255
          PERFORM html_links_node_start
    256
            USING
    257
              l_id
    258
              l_text
    259
              space
    260
              space
    261
            CHANGING
    262
              ct_html.
    263
        ENDIF.
    264
        SPLIT <ls_ztadir>-o2pagename AT '/' INTO TABLE lt_node_new.
    265
    *   close all subdirectories, that are not needed any more
    266
        LOOP AT lt_node_old ASSIGNING <ls_node_old>.
    267
          AT LAST.
    268
            EXIT.
    269
          ENDAT.
    270
          READ TABLE lt_node_new ASSIGNING <ls_node_new>
    271
              INDEX sy-tabix.
    272
          IF sy-subrc <> 0 OR <ls_node_old> <> <ls_node_new>.
    273
            PERFORM html_links_node_end CHANGING ct_html.
    274
            l_subdir_cnt = l_subdir_cnt - 1.
    275
          ENDIF.
    276
        ENDLOOP.
    277
    *   create required subdirectories
    278
        LOOP AT lt_node_new ASSIGNING <ls_node_new>.
    279
          AT LAST.
    280
            EXIT.
    281
          ENDAT.
    282
          READ TABLE lt_node_old ASSIGNING <ls_node_old>
    283
              INDEX sy-tabix.
    284
          IF sy-subrc <> 0 OR <ls_node_new> <> <ls_node_old>.
    285
            ADD 1 TO l_node_id_cnt.
    286
            CONCATENATE 'R3TR_WAPA_' l_node_id_cnt INTO l_node_id.
    287
            PERFORM html_links_node_start
    288
              USING
    289
                l_node_id
    290
                <ls_node_new>
    291
                space
    292
                space
    293
              CHANGING
    294
                ct_html.
    295
            l_subdir_cnt = l_subdir_cnt + 1.
    296
          ENDIF.
    297
        ENDLOOP.
    298
    *   add leaf for mime
    299
        CONCATENATE <ls_ztadir>-obj_name '-' l_type '/'
    300
            <ls_ztadir>-o2pagename
    301
            INTO l_filename.
    302
        IF l_type = 'mime'.
    303
          PERFORM html_links_leaf_mime
    304
            USING
    305
              'R3TR_WAPA'
    306
              <ls_node_new>
    307
              l_filename
    308
              <ls_ztadir>-descript
    309
            CHANGING
    310
              ct_html.
    311
        ELSE.
    312
          PERFORM html_links_leaf_filename
    313
            USING
    314
              'R3TR_WAPA'
    315
              l_type
    316
              <ls_node_new>
    317
              l_filename
    318
              <ls_ztadir>-descript
    319
            CHANGING
    320
              ct_html.
    321
        ENDIF.
    322
        REFRESH lt_node_old.
    323
        lt_node_old[] = lt_node_new[].
    324
        REFRESH lt_node_new.
    325
      ENDLOOP.
    326
      DO l_subdir_cnt TIMES.
    327
        PERFORM html_links_node_end CHANGING ct_html.
    328
      ENDDO.
    329
      IF l_step_c = abap_true.
    330
        PERFORM html_links_node_end CHANGING ct_html.
    331
        l_step_c = abap_false.
    332
      ENDIF.
    333
    ENDFORM.                    "links_bsp_appl
    334
    335
    336
    *-----------------------------------------------------------------------
    337
    * links - BSP - TAGS
    338
    *-----------------------------------------------------------------------
    339
    FORM links_bsp_tags
    340
      CHANGING
    341
        ct_html TYPE it_string
    342
        c_step_a TYPE flag.
    343
    344
      DATA:
    345
      l_step_b TYPE flag,
    346
      l_id TYPE string,
    347
      ls_ztadir TYPE st_ztadir.
    348
    349
      LOOP AT gt_ztadir INTO ls_ztadir
    350
          WHERE pgmid = 'R3TR'
    351
          AND object = 'WTAG'
    352
          AND o2type = space.
    353
        IF l_step_b IS INITIAL.
    354
          l_step_b = abap_true.
    355
          IF c_step_a = abap_false.
    356
            c_step_a = abap_true.
    357
            PERFORM html_links_node_start
    358
              USING
    359
                'bsplib'
    360
                txt_bsp_library
    361
                space
    362
                space
    363
              CHANGING
    364
                ct_html.
    365
          ENDIF.
    366
          PERFORM html_links_node_start
    367
            USING
    368
              'R3TR_WTAG'
    369
              txt_bsp_extensions
    370
              space
    371
              space
    372
            CHANGING
    373
              ct_html.
    374
        ENDIF.
    375
        PERFORM get_id
    376
          USING 'R3TR_WTAG__' ls_ztadir-obj_name
    377
          CHANGING l_id.
    378
        PERFORM html_links_node_start
    379
          USING
    380
            l_id
    381
            ls_ztadir-obj_name
    382
            ls_ztadir-obj_name
    383
            ls_ztadir-descript
    384
          CHANGING
    385
            ct_html.
    386
        PERFORM links_bsp_tag
    387
          USING
    388
            ls_ztadir-obj_name
    389
          CHANGING
    390
            ct_html.
    391
        PERFORM html_links_node_end
    392
          CHANGING
    393
            ct_html.
    394
      ENDLOOP.
    395
      IF l_step_b = abap_true.
    396
        CLEAR l_step_b.
    397
        PERFORM html_links_node_end
    398
          CHANGING
    399
            ct_html.
    400
      ENDIF.
    401
    ENDFORM.                    "links_bsp_tags
    402
    403
    404
    *-----------------------------------------------------------------------
    405
    * links - BSP - TAG
    406
    *-----------------------------------------------------------------------
    407
    FORM links_bsp_tag
    408
      USING
    409
        value(i_obj_name)
    410
      CHANGING
    411
        ct_html TYPE it_string.
    412
    413
      DATA:
    414
      l_filename TYPE string,
    415
      l_id TYPE string.
    416
    417
      FIELD-SYMBOLS:
    418
      <ls_ztadir> TYPE st_ztadir.
    419
    420
      PERFORM get_id
    421
        USING 'tag_' i_obj_name
    422
        CHANGING l_id.
    423
      LOOP AT gt_ztadir ASSIGNING <ls_ztadir>
    424
          WHERE pgmid = 'R3TR'
    425
          AND object = 'WTAG'
    426
          AND obj_name = i_obj_name
    427
          AND o2type = gc_o2type_tag.
    428
        CONCATENATE <ls_ztadir>-obj_name '-'
    429
            <ls_ztadir>-o2name
    430
            INTO l_filename.
    431
        PERFORM html_links_leaf_filename
    432
          USING
    433
            'R3TR_WTAG'
    434
            ''
    435
            <ls_ztadir>-o2name
    436
            l_filename
    437
            <ls_ztadir>-descript
    438
          CHANGING
    439
            ct_html.
    440
      ENDLOOP.
    441
    ENDFORM.                    "links_bsp_tag
    442
    443
    444
    *-----------------------------------------------------------------------
    445
    * links - DDIC
    446
    *-----------------------------------------------------------------------
    447
    FORM links_ddic
    448
      CHANGING
    449
        ct_html TYPE it_string.
    450
    451
      DATA:
    452
      l_step_a TYPE flag.
    453
    454
      PERFORM links_ddic_db    CHANGING ct_html l_step_a.
    455
      PERFORM links_ddic_view  CHANGING ct_html l_step_a.
    456
      PERFORM links_ddic_ttyp  CHANGING ct_html l_step_a.
    457
      PERFORM links_ddic_struc CHANGING ct_html l_step_a.
    458
      PERFORM links_ddic_dtel  CHANGING ct_html l_step_a.
    459
      PERFORM links_ddic_doma  CHANGING ct_html l_step_a.
    460
      PERFORM links_ddic_shlp  CHANGING ct_html l_step_a.
    461
      PERFORM links_ddic_enqu  CHANGING ct_html l_step_a.
    462
      PERFORM links_ddic_type  CHANGING ct_html l_step_a.
    463
    464
      IF l_step_a = abap_true.
    465
        PERFORM html_links_node_end CHANGING ct_html.
    466
        l_step_a = abap_false.
    467
      ENDIF.
    468
    469
    ENDFORM.                    "links_ddic
    470
    471
    472
    *-----------------------------------------------------------------------
    473
    * links - DDIC - DB
    474
    *-----------------------------------------------------------------------
    475
    FORM links_ddic_db
    476
      CHANGING
    477
        ct_html TYPE it_string
    478
        c_step_a TYPE flag.
    479
    480
      DATA:
    481
      l_step_b TYPE flag.
    482
    483
      FIELD-SYMBOLS:
    484
      <ls_ztadir> TYPE st_ztadir.
    485
    486
      LOOP AT gt_ztadir ASSIGNING <ls_ztadir>
    487
          WHERE pgmid = 'R3TR'
    488
          AND object = 'TABL'
    489
          AND ( tabclass = 'CLUSTER'
    490
            OR tabclass = 'POOL'
    491
            OR tabclass = 'TRANSP' ).
    492
        IF l_step_b IS INITIAL.
    493
          l_step_b = abap_true.
    494
          IF c_step_a = abap_false.
    495
            c_step_a = abap_true.
    496
            PERFORM html_links_node_start
    497
              USING
    498
                'tabllib'
    499
                txt_dict_objs
    500
                space
    501
                space
    502
              CHANGING
    503
                ct_html.
    504
          ENDIF.
    505
          PERFORM html_links_node_start
    506
            USING
    507
              'R3TR_TABL_2'
    508
              txt_database_tables
    509
              space
    510
              space
    511
            CHANGING
    512
              ct_html.
    513
        ENDIF.
    514
        PERFORM html_links_leaf
    515
          USING
    516
            'R3TR_TABL'
    517
            ''
    518
            <ls_ztadir>-obj_name
    519
            <ls_ztadir>-descript
    520
          CHANGING
    521
            ct_html.
    522
      ENDLOOP.
    523
      IF l_step_b = abap_true.
    524
        CLEAR l_step_b.
    525
        PERFORM html_links_node_end
    526
          CHANGING
    527
            ct_html.
    528
      ENDIF.
    529
    ENDFORM.                    "links_ddic_db
    530
    531
    532
    *-----------------------------------------------------------------------
    533
    * links - DDIC - DOMA
    534
    *-----------------------------------------------------------------------
    535
    FORM links_ddic_doma
    536
      CHANGING
    537
        ct_html TYPE it_string
    538
        c_step_a TYPE flag.
    539
    540
      DATA:
    541
      l_step_b TYPE flag.
    542
    543
      FIELD-SYMBOLS:
    544
      <ls_ztadir> TYPE st_ztadir.
    545
    546
      LOOP AT gt_ztadir ASSIGNING <ls_ztadir>
    547
          WHERE pgmid = 'R3TR'
    548
          AND object = 'DOMA'.
    549
        IF l_step_b = abap_false.
    550
          l_step_b = abap_true.
    551
          IF c_step_a = abap_false.
    552
            c_step_a = abap_true.
    553
            PERFORM html_links_node_start
    554
              USING
    555
                'tabllib'
    556
                txt_dict_objs
    557
                space
    558
                space
    559
              CHANGING
    560
                ct_html.
    561
          ENDIF.
    562
          PERFORM html_links_node_start
    563
            USING
    564
              'R3TR_DOMA'
    565
              txt_domains
    566
              space
    567
              space
    568
            CHANGING
    569
              ct_html.
    570
        ENDIF.
    571
        PERFORM html_links_leaf
    572
          USING
    573
            'R3TR_DOMA'
    574
            ''
    575
            <ls_ztadir>-obj_name
    576
            <ls_ztadir>-descript
    577
          CHANGING
    578
            ct_html.
    579
      ENDLOOP.
    580
      IF l_step_b = abap_true.
    581
        l_step_b = abap_false.
    582
        PERFORM html_links_node_end CHANGING ct_html.
    583
      ENDIF.
    584
    ENDFORM.                    "links_ddic_doma
    585
    586
    587
    *-----------------------------------------------------------------------
    588
    * links - DDIC - DTEL
    589
    *-----------------------------------------------------------------------
    590
    FORM links_ddic_dtel
    591
      CHANGING
    592
        ct_html TYPE it_string
    593
        c_step_a TYPE flag.
    594
    595
      DATA:
    596
      l_step_b TYPE flag.
    597
    598
      FIELD-SYMBOLS:
    599
      <ls_ztadir> TYPE st_ztadir.
    600
    601
      LOOP AT gt_ztadir ASSIGNING <ls_ztadir>
    602
          WHERE pgmid = 'R3TR'
    603
          AND object = 'DTEL'.
    604
        IF l_step_b = abap_false.
    605
          l_step_b = abap_true.
    606
          IF c_step_a = abap_false.
    607
            c_step_a = abap_true.
    608
            PERFORM html_links_node_start
    609
              USING
    610
                'tabllib'
    611
                txt_dict_objs
    612
                space
    613
                space
    614
              CHANGING
    615
                ct_html.
    616
          ENDIF.
    617
          PERFORM html_links_node_start
    618
            USING
    619
              'R3TR_DTEL'
    620
              txt_data_elements
    621
              space
    622
              space
    623
            CHANGING
    624
              ct_html.
    625
        ENDIF.
    626
        PERFORM html_links_leaf
    627
          USING
    628
            'R3TR_DTEL'
    629
            ''
    630
            <ls_ztadir>-obj_name
    631
            <ls_ztadir>-descript
    632
          CHANGING
    633
            ct_html.
    634
      ENDLOOP.
    635
      IF l_step_b = abap_true.
    636
        l_step_b = abap_false.
    637
        PERFORM html_links_node_end CHANGING ct_html.
    638
      ENDIF.
    639
    ENDFORM.                    "links_ddic_dtel
    640
    641
    642
    *-----------------------------------------------------------------------
    643
    * links - DDIC - ENQU
    644
    *-----------------------------------------------------------------------
    645
    FORM links_ddic_enqu
    646
      CHANGING
    647
        ct_html TYPE it_string
    648
        c_step_a TYPE flag.
    649
    650
      DATA:
    651
      l_step_b TYPE flag.
    652
    653
      FIELD-SYMBOLS:
    654
      <ls_ztadir> TYPE st_ztadir.
    655
    656
      LOOP AT gt_ztadir ASSIGNING <ls_ztadir>
    657
          WHERE pgmid = 'R3TR'
    658
          AND object = 'ENQU'.
    659
        IF l_step_b = abap_false.
    660
          l_step_b = abap_true.
    661
          IF c_step_a = abap_false.
    662
            c_step_a = abap_true.
    663
            PERFORM html_links_node_start
    664
              USING
    665
                'tabllib'
    666
                txt_dict_objs
    667
                space
    668
                space
    669
              CHANGING
    670
                ct_html.
    671
          ENDIF.
    672
          PERFORM html_links_node_start
    673
            USING
    674
              'R3TR_ENQU'
    675
              txt_lock_objects
    676
              space
    677
              space
    678
            CHANGING
    679
              ct_html.
    680
        ENDIF.
    681
        PERFORM html_links_leaf
    682
          USING
    683
            'R3TR_ENQU'
    684
            ''
    685
            <ls_ztadir>-obj_name
    686
            <ls_ztadir>-descript
    687
          CHANGING
    688
            ct_html.
    689
      ENDLOOP.
    690
      IF l_step_b = abap_true.
    691
        l_step_b = abap_false.
    692
        PERFORM html_links_node_end CHANGING ct_html.
    693
      ENDIF.
    694
    ENDFORM.                    "links_ddic_enqu
    695
    696
    697
    *-----------------------------------------------------------------------
    698
    * links - DDIC - SHLP
    699
    *-----------------------------------------------------------------------
    700
    FORM links_ddic_shlp
    701
      CHANGING
    702
        ct_html TYPE it_string
    703
        c_step_a TYPE flag.
    704
    705
      DATA:
    706
      l_step_b TYPE flag.
    707
    708
      FIELD-SYMBOLS:
    709
      <ls_ztadir> TYPE st_ztadir.
    710
    711
      LOOP AT gt_ztadir ASSIGNING <ls_ztadir>
    712
          WHERE pgmid = 'R3TR'
    713
          AND object = 'SHLP'.
    714
        IF l_step_b = abap_false.
    715
          l_step_b = abap_true.
    716
          IF c_step_a = abap_false.
    717
            c_step_a = abap_true.
    718
            PERFORM html_links_node_start
    719
              USING
    720
                'tabllib'
    721
                txt_dict_objs
    722
                space
    723
                space
    724
              CHANGING
    725
                ct_html.
    726
          ENDIF.
    727
          PERFORM html_links_node_start
    728
            USING
    729
              'R3TR_SHLP'
    730
              txt_srch_helps
    731
              space
    732
              space
    733
            CHANGING
    734
              ct_html.
    735
        ENDIF.
    736
        PERFORM html_links_leaf
    737
          USING
    738
            'R3TR_SHLP'
    739
            ''
    740
            <ls_ztadir>-obj_name
    741
            <ls_ztadir>-descript
    742
          CHANGING
    743
            ct_html.
    744
      ENDLOOP.
    745
      IF l_step_b = abap_true.
    746
        l_step_b = abap_false.
    747
        PERFORM html_links_node_end CHANGING ct_html.
    748
      ENDIF.
    749
    ENDFORM.                    "links_ddic_shlp
    750
    751
    752
    *-----------------------------------------------------------------------
    753
    * links - DDIC - STRUC
    754
    *-----------------------------------------------------------------------
    755
    FORM links_ddic_struc
    756
      CHANGING
    757
        ct_html TYPE it_string
    758
        c_step_a TYPE flag.
    759
    760
      DATA:
    761
      l_step_b TYPE flag.
    762
    763
      FIELD-SYMBOLS:
    764
      <ls_ztadir> TYPE st_ztadir.
    765
    766
      LOOP AT gt_ztadir ASSIGNING <ls_ztadir>
    767
          WHERE pgmid = 'R3TR'
    768
          AND object = 'TABL'
    769
          AND ( tabclass = 'INTTAB'
    770
            OR tabclass = 'VIEW'
    771
            OR tabclass = 'APPEND' ).
    772
        IF l_step_b = abap_false.
    773
          l_step_b = abap_true.
    774
          IF c_step_a = abap_false.
    775
            c_step_a = abap_true.
    776
            PERFORM html_links_node_start
    777
              USING
    778
                'tabllib'
    779
                txt_dict_objs
    780
                space
    781
                space
    782
              CHANGING
    783
                ct_html.
    784
          ENDIF.
    785
          PERFORM html_links_node_start
    786
            USING
    787
              'R3TR_TABL_VIEWAPPEND'
    788
              txt_structures
    789
              space
    790
              space
    791
            CHANGING
    792
              ct_html.
    793
        ENDIF.
    794
        PERFORM html_links_leaf
    795
          USING
    796
            'R3TR_TABL'
    797
            'VIEWAPPEND'
    798
            <ls_ztadir>-obj_name
    799
            <ls_ztadir>-descript
    800
          CHANGING
    801
            ct_html.
    802
      ENDLOOP.
    803
      IF l_step_b = abap_true.
    804
        l_step_b = abap_false.
    805
        PERFORM html_links_node_end CHANGING ct_html.
    806
      ENDIF.
    807
    ENDFORM.                    "links_ddic_struc
    808
    809
    810
    *-----------------------------------------------------------------------
    811
    * links - DDIC - TTYP
    812
    *-----------------------------------------------------------------------
    813
    FORM links_ddic_ttyp
    814
      CHANGING
    815
        ct_html TYPE it_string
    816
        c_step_a TYPE flag.
    817
    818
      DATA:
    819
      l_step_b TYPE flag.
    820
    821
      FIELD-SYMBOLS:
    822
      <ls_ztadir> TYPE st_ztadir.
    823
    824
      LOOP AT gt_ztadir ASSIGNING <ls_ztadir>
    825
          WHERE pgmid = 'R3TR'
    826
          AND object = 'TTYP'.
    827
        IF l_step_b = abap_false.
    828
          l_step_b = abap_true.
    829
          IF c_step_a = abap_false.
    830
            c_step_a = abap_true.
    831
            PERFORM html_links_node_start
    832
              USING
    833
                'tabllib'
    834
                txt_dict_objs
    835
                space
    836
                space
    837
              CHANGING
    838
                ct_html.
    839
          ENDIF.
    840
          PERFORM html_links_node_start
    841
            USING
    842
              'R3TR_TTYP'
    843
              txt_table_types
    844
              space
    845
              space
    846
            CHANGING
    847
              ct_html.
    848
        ENDIF.
    849
        PERFORM html_links_leaf
    850
          USING
    851
            'R3TR_TTYP'
    852
            ''
    853
            <ls_ztadir>-obj_name
    854
            <ls_ztadir>-descript
    855
          CHANGING
    856
            ct_html.
    857
      ENDLOOP.
    858
      IF l_step_b = abap_true.
    859
        l_step_b = abap_false.
    860
        PERFORM html_links_node_end CHANGING ct_html.
    861
      ENDIF.
    862
    ENDFORM.                    "links_ddic_ttyp
    863
    864
    865
    *-----------------------------------------------------------------------
    866
    * links - DDIC - TYPE
    867
    *-----------------------------------------------------------------------
    868
    FORM links_ddic_type
    869
      CHANGING
    870
        ct_html TYPE it_string
    871
        c_step_a TYPE flag.
    872
    873
      DATA:
    874
      l_step_b TYPE flag.
    875
    876
      FIELD-SYMBOLS:
    877
      <ls_ztadir> TYPE st_ztadir.
    878
    879
      LOOP AT gt_ztadir ASSIGNING <ls_ztadir>
    880
          WHERE pgmid = 'R3TR'
    881
          AND object = 'TYPE'.
    882
        IF l_step_b = abap_false.
    883
          l_step_b = abap_true.
    884
          IF c_step_a = abap_false.
    885
            c_step_a = abap_true.
    886
            PERFORM html_links_node_start
    887
              USING
    888
                'tabllib'
    889
                txt_dict_objs
    890
                space
    891
                space
    892
              CHANGING
    893
                ct_html.
    894
          ENDIF.
    895
          PERFORM html_links_node_start
    896
            USING
    897
              'R3TR_TYPE'
    898
              txt_type_grps
    899
              space
    900
              space
    901
            CHANGING
    902
              ct_html.
    903
        ENDIF.
    904
        PERFORM html_links_leaf
    905
          USING
    906
            'R3TR_TYPE'
    907
            ''
    908
            <ls_ztadir>-obj_name
    909
            <ls_ztadir>-descript
    910
          CHANGING
    911
            ct_html.
    912
      ENDLOOP.
    913
      IF l_step_b = abap_true.
    914
        l_step_b = abap_false.
    915
        PERFORM html_links_node_end CHANGING ct_html.
    916
      ENDIF.
    917
    ENDFORM.                    "links_ddic_type
    918
    919
    920
    *-----------------------------------------------------------------------
    921
    * links - DDIC - View
    922
    *-----------------------------------------------------------------------
    923
    FORM links_ddic_view
    924
      CHANGING
    925
        ct_html TYPE it_string
    926
        c_step_a TYPE flag.
    927
    928
      DATA:
    929
      l_step_b TYPE flag.
    930
    931
      FIELD-SYMBOLS:
    932
      <ls_ztadir> TYPE st_ztadir.
    933
    934
      LOOP AT gt_ztadir ASSIGNING <ls_ztadir>
    935
          WHERE pgmid = 'R3TR'
    936
          AND object = 'VIEW'.
    937
        IF l_step_b = abap_false.
    938
          l_step_b = abap_true.
    939
          IF c_step_a = abap_false.
    940
            c_step_a = abap_true.
    941
            PERFORM html_links_node_start
    942
              USING
    943
                'tabllib'
    944
                txt_dict_objs
    945
                space
    946
                space
    947
              CHANGING
    948
                ct_html.
    949
          ENDIF.
    950
          PERFORM html_links_node_start
    951
            USING
    952
              'R3TR_VIEW_VIEW'
    953
              txt_views
    954
              space
    955
              space
    956
            CHANGING
    957
              ct_html.
    958
        ENDIF.
    959
        PERFORM html_links_leaf
    960
          USING
    961
            'R3TR_VIEW'
    962
            ''
    963
            <ls_ztadir>-obj_name
    964
            <ls_ztadir>-descript
    965
          CHANGING
    966
            ct_html.
    967
      ENDLOOP.
    968
      IF l_step_b = abap_true.
    969
        l_step_b = abap_false.
    970
        PERFORM html_links_node_end CHANGING ct_html.
    971
      ENDIF.
    972
    ENDFORM.                    "links_ddic_view
    973
    974
    975
    *-----------------------------------------------------------------------
    976
    * links - FUGR
    977
    *-----------------------------------------------------------------------
    978
    FORM links_fugr
    979
      CHANGING
    980
        ct_html TYPE it_string.
    981
    982
      DATA:
    983
      l_step_a TYPE flag,
    984
      l_step_b TYPE flag,
    985
      ls_ztadir TYPE st_ztadir,
    986
      l_id TYPE string,
    987
      l_progname TYPE progname.
    988
    989
      LOOP AT gt_ztadir INTO ls_ztadir
    990
          WHERE pgmid = 'R3TR'
    991
          AND object = 'FUGR'
    992
          AND futype = gc_futype_group.
    993
        IF l_step_a = abap_false.
    994
          l_step_a = abap_true.
    995
          PERFORM html_links_node_start
    996
            USING
    997
              'R3TR_FUGR'
    998
              txt_function_groups
    999
              space
    1000
              space
    1001
            CHANGING
    1002
              ct_html.
    1003
        ENDIF.
    1004
        PERFORM get_id
    1005
          USING 'R3TR_FUGR__' ls_ztadir-obj_name
    1006
          CHANGING l_id.
    1007
        CALL FUNCTION 'RS_TADIR_TO_PROGNAME'
    1008
          EXPORTING
    1009
            object   = ls_ztadir-object
    1010
            obj_name = ls_ztadir-obj_name
    1011
          IMPORTING
    1012
            progname = l_progname.
    1013
        PERFORM html_links_node_start
    1014
          USING
    1015
            l_id
    1016
            ls_ztadir-obj_name
    1017
            l_progname
    1018
            ls_ztadir-descript
    1019
          CHANGING
    1020
            ct_html.
    1021
    ***
    1022
        PERFORM links_fugr_modules
    1023
          USING ls_ztadir-obj_name
    1024
          CHANGING ct_html.
    1025
        PERFORM links_fugr_screens
    1026
          USING ls_ztadir-obj_name
    1027
          CHANGING ct_html.
    1028
        PERFORM links_fugr_includes
    1029
          USING ls_ztadir-obj_name
    1030
          CHANGING ct_html.
    1031
    ***
    1032
        PERFORM html_links_node_end CHANGING ct_html.
    1033
      ENDLOOP.
    1034
    1035
      IF l_step_a = abap_true.
    1036
        PERFORM html_links_node_end CHANGING ct_html.
    1037
        l_step_a = abap_false.
    1038
      ENDIF.
    1039
    ENDFORM.                    "links_fugr
    1040
    1041
    1042
    *-----------------------------------------------------------------------
    1043
    * links - FUGR - Includes
    1044
    *-----------------------------------------------------------------------
    1045
    FORM links_fugr_includes
    1046
      USING
    1047
        value(i_obj_name)
    1048
      CHANGING
    1049
        ct_html TYPE it_string.
    1050
    1051
      DATA:
    1052
      l_id TYPE string,
    1053
      l_step_b TYPE flag.
    1054
    1055
      FIELD-SYMBOLS:
    1056
      <ls_ztadir> TYPE st_ztadir.
    1057
    1058
      PERFORM get_id
    1059
        USING 'fugr_incl_' i_obj_name
    1060
        CHANGING l_id.
    1061
      LOOP AT gt_ztadir ASSIGNING <ls_ztadir>
    1062
          WHERE pgmid = 'R3TR'
    1063
          AND object = 'FUGR'
    1064
          AND obj_name = i_obj_name
    1065
          AND futype = gc_futype_include.
    1066
        IF l_step_b = abap_false.
    1067
          l_step_b = abap_true.
    1068
          PERFORM html_links_node_start
    1069
            USING
    1070
              l_id
    1071
              txt_includes
    1072
              space
    1073
              space
    1074
            CHANGING
    1075
              ct_html.
    1076
        ENDIF.
    1077
        PERFORM html_links_leaf
    1078
          USING
    1079
            'R3TR_FUGR'
    1080
            'INCL'
    1081
            <ls_ztadir>-progname
    1082
            <ls_ztadir>-descript
    1083
          CHANGING
    1084
            ct_html.
    1085
      ENDLOOP.
    1086
      IF l_step_b = abap_true.
    1087
        PERFORM html_links_node_end CHANGING ct_html.
    1088
        l_step_b = abap_false.
    1089
      ENDIF.
    1090
    ENDFORM.                    "links_fugr_includes
    1091
    1092
    1093
    *-----------------------------------------------------------------------
    1094
    * links - FUGR - Modules
    1095
    *-----------------------------------------------------------------------
    1096
    FORM links_fugr_modules
    1097
      USING
    1098
        value(i_obj_name)
    1099
      CHANGING
    1100
        ct_html TYPE it_string.
    1101
    1102
      DATA:
    1103
      l_id TYPE string,
    1104
      l_step_b TYPE flag.
    1105
    1106
      FIELD-SYMBOLS:
    1107
      <ls_ztadir> TYPE st_ztadir.
    1108
    1109
      PERFORM get_id
    1110
        USING 'fugr_fuba_' i_obj_name
    1111
        CHANGING l_id.
    1112
      LOOP AT gt_ztadir ASSIGNING <ls_ztadir>
    1113
          WHERE pgmid = 'R3TR'
    1114
          AND object = 'FUGR'
    1115
          AND obj_name = i_obj_name
    1116
          AND futype = gc_futype_module.
    1117
        IF l_step_b = abap_false.
    1118
          l_step_b = abap_true.
    1119
    1120
          PERFORM html_links_node_start
    1121
            USING
    1122
              l_id
    1123
              txt_function_modules
    1124
              space
    1125
              space
    1126
            CHANGING
    1127
              ct_html.
    1128
        ENDIF.
    1129
        PERFORM html_links_leaf_filename
    1130
          USING
    1131
            'R3TR_FUGR'
    1132
            'FUBA'
    1133
            <ls_ztadir>-funcname
    1134
            <ls_ztadir>-progname
    1135
            <ls_ztadir>-descript
    1136
          CHANGING
    1137
            ct_html.
    1138
      ENDLOOP.
    1139
      IF l_step_b = abap_true.
    1140
        PERFORM html_links_node_end CHANGING ct_html.
    1141
        l_step_b = abap_false.
    1142
      ENDIF.
    1143
    ENDFORM.                    "links_fugr_modules
    1144
    1145
    1146
    *-----------------------------------------------------------------------
    1147
    * links - FUGR - Screens
    1148
    *-----------------------------------------------------------------------
    1149
    FORM links_fugr_screens
    1150
      USING
    1151
        value(i_obj_name)
    1152
      CHANGING
    1153
        ct_html TYPE it_string.
    1154
    1155
      DATA:
    1156
      l_filename TYPE string,
    1157
      l_id TYPE string,
    1158
      l_step_b TYPE flag.
    1159
    1160
      FIELD-SYMBOLS:
    1161
      <ls_ztadir> TYPE st_ztadir.
    1162
    1163
      PERFORM get_id
    1164
        USING 'fugr_scr_' i_obj_name
    1165
        CHANGING l_id.
    1166
      LOOP AT gt_ztadir ASSIGNING <ls_ztadir>
    1167
          WHERE pgmid = 'R3TR'
    1168
          AND object = 'FUGR'
    1169
          AND obj_name = i_obj_name
    1170
          AND futype = gc_futype_screen.
    1171
        IF l_step_b = abap_false.
    1172
          l_step_b = abap_true.
    1173
          PERFORM html_links_node_start
    1174
            USING
    1175
              l_id
    1176
              txt_screens
    1177
              space
    1178
              space
    1179
            CHANGING
    1180
              ct_html.
    1181
        ENDIF.
    1182
        CONCATENATE <ls_ztadir>-progname '-' <ls_ztadir>-dynpronr
    1183
            INTO l_filename.
    1184
        PERFORM html_links_leaf_filename
    1185
          USING
    1186
            'R3TR_FUGR'
    1187
            'SCR'
    1188
            <ls_ztadir>-dynpronr
    1189
            l_filename
    1190
            <ls_ztadir>-descript
    1191
          CHANGING
    1192
            ct_html.
    1193
      ENDLOOP.
    1194
      IF l_step_b = abap_true.
    1195
        PERFORM html_links_node_end CHANGING ct_html.
    1196
        l_step_b = abap_false.
    1197
      ENDIF.
    1198
    ENDFORM.                    "links_fugr_screens
    1199
    1200
    1201
    *-----------------------------------------------------------------------
    1202
    * links - INCL
    1203
    *-----------------------------------------------------------------------
    1204
    FORM links_incl
    1205
      CHANGING
    1206
        ct_html TYPE it_string.
    1207
    1208
      DATA:
    1209
      l_step_a TYPE flag,
    1210
      l_step_b TYPE flag.
    1211
    1212
      FIELD-SYMBOLS:
    1213
      <ls_ztadir> TYPE st_ztadir.
    1214
    1215
    ******includes
    1216
      LOOP AT gt_ztadir ASSIGNING <ls_ztadir>
    1217
          WHERE pgmid = 'R3TR'
    1218
          AND object = 'PROG'
    1219
          AND subc = 'I'.
    1220
        IF l_step_a = abap_false.
    1221
          l_step_a = abap_true.
    1222
          PERFORM html_links_node_start
    1223
            USING
    1224
              'prog_I'
    1225
              txt_includes
    1226
              space
    1227
              space
    1228
            CHANGING
    1229
              ct_html.
    1230
        ENDIF.
    1231
        PERFORM html_links_leaf
    1232
          USING
    1233
            'R3TR_PROG'
    1234
            'INCL'
    1235
            <ls_ztadir>-obj_name
    1236
            <ls_ztadir>-descript
    1237
          CHANGING
    1238
            ct_html.
    1239
      ENDLOOP.
    1240
    ******
    1241
      IF l_step_a = abap_true.
    1242
        PERFORM html_links_node_end CHANGING ct_html.
    1243
        l_step_a = abap_false.
    1244
      ENDIF.
    1245
    ENDFORM.                    "links_incl
    1246
    1247
    1248
    *-----------------------------------------------------------------------
    1249
    * links - MSAG
    1250
    *-----------------------------------------------------------------------
    1251
    FORM links_msag
    1252
      CHANGING
    1253
        ct_html TYPE it_string.
    1254
    1255
      DATA:
    1256
      l_step_a TYPE flag,
    1257
      l_step_b TYPE flag.
    1258
    1259
      FIELD-SYMBOLS:
    1260
      <ls_ztadir> TYPE st_ztadir.
    1261
    1262
    ******message classes
    1263
      LOOP AT gt_ztadir ASSIGNING <ls_ztadir>
    1264
          WHERE pgmid = 'R3TR'
    1265
          AND object = 'MSAG'.
    1266
        IF l_step_a = abap_false.
    1267
          l_step_a = abap_true.
    1268
          PERFORM html_links_node_start
    1269
            USING
    1270
              'msag'
    1271
              txt_message_classes
    1272
              space
    1273
              space
    1274
            CHANGING
    1275
              ct_html.
    1276
        ENDIF.
    1277
        PERFORM html_links_leaf
    1278
          USING
    1279
            'R3TR_MSAG'
    1280
            ''
    1281
            <ls_ztadir>-obj_name
    1282
            <ls_ztadir>-descript
    1283
          CHANGING
    1284
            ct_html.
    1285
      ENDLOOP.
    1286
    ******
    1287
      IF l_step_a = abap_true.
    1288
        PERFORM html_links_node_end CHANGING ct_html.
    1289
        l_step_a = abap_false.
    1290
      ENDIF.
    1291
    ENDFORM.                    "links_msag
    1292
    1293
    1294
    *-----------------------------------------------------------------------
    1295
    * links - PARA
    1296
    *-----------------------------------------------------------------------
    1297
    FORM links_para
    1298
      CHANGING
    1299
        ct_html TYPE it_string.
    1300
    1301
      DATA:
    1302
      l_step_a TYPE flag,
    1303
      l_step_b TYPE flag,
    1304
      l_filename TYPE string.
    1305
    1306
      FIELD-SYMBOLS:
    1307
      <ls_ztadir> TYPE st_ztadir.
    1308
    1309
    ******set/get parameters
    1310
      LOOP AT gt_ztadir ASSIGNING <ls_ztadir>
    1311
          WHERE pgmid = 'R3TR'
    1312
          AND object = 'PARA'.
    1313
        IF l_step_a = abap_false.
    1314
          l_step_a = abap_true.
    1315
          PERFORM html_links_node_start
    1316
            USING
    1317
              'para'
    1318
              txt_set_get_parameters
    1319
              space
    1320
              space
    1321
            CHANGING
    1322
              ct_html.
    1323
        ENDIF.
    1324
        CONCATENATE <ls_ztadir>-obj_name '.' gc_extension_htm
    1325
          INTO l_filename.
    1326
        PERFORM encode_uri_link CHANGING l_filename.
    1327
        PERFORM replace_all
    1328
          USING '%' 'x'
    1329
          CHANGING l_filename.
    1330
        PERFORM html_links_leaf_popup
    1331
          USING
    1332
            'R3TR_PARA'
    1333
            <ls_ztadir>-obj_name
    1334
            l_filename
    1335
            <ls_ztadir>-descript
    1336
            tpt_para
    1337
          CHANGING
    1338
            ct_html.
    1339
      ENDLOOP.
    1340
    ******
    1341
      IF l_step_a = abap_true.
    1342
        PERFORM html_links_node_end CHANGING ct_html.
    1343
        l_step_a = abap_false.
    1344
      ENDIF.
    1345
    ENDFORM.                    "links_para
    1346
    1347
    1348
    *-----------------------------------------------------------------------
    1349
    * links - PROG
    1350
    *-----------------------------------------------------------------------
    1351
    FORM links_prog
    1352
      CHANGING
    1353
        ct_html TYPE it_string.
    1354
    1355
      DATA:
    1356
      l_step_a TYPE flag,
    1357
      l_step_b TYPE flag.
    1358
    1359
      FIELD-SYMBOLS:
    1360
      <ls_ztadir> TYPE st_ztadir.
    1361
    1362
    ******programs
    1363
      LOOP AT gt_ztadir ASSIGNING <ls_ztadir>
    1364
          WHERE pgmid = 'R3TR'
    1365
          AND object = 'PROG'
    1366
          AND subc = '1'.
    1367
        IF l_step_a = abap_false.
    1368
          l_step_a = abap_true.
    1369
          PERFORM html_links_node_start
    1370
            USING
    1371
              'prog_1'
    1372
              txt_programs
    1373
              space
    1374
              space
    1375
            CHANGING
    1376
              ct_html.
    1377
        ENDIF.
    1378
        PERFORM html_links_leaf
    1379
          USING
    1380
            'R3TR_PROG'
    1381
            'REPO'
    1382
            <ls_ztadir>-obj_name
    1383
            <ls_ztadir>-descript
    1384
          CHANGING
    1385
            ct_html.
    1386
      ENDLOOP.
    1387
    ******
    1388
      IF l_step_a = abap_true.
    1389
        PERFORM html_links_node_end CHANGING ct_html.
    1390
        l_step_a = abap_false.
    1391
      ENDIF.
    1392
    ENDFORM.                    "links_prog
    1393
    1394
    1395
    *-----------------------------------------------------------------------
    1396
    * links - SEO
    1397
    *-----------------------------------------------------------------------
    1398
    FORM links_seo
    1399
      CHANGING
    1400
        ct_html TYPE it_string.
    1401
    1402
      DATA:
    1403
      l_step_a TYPE flag.
    1404
    1405
      PERFORM links_seo_clas  CHANGING ct_html l_step_a.
    1406
      PERFORM links_seo_intf  CHANGING ct_html l_step_a.
    1407
    1408
      IF l_step_a = abap_true.
    1409
        PERFORM html_links_node_end CHANGING ct_html.
    1410
        l_step_a = abap_false.
    1411
      ENDIF.
    1412
    1413
    ENDFORM.                    "links_seo
    1414
    1415
    1416
    *-----------------------------------------------------------------------
    1417
    * links - SEO - CLAS
    1418
    *-----------------------------------------------------------------------
    1419
    FORM links_seo_clas
    1420
      CHANGING
    1421
        ct_html TYPE it_string
    1422
        c_step_a TYPE flag.
    1423
    1424
      DATA:
    1425
      l_step_b TYPE flag.
    1426
    1427
      FIELD-SYMBOLS:
    1428
      <ls_ztadir> TYPE st_ztadir.
    1429
    1430
    ******classes
    1431
      LOOP AT gt_ztadir ASSIGNING <ls_ztadir>
    1432
          WHERE pgmid = 'R3TR'
    1433
          AND object = 'CLAS'.
    1434
        IF l_step_b = abap_false.
    1435
          l_step_b = abap_true.
    1436
          IF c_step_a = abap_false.
    1437
            c_step_a = abap_true.
    1438
            PERFORM html_links_node_start
    1439
              USING
    1440
                'claslib'
    1441
                txt_class_library
    1442
                space
    1443
                space
    1444
              CHANGING
    1445
                ct_html.
    1446
          ENDIF.
    1447
          PERFORM html_links_node_start
    1448
            USING
    1449
              'R3TR_CLAS'
    1450
              txt_classes
    1451
              space
    1452
              space
    1453
            CHANGING
    1454
              ct_html.
    1455
        ENDIF.
    1456
        PERFORM html_links_leaf
    1457
          USING
    1458
            'R3TR_CLAS'
    1459
            ''
    1460
            <ls_ztadir>-obj_name
    1461
            <ls_ztadir>-descript
    1462
          CHANGING
    1463
            ct_html.
    1464
      ENDLOOP.
    1465
      IF l_step_b = abap_true.
    1466
        l_step_b = abap_false.
    1467
        PERFORM html_links_node_end
    1468
          CHANGING
    1469
            ct_html.
    1470
      ENDIF.
    1471
    ENDFORM.                    "links_seo_clas
    1472
    1473
    1474
    *-----------------------------------------------------------------------
    1475
    * links - SEO - INTF
    1476
    *-----------------------------------------------------------------------
    1477
    FORM links_seo_intf
    1478
      CHANGING
    1479
        ct_html TYPE it_string
    1480
        c_step_a TYPE flag.
    1481
    1482
      DATA:
    1483
      l_step_b TYPE flag.
    1484
    1485
      FIELD-SYMBOLS:
    1486
      <ls_ztadir> TYPE st_ztadir.
    1487
    1488
      LOOP AT gt_ztadir ASSIGNING <ls_ztadir>
    1489
          WHERE pgmid = 'R3TR'
    1490
          AND object = 'INTF'.
    1491
        IF l_step_b = abap_false.
    1492
          l_step_b = abap_true.
    1493
          IF c_step_a = abap_false.
    1494
            c_step_a = abap_true.
    1495
            PERFORM html_links_node_start
    1496
              USING
    1497
                'claslib'
    1498
                txt_class_library
    1499
                space
    1500
                space
    1501
              CHANGING
    1502
                ct_html.
    1503
          ENDIF.
    1504
          PERFORM html_links_node_start
    1505
            USING
    1506
              'R3TR_INTF'
    1507
              txt_interfaces
    1508
              space
    1509
              space
    1510
            CHANGING
    1511
              ct_html.
    1512
        ENDIF.
    1513
        PERFORM html_links_leaf
    1514
          USING
    1515
            'R3TR_INTF'
    1516
            ''
    1517
            <ls_ztadir>-obj_name
    1518
            <ls_ztadir>-descript
    1519
          CHANGING
    1520
            ct_html.
    1521
      ENDLOOP.
    1522
      IF l_step_b = abap_true.
    1523
        l_step_b = abap_false.
    1524
        PERFORM html_links_node_end CHANGING ct_html.
    1525
      ENDIF.
    1526
    ENDFORM.                    "links_seo
    1527
    1528
    1529
    *-----------------------------------------------------------------------
    1530
    * links - TOBJ
    1531
    *-----------------------------------------------------------------------
    1532
    FORM links_tobj
    1533
      CHANGING
    1534
        ct_html TYPE it_string.
    1535
    1536
      DATA:
    1537
      l_step_a TYPE flag,
    1538
      l_step_b TYPE flag.
    1539
    1540
      FIELD-SYMBOLS:
    1541
      <ls_ztadir> TYPE st_ztadir.
    1542
    1543
    ******authorization objects
    1544
      LOOP AT gt_ztadir ASSIGNING <ls_ztadir>
    1545
          WHERE pgmid = 'R3TR'
    1546
          AND object = 'SUSO'.
    1547
        IF l_step_a = abap_false.
    1548
          l_step_a = abap_true.
    1549
          PERFORM html_links_node_start
    1550
            USING
    1551
              'suso'
    1552
              txt_authorization_object___2
    1553
              space
    1554
              space
    1555
            CHANGING
    1556
              ct_html.
    1557
        ENDIF.
    1558
        PERFORM html_links_leaf
    1559
          USING
    1560
            'R3TR_SUSO'
    1561
            ''
    1562
            <ls_ztadir>-obj_name
    1563
            <ls_ztadir>-descript
    1564
          CHANGING
    1565
            ct_html.
    1566
      ENDLOOP.
    1567
    ******
    1568
      IF l_step_a = abap_true.
    1569
        PERFORM html_links_node_end CHANGING ct_html.
    1570
        l_step_a = abap_false.
    1571
      ENDIF.
    1572
    ENDFORM.                    "links_tobj
    1573
    1574
    1575
    *-----------------------------------------------------------------------
    1576
    * links - TRAN
    1577
    *-----------------------------------------------------------------------
    1578
    FORM links_tran
    1579
      CHANGING
    1580
        ct_html TYPE it_string.
    1581
    1582
      DATA:
    1583
      l_cinfo TYPE syhex01,
    1584
      l_def_call_tcode TYPE tcode,
    1585
      l_length TYPE i,
    1586
      l_off TYPE i,
    1587
      l_param TYPE tcdparam,
    1588
      l_step_a TYPE flag,
    1589
      l_step_b TYPE flag,
    1590
      l_tcode TYPE tcode,
    1591
      l_ttype TYPE c.
    1592
    1593
      CONSTANTS:
    1594
      lc_hex_tra TYPE x VALUE '00',               " Transaktion         T
    1595
      lc_hex_men TYPE x VALUE '01',               " Bereichsmenue       M
    1596
      lc_hex_par TYPE x VALUE '02',               " Parametertrans.     P
    1597
      lc_hex_rep TYPE x VALUE '80',               " Report              R
    1598
      lc_hex_rpv TYPE x VALUE '10',               " Report  mit Variante
    1599
      lc_hex_obj TYPE x VALUE '08',               " Objekttransaktionen
    1600
      lc_hex_chk TYPE x VALUE '04',               " mit Pruefobjekt
    1601
      lc_oo_tcode LIKE tstc-tcode VALUE 'OS_APPLICATION'.
    1602
    1603
      FIELD-SYMBOLS:
    1604
      <ls_ztadir> TYPE st_ztadir.
    1605
    1606
    ******transactions
    1607
      LOOP AT gt_ztadir ASSIGNING <ls_ztadir>
    1608
          WHERE pgmid = 'R3TR'
    1609
          AND object = 'TRAN'.
    1610
    1611
        l_tcode = <ls_ztadir>-obj_name.
    1612
        SELECT SINGLE cinfo FROM tstc INTO l_cinfo
    1613
            WHERE tcode = l_tcode.
    1614
        SELECT SINGLE param FROM tstcp INTO l_param
    1615
            WHERE tcode = l_tcode.
    1616
    1617
        CASE l_param(1).
    1618
          WHEN '@'.
    1619
            l_off = 1.
    1620
            IF l_param(2) = '@@'.
    1621
              l_off = 2.
    1622
            ENDIF.
    1623
            IF l_param CA space. ENDIF.
    1624
            l_length = sy-fdpos - l_off.
    1625
            l_def_call_tcode = l_param+l_off(l_length).
    1626
          WHEN '/'.
    1627
            IF l_param CA space. ENDIF.
    1628
            l_length = sy-fdpos.
    1629
            IF l_length > 2.
    1630
              SUBTRACT 2 FROM l_length.
    1631
              l_def_call_tcode = l_param+2(l_length).
    1632
            ENDIF.
    1633
        ENDCASE.
    1634
    1635
        IF l_cinfo O lc_hex_rep.                 "report transaction
    1636
          l_ttype = gc_tcode_report.
    1637
        ELSEIF l_cinfo O lc_hex_obj.             "object transaction
    1638
          l_ttype = gc_tcode_object.
    1639
        ELSEIF l_cinfo O lc_hex_par.             "parameter transaction
    1640
          l_ttype = gc_tcode_parameter.
    1641
          IF NOT l_param IS INITIAL
    1642
          AND l_param(1) = '@'.                  "variant transaction
    1643
            l_ttype = gc_tcode_variant.
    1644
          ELSEIF l_def_call_tcode = lc_oo_tcode. "object transaction
    1645
            l_ttype = gc_tcode_object.
    1646
          ENDIF.
    1647
        ELSEIF l_cinfo O lc_hex_men.             "menue
    1648
        ELSE.                                    "dialog transaction
    1649
          l_ttype = gc_tcode_dialog.
    1650
        ENDIF.
    1651
    1652
        IF l_step_a = abap_false.
    1653
          l_step_a = abap_true.
    1654
          PERFORM html_links_node_start
    1655
            USING
    1656
              'tran'
    1657
              txt_transactions
    1658
              space
    1659
              space
    1660
            CHANGING
    1661
              ct_html.
    1662
        ENDIF.
    1663
        PERFORM html_links_leaf
    1664
          USING
    1665
            'R3TR_TRAN'
    1666
            l_ttype
    1667
            <ls_ztadir>-obj_name
    1668
            <ls_ztadir>-descript
    1669
          CHANGING
    1670
            ct_html.
    1671
      ENDLOOP.
    1672
    ******
    1673
      IF l_step_a = abap_true.
    1674
        PERFORM html_links_node_end CHANGING ct_html.
    1675
        l_step_a = abap_false.
    1676
      ENDIF.
    1677
    ENDFORM.                    "links_tran
    1678
    1679
    1680
    *-----------------------------------------------------------------------
    1681
    * links - XSLT
    1682
    *-----------------------------------------------------------------------
    1683
    FORM links_xslt
    1684
      CHANGING
    1685
        ct_html TYPE it_string.
    1686
    1687
      DATA:
    1688
      l_step_a TYPE flag,
    1689
      l_step_b TYPE flag.
    1690
    1691
      FIELD-SYMBOLS:
    1692
      <ls_ztadir> TYPE st_ztadir.
    1693
    ******transformations
    1694
      LOOP AT gt_ztadir ASSIGNING <ls_ztadir>
    1695
          WHERE pgmid = 'R3TR'
    1696
          AND object = 'XSLT'.
    1697
        IF l_step_a = abap_false.
    1698
          l_step_a = abap_true.
    1699
          PERFORM html_links_node_start
    1700
            USING
    1701
              'xslt'
    1702
              txt_transformations
    1703
              space
    1704
              space
    1705
            CHANGING
    1706
              ct_html.
    1707
        ENDIF.
    1708
        PERFORM html_links_leaf
    1709
          USING
    1710
            'R3TR_XSLT'
    1711
            ''
    1712
            <ls_ztadir>-obj_name
    1713
            <ls_ztadir>-descript
    1714
          CHANGING
    1715
            ct_html.
    1716
      ENDLOOP.
    1717
    ******
    1718
      IF l_step_a = abap_true.
    1719
        PERFORM html_links_node_end CHANGING ct_html.
    1720
        l_step_a = abap_false.
    1721
      ENDIF.
    1722
    ENDFORM.                    "links_xslt