mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
SFxx: Fix missing lock checks and unlocking (#6519)
Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
parent
f1832259fb
commit
066812ef84
|
@ -16,6 +16,7 @@ CLASS zcl_abapgit_object_sfbf DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
|
||||||
DATA mv_bf TYPE sfw_bfunction.
|
DATA mv_bf TYPE sfw_bfunction.
|
||||||
|
|
||||||
METHODS:
|
METHODS:
|
||||||
|
unlock,
|
||||||
activate
|
activate
|
||||||
RAISING zcx_abapgit_exception,
|
RAISING zcx_abapgit_exception,
|
||||||
create
|
create
|
||||||
|
@ -97,6 +98,19 @@ CLASS zcl_abapgit_object_sfbf IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD unlock.
|
||||||
|
|
||||||
|
CALL FUNCTION 'DEQUEUE_EEUDB'
|
||||||
|
EXPORTING
|
||||||
|
relid = 'SF'
|
||||||
|
name = ms_item-obj_name
|
||||||
|
_synchron = 'X'
|
||||||
|
_scope = '1'
|
||||||
|
mode_eudb = abap_true.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_object~changed_by.
|
METHOD zif_abapgit_object~changed_by.
|
||||||
|
|
||||||
DATA: ls_data TYPE sfw_bf.
|
DATA: ls_data TYPE sfw_bf.
|
||||||
|
@ -204,6 +218,8 @@ CLASS zcl_abapgit_object_sfbf IMPLEMENTATION.
|
||||||
|
|
||||||
lo_bf->save_all( ).
|
lo_bf->save_all( ).
|
||||||
|
|
||||||
|
unlock( ).
|
||||||
|
|
||||||
deserialize_longtexts( ii_xml = io_xml
|
deserialize_longtexts( ii_xml = io_xml
|
||||||
iv_longtext_id = c_longtext_id_sfbf ).
|
iv_longtext_id = c_longtext_id_sfbf ).
|
||||||
|
|
||||||
|
@ -261,9 +277,9 @@ CLASS zcl_abapgit_object_sfbf IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_object~is_locked.
|
METHOD zif_abapgit_object~is_locked.
|
||||||
|
rv_is_locked = exists_a_lock_entry_for( iv_lock_object = 'EEUDB'
|
||||||
rv_is_locked = abap_false.
|
iv_argument = ms_item-obj_name
|
||||||
|
iv_prefix = 'SF' ).
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,7 @@ CLASS zcl_abapgit_object_sfbs DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
|
||||||
DATA mv_bfset TYPE sfw_bset.
|
DATA mv_bfset TYPE sfw_bset.
|
||||||
|
|
||||||
METHODS:
|
METHODS:
|
||||||
|
unlock,
|
||||||
activate
|
activate
|
||||||
RAISING zcx_abapgit_exception,
|
RAISING zcx_abapgit_exception,
|
||||||
create
|
create
|
||||||
|
@ -97,6 +98,19 @@ CLASS zcl_abapgit_object_sfbs IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD unlock.
|
||||||
|
|
||||||
|
CALL FUNCTION 'DEQUEUE_EEUDB'
|
||||||
|
EXPORTING
|
||||||
|
relid = 'SS'
|
||||||
|
name = ms_item-obj_name
|
||||||
|
_synchron = 'X'
|
||||||
|
_scope = '1'
|
||||||
|
mode_eudb = abap_true.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_object~changed_by.
|
METHOD zif_abapgit_object~changed_by.
|
||||||
|
|
||||||
DATA: ls_data TYPE sfw_bs.
|
DATA: ls_data TYPE sfw_bs.
|
||||||
|
@ -187,6 +201,8 @@ CLASS zcl_abapgit_object_sfbs IMPLEMENTATION.
|
||||||
|
|
||||||
lo_bfs->save_all( ).
|
lo_bfs->save_all( ).
|
||||||
|
|
||||||
|
unlock( ).
|
||||||
|
|
||||||
deserialize_longtexts( ii_xml = io_xml
|
deserialize_longtexts( ii_xml = io_xml
|
||||||
iv_longtext_id = c_longtext_id_sfbs ).
|
iv_longtext_id = c_longtext_id_sfbs ).
|
||||||
|
|
||||||
|
@ -243,7 +259,9 @@ CLASS zcl_abapgit_object_sfbs IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_object~is_locked.
|
METHOD zif_abapgit_object~is_locked.
|
||||||
rv_is_locked = abap_false.
|
rv_is_locked = exists_a_lock_entry_for( iv_lock_object = 'EEUDB'
|
||||||
|
iv_argument = ms_item-obj_name
|
||||||
|
iv_prefix = 'SS' ).
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,7 @@ CLASS zcl_abapgit_object_sfsw DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
|
||||||
DATA mv_switch TYPE sfw_switch_id.
|
DATA mv_switch TYPE sfw_switch_id.
|
||||||
|
|
||||||
METHODS:
|
METHODS:
|
||||||
|
unlock,
|
||||||
activate
|
activate
|
||||||
RAISING zcx_abapgit_exception,
|
RAISING zcx_abapgit_exception,
|
||||||
create
|
create
|
||||||
|
@ -97,6 +98,19 @@ CLASS zcl_abapgit_object_sfsw IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD unlock.
|
||||||
|
|
||||||
|
CALL FUNCTION 'DEQUEUE_EEUDB'
|
||||||
|
EXPORTING
|
||||||
|
relid = 'SW'
|
||||||
|
name = ms_item-obj_name
|
||||||
|
_synchron = 'X'
|
||||||
|
_scope = '1'
|
||||||
|
mode_eudb = abap_true.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_object~changed_by.
|
METHOD zif_abapgit_object~changed_by.
|
||||||
|
|
||||||
DATA: ls_data TYPE sfw_switch.
|
DATA: ls_data TYPE sfw_switch.
|
||||||
|
@ -190,6 +204,8 @@ CLASS zcl_abapgit_object_sfsw IMPLEMENTATION.
|
||||||
zcx_abapgit_exception=>raise( 'error in CL_SFW_SW->SAVE_ALL' ).
|
zcx_abapgit_exception=>raise( 'error in CL_SFW_SW->SAVE_ALL' ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
unlock( ).
|
||||||
|
|
||||||
deserialize_longtexts( ii_xml = io_xml
|
deserialize_longtexts( ii_xml = io_xml
|
||||||
iv_longtext_id = c_longtext_id_sfsw ).
|
iv_longtext_id = c_longtext_id_sfsw ).
|
||||||
|
|
||||||
|
@ -246,7 +262,9 @@ CLASS zcl_abapgit_object_sfsw IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_object~is_locked.
|
METHOD zif_abapgit_object~is_locked.
|
||||||
rv_is_locked = abap_false.
|
rv_is_locked = exists_a_lock_entry_for( iv_lock_object = 'EEUDB'
|
||||||
|
iv_argument = ms_item-obj_name
|
||||||
|
iv_prefix = 'SW' ).
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user