1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
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 |