*&--------------------------------------------------------------------* *& Form TEMP_DELIM_UNDELETE * *&--------------------------------------------------------------------* * process undelete of non-selected entries due to temp. delimitation * *&--------------------------------------------------------------------* * TDU_ENDDA --> enddate to display during warning * * TDU_ACT --> value of action flag * * TDU_ACT_TXT --> value of action flag for text table * * TDU_IX --> index of entry to modify in TOTAL * * COUNTER <-> (global) number of undeleted entries * * SY-SUBRC <-- (global) 0 - curr. entry undeleted, others - new entry* *&--------------------------------------------------------------------* FORM temp_delim_undelete USING value(tdu_endda) value(tdu_begda) tdu_act tdu_act_txt tdu_ix. LOCAL: total. DATA: trans_pattern(6) TYPE c, rec TYPE i, ix TYPE i. CLEAR tdu_ix. READ TABLE total WITH KEY BINARY SEARCH. IF sy-subrc EQ 0. "new entry already exists - must be a deleted "by previous temporal delimitation one IF EQ geloescht OR EQ neuer_geloescht OR EQ update_geloescht. tdu_ix = sy-tabix. READ TABLE extract WITH KEY . rec = sy-subrc. ix = sy-tabix. IF sy-subrc EQ 0 AND EQ markiert. SUBTRACT 1 FROM mark_extract. ELSE. MOVE tdu_endda TO . IF vim_special_mode EQ vim_reset. MESSAGE i120(sv)."Es werden weitere Einträge zurückgeholt ELSE. MESSAGE w120(sv)."Es werden weitere Einträge zurückgeholt ENDIF. ENDIF. ADD 1 TO counter. IF rec EQ 0. "read table extract subrc sy-fdpos = vim_delim_entries-index3. vim_delim_entries-index3 = ix. APPEND vim_delim_entries. vim_delim_entries-index3 = sy-fdpos. ENDIF. MOVE: geloescht TO trans_pattern, original TO trans_pattern+1(1), neuer_geloescht TO trans_pattern+2(1), neuer_eintrag TO trans_pattern+3(1), update_geloescht TO trans_pattern+4(1), aendern TO trans_pattern+5(1). TRANSLATE USING trans_pattern. MOVE TO tdu_act. IF x_header-bastab NE space AND x_header-texttbexst NE space. TRANSLATE USING trans_pattern. MOVE TO tdu_act_txt. ENDIF. IF tdu_begda NE . "udl entry will be modified MOVE: original TO trans_pattern, aendern TO trans_pattern+1. TRANSLATE: tdu_act USING trans_pattern, tdu_act_txt USING trans_pattern. ENDIF. ENDIF. "current entry is a deleted one CLEAR sy-subrc. ENDIF. "sy-subrc eq 0 ENDFORM. "temp_delim_undelete