Eigenschaften | Quelltext
Titel | TEMP_DELIM_UNDELETE |
Originalsprache | DE | Deutsch
Erstellt | 27.10.1998 |  | SAP |
Letzte Änderung | 13.11.2001 |  | SAP |
Status | aktiv |
Attribute
Typ | Include-Programm |
Status | Testprogramm |
Anwendung | Basis (System) |
Paket | SVIM | Basis Viewmaintenance
| Editorsperre
txt
    1
    *&--------------------------------------------------------------------*
    2
    *&      Form  TEMP_DELIM_UNDELETE                                     *
    3
    *&--------------------------------------------------------------------*
    4
    * process undelete of non-selected entries due to temp. delimitation  *
    5
    *&--------------------------------------------------------------------*
    6
    * TDU_ENDDA --> enddate to display during warning                     *
    7
    * TDU_ACT   --> value of action flag                                  *
    8
    * TDU_ACT_TXT --> value of action flag for text table                 *
    9
    * TDU_IX    --> index of entry to modify in TOTAL                     *
    10
    * COUNTER   <-> (global) number of undeleted entries                  *
    11
    * SY-SUBRC  <-- (global) 0 - curr. entry undeleted, others - new entry*
    12
    *&--------------------------------------------------------------------*
    13
    FORM temp_delim_undelete USING value(tdu_endda) value(tdu_begda)
    14
                                   tdu_act tdu_act_txt tdu_ix.
    15
      LOCAL: total.
    16
      DATA: trans_pattern(6) TYPE c, rec TYPE i, ix TYPE i.
    17
    18
      CLEAR tdu_ix.
    19
      READ TABLE total WITH KEY <vim_xtotal_key> BINARY SEARCH.
    20
      IF sy-subrc EQ 0. "new entry already exists - must be a deleted
    21
        "by previous temporal delimitation one
    22
        IF <action> EQ geloescht OR <action> EQ neuer_geloescht OR
    23
           <action> EQ update_geloescht.
    24
          tdu_ix = sy-tabix.
    25
          READ TABLE extract WITH KEY <vim_xtotal_key>.
    26
          rec = sy-subrc. ix = sy-tabix.
    27
          IF sy-subrc EQ 0 AND <xact> EQ markiert.
    28
            SUBTRACT 1 FROM mark_extract.
    29
          ELSE.
    30
            MOVE tdu_endda TO <vim_enddate_mask>.
    31
            IF vim_special_mode EQ vim_reset.
    32
              MESSAGE i120(sv)."Es werden weitere Einträge zurückgeholt
    33
            ELSE.
    34
              MESSAGE w120(sv)."Es werden weitere Einträge zurückgeholt
    35
            ENDIF.
    36
          ENDIF.
    37
          ADD 1 TO counter.
    38
          IF rec EQ 0.                     "read table extract subrc
    39
            sy-fdpos = vim_delim_entries-index3.
    40
            vim_delim_entries-index3 = ix.
    41
            APPEND vim_delim_entries.
    42
            vim_delim_entries-index3 = sy-fdpos.
    43
          ENDIF.
    44
          MOVE: geloescht TO trans_pattern,
    45
                  original TO trans_pattern+1(1),
    46
                neuer_geloescht TO trans_pattern+2(1),
    47
                  neuer_eintrag TO trans_pattern+3(1),
    48
                update_geloescht TO trans_pattern+4(1),
    49
                  aendern TO trans_pattern+5(1).
    50
          TRANSLATE <action> USING trans_pattern.
    51
          MOVE <action> TO tdu_act.
    52
          IF x_header-bastab NE space AND
    53
             x_header-texttbexst NE space.
    54
            TRANSLATE <action_text> USING trans_pattern.
    55
            MOVE <action_text> TO tdu_act_txt.
    56
          ENDIF.
    57
          IF tdu_begda NE <vim_begdate>.   "udl entry will be modified
    58
            MOVE: original TO trans_pattern, aendern TO trans_pattern+1.
    59
            TRANSLATE: tdu_act USING trans_pattern,
    60
                       tdu_act_txt USING trans_pattern.
    61
          ENDIF.
    62
        ENDIF.                             "current entry is a deleted one
    63
        CLEAR sy-subrc.
    64
      ENDIF.                               "sy-subrc eq 0
    65
    ENDFORM.                               "temp_delim_undelete