1
*&---------------------------------------------------------------------*
2
*& Include LSVIMF60 *
3
4
5
*& Form vim_maintain_single_set
6
7
* text
8
*----------------------------------------------------------------------*
9
* --> p1 text
10
* <-- p2 text
11
12
FORM vim_maintain_single_set.
13
Data: msgno like sy-msgno.
14
15
IF vim_single_entry_function EQ space AND
16
( function NE 'DELE' AND function NE 'SAVE' ). "HWR
17
IF vim_oc_inst IS INITIAL.
18
msgno = '005'.
19
ELSE.
20
READ TABLE dpl_sellist WITH KEY from_auth = space
21
TRANSPORTING NO FIELDS.
22
IF sy-subrc = 0.
23
24
25
msgno = '766'.
26
* Eingeschränkte Anzeige von Datensätzen.
27
ENDIF.
28
29
PERFORM vim_send_sv005_or_sv766 USING msgno
30
'SENDIT'.
31
ENDIF. "HWR
32
IF status-type EQ zweistufig AND function NE 'ABR '
33
AND function NE 'KOPF'
34
AND function NE 'IGN '."SW: nicht ex. Status ZCDGM (1211787/98)
35
<status>-firstline = <status>-cur_line = nextline.
36
function = 'DETA'.
37
IF x_header-delmdtflag NE space.
38
TRANSLATE vim_no_mainkey_exists USING
39
vim_no_mkey_not_procsd_patt.
40
41
PERFORM process_detail_screen USING 'S'.
42
43
ENDFORM. " vim_maintain_single_set
44
45
*& Form vim_send_sv005_or_sv766
46
47
* Send messages only once unless status has not been resetted
48
49
* -->P_MSGNO Message number to be sent as s-message
50
* -->P_MODE SENDIT: Send S-Message if it hasn't been sent before.
51
* RESET: Reset status.
52
53
FORM vim_send_sv005_or_sv766 USING p_msgno like sy-msgno
54
p_mode TYPE char6.
55
56
STATICS: sent_already TYPE xfeld,
57
viewname TYPE viewname.
58
59
IF viewname <> x_header-viewname.
60
viewname = x_header-viewname.
61
CLEAR sent_already.
62
63
CASE p_mode.
64
WHEN 'SENDIT'.
65
CHECK sent_already = space.
66
sent_already = 'X'.
67
MESSAGE ID 'SV' TYPE 'S' NUMBER p_msgno.
68
WHEN 'RESET'.
69
70
ENDCASE.
71
ENDFORM. " vim_send_sv005_or_sv766