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