fix TYPE TADIR deletion

This commit is contained in:
larshp 2016-02-17 08:06:02 +00:00
parent 7ad6fc5840
commit c6024ffdd0

View File

@ -3,7 +3,7 @@ REPORT zabapgit.
* See http://www.abapgit.org * See http://www.abapgit.org
CONSTANTS: gc_xml_version TYPE string VALUE 'v0.2-alpha', "#EC NOTEXT CONSTANTS: gc_xml_version TYPE string VALUE 'v0.2-alpha', "#EC NOTEXT
gc_abap_version TYPE string VALUE 'v0.107'. "#EC NOTEXT gc_abap_version TYPE string VALUE 'v0.108'. "#EC NOTEXT
******************************************************************************** ********************************************************************************
* The MIT License (MIT) * The MIT License (MIT)
@ -3374,6 +3374,8 @@ CLASS lcl_object_auth IMPLEMENTATION.
lv_fieldname = ms_item-obj_name. lv_fieldname = ms_item-obj_name.
* there is a bug in SAP standard, the TADIR entries are not deleted
* when the AUTH object is deleted in transaction SU20
CALL FUNCTION 'SUSR_AUTF_DELETE_FIELD' CALL FUNCTION 'SUSR_AUTF_DELETE_FIELD'
EXPORTING EXPORTING
fieldname = lv_fieldname fieldname = lv_fieldname
@ -7257,20 +7259,25 @@ CLASS lcl_object_type IMPLEMENTATION.
METHOD lif_object~delete. METHOD lif_object~delete.
DATA: lv_typename TYPE typegroup. DATA: lv_objname TYPE rsedd0-ddobjname.
lv_typename = ms_item-obj_name. lv_objname = ms_item-obj_name.
CALL FUNCTION 'TYPD_INTERNAL_SERVICE' CALL FUNCTION 'RS_DD_DELETE_OBJ'
EXPORTING EXPORTING
i_typename = lv_typename no_ask = abap_true
i_operation = swbm_c_op_delete objname = lv_objname
objtype = 'G'
EXCEPTIONS EXCEPTIONS
illegal_operation = 1 not_executed = 1
OTHERS = 2. object_not_found = 2
object_not_specified = 3
permission_failure = 4
dialog_needed = 5
OTHERS = 6.
IF sy-subrc <> 0. IF sy-subrc <> 0.
_raise 'error from TYPD_INTERNAL_SERVICE'. _raise 'error deleting TYPE'.
ENDIF. ENDIF.
ENDMETHOD. "delete ENDMETHOD. "delete