Properties SourceCde
txt
1
*---------------------------------------------------------------------*
2
*       FORM CHECK_IF_ENTRY_CAN_BE_DELETED                            *
3
*---------------------------------------------------------------------*
4
* check if entry of existency-M-table/view can be deleted             *
5
*---------------------------------------------------------------------*
6
* SY_SUBRC <-- 0: yes, deleteable, others: no, not deleteable         *
7
*---------------------------------------------------------------------*
8
FORM check_if_entry_can_be_deleted.
9
  LOCAL: <f1_x>, total, <vim_xextract_key>.
10
  DATA: hf TYPE i, rec TYPE i VALUE 8.
11
 
12
  <vim_xextract_key> = <f1_x> = <vim_xtotal_key>.
13
  CLEAR <vim_enddate_mask>.
14
  READ TABLE total WITH KEY <f1_x> BINARY SEARCH TRANSPORTING NO FIELDS.
15
  hf = sy-tabix.
16
  LOOP AT total FROM hf.
17
    IF <vim_tot_mkey_beforex> NE <vim_f1_beforex> OR
18
       ( vim_mkey_after_exists NE space AND
19
         <vim_tot_mkey_afterx> NE <vim_f1_afterx> ).
20
*    IF <vim_tot_mkey_before> NE <vim_f1_before> OR
21
*       ( vim_mkey_after_exists NE space AND
22
*         <vim_tot_mkey_after> NE <vim_f1_after> ).
23
      EXIT.
24
    ENDIF.
25
    CHECK <action> NE geloescht AND <action> NE neuer_geloescht AND
26
          <action> NE update_geloescht AND
27
          <vim_xtotal_key> NE <vim_xextract_key>.
28
    CLEAR rec. EXIT.
29
  ENDLOOP.
30
  sy-subrc = rec.
31
ENDFORM.                               "check_if_entry_can_be_deleted