1
*&--------------------------------------------------------------------*
2
*& Form DELETE_CHECK_KEYRANGE *
3
4
* check keyrange for delete *
5
*---------------------------------------------------------------------*
6
FORM DELETE_CHECK_KEYRANGE.
7
LOCAL: EXTRACT, TOTAL, <TABLE1>.
8
DATA: DCK_SPECMODE_SAFE LIKE VIM_SPECIAL_MODE.
9
10
CLEAR SY-SUBRC.
11
CHECK X_HEADER-CUSTOMAUTH CO SAP_CUST_CTRL_CLASSES OR
12
VIM_ALE_KEYSPEC_CHECK NE SPACE.
13
DCK_SPECMODE_SAFE = VIM_SPECIAL_MODE.
14
PERFORM MOVE_EXTRACT_TO_VIEW_WA.
15
IF STATUS-MODE EQ LIST_BILD.
16
VIM_SPECIAL_MODE = VIM_DELETE.
17
ELSE.
18
CLEAR VIM_SPECIAL_MODE.
19
ENDIF.
20
CLEAR VIM_KEYRANGE_ALR_CHECKED.
21
PERFORM CHECK_ALLOWED_KEYRANGES.
22
* "HCG: In synchronization, Adjust and BC-Set import keyrange-check
23
* should be neglected and data should be deleted anyway 24/06/2002
24
IF SY-SUBRC NE 0 AND vim_import_profile EQ SPACE.
25
* synchornization only in BC-Set, only vim_import_profile is enought
26
* to test, if it is called from BC-Set. XB H594362 07022003
27
* AND DCK_SPECMODE_SAFE NE vim_upgrade.
28
29
CASE STATUS-TYPE.
30
WHEN EINSTUFIG.
31
CALL SCREEN LISTE.
32
IF OK_CODE EQ 'IGN '. FUNCTION = OK_CODE. ENDIF.
33
WHEN ZWEISTUFIG.
34
PERFORM PROCESS_DETAIL_SCREEN USING 'C'.
35
STATUS-MODE = LIST_BILD.
36
ENDCASE.
37
38
IF VIM_ALE_KEYSPEC_CHECK NE SPACE. "never delete ALE-locked keys
39
FUNCTION = 'IGN '.
40
41
CLEAR: SY-SUBRC, OK_CODE.
42
CASE FUNCTION.
43
WHEN 'IGN '. SY-SUBRC = 4.
44
WHEN 'ABR '. SY-SUBRC = 8.
45
46
47
* CLEAR VIM_SPECIAL_MODE.
48
VIM_SPECIAL_MODE = DCK_SPECMODE_SAFE.
49
FUNCTION = 'DELE'.
50
ENDFORM. "delete_check_keyrange