mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
refactoring SAPC
This commit is contained in:
parent
28b5842d8f
commit
ea1345d5e8
|
@ -7,20 +7,13 @@ CLASS lcl_object_sapc DEFINITION INHERITING FROM lcl_objects_super FINAL.
|
|||
PUBLIC SECTION.
|
||||
INTERFACES lif_object.
|
||||
|
||||
|
||||
PRIVATE SECTION.
|
||||
DATA: mo_persistence TYPE REF TO if_wb_object_persist,
|
||||
mo_apc_appl_obj_data TYPE REF TO if_wb_object_data_model.
|
||||
|
||||
METHODS:
|
||||
get_data_object
|
||||
RETURNING
|
||||
value(ro_apc_appl_obj_data) TYPE REF TO if_wb_object_data_model
|
||||
RAISING
|
||||
lcx_exception,
|
||||
|
||||
get_persistence
|
||||
RETURNING
|
||||
value(ro_persistence) TYPE REF TO if_wb_object_persist
|
||||
create_apc_objects
|
||||
RAISING
|
||||
lcx_exception,
|
||||
|
||||
|
@ -58,6 +51,8 @@ CLASS lcl_object_sapc IMPLEMENTATION.
|
|||
<ls_header> TYPE any,
|
||||
<changed_by> TYPE any.
|
||||
|
||||
create_apc_objects( ).
|
||||
|
||||
TRY.
|
||||
CREATE DATA lr_data TYPE ('APC_APPLICATION_COMPLETE').
|
||||
ASSIGN lr_data->* TO <ls_data>.
|
||||
|
@ -95,13 +90,6 @@ CLASS lcl_object_sapc IMPLEMENTATION.
|
|||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
TRY.
|
||||
get_data_object( ).
|
||||
|
||||
CATCH lcx_exception.
|
||||
RETURN.
|
||||
ENDTRY.
|
||||
|
||||
rv_bool = abap_true.
|
||||
|
||||
ENDMETHOD. "lif_object~exists
|
||||
|
@ -114,6 +102,8 @@ CLASS lcl_object_sapc IMPLEMENTATION.
|
|||
<ls_header> TYPE any,
|
||||
<field> TYPE any.
|
||||
|
||||
create_apc_objects( ).
|
||||
|
||||
TRY.
|
||||
CREATE DATA lr_data TYPE ('APC_APPLICATION_COMPLETE').
|
||||
ASSIGN lr_data->* TO <ls_data>.
|
||||
|
@ -168,11 +158,12 @@ CLASS lcl_object_sapc IMPLEMENTATION.
|
|||
|
||||
METHOD lif_object~deserialize.
|
||||
|
||||
DATA: appl_obj_data TYPE REF TO if_wb_object_data_model,
|
||||
lr_data TYPE REF TO data.
|
||||
DATA: lr_data TYPE REF TO data.
|
||||
|
||||
FIELD-SYMBOLS: <ls_data> TYPE any.
|
||||
|
||||
create_apc_objects( ).
|
||||
|
||||
TRY.
|
||||
CREATE DATA lr_data TYPE ('APC_APPLICATION_COMPLETE').
|
||||
ASSIGN lr_data->* TO <ls_data>.
|
||||
|
@ -191,8 +182,6 @@ CLASS lcl_object_sapc IMPLEMENTATION.
|
|||
lif_object~delete( ).
|
||||
ENDIF.
|
||||
|
||||
appl_obj_data = get_data_object( ).
|
||||
|
||||
TRY.
|
||||
lock( ).
|
||||
|
||||
|
@ -214,9 +203,9 @@ CLASS lcl_object_sapc IMPLEMENTATION.
|
|||
lcx_exception=>raise( 'Error occured while creating SAPC' ).
|
||||
ENDIF.
|
||||
|
||||
appl_obj_data->set_data( <ls_data> ).
|
||||
mo_apc_appl_obj_data->set_data( <ls_data> ).
|
||||
|
||||
get_persistence( )->save( p_object_data = appl_obj_data ).
|
||||
mo_persistence->save( p_object_data = mo_apc_appl_obj_data ).
|
||||
|
||||
unlock( ).
|
||||
|
||||
|
@ -230,12 +219,14 @@ CLASS lcl_object_sapc IMPLEMENTATION.
|
|||
|
||||
DATA: object_key TYPE seu_objkey.
|
||||
|
||||
create_apc_objects( ).
|
||||
|
||||
object_key = ms_item-obj_name.
|
||||
|
||||
TRY.
|
||||
lock( ).
|
||||
|
||||
get_persistence( )->delete( p_object_key = object_key ).
|
||||
mo_persistence->delete( p_object_key = object_key ).
|
||||
|
||||
unlock( ).
|
||||
|
||||
|
@ -259,41 +250,22 @@ CLASS lcl_object_sapc IMPLEMENTATION.
|
|||
CREATE OBJECT ro_comparison_result TYPE lcl_comparison_null.
|
||||
ENDMETHOD. "lif_object~compare_to_remote_version
|
||||
|
||||
METHOD get_data_object.
|
||||
|
||||
IF mo_apc_appl_obj_data IS NOT BOUND.
|
||||
METHOD create_apc_objects.
|
||||
|
||||
TRY.
|
||||
IF mo_apc_appl_obj_data IS NOT BOUND.
|
||||
CREATE OBJECT mo_apc_appl_obj_data TYPE ('CL_APC_APPLICATION_OBJ_DATA').
|
||||
|
||||
CATCH cx_root.
|
||||
lcx_exception=>raise( 'SAPC not supported' ).
|
||||
ENDTRY.
|
||||
|
||||
ENDIF.
|
||||
|
||||
ro_apc_appl_obj_data = mo_apc_appl_obj_data.
|
||||
|
||||
ENDMETHOD. "get_data_object
|
||||
|
||||
|
||||
METHOD get_persistence.
|
||||
|
||||
IF mo_persistence IS NOT BOUND.
|
||||
|
||||
TRY.
|
||||
CREATE OBJECT mo_persistence TYPE ('CL_APC_APPLICATION_OBJ_PERS').
|
||||
ENDIF.
|
||||
|
||||
CATCH cx_root.
|
||||
lcx_exception=>raise( 'SAPC not supported' ).
|
||||
ENDTRY.
|
||||
|
||||
ENDIF.
|
||||
|
||||
ro_persistence = mo_persistence.
|
||||
|
||||
ENDMETHOD. "get_persistence
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD lock.
|
||||
|
||||
|
@ -305,8 +277,6 @@ CLASS lcl_object_sapc IMPLEMENTATION.
|
|||
object_key = ms_item-obj_name.
|
||||
objtype = ms_item-obj_type.
|
||||
|
||||
get_persistence( ).
|
||||
|
||||
mo_persistence->lock(
|
||||
EXPORTING
|
||||
p_objname_tr = objname
|
||||
|
@ -333,7 +303,7 @@ CLASS lcl_object_sapc IMPLEMENTATION.
|
|||
object_key = ms_item-obj_name.
|
||||
objtype = ms_item-obj_type.
|
||||
|
||||
get_persistence( )->unlock( p_objname_tr = objname
|
||||
mo_persistence->unlock( p_objname_tr = objname
|
||||
p_object_key = object_key
|
||||
p_objtype_tr = objtype ).
|
||||
|
||||
|
@ -346,8 +316,6 @@ CLASS lcl_object_sapc IMPLEMENTATION.
|
|||
object_key = ms_item-obj_name.
|
||||
|
||||
TRY.
|
||||
get_persistence( ).
|
||||
|
||||
mo_persistence->get(
|
||||
EXPORTING
|
||||
p_object_key = object_key
|
||||
|
@ -365,5 +333,4 @@ CLASS lcl_object_sapc IMPLEMENTATION.
|
|||
|
||||
ENDMETHOD. "get_data
|
||||
|
||||
|
||||
ENDCLASS. "lcl_object_sAPC IMPLEMENTATION
|
||||
|
|
Loading…
Reference in New Issue
Block a user