Eigenschaften | Quelltext
Titel | erweiterte Tabellenpflege: allgemeine Datendeklarationenen |
Originalsprache | DE | Deutsch
Erstellt | 13.01.1995 |  | SAP |
Letzte Änderung | 23.06.2003 |  | SAP |
Status | aktiv |
Attribute
Typ | Include-Programm |
Status |  |
Anwendung | Basis (System) |
Paket | SVIM | Basis Viewmaintenance
| Editorsperre
txt
    1
    TABLES: e070, e071k, e071, tadir, dderr, tddat, objh.
    2
    3
    TYPE-POOLS: cxtab, cmpwl, vimty, slctr, trwbo, scpr, slis, szadr.
    4
    5
    CLASS: cl_abap_char_utilities DEFINITION LOAD.
    6
    7
    * Adresspflege Übergangslösung anfang
    8
    TABLES: sadr, sadr2, sadr3, sadr4, sadr5.
    9
    DATA: sadr_keylen  TYPE i,             "key length of table SADR
    10
          sadr_namtab_read TYPE c.                              "flag:
    11
    12
    * Adresspflege Übergangslösung ende
    13
    14
    DATA: maint_stat LIKE vimstatus.
    15
    16
    FIELD-SYMBOLS: <vim_ctotal> TYPE ANY, <vim_cextract> TYPE ANY,
    17
                   <vim_xtotal> TYPE x, <vim_xextract> TYPE x,
    18
                   <vim_total_struc> TYPE ANY,
    19
                   <vim_extract_struc> TYPE ANY,
    20
                   <vim_tot_txt_struc> TYPE ANY,
    21
                   <vim_ext_txt_struc> TYPE ANY,
    22
                   <f1> TYPE ANY, <name> TYPE ANY, <table1> TYPE ANY,
    23
                   <table2> TYPE ANY, <orig_key> TYPE x,
    24
                   <client> TYPE ANY, <vim_total_key> TYPE ANY,
    25
                   <vim_extract_key> TYPE ANY,
    26
                   <vim_xtotal_key> TYPE x,
    27
                   <vim_xextract_key> TYPE x,
    28
                   <vim_client_initial> TYPE ANY.
    29
    * unicode
    30
    FIELD-SYMBOLS: <table1_x> TYPE x,
    31
                   <table2_x> TYPE x,
    32
                   <f1_x> TYPE x,
    33
                   <table1_wa> TYPE ANY,
    34
                   <table1_wax> TYPE x,
    35
                   <f1_wax> TYPE x,
    36
                   <vim_corr_keyx> TYPE x,
    37
                   <initial_x> TYPE x.
    38
    FIELD-SYMBOLS: <mark> TYPE ANY, <action> TYPE ANY,
    39
                   <xmark> TYPE ANY, <xact> TYPE ANY, <initial> TYPE ANY,
    40
                   <status> STRUCTURE vimstatus DEFAULT maint_stat,
    41
                   <address_number> TYPE ANY,
    42
                   <user_exit_field> TYPE ANY,
    43
                   <replace_field> TYPE ANY,
    44
                   <vim_begdate>     LIKE sy-datum,
    45
                   <vim_new_begdate> LIKE sy-datum,
    46
                   <vim_enddate>     LIKE sy-datum,
    47
                   <vim_enddate_mask> TYPE ANY,
    48
                   <vim_mainkey_mask> TYPE ANY,
    49
                   <vim_prtfky_wa> TYPE ANY, <vim_prtfky_extract> TYPE ANY,
    50
                   <vim_prtfky_total> TYPE ANY,
    51
                   <vim_begdate_mask> TYPE ANY,
    52
                   <vim_collapsed_keyx> TYPE x,
    53
                   <vim_collapsed_logkeyx> TYPE x,
    54
                   <vim_collapsed_key_afx> TYPE x,
    55
                   <vim_merged_keyx> TYPE x,
    56
                   <vim_total_address_number> TYPE ANY,
    57
                   <vim_addr_handle_x> TYPE x,
    58
    * Unicode
    59
      <vim_h_mkey> TYPE x, <vim_h_old_mkey> TYPE x,
    60
      <vim_h_coll_mkey> TYPE x, <vim_h_merged_key> TYPE x,
    61
      <vim_h_coll_bfkey> TYPE x, <vim_h_coll_logkey> TYPE x,
    62
      <vim_f1_beforex> TYPE x, <vim_f1_afterx> TYPE x,
    63
      <vim_mkey_beforex> TYPE x, <vim_mkey_afterx> TYPE x,
    64
      <vim_tot_mkey_beforex> TYPE x, <vim_tot_mkey_afterx> TYPE x,
    65
      <vim_ext_mkey_beforex> TYPE x, <vim_ext_mkey_afterx> TYPE x,
    66
      <vim_old_mkey_beforex> TYPE x, <vim_old_mkey_afterx> TYPE x,
    67
      <vim_collapsed_mkey_bfx> TYPE x,
    68
    * for downward-compatibility only:
    69
      <vim_f1_before>, <vim_f1_after>,
    70
      <vim_mkey_before>, <vim_mkey_after>,
    71
      <vim_tot_mkey_before>, <vim_tot_mkey_after>,
    72
      <vim_ext_mkey_before>, <vim_ext_mkey_after>,
    73
      <vim_old_mkey_before>, <vim_old_mkey_after>,
    74
      <vim_collapsed_key_af>, <vim_collapsed_logkey>,
    75
      <vim_merged_key>, <vim_collapsed_key>.
    76
    *
    77
    FIELD-SYMBOLS: <subsetfield> TYPE ANY, <rdonlyfield> TYPE ANY,
    78
                   <value> TYPE ANY,
    79
                   <state> STRUCTURE vimstatus DEFAULT maint_stat,
    80
                   <vim_tctrl> TYPE cxtab_control, <vim_sellist> TYPE table,
    81
                   <vim_ck_sellist> TYPE table, <vim_field_value> TYPE ANY,
    82
                   <vim_scrform_name> TYPE ANY,
    83
                   <vim_auth_sellist> TYPE table.
    84
    FIELD-SYMBOLS: <table1_text> TYPE ANY, <table1_xtext> TYPE x,
    85
                   <total_text> TYPE ANY, <extract_text> TYPE ANY,
    86
                   <vim_xtotal_text> TYPE x, <vim_xextract_text> TYPE x,
    87
                   <action_text> TYPE ANY,
    88
                   <xact_text> TYPE ANY,
    89
                   <extract_enti> TYPE ANY, <vim_xextract_enti> TYPE x,
    90
                   <textkey> TYPE ANY, <initial_textkey> TYPE ANY,
    91
                   <textkey_x> TYPE x, <initial_textkey_x> TYPE x,
    92
                   <text_initial> TYPE ANY, <text_initial_x> TYPE x,
    93
                   <vim_text_enddate> TYPE ANY.
    94
    FIELD-SYMBOLS: <vim_texttab> TYPE table,               "SW Texttransl ..
    95
    *                            Type VIM_TAB_US/ .. /VIM_TAB_UL
    96
                   <vim_read_langus> TYPE table. "SW Texttransl
    97
    *----------------------------------------------------------------------*
    98
    * Declaration of types                                                 *
    99
    *----------------------------------------------------------------------*
    100
    types: vim_ko200_tab_type type table of ko200.
    101
    TYPES: BEGIN OF state_vector,
    102
             type(1)   TYPE c,             " E=Einstufig Z=Zweistufig
    103
             action(1) TYPE c,             " S=Anz., U=Änd., A=Hinzuf., T=Tr
    104
             mode(1)   TYPE c,             " L=Liste, D=Detail
    105
             data(1)   TYPE c, " G=gesamt, X=Extract, D=Geloeschte
    106
             mark(1)   TYPE c,             " M=Markiert,  =Nicht Markiert
    107
             delete(1) TYPE c,             " D=Gelöscht,  =Nicht Gelöscht
    108
             fill1(1)  TYPE c,             "filler, not used
    109
             fill2(1)  TYPE c,                                  "     - " -
    110
           END OF state_vector,
    111
           vim_tabkey TYPE tabl4096,
    112
           BEGIN OF vim_tabkey_c,
    113
            line(255) TYPE c,
    114
           END OF vim_tabkey_c,
    115
           BEGIN OF vim_ck_selcond,
    116
             field LIKE vimnamtab-bastabfld,
    117
             operator(2) TYPE c,
    118
             hk1(1) TYPE c,
    119
             value LIKE vimsellist-value,
    120
             hk2(1) TYPE c,
    121
             and LIKE vimsellist-and_or,
    122
           END OF vim_ck_selcond,
    123
           vimexclfldtab TYPE STANDARD TABLE OF vimexclfld
    124
                              WITH DEFAULT KEY  INITIAL SIZE 10,
    125
           BEGIN OF vimexclfldtabsline,
    126
             viewname LIKE tvdir-tabname,
    127
             excl_pos_tab TYPE vimexclfldtab,
    128
             excl_rpl_tab TYPE vimexclfldtab,
    129
             excl_que_tab TYPE vimexclfldtab,
    130
           END OF vimexclfldtabsline,
    131
           vimexclfldtabs TYPE SORTED TABLE OF vimexclfldtabsline
    132
                               WITH UNIQUE KEY viewname,
    133
           BEGIN OF vim_delim_entr_tl, "indizes of delim. entries
    134
             index1 TYPE i,            "entries with mainkey in total
    135
             index2 TYPE i,
    136
             index3 TYPE i,            "current entry in extract in
    137
                                       "collapsed mode
    138
             index_corr(1) TYPE c,
    139
           END OF vim_delim_entr_tl,
    140
           BEGIN OF vim_collapsed_mkeys_tl,"collapsed mainkeys
    141
             mkey_bf TYPE vim_tabkey_c,
    142
             mainkey TYPE vim_tabkey_c,
    143
             log_key TYPE vim_tabkey_c,
    144
           END OF vim_collapsed_mkeys_tl,
    145
           BEGIN OF vim_merged_entr_tl,    "merged entries
    146
             new_key TYPE vim_tabkey,
    147
             merged_key TYPE vim_tabkey,
    148
             new_begdate TYPE d,
    149
             new_enddate TYPE d,
    150
             merged_begdate TYPE d,
    151
             merged_enddate TYPE d,
    152
           END OF vim_merged_entr_tl,
    153
           BEGIN OF vim_ale_keyspec_objs,
    154
             oname LIKE objh-objectname,
    155
             otype LIKE objh-objecttype,
    156
           END OF vim_ale_keyspec_objs,
    157
           vim_flds_tab_type TYPE TABLE OF fieldname,           "fieldlist
    158
           vimnamtab_type type table of vimnamtab.
    159
    160
    * Definitionen für Texterfassung in mehreren Sprachen  "SW Texttransl ..
    161
    CONSTANTS:
    162
          ultra_short_tab TYPE i VALUE 32,
    163
          very_short_tab TYPE i VALUE 48,
    164
          short_tab TYPE i VALUE 64,
    165
          middle_tab TYPE i VALUE 128,
    166
          long_tab TYPE i VALUE 256,
    167
          very_long_tab TYPE i VALUE 512,
    168
          ultra_long_tab TYPE i VALUE 4096,
    169
          vim_max_keylen_show TYPE i VALUE 120,
    170
          vim_max_textfields TYPE i VALUE 8,   "Anzahl Textfelder auf D0100
    171
          vim_max_keyfields TYPE i VALUE 10.   "  "    Keyfelder   "     "
    172
    173
    TYPES: vim_line_ul(ultra_long_tab)  TYPE c,
    174
           vim_line_vl(very_long_tab)   TYPE c,
    175
           vim_line_l(long_tab)         TYPE c,
    176
           vim_line_m(middle_tab)       TYPE c,
    177
           vim_line_s(short_tab)        TYPE c,
    178
           vim_line_vs(very_short_tab)  TYPE c,
    179
           vim_line_us(ultra_short_tab) TYPE c,
    180
    181
           vim_tab_ul  TYPE vim_line_ul OCCURS 0,
    182
           vim_tab_vl  TYPE vim_line_vl OCCURS 0,
    183
           vim_tab_l   TYPE vim_line_l OCCURS 0,
    184
           vim_tab_m   TYPE vim_line_m OCCURS 0,
    185
           vim_tab_s   TYPE vim_line_s OCCURS 0,
    186
           vim_tab_vs  TYPE vim_line_vs OCCURS 0,
    187
           vim_tab_us  TYPE vim_line_us OCCURS 0.
    188
    189
    TYPES: BEGIN OF vim_variable_tab,
    190
             valid_idx LIKE sy-index,      " Index der gefüllten Tabelle
    191
             tab_us TYPE vim_tab_us,       " falls benutzt -> valid_idx = 2
    192
             tab_vs TYPE vim_tab_vs,       "     "                "     = 3
    193
             tab_s  TYPE vim_tab_s,
    194
             tab_m  TYPE vim_tab_m,
    195
             tab_l  TYPE vim_tab_l,
    196
             tab_vl TYPE vim_tab_vl,
    197
             tab_ul TYPE vim_tab_ul,
    198
            END OF vim_variable_tab.
    199
    200
    TYPES: BEGIN OF vim_tabdata_record,
    201
             viewname   LIKE tvdir-tabname,
    202
             sel_langus LIKE t002-spras OCCURS 0,
    203
             all_langus(1) TYPE c,
    204
             tabdata    TYPE vim_variable_tab,
    205
           END OF vim_tabdata_record.
    206
    * lok. Hilfsvariable für Absprung in Langtextpflege über User-Exit
    207
    DATA: vim_internal_ltext_call(1) TYPE c.              ".. SW Texttransl
    208
    209
    *----------------------------------------------------------------------*
    210
    * Declaration of constants                                             *
    211
    *----------------------------------------------------------------------*
    212
    CONSTANTS:
    213
          read(4) TYPE c VALUE 'READ',
    214
          edit(4) TYPE c VALUE 'EDIT',
    215
          read_and_edit(4) TYPE c VALUE 'RDED',
    216
          vim_read_text(4) TYPE c VALUE 'RTXT',                 "SW Textimp
    217
            " FCODE: Einlesen + zusätzl. Lesen der Texttab in allen Sprachen
    218
          save(4) TYPE c VALUE 'SAVE',
    219
          reset_list(4) TYPE c VALUE 'ORGL',
    220
          reset_entry(4) TYPE c VALUE 'ORGD',
    221
          switch_to_show_mode(4) TYPE c VALUE 'ANZG',
    222
          switch_to_update_mode(4) TYPE c VALUE 'AEND',
    223
          switch_transp_to_upd_mode(4) TYPE c VALUE 'TRAE',
    224
          get_another_view(4) TYPE c VALUE 'ATAB',
    225
          back(4) TYPE c VALUE 'BACK',
    226
          end(4) TYPE c VALUE 'ENDE',
    227
          canc(4) TYPE c VALUE 'ABR ',
    228
          transport(4) VALUE 'TRSP',
    229
          subset(1) TYPE c VALUE 'S',
    230
          authority type sychar01 value 'A',
    231
          ddic_marks(2)   TYPE c VALUE 'XB', "ddic marks for ddic-flag
    232
          vim_subset_marks(2) TYPE c VALUE 'SB', "subset marks for ddic-flag
    233
          vim_subset_marks_mult(4) TYPE c VALUE 'SBMA', "including authority
    234
                                                                "and mult
    235
          rdonly(1) TYPE c VALUE 'R',
    236
          vim_hidden(1) TYPE c VALUE 'H',
    237
          adrnbr(1) TYPE c VALUE 'A',
    238
          usrexi(1) TYPE c VALUE 'X',
    239
          client_length LIKE sy-fdpos VALUE '3', "in characters
    240
          vim_datum_length LIKE sy-fdpos VALUE '8',
    241
          vim_spras_length LIKE sy-fdpos VALUE '1',
    242
          fname_length  TYPE i VALUE '30', "max. fieldname length
    243
          compl_form_offs LIKE sy-fdpos VALUE '6',
    244
          corr_form_offs LIKE sy-fdpos VALUE '11',
    245
          transporter LIKE tadir-pgmid VALUE 'R3TR', "name of transport pgm
    246
          transp_object LIKE tadir-object VALUE 'TABU', "object to transport
    247
          vim_view_type LIKE e071k-mastertype VALUE 'VDAT',
    248
          vim_clus_type LIKE e071k-mastertype VALUE 'CDAT',
    249
          vim_tran_type LIKE e071k-mastertype VALUE 'TDAT',
    250
          vim_deleted_key LIKE tadir-pgmid VALUE '(DL)',
    251
          vim_unlockable_object LIKE e071k-mastertype VALUE '(UO)',
    252
          vim_lockable_object LIKE e071k-mastertype VALUE '(LO)',
    253
          vim_long_objname LIKE e071k-objname VALUE '(?TABKEY?)',
    254
          vim_71k_name_length TYPE i VALUE '30',
    255
          vim_transport_denied(1) TYPE c VALUE 'V',
    256
          sortflag_with_existency LIKE e071k-sortflag VALUE '2',
    257
          sortflag_without_existency LIKE e071k-sortflag VALUE '3',
    258
          e071_objfunc LIKE e071-objfunc VALUE 'K',
    259
          state_vect_prefix(7) TYPE c VALUE 'STATUS_',
    260
          state_vect_prefix_length TYPE i VALUE '7',
    261
          sap_cust_classes(2) TYPE c VALUE 'EG',    "tabclasses to check
    262
          sap_only_classes(1) TYPE c VALUE 'S',                 "      -"-
    263
          sap_cust_ctrl_classes(1) TYPE c VALUE 'E',            "      -"-
    264
          no_transport_classes(1) TYPE c VALUE 'L',             "       -"-
    265
          no_transport_log_classes(1) TYPE c VALUE 'W',"   -"-
    266
          application_delivery_classes(1) TYPE c VALUE 'A',
    267
          customizing_delivery_classes(3) TYPE c VALUE 'CEG',
    268
          nbrd_texts_prefix(10) TYPE c VALUE 'SVIM_TEXT_',
    269
          nbrd_texts_prefix_length TYPE i VALUE '10',
    270
          master_fpool(8) TYPE c VALUE 'SAPLSVIM',
    271
          vim_position_info_len TYPE i VALUE '30', "length of dynpro field
    272
          vim_position_info_lg1 TYPE i VALUE '13', "length of 'Eintrag'
    273
          vim_position_info_lg2 TYPE i VALUE '6',  "length of 'von'
    274
          vim_position_info_lg3 TYPE i VALUE '10', "max length of entry nbr.
    275
          vim_reset(1) TYPE c VALUE 'O',
    276
          vim_replace(1) TYPE c VALUE 'R',
    277
          vim_upgrade(1) TYPE c VALUE 'U',
    278
          vim_direct_upgrade(1) TYPE c VALUE 'C',
    279
          vim_undelete(1) TYPE c VALUE 'D',
    280
          vim_delimit(1) TYPE c VALUE 'G',
    281
          vim_delete(1) TYPE c VALUE 'L',
    282
          vim_extedit(1) TYPE c VALUE 'E',
    283
          vim_import(1) TYPE c VALUE 'I',
    284
          vim_import_no_dialog TYPE c VALUE 'D',
    285
          vim_import_with_dialog TYPE c VALUE 'H',
    286
          vim_time_dep_dpl_modif_form(30) TYPE c
    287
                                      VALUE 'TIME_DEPENDENT_DISPLAY_MODIF',
    288
          vim_view(1) TYPE c VALUE 'V',    "OBJH-type for views
    289
          vim_tabl(1) TYPE c VALUE 'S',    "OBJH-type for tables
    290
          vim_clst(1) TYPE c VALUE 'C',    "OBJH-type for clusters
    291
          vim_tran(1) TYPE c VALUE 'T',    "OBJH-type for transact.
    292
          vim_logo(1) TYPE c VALUE 'L',    "OBJH-type for TLOGO-obj.
    293
          vim_cust(4) TYPE c VALUE 'CUST', "OBJ-category CUST
    294
          vim_syst(4) TYPE c VALUE 'SYST', "OBJ-category SYST
    295
          vim_cust_syst(4) TYPE c VALUE 'CUSY',    "OBJ-category CUSY
    296
          vim_appl(4) TYPE c VALUE 'APPL', "OBJ-category APPL
    297
          vim_noact(1) TYPE c VALUE 'N',   "client state: no action
    298
          vim_log(1)   TYPE c VALUE '1',   "client state: log chngs.
    299
          vim_locked(1) TYPE c VALUE '2',  "client state: no chngs.
    300
          vim_local_clnt(1) TYPE c VALUE '3',      "client state: no transp.
    301
          vim_nocliindep_cust(1) TYPE c VALUE '1', "client state: ....
    302
          vim_noreposichanges(1) TYPE c VALUE '2', "client state: ....
    303
          vim_noreposiandcust(1) TYPE c VALUE '3', "client state: ....
    304
          vim_frm_text_upd_flag(19) TYPE c VALUE 'SET_TXT_UPDATE_FLAG',
    305
          vim_frm_fill_textkey(19) TYPE c VALUE 'FILL_TEXTTAB_KEY_UC',
    306
    *      vim_frm_fill_textkey(16) TYPE c VALUE 'FILL_TEXTTAB_KEY',
    307
          vim_max_trsp_keylength TYPE i VALUE '120',
    308
          vim_max_trsp_identical_key TYPE i VALUE '119',
    309
          vim_char_inttypes(5) TYPE c VALUE 'CDNST', "char types for transp.
    310
          vim_not_importable type objimp value '1'.
    311
    312
    CONSTANTS:
    313
    * Type
    314
      einstufig(1)       TYPE c VALUE 'E',
    315
      zweistufig(1)      TYPE c VALUE 'Z',
    316
    * Action
    317
      anzeigen(1)        TYPE c VALUE 'S',
    318
      aendern(1)         TYPE c VALUE 'U',
    319
      vim_ds_loeschen(1) TYPE c VALUE 'D',             "MF BCSet-DS loeschen
    320
      hinzufuegen(1)     TYPE c VALUE 'A',
    321
      kopieren(1)        TYPE c VALUE 'C',
    322
      profil_hinzufuegen TYPE c VALUE 'R',                      "UFprofile
    323
      transportieren(1)  TYPE c VALUE 'T',
    324
      pruefen(1)         TYPE c VALUE 'P',
    325
      zurueckholen(1)    TYPE c VALUE 'Z',
    326
      task_add(1)        TYPE c VALUE 'E',
    327
      task_del(1)        TYPE c VALUE 'F',
    328
    * Data
    329
      gesamtdaten(1)     TYPE c VALUE 'G',
    330
      auswahldaten(1)    TYPE c VALUE 'X',
    331
    * Mark
    332
      markiert(1)        TYPE c VALUE 'M',
    333
      nicht_markiert(1)  TYPE c VALUE ' ',
    334
    * Mode
    335
      detail_bild(1)     TYPE c VALUE 'D',
    336
      list_bild(1)       TYPE c VALUE 'L',
    337
    * Delete
    338
      geloescht(1)       TYPE c VALUE 'D',
    339
      nicht_geloescht(1) TYPE c VALUE ' ',
    340
    * selected
    341
      by_field_contents(1) TYPE c VALUE 'I',
    342
    * time dependent objects: display mode
    343
      expanded(1)          TYPE c VALUE ' ',
    344
      collapsed(1)         TYPE c VALUE 'C',
    345
      collapsed_displd(1)  TYPE c VALUE 'D',
    346
    * others
    347
      update_geloescht(1) TYPE c VALUE 'Y',
    348
      neuer_geloescht(1)  TYPE c VALUE 'X',
    349
      dummy_geloescht(1)  TYPE c VALUE 'Z',
    350
      neuer_eintrag(1)    TYPE c VALUE 'N',
    351
      uebergehen(1)       TYPE c VALUE '*',
    352
      leer(1)             TYPE c VALUE 'L',
    353
      original(1)         TYPE c VALUE ' ',
    354
      bcset_only(1)       TYPE c VALUE 'B'.      "Show only data from bcset
    355
    356
    CONSTANTS: vim_scrform_domain LIKE dd03p-domname VALUE 'TDFORM',
    357
               vim_delim_date_domain LIKE dd03p-domname VALUE 'DATUM',
    358
               vim_begdate_dtel1 LIKE dd03p-rollname VALUE 'BEGDATUM',
    359
               vim_begdate_dtel2 LIKE dd03p-rollname VALUE 'BEGDA',
    360
               vim_begdate_dtel3 LIKE dd03p-rollname VALUE 'ISH_BEGDT',
    361
               vim_begdate_dtel4 LIKE dd03p-rollname VALUE 'VIM_BEGDA',
    362
               vim_enddate_dtel1 LIKE dd03p-rollname VALUE 'ENDDATUM',
    363
               vim_enddate_dtel2 LIKE dd03p-rollname VALUE 'ENDDA',
    364
               vim_enddate_dtel3 LIKE dd03p-rollname VALUE 'ISH_ENDDT',
    365
               vim_enddate_dtel4 LIKE dd03p-rollname VALUE 'VIM_ENDDA',
    366
               BEGIN OF vim_adrnbr_domains,
    367
                 dom1 LIKE dd03p-domname VALUE 'ADRNR',
    368
                 dom2 LIKE dd03p-domname VALUE 'CADRNR',
    369
                 dom3 LIKE dd03p-domname VALUE 'AD_ADDRNUM',
    370
               END OF vim_adrnbr_domains,
    371
               vim_addr_e071k_master TYPE sobj_name VALUE 'ADDRESS',
    372
                                                    "UF688403/2000
    373
               vim_addr_e071k_master_46 TYPE sobj_name VALUE 'ADDRESS_4.6'.
    374
    "UF688403/2000
    375
    376
    377
    CONSTANTS: vim_sbscr_prog LIKE d020s-prog VALUE 'SAPLSVCM',
    378
               vim_sbscr_dnum LIKE d020s-dnum VALUE '0101',
    379
               vim_locked_in_corr LIKE vimstatus-corr_nbr VALUE 'LOCKED',
    380
               vim_dummy_mainkey TYPE c VALUE 'K',
    381
               vim_no_mkey_not_procsd(1) TYPE c VALUE 'X',
    382
               vim_no_mkey_procsd_patt(2) TYPE c VALUE 'XY',
    383
               vim_no_mkey_not_procsd_patt(2) TYPE c VALUE 'YX',
    384
               vim_source_entry(1) TYPE c VALUE 'O',
    385
               vim_clidep(1) TYPE x VALUE '02',
    386
               vim_auth_initial_check(1) TYPE c VALUE 'I',
    387
               vim_auth_switch_to_update_mode(1) TYPE c VALUE 'U',
    388
               vim_auth_requested_check(1) TYPE c VALUE 'R'.
    389
    390
    CONSTANTS: vim_tb_read_single_form(23) TYPE c
    391
                                      VALUE 'TABLE_READ_SINGLE_ENTRY'.
    392
    DATA:      compl_formname(30) TYPE c VALUE 'COMPL_',
    393
               corr_formname(30) TYPE c VALUE 'CORR_MAINT_',
    394
               BEGIN OF vim_read_single_form,
    395
                prefix(18) TYPE c VALUE 'READ_SINGLE_ENTRY_',
    396
                viewname LIKE tvdir-tabname,
    397
               END OF vim_read_single_form,
    398
               BEGIN OF vim_read_single_form_40,
    399
                prefix(12) TYPE c VALUE 'READ_SINGLE_',
    400
                viewname LIKE tvdir-tabname,
    401
               END OF vim_read_single_form_40.
    402
    403
    * state fields
    404
    DATA: status TYPE state_vector,
    405
    * BEGIN OF STATUS,
    406
    *   TYPE(1)   TYPE C VALUE '2',        " E=Einstufig Z=Zweistufig
    407
    *   ACTION(1) TYPE C VALUE 'U',   " S=Anz., U=Änd., A=Hinzuf.,T=Tr
    408
    *   MODE(1)   TYPE C VALUE 'L',   " L=Liste, D=Detail
    409
    *   DATA(1)   TYPE C VALUE 'G',   " G=gesamt, X=Extract, D=Geloeschte
    410
    *   MARK(1)   TYPE C VALUE ' ',        " M=Markiert,  =Nicht Markiert
    411
    *   DELETE(1) TYPE C VALUE ' ',        " D=Gelöscht,  =Nicht Gelöscht
    412
    *   FILL1(1)  TYPE C VALUE ' ',        "filler, not used
    413
    *   FILL2(1)  TYPE C VALUE ' ',        "     - " -
    414
    * END OF STATUS,
    415
    416
      BEGIN OF title,
    417
       action(1) TYPE c VALUE 'U',    " S=Anzeigen, U=Ändern, H=Hinzufügen
    418
       mode(1)   TYPE c VALUE 'L',         " L=Liste, D=Detail
    419
       data(1)   TYPE c VALUE 'G',    " G=Gesamt, X=Extrakt, D=Geloeschte
    420
      END OF title.
    421
    422
    * data containers and description
    423
    ************************************************************************
    424
    DATA:  vim_for_alignment_only TYPE f,   "never remove!!!
    425
           vim_view_wax TYPE tabl8000,
    426
           vim_ctabkeylen TYPE sy-fleng.    "key length in characters
    427
    428
    * other fields
    429
    DATA:
    430
      vim_ale_keyspec_check(1) TYPE c,     "Flag: .......
    431
      vim_ale_keyspec_objtab TYPE vim_ale_keyspec_objs OCCURS 1
    432
                                  WITH HEADER LINE,
    433
      vim_delim_expa_excluded(1) TYPE c,   "Flag: .....
    434
      vim_auth_event(1) TYPE c,
    435
      vim_auth_action(1) TYPE c,
    436
      vim_auth_rc LIKE sy-subrc, "0-ok, 4-show only, 8-no_authority->exit
    437
      vim_auth_msgid LIKE sy-msgid,
    438
      vim_auth_msgno LIKE sy-msgno,
    439
      vim_auth_msgv1 LIKE sy-msgv1,
    440
      vim_auth_msgv2 LIKE sy-msgv2,
    441
      vim_auth_msgv3 LIKE sy-msgv3,
    442
      vim_auth_msgv4 LIKE sy-msgv4,
    443
      vim_no_warning_for_cliindep(1) TYPE c, "Flag: ......
    444
      vim_begdate_is_ro(1) TYPE c, "Flag: nokey-datefield is readonly
    445
      vim_addr_field_selection LIKE addr1_fsel-fisel, "for ADDR_DIALOG_PREPA
    446
      vim_addr_keywords LIKE addr1_keyw,   "  - " -
    447
      vim_addr_titlebar LIKE sy-title,     "  - " -
    448
      vim_addr_chng_deflt_comm_types LIKE addr_comm,  "  - " -
    449
      vim_addr_frame_text LIKE addr_frame, "  - " -
    450
      vim_addr_excluded_functions LIKE vimexclfun     "  - " -
    451
                                  OCCURS 0 WITH HEADER LINE,
    452
      vim_upgr_address_number LIKE addr1_sel-addrnumber,
    453
      vim_skip_adr_maint TYPE xfeld,                            "UF120400
    454
      vim_texttab_is_ro(1) TYPE c,
    455
      vim_system_type(10) TYPE c,          "SAP/CUSTOMER
    456
      vim_nbr_of_scrfrm_pointers TYPE i,
    457
      vim_enq_s_u_rc LIKE sy-subrc,
    458
      vim_addr_e071k_tab LIKE TABLE OF e071k INITIAL SIZE 0,
    459
      vim_addr_e071_tab LIKE TABLE OF e071 INITIAL SIZE 0,
    460
      vim_tsadrv LIKE tsadrv,              "Addresses: TSADRV-entry
    461
      vim_addr_group LIKE tsadrv-addr_group,
    462
      vim_addr_basetable LIKE dd03l-tabname,
    463
      vim_addr_bastab_field LIKE dd03l-fieldname,
    464
      vim_show_consistency_alert(1) TYPE c VALUE 'X',
    465
      vim_import_testmode(1) TYPE c,
    466
      vim_import_forcemode(1) TYPE c,
    467
      vim_import_profile(1) TYPE c,        "Profilimport
    468
      vim_profile_errorkey LIKE SCPRACPR-TABLEKEY,
    469
      vim_abort_saving(1) TYPE c,          " 'X' -> Sichern abbrechen
    470
      vim_import_no_message(1) TYPE c,
    471
      vim_single_entry_function TYPE vimty_tcode,
    472
      vim_single_entry_ins_key_input LIKE tvdir-flag,
    473
      vim_import_mode_active(1) TYPE c,
    474
      vim_last_logged_message TYPE vimty_message,
    475
      vim_copy_call_level TYPE i,
    476
      vim_nr_entries_to_copy TYPE i,       "SW 510129/1999
    477
      vim_no_dialog(1) TYPE c,             "flag:......
    478
      vim_modify_screen(1) TYPE c,         "Modul-lokales Flag
    479
      vim_object LIKE vimdesc-viewname,
    480
      vim_objfield LIKE vimnamtab-viewfield,
    481
      vim_results_of_ext_mod LIKE vimmodres,
    482
      vim_called_by_cluster(1) TYPE c,
    483
      vim_calling_cluster TYPE vcl_name,
    484
      vim_enqueue_range(1) TYPE c,
    485
      vim_view_name LIKE vimdesc-viewname,
    486
      replace_mode(1) TYPE c,
    487
      vim_restore_mode(1) TYPE c,
    488
      vim_external_mode(1) TYPE c,
    489
      vim_extcopy_mode(1) TYPE c,
    490
      vim_special_mode(1) TYPE c,          "O-reset,R-replace,U-upgrade
    491
      vim_special_adjust_mode(1) TYPE c,
    492
      vim_adjust_middle_level_mode(1) TYPE c,
    493
      maint_mode TYPE c,
    494
      update_flag(1) TYPE c VALUE ' ',
    495
      adrnbr_roflag(1) TYPE c VALUE ' ',
    496
      block_sw    TYPE c VALUE ' ',
    497
      block_1     LIKE sy-tabix,
    498
      block_2     LIKE sy-tabix,
    499
      liste       LIKE d020s-dnum,
    500
      detail      LIKE d020s-dnum,
    501
      returncode  LIKE ocus-returncode,
    502
      viewtitle   LIKE ocus-tabtitle,
    503
      tablen      LIKE ocus-tablen,
    504
      keylen      LIKE ocus-keylen,
    505
      anzahl      TYPE i,
    506
      answer(1)   TYPE c,
    507
      neuer(1)    TYPE c VALUE 'N',
    508
      ok_code     LIKE sy-ucomm,           "(4) type c,    SW, wg Controls
    509
      function    LIKE sy-ucomm,           "(4) type c,
    510
      relation(2) TYPE c VALUE 'EQ',
    511
      counter LIKE sy-fdpos,
    512
      mark_extract TYPE i,
    513
      mark_total   TYPE i,
    514
      l LIKE sy-tabix,
    515
      o TYPE i,
    516
      pos TYPE i,
    517
      refcnt TYPE i,
    518
      newcnt TYPE i,
    519
      orgcnt TYPE i,
    520
      last_view_info LIKE dd02v-tabname,
    521
      vim_last_objh_view LIKE dd02v-tabname,
    522
      vim_act_dynp_view LIKE dd02v-tabname,
    523
      vim_ale_edit_lock(1) TYPE c,                              "flag:.....
    524
      vim_ale_msgid LIKE sy-msgid,
    525
      vim_ale_msgno LIKE sy-msgno,
    526
      vim_ale_msgv1 LIKE sy-msgv1,
    527
      vim_ale_msgv2 LIKE sy-msgv2,
    528
      vim_ale_msgv3 LIKE sy-msgv3,
    529
      vim_ale_msgv4 LIKE sy-msgv4,
    530
      last_corr_number LIKE e070-trkorr,
    531
      fill_extr_first_proc TYPE c,       "flag: Fill_extract first time proc
    532
    * F(30) TYPE C,  "4.0 name extension "max. Länge ABAP-Feldnamen: 30 Zchn
    533
      f LIKE d021s-fnam,
    534
    * SUBSETID_RECEIVED TYPE C,          "flag: subset ID already received
    535
      e071k_tab_modified TYPE c,                                "flag:
    536
      sel_field_for_replace(30) TYPE c,    "field selected for replace
    537
      sel_field_for_replace_l(30) TYPE c,  "field selected for replace long
    538
    * CORR_NBR LIKE TADIR-KORRNUM,       "current corr.nbr
    539
      corr_nbr LIKE e070-trkorr,           "current corr.nbr
    540
      master_type LIKE tadir-object VALUE 'TABU', "master object to transp.
    541
      master_name LIKE tadir-obj_name,     "name of object to transport
    542
      vim_client_state LIKE t000-cccoractiv, " state of client for transport
    543
      get_corr_keytab(1) TYPE c,           "Flag: keytab is to read
    544
      last_ext_modif_view LIKE tvdir-tabname,                   "flag:
    545
      deta_mark_safe(1) TYPE c,
    546
      ignored_entries_exist(1) TYPE c,                          "flag:
    547
      corr_action(1) TYPE c,             "current action for UPDATE_CORR_KEY
    548
      replace_texttable_field(1) TYPE c, "flag: replace function for textfld
    549
      nbrd_texts_alr_read(1) TYPE c,     "flag: texts from SVIM already read
    550
      svim_text_001(35) TYPE c,            "numbered text of SVIM
    551
      svim_text_002(35) TYPE c,            "numbered text of SVIM
    552
      svim_text_003(35) TYPE c,            "numbered text of SVIM
    553
      svim_text_004(35) TYPE c,            "numbered text of SVIM
    554
      svim_text_005(35) TYPE c,            "numbered text of SVIM
    555
      svim_text_006(35) TYPE c,            "numbered text of SVIM
    556
      svim_text_007(35) TYPE c,            "numbered text of SVIM
    557
      svim_text_008(35) TYPE c,            "numbered text of SVIM
    558
      svim_text_009(35) TYPE c,            "numbered text of SVIM
    559
      svim_text_010(35) TYPE c,            "numbered text of SVIM
    560
      svim_text_011(35) TYPE c,            "numbered text of SVIM
    561
      svim_text_012(35) TYPE c,            "numbered text of SVIM
    562
      svim_text_013(35) TYPE c,            "numbered text of SVIM
    563
      svim_text_014(35) TYPE c,            "numbered text of SVIM
    564
      svim_text_015(35) TYPE c,            "numbered text of SVIM
    565
      svim_text_016(35) TYPE c,            "numbered text of SVIM
    566
      svim_text_017(35) TYPE c,            "numbered text of SVIM
    567
      svim_text_018(35) TYPE c,            "numbered text of SVIM
    568
      svim_text_019(35) TYPE c,            "numbered text of SVIM
    569
      svim_text_020(35) TYPE c,            "numbered text of SVIM
    570
      svim_text_021(35) TYPE c,            "numbered text of SVIM
    571
      svim_text_022(35) TYPE c,            "numbered text of SVIM
    572
      svim_text_023(35) TYPE c,            "numbered text of SVIM
    573
      svim_text_024(35) TYPE c,            "numbered text of SVIM
    574
      svim_text_025(35) TYPE c,            "numbered text of SVIM
    575
      svim_text_026(35) TYPE c,            "numbered text of SVIM
    576
      svim_text_027(13) TYPE c,            "numbered text of SVIM
    577
      svim_text_028(06) TYPE c,            "numbered text of SVIM
    578
      svim_text_029(20) TYPE c,            "numbered text of SVIM
    579
      svim_text_030(35) TYPE c,            "numbered text of SVIM
    580
      svim_text_031(35) TYPE c,            "numbered text of SVIM
    581
      svim_text_032(35) TYPE c,            "numbered text of SVIM
    582
      svim_text_033(35) TYPE c,            "numbered text of SVIM
    583
      svim_text_034(35) TYPE c,            "numbered text of SVIM
    584
      svim_text_035(35) TYPE c,            "numbered text of SVIM
    585
      svim_text_036(35) TYPE c,            "numbered text of SVIM
    586
      svim_text_037(35) TYPE c,            "numbered text of SVIM
    587
      svim_text_038(35) TYPE c,            "numbered text of SVIM
    588
      svim_text_039(35) TYPE c,            "numbered text of SVIM
    589
      svim_text_040(35) TYPE c,            "numbered text of SVIM
    590
      svim_text_041(20) TYPE c,            "numbered text of SVIM
    591
      svim_text_042(20) TYPE c,            "numbered text of SVIM
    592
      svim_text_043(40) TYPE c,            "numbered text of SVIM
    593
      svim_text_044(40) TYPE c,            "numbered text of SVIM
    594
      svim_text_045(20) TYPE c,            "numbered text of SVIM
    595
      svim_text_046(20) TYPE c,            "numbered text of SVIM
    596
      svim_text_104(19) TYPE c,            "numbered text of SVIM
    597
      svim_text_p01(20) TYPE c,            "numbered text of SVIM
    598
      svim_text_p02(20) TYPE c,            "numbered text of SVIM
    599
      svim_text_p03(20) TYPE c,            "numbered text of SVIM
    600
      svim_text_prb(40) TYPE c,            "numbered text of SVIM
    601
      svim_text_prc(40) TYPE c,            "numbered text of SVIM
    602
      svim_text_pre(40) TYPE c,            "numbered text of SVIM
    603
      svim_text_prf(70) TYPE c,            "numbered text of SVIM
    604
      svim_text_prg(70) TYPE c,            "numbered text of SVIM
    605
      svim_text_pri(40) TYPE c,            "numbered text of SVIM
    606
      svim_text_prj(40) TYPE c,            "numbered text of SVIM
    607
      vim_marked(1) TYPE c,                "mark-checkbox field
    608
      vim_frame_field LIKE dd25v-ddtext, "name of frame (subset fields only)
    609
      vim_position_info(42) TYPE c,        "field for 'entry x of y'
    610
      vim_position_info_mask(42) TYPE c, "mask for field for 'entry x of y'
    611
      vim_fpool_name LIKE trdir-name,
    612
      vim_posi_push(25) TYPE c,          "push button to posit on list scrn
    613
      temporal_delimitation_happened TYPE c,                    "flag: ....
    614
      vim_mkey_after_exists(1) TYPE c,                          "flag: ....
    615
      vim_no_mainkey_exists(1) TYPE c,                          "flag: ....
    616
      nbr_of_added_dummy_entries TYPE i,   "for function NEWL: ...
    617
      vim_next_screen LIKE tvdir-liste,    "next screen number
    618
      vim_leave_screen(1) TYPE c,          "flag: leave screen necessary
    619
      vim_prtfky_assigned(1) TYPE c,                            "flag...
    620
    * VIM_EXTRACT_MODIFIED(1) TYPE C,    "flag...
    621
      vim_temp_delim_alr_checked(1) TYPE c,                     "flag...
    622
      vim_ignore_collapsed_mainkeys(1) TYPE c,                  "flag...
    623
      vim_corr_obj_viewname LIKE tvdir-tabname,
    624
      vim_last_source_system LIKE tadir-srcsystem,
    625
      vim_slct_functiontext(20) TYPE c,
    626
      vim_comp_menue_text(20) TYPE c,
    627
      vim_key_alr_checked(1) TYPE c,       "flag: .....
    628
      vim_keyrange_alr_checked(1) TYPE c,  "flag: .....
    629
      vim_prt_fky_flds_updated(1) TYPE c,  "flag: .....
    630
      vim_exit_11_12_active(1) TYPE c,     "flag: .....
    631
      BEGIN OF vim_default_rfc_dest,       "global vector for default
    632
        viewname LIKE tvdir-tabname,       "RFC-destination
    633
        rfcdest LIKE rfcdes-rfcdest,
    634
      END OF vim_default_rfc_dest,
    635
      BEGIN OF vim_default_upgr_clnt,      "global vector for default
    636
        viewname LIKE tvdir-tabname,       "client for upgrade
    637
        client LIKE sy-mandt,
    638
      END OF vim_default_upgr_clnt,
    639
      vim_title_name LIKE vimdesc-ddtext,
    640
      vim_tabctrl_active(1) TYPE c,
    641
      vim_tc_cols TYPE cxtab_column,
    642
      vim_local_char1(1) TYPE c.           "Modul-lok. Hilfsvariable
    643
    644
    * data for time-dependent routines (VCX)
    645
    FIELD-SYMBOLS: <key_date> TYPE ANY.
    646
    DATA: BEGIN OF d0001_field_tab OCCURS 10,
    647
            begin TYPE d, end TYPE d, mark(1) TYPE c,
    648
          END OF d0001_field_tab,
    649
          d0001_cursor TYPE i,
    650
          BEGIN OF d0001_status,
    651
            type(1)   TYPE c,
    652
            action(1) TYPE c,
    653
            mode(1)   TYPE c,
    654
            data(1)   TYPE c,
    655
            mark(1)   TYPE c,
    656
            delete(1) TYPE c,
    657
            fill1(1)  TYPE c,              "filler, not used
    658
            fill2(1)  TYPE c,                                   "     - " -
    659
            spec_mode TYPE c,
    660
          END OF d0001_status,
    661
          d0001_input_flag(1) TYPE c,
    662
          vim_mainkey TYPE vim_tabkey_c,   "field for mainkey (prt. forkey)
    663
          current_date TYPE d,
    664
          date_to_delimit TYPE d,
    665
          date_to_posit TYPE d,
    666
          vim_old_viewkey TYPE vim_tabkey_c,
    667
          date_safe TYPE d,
    668
          vim_old_st_selected(1) TYPE c,
    669
          BEGIN OF vim_memory_id_1,  "memory-ID for vim_collapsed_entries
    670
            viewname LIKE vimdesc-viewname,
    671
            user     LIKE sy-uname,
    672
          END OF vim_memory_id_1,
    673
          BEGIN OF vim_memory_id_2,  "memory-ID for date subscreen data
    674
            viewname LIKE vimdesc-viewname,
    675
            user     LIKE sy-uname,
    676
          END OF vim_memory_id_2,
    677
          vim_date_mask(8) TYPE c VALUE '++++++++',
    678
          vim_coll_mkeys_first(1) TYPE c,
    679
          vim_merge_begin TYPE i,
    680
          vim_merge_end TYPE i,
    681
          vim_begdate_entered(1) TYPE c,
    682
          BEGIN OF vim_begdate_name,
    683
            tabname LIKE vimdesc-viewname,
    684
            dash(1) TYPE c VALUE '-',
    685
            fieldname LIKE vimnamtab-viewfield,
    686
          END OF  vim_begdate_name,
    687
          BEGIN OF vim_enddate_name,
    688
            tabname LIKE vimdesc-viewname,
    689
            dash(1) TYPE c VALUE '-',
    690
            fieldname LIKE vimnamtab-viewfield,
    691
          END OF  vim_enddate_name,
    692
          vim_last_coll_mainkeys_ix TYPE i,
    693
          vim_coll_mainkeys_beg_ix TYPE i VALUE 1,
    694
          check_all_keyr_scnd_time(1) TYPE c, "Flag: .........
    695
          vim_tdep_title(19) type c.
    696
    CONSTANTS: vim_init_date TYPE d VALUE '00000000'.
    697
    698
    699
    * data for navigation within internal tables
    700
    DATA:
    701
      aktuell(10) TYPE n,
    702
      maximal(10) TYPE n,
    703
      index     LIKE sy-tabix,
    704
      exind     LIKE sy-tabix,
    705
      mandant   LIKE sy-mandt,
    706
      curline   LIKE sy-tabix,             "Cursor-Position in Tab.
    707
      curpage   LIKE sy-tabix VALUE 1,     "aktuelle Seite
    708
      firstline LIKE sy-tabix VALUE 1,
    709
      nextline  LIKE sy-tabix VALUE 1,
    710
                                "Pos. erste Zeile der akt. Seite in Tab.
    711
      anz_lines LIKE sy-tabix,             "Anzahl vorhandener Tab.-Zeilen
    712
      anz_pages LIKE sy-tabix,             "Anzahl vorhandener Tab.-Seiten
    713
      maxlines  LIKE sy-tabix,             "Anzahl vorhandener Tab.-Zeilen
    714
      destpage  LIKE sy-tabix,  "Seite, auf die geblättert werden soll
    715
      looplines LIKE sy-tabix.  "Anzahl Step-loop-Zeilen im Dynpro
    716
    717
    * declarations for activating bc-sets                 "UF profile
    718
    TYPES: BEGIN OF vim_pr_tab_type,
    719
                    recnumber LIKE scprvals-recnumber,
    720
                    action TYPE char1,
    721
                    keys_fix,
    722
                    align TYPE f,
    723
                    keys(1024) TYPE x,
    724
                    txt_in_sy_langu_exsts TYPE xfeld,
    725
                    align2 TYPE f,
    726
                    textrecord TYPE vim_line_ul,
    727
           END OF vim_pr_tab_type.
    728
    TYPES: BEGIN OF vim_pr_fields_type,
    729
                    recnumber LIKE scprvals-recnumber,
    730
                    keys_fix(1),
    731
                    fields TYPE vimty_fields_tab_type,
    732
           END OF vim_pr_fields_type,
    733
           vimsellist_type TYPE TABLE OF vimsellist,
    734
           BEGIN OF  bc_key_type,   "HCG like e072k but tabkey 255
    735
              trkorr like e071k-trkorr,
    736
              pgmid like e071k-pgmid,
    737
              object like e071k-object,
    738
              objname like e071k-objname,
    739
              as4pos like e071k-as4pos,
    740
              mastertype like e071k-mastertype,
    741
              mastername like e071k-mastername,
    742
              viewname like e071k-viewname,
    743
              objfunc like e071k-objfunc,
    744
              bc_tabkey like scpractr-tabkey,
    745
              sortflag like e071k-sortflag,
    746
              flag like e071k-flag,
    747
              lang like e071k-lang,
    748
              activity like e071k-activity,
    749
           END OF bc_key_type,
    750
           bc_keytab_type type table of bc_key_type,
    751
    * For managing entries coming from bc-sets
    752
           vim_bc_tab_logs TYPE TABLE OF scpractr,
    753
           vim_bc_del_records TYPE TABLE OF scprreca,
    754
           vim_bc_values_lang_type TYPE TABLE OF scpr_vall.
    755
    DATA:  vim_pr_fields TYPE TABLE OF vim_pr_fields_type INITIAL SIZE 15,
    756
           vim_pr_fields_wa TYPE vim_pr_fields_type,
    757
           vim_coming_from_img,            "'Y': coming from IMG, 'N': not
    758
           vim_pr_tab TYPE TABLE OF vim_pr_tab_type,
    759
           vim_profile_values TYPE TABLE OF scpr_vals INITIAL SIZE 50,
    760
           vim_bc_entry_list TYPE vimty_bc_entry_list_ttype,
    761
           vim_bc_entry_list_wa TYPE vimty_bc_entry_list_type,
    762
           vim_pr_activating, vim_bc_keys_fix(3),
    763
           vim_set_from_bc_pbo,
    764
           vim_bc_chng_allowed TYPE xfeld, "fix bc-set values modifiable
    765
           vim_pr_records TYPE i.    "number of activated profile records
    766
    DATA:  vim_actopts TYPE SCPRACTOPT, "Activation options at BC-SET import
    767
           vim_bcset_id TYPE scpr_id.                        "Name of BC-SET
    768
    * field attributes in profiles
    769
    CONSTANTS: vim_profile_fix(3)    VALUE 'FIX',
    770
               vim_profile_fixkey(3) VALUE 'FKY',
    771
               vim_profile_use(3)    VALUE 'USE',
    772
               vim_profile_key(3)    VALUE 'KEY',
    773
               vim_profile_usekey(3) VALUE 'UKY',
    774
    * for flag KEYS_FIX
    775
               vim_pr_error    VALUE 'E',                       "key error
    776
               vim_pr_open     VALUE 'O',  "no key field fix
    777
               vim_pr_some_fix VALUE 'S',                       "some fix
    778
               vim_pr_all_fix  VALUE 'A',  "all key fields fix
    779
    * others
    780
               vim_pr_into_view VALUE 'V',
    781
               vim_profile_found VALUE 'X',
    782
               vim_pr_imp_unchecked VALUE 'Y',
    783
               vim_writing_bc_imp_log VALUE 'W'.
    784
    DATA:      vim_pr_stat_txt_me LIKE smp_dyntxt, "dynamic texts for dynpro
    785
               vim_pr_stat_txt_ch LIKE smp_dyntxt,
    786
               vim_pr_stat_txt_ta LIKE smp_dyntxt,
    787
               vim_pr_stat_txt_or LIKE smp_dyntxt.
    788
    * internal tables
    789
    DATA: vim_adj_header LIKE vimdesc OCCURS 1,
    790
          vim_adj_namtab LIKE vimnamtab OCCURS 0,
    791
          vim_adj_dbasellist LIKE vimsellist OCCURS 0.
    792
    DATA: vim_locked_addresses LIKE SORTED TABLE OF adrc-addrnumber
    793
                               WITH UNIQUE KEY table_line
    794
                               INITIAL SIZE 10
    795
                               WITH HEADER LINE.
    796
    797
    DATA: BEGIN OF vim_addresses_to_save OCCURS 10,
    798
            viewname LIKE tvdir-tabname,
    799
            addrnumber LIKE adrc-addrnumber,
    800
            handle LIKE addr1_dia-handle,
    801
          END OF vim_addresses_to_save.
    802
    803
    DATA: BEGIN OF textpool_tab OCCURS 30.                      "textpool
    804
            INCLUDE STRUCTURE textpool.
    805
    DATA: END OF textpool_tab.
    806
    807
    DATA: BEGIN OF exclude_tab OCCURS 10,  "fields to exclude from repl
    808
            field LIKE d021s-fnam,         "functions (old version)
    809
          END OF exclude_tab.
    810
    811
    DATA: excl_rpl_tab TYPE vimexclfldtab  "fields to exclude from repl
    812
            WITH HEADER LINE,
    813
          excl_que_tab TYPE vimexclfldtab  "fields to exclude from query
    814
            WITH HEADER LINE,
    815
          excl_pos_tab TYPE vimexclfldtab  "fields to exclude from posit
    816
            WITH HEADER LINE,
    817
          vim_excl_xxx_tab_safe TYPE vimexclfldtabs "safe for all excl tabs
    818
            WITH HEADER LINE.
    819
    820
    DATA: BEGIN OF vim_corr_objtab OCCURS 10.      "transport objects on the
    821
            INCLUDE STRUCTURE e071.        "vim-object level
    822
    DATA:   lockable(1) TYPE c,
    823
          END OF vim_corr_objtab.
    824
    825
    DATA: BEGIN OF vim_corr_entryobjtab OCCURS 10. "transport objects on the
    826
            INCLUDE STRUCTURE ko200.       "vim-obj-entries level
    827
    DATA:   lockable(1) TYPE c,
    828
          END OF vim_corr_entryobjtab.
    829
    830
    DATA: BEGIN OF e071k_tab OCCURS 100.   "keys of changed entries
    831
            INCLUDE STRUCTURE e071k.       "(used as parameter for VIEWPROC)
    832
    DATA: END OF e071k_tab.
    833
    834
    DATA: vim_alv_fcat TYPE slis_t_fieldcat_alv, "ABAP List Viewer
    835
    *      vim_alv_excluding TYPE slis_t_extab,
    836
    *      vim_alv_special_groups TYPE slis_t_sp_group_alv,
    837
    *      vim_alv_sort TYPE slis_t_sortinfo_alv,
    838
    *      vim_alv_sel_hide TYPE slis_sel_hide_alv,
    839
          vim_alv_events TYPE slis_t_event,
    840
    *      vim_alv_event_exit TYPE slis_t_event_exit,
    841
          vim_alv_print TYPE slis_print_alv,
    842
          vim_alv_layout TYPE slis_layout_alv,
    843
          vim_alv_variant LIKE disvariant,
    844
          vim_var_save, vim_var_default, vim_alv_value_length TYPE intlen,
    845
          vim_alv_called_by TYPE char30,
    846
          alv_value_tab TYPE TABLE OF tabl8000 initial size 500.
    847
    *DATA: BEGIN OF alv_value_tab OCCURS 1,
    848
    *      line(4096),
    849
    *      END OF alv_value_tab.
    850
    851
    DATA: align_value_tab TYPE f,
    852
          BEGIN OF value_tab OCCURS 1,     "Printing with ALV ==>
    853
            line(4096),                                         "
    854
          END OF value_tab.                                     "obsolete
    855
    856
    DATA: BEGIN OF structure_table OCCURS 20.   "Printing with ALV ==>
    857
            INCLUDE STRUCTURE dfies.                            "
    858
    DATA: END OF structure_table.                               "obsolete
    859
    860
    DATA: vim_list_header TYPE slis_t_listheader. "List header for ALV-list
    861
    862
    DATA: vim_delim_entries TYPE STANDARD TABLE  "indizes of delim. entries
    863
            OF vim_delim_entr_tl WITH DEFAULT KEY INITIAL SIZE 10
    864
            WITH HEADER LINE.
    865
    866
    DATA: BEGIN OF vim_sval_tab OCCURS 1.  "fields for POPUP_GET_VALUES
    867
            INCLUDE STRUCTURE sval.
    868
    DATA: END OF vim_sval_tab.
    869
    870
    DATA: vim_collapsed_mainkeys TYPE STANDARD TABLE  "collapsed mainkeys
    871
            OF vim_collapsed_mkeys_tl WITH DEFAULT KEY INITIAL SIZE 1
    872
            WITH HEADER LINE.
    873
    874
    DATA: vim_merged_entries TYPE STANDARD TABLE      "merged entries
    875
            OF vim_merged_entr_tl WITH DEFAULT KEY INITIAL SIZE 1
    876
            WITH HEADER LINE.
    877
    878
    DATA: BEGIN OF vim_copied_indices OCCURS 10,
    879
            ix LIKE sy-tabix, ex_ix LIKE sy-tabix, level TYPE i,
    880
          END OF vim_copied_indices.
    881
    882
    DATA: vim_wheretab LIKE vimwheretb OCCURS 10,
    883
          imp_results TYPE slctr_tables_keys WITH HEADER LINE.
    884
    885
    * Datencontainer für Texttabelle in mehreren Sprachen     "SW Texttransl
    886
    DATA: vim_texttab_container TYPE vim_tabdata_record OCCURS 0
    887
          WITH HEADER LINE, "da 'read table .. assigning <fs>' nicht unterst
    888
          vim_texttab_container_index LIKE sy-tabix,
    889
          vim_d0100_fdescr_ini TYPE vimty_screen_fdescr_tab.
    890
    891
    RANGES: mark_functions FOR sy-ucomm,   "fct. which need marked entries
    892
            adrnbr_domain FOR sadr-adrnr,  "domains for address numbers
    893
            exted_functions FOR sy-ucomm,  "fct. used by external edit
    894
            vim_guid_domain FOR vimnamtab-domname, "domains for GUIDs
    895
            vim_begda_types FOR dd03p-rollname,  "types for time-dependence
    896
            vim_endda_types FOR dd03p-rollname.  "types for time-dependence
    897
    898
    * constants for documentation 'User Instructions'
    899
    CONSTANTS: vim_docu_prog LIKE iwreferenc-programm VALUE 'SAPLSVIM',
    900
               vim_docu_extension LIKE iwreferenc-spec_text
    901
                       VALUE 'SM30 USER INTERFACE'.
    902
    903
    * Konstanten für Dynpro
    904
    CONSTANTS: vim_template_dynpro TYPE x VALUE '20',  " Vorlagedynpro
    905
               vim_standard_dynpro TYPE x VALUE 'C0'.  " Komprimierung ein
    906
    907
    * Organisation criteria (linedependent authorisations)
    908
    DATA:  vim_oc_inst TYPE REF TO cl_viewfields_org_crit.
    909
    910
    * Backup for DBA_SELLIST
    911
    DATA  vim_dba_sel_kept TYPE svorg_vimsellist_type.