mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
SCP1: delete in more direct way - no confirm popup
FM SCPR_PRSET_MN_DELETE has some confirmation popups so the delete is done in a more direct way without popups
This commit is contained in:
parent
06c3d69b64
commit
e326273f20
|
@ -36,6 +36,9 @@ CLASS zcl_abapgit_object_scp1 DEFINITION
|
||||||
METHODS load
|
METHODS load
|
||||||
CHANGING
|
CHANGING
|
||||||
!cs_scp1 TYPE ty_scp1 .
|
!cs_scp1 TYPE ty_scp1 .
|
||||||
|
METHODS call_delete_fms
|
||||||
|
IMPORTING i_profile_id TYPE scpr_id
|
||||||
|
RAISING zcx_abapgit_exception.
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
@ -211,27 +214,69 @@ CLASS zcl_abapgit_object_scp1 IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD zif_abapgit_object~delete.
|
METHOD zif_abapgit_object~delete.
|
||||||
|
|
||||||
DATA: lv_id TYPE scpr_id.
|
DATA: profile_id TYPE scpr_id.
|
||||||
|
profile_id = ms_item-obj_name.
|
||||||
lv_id = ms_item-obj_name.
|
|
||||||
|
|
||||||
enqueue( ).
|
enqueue( ).
|
||||||
|
call_delete_fms( profile_id ).
|
||||||
* todo, this gives a popup
|
|
||||||
CALL FUNCTION 'SCPR_CTRL_DELETE'
|
|
||||||
EXPORTING
|
|
||||||
profid = lv_id
|
|
||||||
EXCEPTIONS
|
|
||||||
user_abort = 1
|
|
||||||
profile_dont_exist = 2.
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
zcx_abapgit_exception=>raise( |error while deleting SCP1, { sy-subrc }| ).
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
dequeue( ).
|
dequeue( ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD call_delete_fms.
|
||||||
|
|
||||||
|
CONSTANTS version_new TYPE c VALUE 'N' ##NO_TEXT. "Include SCPRINTCONST version_new
|
||||||
|
CONSTANTS operation_delete TYPE c VALUE 'D' ##NO_TEXT.
|
||||||
|
DATA profile_type TYPE scprattr-type.
|
||||||
|
DATA fatherprofiles TYPE standard table of scproprof WITH DEFAULT KEY.
|
||||||
|
DATA fatherprofile TYPE scproprof.
|
||||||
|
|
||||||
|
CALL FUNCTION 'SCPR_DB_ATTR_GET_DETAIL'
|
||||||
|
EXPORTING
|
||||||
|
profid = i_profile_id
|
||||||
|
version = version_new
|
||||||
|
IMPORTING
|
||||||
|
proftype = profile_type
|
||||||
|
EXCEPTIONS
|
||||||
|
OTHERS = 0.
|
||||||
|
|
||||||
|
CALL FUNCTION 'SCPR_PRSET_DB_USED_IN'
|
||||||
|
EXPORTING
|
||||||
|
profid = i_profile_id
|
||||||
|
version = version_new
|
||||||
|
TABLES
|
||||||
|
profiles = fatherprofiles.
|
||||||
|
|
||||||
|
fatherprofile-id = i_profile_id.
|
||||||
|
APPEND fatherprofile TO fatherprofiles.
|
||||||
|
CALL FUNCTION 'SCPR_CT_TRANSPORT_ENTRIES'
|
||||||
|
TABLES
|
||||||
|
profids = fatherprofiles
|
||||||
|
EXCEPTIONS
|
||||||
|
error_in_transport_layer = 1
|
||||||
|
user_abort = 2.
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
zcx_abapgit_exception=>raise( |error while deleting SCP1 - TRANSPORT, { sy-subrc }| ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
CALL FUNCTION 'SCPR_PRSET_DB_DELETE_ALL'
|
||||||
|
EXPORTING
|
||||||
|
profid = i_profile_id
|
||||||
|
proftype = profile_type
|
||||||
|
TABLES
|
||||||
|
fatherprofs = fatherprofiles
|
||||||
|
EXCEPTIONS
|
||||||
|
user_abort = 1.
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
zcx_abapgit_exception=>raise( |error while deleting SCP1 - DB_DELETE, { sy-subrc }| ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
CALL FUNCTION 'SCPR_MEM_SCPR_ACTIONS_ADD'
|
||||||
|
EXPORTING
|
||||||
|
bcset_id = i_profile_id
|
||||||
|
operation = operation_delete.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD zif_abapgit_object~deserialize.
|
METHOD zif_abapgit_object~deserialize.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user