1 |
2 |
3 |
4 |
5 |
6 | FORM fill_extract. |
7 | DATA: rec LIKE sy-subrc VALUE 9, total_safe(4096) TYPE c, indei TYPE i, |
8 | hf TYPE i VALUE 1. |
9 | FIELD-SYMBOLS: <begdate_mask>. |
10 | REFRESH: extract. CLEAR extract. |
11 | CLEAR vim_mainkey. |
12 | TRANSLATE vim_no_mainkey_exists USING vim_no_mkey_not_procsd_patt. |
13 | IF x_header-delmdtflag NE space. |
14 | ASSIGN <vim_new_begdate> TO <begdate_mask> TYPE 'C'. |
15 | ENDIF. |
16 | LOOP AT total. |
17 | PERFORM normal_select. |
18 | CHECK sy-subrc EQ 0. |
19 | IF x_header-delmdtflag NE space AND |
20 | vim_ignore_collapsed_mainkeys EQ space. |
21 | PERFORM check_and_modify_mainkey_tab USING rec. |
22 | IF rec NE 0. |
23 | vim_coll_mainkeys_beg_ix = vim_last_coll_mainkeys_ix. |
24 | ENDIF. |
25 | CHECK rec LT 8. |
26 | IF rec EQ 4. rec = 9. ENDIF. |
27 | ENDIF. |
28 | extract = total. |
29 | APPEND extract. |
30 | ENDLOOP. |
31 | vim_coll_mainkeys_beg_ix = 1. |
32 | IF rec NE 9 AND rec NE 0. |
33 | PERFORM mod_extract_and_mainkey_tab USING 'A' 0. |
34 | ENDIF. |
35 | DESCRIBE TABLE extract LINES maxlines. |
36 | mark_extract = mark_total. |
37 | status-data = gesamtdaten. |
38 | title-data = gesamtdaten. |
39 | CLEAR <status>-selected. |
40 |
41 | IF maxlines EQ 0. |
42 | PERFORM vim_send_sv005_or_sv766 USING '766' |
43 | 'RESET'. |
44 | IF function NE 'DELE' AND function NE 'SAVE'. "HWR |
45 | IF x_header-selection EQ space AND fill_extr_first_proc EQ space. |
46 | IF NOT vim_oc_inst IS INITIAL |
47 |
48 | AND ( ( <status>-st_action = aendern |
49 | AND NOT vim_oc_inst->oc_selcrit_maint_tab IS INITIAL ) |
50 | OR ( 'ST' CS <status>-st_action |
51 | AND NOT vim_oc_inst->oc_selcrit_read_tab IS INITIAL ) ). |
52 | MESSAGE s766(sv). |
53 |
54 | ELSE. |
55 | MESSAGE s065(sv). "keine Einträge vorhanden |
56 | ENDIF. |
57 | MOVE 'X' TO fill_extr_first_proc. |
58 | ELSE. |
59 | MESSAGE s004(sv). "keine Einträge gemäß Selektion gefunden |
60 | ENDIF. |
61 | ENDIF. "HWR |
62 | EXIT. |
63 | ELSEIF maxlines EQ 1. |
64 | PERFORM vim_maintain_single_set. "UFint2329966/2000 |
65 | ELSEIF NOT vim_oc_inst IS INITIAL AND |
66 | function NE 'DELE' AND function NE 'SAVE'. |
67 |
68 | IF ( <status>-st_action = aendern |
69 | AND NOT vim_oc_inst->oc_selcrit_maint_tab IS INITIAL ) |
70 | OR ( 'ST' CS <status>-st_action |
71 | AND NOT vim_oc_inst->oc_selcrit_read_tab IS INITIAL ). |
72 | PERFORM vim_send_sv005_or_sv766 USING '766' |
73 | 'SENDIT'. |
74 |
75 | ENDIF. |
76 | ELSE. |
77 | PERFORM vim_send_sv005_or_sv766 USING '766' |
78 | 'RESET'. |
79 | ENDIF. |
80 | ENDFORM. "fill_extract |