* downport DTDC

* downport DRUL

* Downport AMSD

* downport BDEF

* more downport

Co-authored-by: Christian Günter <christian.guenter@emineo.ch>
This commit is contained in:
Christian Günter 2020-05-04 11:34:32 +02:00 committed by GitHub
parent b91043a270
commit 1cf1a30e81
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 211 additions and 142 deletions

View File

@ -27,7 +27,6 @@ CLASS zcl_abapgit_object_amsd DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
CHANGING CHANGING
cs_logical_db_schema TYPE any cs_logical_db_schema TYPE any
RAISING RAISING
cx_wb_object_operation_error
zcx_abapgit_exception, zcx_abapgit_exception,
get_transport_req_if_needed get_transport_req_if_needed
@ -40,7 +39,7 @@ CLASS zcl_abapgit_object_amsd DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
get_wb_object_operator get_wb_object_operator
RETURNING RETURNING
VALUE(ri_wb_object_operator) TYPE REF TO if_wb_object_operator VALUE(ri_wb_object_operator) TYPE REF TO object
RAISING RAISING
zcx_abapgit_exception. zcx_abapgit_exception.
@ -48,7 +47,7 @@ CLASS zcl_abapgit_object_amsd DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
mr_logical_db_schema TYPE REF TO data, mr_logical_db_schema TYPE REF TO data,
mv_logical_db_schema_key TYPE seu_objkey, mv_logical_db_schema_key TYPE seu_objkey,
mi_persistence TYPE REF TO if_wb_object_persist, mi_persistence TYPE REF TO if_wb_object_persist,
mi_wb_object_operator TYPE REF TO if_wb_object_operator. mi_wb_object_operator TYPE REF TO object.
ENDCLASS. ENDCLASS.
@ -121,7 +120,7 @@ CLASS zcl_abapgit_object_amsd IMPLEMENTATION.
METHOD fill_metadata_from_db. METHOD fill_metadata_from_db.
DATA: DATA:
li_wb_object_operator TYPE REF TO if_wb_object_operator, li_wb_object_operator TYPE REF TO object,
lr_logical_db_schema_old TYPE REF TO data. lr_logical_db_schema_old TYPE REF TO data.
FIELD-SYMBOLS: FIELD-SYMBOLS:
@ -137,7 +136,9 @@ CLASS zcl_abapgit_object_amsd IMPLEMENTATION.
ASSIGN lr_logical_db_schema_old->* TO <ls_logical_db_schema_old>. ASSIGN lr_logical_db_schema_old->* TO <ls_logical_db_schema_old>.
ASSERT sy-subrc = 0. ASSERT sy-subrc = 0.
li_wb_object_operator->read( IMPORTING data = <ls_logical_db_schema_old> ). CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~READ')
IMPORTING
data = <ls_logical_db_schema_old>.
ASSIGN COMPONENT 'METADATA-CREATED_BY' OF STRUCTURE cs_logical_db_schema ASSIGN COMPONENT 'METADATA-CREATED_BY' OF STRUCTURE cs_logical_db_schema
TO <lv_created_by>. TO <lv_created_by>.
@ -178,7 +179,7 @@ CLASS zcl_abapgit_object_amsd IMPLEMENTATION.
DATA: DATA:
ls_object_type TYPE wbobjtype, ls_object_type TYPE wbobjtype,
lx_error TYPE REF TO cx_wb_object_operation_error. lx_error TYPE REF TO cx_root.
IF mi_wb_object_operator IS BOUND. IF mi_wb_object_operator IS BOUND.
ri_wb_object_operator = mi_wb_object_operator. ri_wb_object_operator = mi_wb_object_operator.
@ -188,11 +189,14 @@ CLASS zcl_abapgit_object_amsd IMPLEMENTATION.
ls_object_type-subtype_wb = 'TYP'. ls_object_type-subtype_wb = 'TYP'.
TRY. TRY.
mi_wb_object_operator = cl_wb_object_operator=>create_instance( CALL METHOD ('CL_WB_OBJECT_OPERATOR')=>('CREATE_INSTANCE')
object_type = ls_object_type EXPORTING
object_key = mv_logical_db_schema_key ). object_type = ls_object_type
object_key = mv_logical_db_schema_key
RECEIVING
result = mi_wb_object_operator.
CATCH cx_wb_object_operation_error INTO lx_error. CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise( zcx_abapgit_exception=>raise(
iv_text = lx_error->get_text( ) iv_text = lx_error->get_text( )
ix_previous = lx_error ). ix_previous = lx_error ).
@ -206,15 +210,20 @@ CLASS zcl_abapgit_object_amsd IMPLEMENTATION.
METHOD zif_abapgit_object~changed_by. METHOD zif_abapgit_object~changed_by.
DATA: DATA:
li_object_data_model TYPE REF TO if_wb_object_data_model, li_wb_object_operator TYPE REF TO object,
lx_error TYPE REF TO cx_wb_object_operation_error. li_object_data_model TYPE REF TO if_wb_object_data_model,
lx_error TYPE REF TO cx_root.
TRY. TRY.
get_wb_object_operator( )->read( IMPORTING eo_object_data = li_object_data_model ). li_wb_object_operator = get_wb_object_operator( ).
CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~READ')
IMPORTING
eo_object_data = li_object_data_model.
rv_user = li_object_data_model->get_changed_by( ). rv_user = li_object_data_model->get_changed_by( ).
CATCH cx_wb_object_operation_error INTO lx_error. CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise( zcx_abapgit_exception=>raise(
iv_text = lx_error->get_text( ) iv_text = lx_error->get_text( )
ix_previous = lx_error ). ix_previous = lx_error ).
@ -226,15 +235,19 @@ CLASS zcl_abapgit_object_amsd IMPLEMENTATION.
METHOD zif_abapgit_object~delete. METHOD zif_abapgit_object~delete.
DATA: DATA:
lx_error TYPE REF TO cx_wb_object_operation_error, li_wb_object_operator TYPE REF TO object,
lv_transport_request TYPE trkorr. lx_error TYPE REF TO cx_root,
lv_transport_request TYPE trkorr.
lv_transport_request = get_transport_req_if_needed( iv_package ). lv_transport_request = get_transport_req_if_needed( iv_package ).
li_wb_object_operator = get_wb_object_operator( ).
TRY. TRY.
get_wb_object_operator( )->delete( lv_transport_request ). CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~DELETE')
EXPORTING
transport_request = lv_transport_request.
CATCH cx_wb_object_operation_error INTO lx_error. CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise( zcx_abapgit_exception=>raise(
iv_text = lx_error->get_text( ) iv_text = lx_error->get_text( )
ix_previous = lx_error ). ix_previous = lx_error ).
@ -247,8 +260,8 @@ CLASS zcl_abapgit_object_amsd IMPLEMENTATION.
DATA: DATA:
li_object_data_model TYPE REF TO if_wb_object_data_model, li_object_data_model TYPE REF TO if_wb_object_data_model,
li_wb_object_operator TYPE REF TO if_wb_object_operator, li_wb_object_operator TYPE REF TO object,
lx_error TYPE REF TO cx_static_check, lx_error TYPE REF TO cx_root,
lv_transport_request TYPE trkorr. lv_transport_request TYPE trkorr.
FIELD-SYMBOLS: FIELD-SYMBOLS:
@ -278,32 +291,35 @@ CLASS zcl_abapgit_object_amsd IMPLEMENTATION.
fill_metadata_from_db( CHANGING cs_logical_db_schema = <ls_logical_db_schema> ). fill_metadata_from_db( CHANGING cs_logical_db_schema = <ls_logical_db_schema> ).
li_object_data_model->set_data( <ls_logical_db_schema> ). li_object_data_model->set_data( <ls_logical_db_schema> ).
li_wb_object_operator->update( CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~UPDATE')
EXPORTING
io_object_data = li_object_data_model io_object_data = li_object_data_model
transport_request = lv_transport_request ). transport_request = lv_transport_request.
ELSE. ELSE.
li_object_data_model->set_data( <ls_logical_db_schema> ). li_object_data_model->set_data( <ls_logical_db_schema> ).
li_wb_object_operator->create( CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~CREATE')
EXPORTING
io_object_data = li_object_data_model io_object_data = li_object_data_model
data_selection = if_wb_object_data_selection_co=>c_properties data_selection = 'P' " if_wb_object_data_selection_co=>c_properties
package = iv_package package = iv_package
transport_request = lv_transport_request ). transport_request = lv_transport_request.
li_wb_object_operator->update( CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~UPDATE')
EXPORTING
io_object_data = li_object_data_model io_object_data = li_object_data_model
data_selection = if_wb_object_data_selection_co=>c_data_content data_selection = 'D' " if_wb_object_data_selection_co=>c_data_content
transport_request = lv_transport_request ). transport_request = lv_transport_request.
ENDIF. ENDIF.
li_wb_object_operator->activate( ). CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~ACTIVATE').
corr_insert( iv_package ). corr_insert( iv_package ).
CATCH cx_swb_exception cx_wb_object_operation_error INTO lx_error. CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise( zcx_abapgit_exception=>raise(
iv_text = lx_error->get_text( ) iv_text = lx_error->get_text( )
ix_previous = lx_error ). ix_previous = lx_error ).
@ -382,8 +398,9 @@ CLASS zcl_abapgit_object_amsd IMPLEMENTATION.
METHOD zif_abapgit_object~serialize. METHOD zif_abapgit_object~serialize.
DATA: DATA:
li_object_data_model TYPE REF TO if_wb_object_data_model, li_object_data_model TYPE REF TO if_wb_object_data_model,
lx_error TYPE REF TO cx_wb_object_operation_error. lx_error TYPE REF TO cx_root,
li_wb_object_operator TYPE REF TO object.
FIELD-SYMBOLS: FIELD-SYMBOLS:
<ls_logical_db_schema> TYPE any. <ls_logical_db_schema> TYPE any.
@ -391,17 +408,19 @@ CLASS zcl_abapgit_object_amsd IMPLEMENTATION.
ASSIGN mr_logical_db_schema->* TO <ls_logical_db_schema>. ASSIGN mr_logical_db_schema->* TO <ls_logical_db_schema>.
ASSERT sy-subrc = 0. ASSERT sy-subrc = 0.
li_wb_object_operator = get_wb_object_operator( ).
TRY. TRY.
get_wb_object_operator( )->read( CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~READ')
EXPORTING EXPORTING
version = 'A' version = 'A'
IMPORTING IMPORTING
data = <ls_logical_db_schema> data = <ls_logical_db_schema>
eo_object_data = li_object_data_model ). eo_object_data = li_object_data_model.
clear_fields( CHANGING cs_logical_db_schema = <ls_logical_db_schema> ). clear_fields( CHANGING cs_logical_db_schema = <ls_logical_db_schema> ).
CATCH cx_wb_object_operation_error INTO lx_error. CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise( zcx_abapgit_exception=>raise(
iv_text = lx_error->get_text( ) iv_text = lx_error->get_text( )
ix_previous = lx_error ). ix_previous = lx_error ).

View File

@ -27,7 +27,6 @@ CLASS zcl_abapgit_object_bdef DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
CHANGING CHANGING
cs_behaviour_definition TYPE any cs_behaviour_definition TYPE any
RAISING RAISING
cx_wb_object_operation_error
zcx_abapgit_exception, zcx_abapgit_exception,
get_transport_req_if_needed get_transport_req_if_needed
@ -40,13 +39,13 @@ CLASS zcl_abapgit_object_bdef DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
get_wb_object_operator get_wb_object_operator
RETURNING RETURNING
VALUE(ri_wb_object_operator) TYPE REF TO if_wb_object_operator VALUE(ri_wb_object_operator) TYPE REF TO object
RAISING RAISING
zcx_abapgit_exception. zcx_abapgit_exception.
DATA: DATA:
mi_persistence TYPE REF TO if_wb_object_persist, mi_persistence TYPE REF TO if_wb_object_persist,
mi_wb_object_operator TYPE REF TO if_wb_object_operator, mi_wb_object_operator TYPE REF TO object,
mv_behaviour_definition_key TYPE seu_objkey, mv_behaviour_definition_key TYPE seu_objkey,
mr_behaviour_definition TYPE REF TO data. mr_behaviour_definition TYPE REF TO data.
@ -156,17 +155,19 @@ CLASS zcl_abapgit_object_bdef IMPLEMENTATION.
DATA: DATA:
li_object_data_model TYPE REF TO if_wb_object_data_model, li_object_data_model TYPE REF TO if_wb_object_data_model,
li_wb_object_operator TYPE REF TO if_wb_object_operator, li_wb_object_operator TYPE REF TO object,
lx_error TYPE REF TO cx_wb_object_operation_error. lx_error TYPE REF TO cx_root.
li_wb_object_operator = get_wb_object_operator( ). li_wb_object_operator = get_wb_object_operator( ).
TRY. TRY.
li_wb_object_operator->read( IMPORTING eo_object_data = li_object_data_model ). CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~READ')
IMPORTING
eo_object_data = li_object_data_model.
rv_user = li_object_data_model->get_changed_by( ). rv_user = li_object_data_model->get_changed_by( ).
CATCH cx_wb_object_operation_error INTO lx_error. CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise( zcx_abapgit_exception=>raise(
iv_text = lx_error->get_text( ) iv_text = lx_error->get_text( )
ix_previous = lx_error ). ix_previous = lx_error ).
@ -178,8 +179,8 @@ CLASS zcl_abapgit_object_bdef IMPLEMENTATION.
METHOD zif_abapgit_object~delete. METHOD zif_abapgit_object~delete.
DATA: DATA:
lx_error TYPE REF TO cx_wb_object_operation_error, lx_error TYPE REF TO cx_root,
li_wb_object_operator TYPE REF TO if_wb_object_operator, li_wb_object_operator TYPE REF TO object,
lv_transport_request TYPE trkorr. lv_transport_request TYPE trkorr.
lv_transport_request = get_transport_req_if_needed( iv_package ). lv_transport_request = get_transport_req_if_needed( iv_package ).
@ -187,9 +188,11 @@ CLASS zcl_abapgit_object_bdef IMPLEMENTATION.
li_wb_object_operator = get_wb_object_operator( ). li_wb_object_operator = get_wb_object_operator( ).
TRY. TRY.
li_wb_object_operator->delete( lv_transport_request ). CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~DELETE')
EXPORTING
transport_request = lv_transport_request.
CATCH cx_wb_object_operation_error INTO lx_error. CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise( zcx_abapgit_exception=>raise(
iv_text = lx_error->get_text( ) iv_text = lx_error->get_text( )
ix_previous = lx_error ). ix_previous = lx_error ).
@ -202,8 +205,8 @@ CLASS zcl_abapgit_object_bdef IMPLEMENTATION.
DATA: DATA:
li_object_data_model TYPE REF TO if_wb_object_data_model, li_object_data_model TYPE REF TO if_wb_object_data_model,
li_wb_object_operator TYPE REF TO if_wb_object_operator, li_wb_object_operator TYPE REF TO object,
lx_error TYPE REF TO cx_static_check, lx_error TYPE REF TO cx_root,
lv_transport_request TYPE trkorr. lv_transport_request TYPE trkorr.
FIELD-SYMBOLS: FIELD-SYMBOLS:
@ -240,32 +243,35 @@ CLASS zcl_abapgit_object_bdef IMPLEMENTATION.
fill_metadata_from_db( CHANGING cs_behaviour_definition = <ls_behaviour_definition> ). fill_metadata_from_db( CHANGING cs_behaviour_definition = <ls_behaviour_definition> ).
li_object_data_model->set_data( <ls_behaviour_definition> ). li_object_data_model->set_data( <ls_behaviour_definition> ).
li_wb_object_operator->update( CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~UPDATE')
EXPORTING
io_object_data = li_object_data_model io_object_data = li_object_data_model
transport_request = lv_transport_request ). transport_request = lv_transport_request.
ELSE. ELSE.
li_object_data_model->set_data( <ls_behaviour_definition> ). li_object_data_model->set_data( <ls_behaviour_definition> ).
li_wb_object_operator->create( CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~CREATE')
EXPORTING
io_object_data = li_object_data_model io_object_data = li_object_data_model
data_selection = if_wb_object_data_selection_co=>c_properties data_selection = 'P' " if_wb_object_data_selection_co=>c_properties
package = iv_package package = iv_package
transport_request = lv_transport_request ). transport_request = lv_transport_request.
li_wb_object_operator->update( CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~UPDATE')
EXPORTING
io_object_data = li_object_data_model io_object_data = li_object_data_model
data_selection = if_wb_object_data_selection_co=>c_data_content data_selection = 'D' " if_wb_object_data_selection_co=>c_data_content
transport_request = lv_transport_request ). transport_request = lv_transport_request.
ENDIF. ENDIF.
li_wb_object_operator->activate( ). CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~ACTIVATE').
corr_insert( iv_package ). corr_insert( iv_package ).
CATCH cx_swb_exception cx_wb_object_operation_error INTO lx_error. CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise( zcx_abapgit_exception=>raise(
iv_text = lx_error->get_text( ) iv_text = lx_error->get_text( )
ix_previous = lx_error ). ix_previous = lx_error ).
@ -345,8 +351,8 @@ CLASS zcl_abapgit_object_bdef IMPLEMENTATION.
DATA: DATA:
li_object_data_model TYPE REF TO if_wb_object_data_model, li_object_data_model TYPE REF TO if_wb_object_data_model,
li_wb_object_operator TYPE REF TO if_wb_object_operator, li_wb_object_operator TYPE REF TO object,
lx_error TYPE REF TO cx_wb_object_operation_error, lx_error TYPE REF TO cx_root,
lv_source TYPE string. lv_source TYPE string.
FIELD-SYMBOLS: FIELD-SYMBOLS:
@ -359,12 +365,12 @@ CLASS zcl_abapgit_object_bdef IMPLEMENTATION.
li_wb_object_operator = get_wb_object_operator( ). li_wb_object_operator = get_wb_object_operator( ).
TRY. TRY.
li_wb_object_operator->read( CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~READ')
EXPORTING EXPORTING
version = 'A' version = 'A'
IMPORTING IMPORTING
data = <ls_behaviour_definition> data = <ls_behaviour_definition>
eo_object_data = li_object_data_model ). eo_object_data = li_object_data_model.
ASSIGN COMPONENT 'CONTENT-SOURCE' OF STRUCTURE <ls_behaviour_definition> ASSIGN COMPONENT 'CONTENT-SOURCE' OF STRUCTURE <ls_behaviour_definition>
TO <lv_source>. TO <lv_source>.
@ -374,7 +380,7 @@ CLASS zcl_abapgit_object_bdef IMPLEMENTATION.
clear_fields( CHANGING cs_behaviour_definition = <ls_behaviour_definition> ). clear_fields( CHANGING cs_behaviour_definition = <ls_behaviour_definition> ).
CATCH cx_wb_object_operation_error INTO lx_error. CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise( zcx_abapgit_exception=>raise(
iv_text = lx_error->get_text( ) iv_text = lx_error->get_text( )
ix_previous = lx_error ). ix_previous = lx_error ).
@ -393,7 +399,7 @@ CLASS zcl_abapgit_object_bdef IMPLEMENTATION.
METHOD fill_metadata_from_db. METHOD fill_metadata_from_db.
DATA: DATA:
li_wb_object_operator TYPE REF TO if_wb_object_operator, li_wb_object_operator TYPE REF TO object,
lr_behaviour_definition_old TYPE REF TO data. lr_behaviour_definition_old TYPE REF TO data.
FIELD-SYMBOLS: FIELD-SYMBOLS:
@ -409,7 +415,9 @@ CLASS zcl_abapgit_object_bdef IMPLEMENTATION.
ASSIGN lr_behaviour_definition_old->* TO <ls_behaviour_definition_old>. ASSIGN lr_behaviour_definition_old->* TO <ls_behaviour_definition_old>.
ASSERT sy-subrc = 0. ASSERT sy-subrc = 0.
li_wb_object_operator->read( IMPORTING data = <ls_behaviour_definition_old> ). CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~READ')
IMPORTING
data = <ls_behaviour_definition_old>.
ASSIGN COMPONENT 'METADATA-CREATED_BY' OF STRUCTURE cs_behaviour_definition ASSIGN COMPONENT 'METADATA-CREATED_BY' OF STRUCTURE cs_behaviour_definition
TO <lv_created_by>. TO <lv_created_by>.
@ -450,7 +458,7 @@ CLASS zcl_abapgit_object_bdef IMPLEMENTATION.
DATA: DATA:
ls_object_type TYPE wbobjtype, ls_object_type TYPE wbobjtype,
lx_error TYPE REF TO cx_wb_object_operation_error. lx_error TYPE REF TO cx_root.
IF mi_wb_object_operator IS BOUND. IF mi_wb_object_operator IS BOUND.
ri_wb_object_operator = mi_wb_object_operator. ri_wb_object_operator = mi_wb_object_operator.
@ -460,11 +468,14 @@ CLASS zcl_abapgit_object_bdef IMPLEMENTATION.
ls_object_type-subtype_wb = 'BDO'. ls_object_type-subtype_wb = 'BDO'.
TRY. TRY.
mi_wb_object_operator = cl_wb_object_operator=>create_instance( CALL METHOD ('CL_WB_OBJECT_OPERATOR')=>('CREATE_INSTANCE')
object_type = ls_object_type EXPORTING
object_key = mv_behaviour_definition_key ). object_type = ls_object_type
object_key = mv_behaviour_definition_key
RECEIVING
result = mi_wb_object_operator.
CATCH cx_wb_object_operation_error INTO lx_error. CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise( zcx_abapgit_exception=>raise(
iv_text = lx_error->get_text( ) iv_text = lx_error->get_text( )
ix_previous = lx_error ). ix_previous = lx_error ).

View File

@ -27,7 +27,6 @@ CLASS zcl_abapgit_object_drul DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
CHANGING CHANGING
cs_dependency_rule TYPE any cs_dependency_rule TYPE any
RAISING RAISING
cx_wb_object_operation_error
zcx_abapgit_exception, zcx_abapgit_exception,
get_transport_req_if_needed get_transport_req_if_needed
@ -40,7 +39,7 @@ CLASS zcl_abapgit_object_drul DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
get_wb_object_operator get_wb_object_operator
RETURNING RETURNING
VALUE(ri_wb_object_operator) TYPE REF TO if_wb_object_operator VALUE(ri_wb_object_operator) TYPE REF TO object
RAISING RAISING
zcx_abapgit_exception. zcx_abapgit_exception.
@ -48,7 +47,7 @@ CLASS zcl_abapgit_object_drul DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
mr_dependency_rule TYPE REF TO data, mr_dependency_rule TYPE REF TO data,
mv_dependency_rule_key TYPE seu_objkey, mv_dependency_rule_key TYPE seu_objkey,
mi_persistence TYPE REF TO if_wb_object_persist, mi_persistence TYPE REF TO if_wb_object_persist,
mi_wb_object_operator TYPE REF TO if_wb_object_operator. mi_wb_object_operator TYPE REF TO object.
ENDCLASS. ENDCLASS.
@ -77,15 +76,20 @@ CLASS zcl_abapgit_object_drul IMPLEMENTATION.
METHOD zif_abapgit_object~changed_by. METHOD zif_abapgit_object~changed_by.
DATA: DATA:
li_object_data_model TYPE REF TO if_wb_object_data_model, li_wb_object_operator TYPE REF TO object,
lx_error TYPE REF TO cx_wb_object_operation_error. li_object_data_model TYPE REF TO if_wb_object_data_model,
lx_error TYPE REF TO cx_root.
TRY. TRY.
get_wb_object_operator( )->read( IMPORTING eo_object_data = li_object_data_model ). li_wb_object_operator = get_wb_object_operator( ).
CALL METHOD li_object_data_model->('IF_WB_OBJECT_OPERATOR~READ')
IMPORTING
eo_object_data = li_object_data_model.
rv_user = li_object_data_model->get_changed_by( ). rv_user = li_object_data_model->get_changed_by( ).
CATCH cx_wb_object_operation_error INTO lx_error. CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise( zcx_abapgit_exception=>raise(
iv_text = lx_error->get_text( ) iv_text = lx_error->get_text( )
ix_previous = lx_error ). ix_previous = lx_error ).
@ -97,15 +101,19 @@ CLASS zcl_abapgit_object_drul IMPLEMENTATION.
METHOD zif_abapgit_object~delete. METHOD zif_abapgit_object~delete.
DATA: DATA:
lx_error TYPE REF TO cx_wb_object_operation_error, lx_error TYPE REF TO cx_root,
lv_transport_request TYPE trkorr. lv_transport_request TYPE trkorr,
li_wb_object_operator TYPE REF TO object.
lv_transport_request = get_transport_req_if_needed( iv_package ). lv_transport_request = get_transport_req_if_needed( iv_package ).
li_wb_object_operator = get_wb_object_operator( ).
TRY. TRY.
get_wb_object_operator( )->delete( lv_transport_request ). CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~DELETE')
EXPORTING
transport_request = lv_transport_request.
CATCH cx_wb_object_operation_error INTO lx_error. CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise( zcx_abapgit_exception=>raise(
iv_text = lx_error->get_text( ) iv_text = lx_error->get_text( )
ix_previous = lx_error ). ix_previous = lx_error ).
@ -118,8 +126,8 @@ CLASS zcl_abapgit_object_drul IMPLEMENTATION.
DATA: DATA:
li_object_data_model TYPE REF TO if_wb_object_data_model, li_object_data_model TYPE REF TO if_wb_object_data_model,
li_wb_object_operator TYPE REF TO if_wb_object_operator, li_wb_object_operator TYPE REF TO object,
lx_error TYPE REF TO cx_static_check, lx_error TYPE REF TO cx_root,
lv_transport_request TYPE trkorr. lv_transport_request TYPE trkorr.
FIELD-SYMBOLS: FIELD-SYMBOLS:
@ -156,32 +164,35 @@ CLASS zcl_abapgit_object_drul IMPLEMENTATION.
fill_metadata_from_db( CHANGING cs_dependency_rule = <ls_dependency_rule> ). fill_metadata_from_db( CHANGING cs_dependency_rule = <ls_dependency_rule> ).
li_object_data_model->set_data( <ls_dependency_rule> ). li_object_data_model->set_data( <ls_dependency_rule> ).
li_wb_object_operator->update( CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~UPDATE')
EXPORTING
io_object_data = li_object_data_model io_object_data = li_object_data_model
transport_request = lv_transport_request ). transport_request = lv_transport_request.
ELSE. ELSE.
li_object_data_model->set_data( <ls_dependency_rule> ). li_object_data_model->set_data( <ls_dependency_rule> ).
li_wb_object_operator->create( CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~CREATE')
EXPORTING
io_object_data = li_object_data_model io_object_data = li_object_data_model
data_selection = if_wb_object_data_selection_co=>c_properties data_selection = 'P' " if_wb_object_data_selection_co=>c_properties
package = iv_package package = iv_package
transport_request = lv_transport_request ). transport_request = lv_transport_request.
li_wb_object_operator->update( CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~UPDATE')
EXPORTING
io_object_data = li_object_data_model io_object_data = li_object_data_model
data_selection = if_wb_object_data_selection_co=>c_data_content data_selection = 'D' " if_wb_object_data_selection_co=>c_data_content
transport_request = lv_transport_request ). transport_request = lv_transport_request.
ENDIF. ENDIF.
li_wb_object_operator->activate( ). CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~ACTIVATE').
corr_insert( iv_package ). corr_insert( iv_package ).
CATCH cx_swb_exception cx_wb_object_operation_error INTO lx_error. CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise( zcx_abapgit_exception=>raise(
iv_text = lx_error->get_text( ) iv_text = lx_error->get_text( )
ix_previous = lx_error ). ix_previous = lx_error ).
@ -260,9 +271,10 @@ CLASS zcl_abapgit_object_drul IMPLEMENTATION.
METHOD zif_abapgit_object~serialize. METHOD zif_abapgit_object~serialize.
DATA: DATA:
li_object_data_model TYPE REF TO if_wb_object_data_model, li_wb_object_operator TYPE REF TO object,
lx_error TYPE REF TO cx_wb_object_operation_error, li_object_data_model TYPE REF TO if_wb_object_data_model,
lv_source TYPE string. lx_error TYPE REF TO cx_root,
lv_source TYPE string.
FIELD-SYMBOLS: FIELD-SYMBOLS:
<ls_dependency_rule> TYPE any, <ls_dependency_rule> TYPE any,
@ -271,13 +283,15 @@ CLASS zcl_abapgit_object_drul IMPLEMENTATION.
ASSIGN mr_dependency_rule->* TO <ls_dependency_rule>. ASSIGN mr_dependency_rule->* TO <ls_dependency_rule>.
ASSERT sy-subrc = 0. ASSERT sy-subrc = 0.
li_wb_object_operator = get_wb_object_operator( ).
TRY. TRY.
get_wb_object_operator( )->read( CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~READ')
EXPORTING EXPORTING
version = 'A' version = 'A'
IMPORTING IMPORTING
data = <ls_dependency_rule> data = <ls_dependency_rule>
eo_object_data = li_object_data_model ). eo_object_data = li_object_data_model.
ASSIGN COMPONENT 'CONTENT-SOURCE' OF STRUCTURE <ls_dependency_rule> ASSIGN COMPONENT 'CONTENT-SOURCE' OF STRUCTURE <ls_dependency_rule>
TO <lv_source>. TO <lv_source>.
@ -287,7 +301,7 @@ CLASS zcl_abapgit_object_drul IMPLEMENTATION.
clear_fields( CHANGING cs_dependency_rule = <ls_dependency_rule> ). clear_fields( CHANGING cs_dependency_rule = <ls_dependency_rule> ).
CATCH cx_wb_object_operation_error INTO lx_error. CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise( zcx_abapgit_exception=>raise(
iv_text = lx_error->get_text( ) iv_text = lx_error->get_text( )
ix_previous = lx_error ). ix_previous = lx_error ).
@ -306,7 +320,7 @@ CLASS zcl_abapgit_object_drul IMPLEMENTATION.
METHOD fill_metadata_from_db. METHOD fill_metadata_from_db.
DATA: DATA:
li_wb_object_operator TYPE REF TO if_wb_object_operator, li_wb_object_operator TYPE REF TO object,
lr_dependency_rule_old TYPE REF TO data. lr_dependency_rule_old TYPE REF TO data.
FIELD-SYMBOLS: FIELD-SYMBOLS:
@ -322,7 +336,9 @@ CLASS zcl_abapgit_object_drul IMPLEMENTATION.
ASSIGN lr_dependency_rule_old->* TO <ls_dependency_rule_old>. ASSIGN lr_dependency_rule_old->* TO <ls_dependency_rule_old>.
ASSERT sy-subrc = 0. ASSERT sy-subrc = 0.
li_wb_object_operator->read( IMPORTING data = <ls_dependency_rule_old> ). CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~READ')
IMPORTING
data = <ls_dependency_rule_old>.
ASSIGN COMPONENT 'METADATA-CREATED_BY' OF STRUCTURE cs_dependency_rule ASSIGN COMPONENT 'METADATA-CREATED_BY' OF STRUCTURE cs_dependency_rule
TO <lv_created_by>. TO <lv_created_by>.
@ -363,7 +379,7 @@ CLASS zcl_abapgit_object_drul IMPLEMENTATION.
DATA: DATA:
ls_object_type TYPE wbobjtype, ls_object_type TYPE wbobjtype,
lx_error TYPE REF TO cx_wb_object_operation_error. lx_error TYPE REF TO cx_root.
IF mi_wb_object_operator IS BOUND. IF mi_wb_object_operator IS BOUND.
ri_wb_object_operator = mi_wb_object_operator. ri_wb_object_operator = mi_wb_object_operator.
@ -373,11 +389,14 @@ CLASS zcl_abapgit_object_drul IMPLEMENTATION.
ls_object_type-subtype_wb = 'DRL'. ls_object_type-subtype_wb = 'DRL'.
TRY. TRY.
mi_wb_object_operator = cl_wb_object_operator=>create_instance( CALL METHOD ('CL_WB_OBJECT_OPERATOR')=>('CREATE_INSTANCE')
object_type = ls_object_type EXPORTING
object_key = mv_dependency_rule_key ). object_type = ls_object_type
object_key = mv_dependency_rule_key
RECEIVING
result = mi_wb_object_operator.
CATCH cx_wb_object_operation_error INTO lx_error. CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise( zcx_abapgit_exception=>raise(
iv_text = lx_error->get_text( ) iv_text = lx_error->get_text( )
ix_previous = lx_error ). ix_previous = lx_error ).

View File

@ -27,7 +27,6 @@ CLASS zcl_abapgit_object_dtdc DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
CHANGING CHANGING
cs_dynamic_cache TYPE any cs_dynamic_cache TYPE any
RAISING RAISING
cx_wb_object_operation_error
zcx_abapgit_exception, zcx_abapgit_exception,
get_transport_req_if_needed get_transport_req_if_needed
@ -40,7 +39,7 @@ CLASS zcl_abapgit_object_dtdc DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
get_wb_object_operator get_wb_object_operator
RETURNING RETURNING
VALUE(ri_wb_object_operator) TYPE REF TO if_wb_object_operator VALUE(ri_wb_object_operator) TYPE REF TO object
RAISING RAISING
zcx_abapgit_exception. zcx_abapgit_exception.
@ -48,7 +47,7 @@ CLASS zcl_abapgit_object_dtdc DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
mr_dynamic_cache TYPE REF TO data, mr_dynamic_cache TYPE REF TO data,
mv_dynamic_cache_key TYPE seu_objkey, mv_dynamic_cache_key TYPE seu_objkey,
mi_persistence TYPE REF TO if_wb_object_persist, mi_persistence TYPE REF TO if_wb_object_persist,
mi_wb_object_operator TYPE REF TO if_wb_object_operator. mi_wb_object_operator TYPE REF TO object.
ENDCLASS. ENDCLASS.
@ -77,15 +76,20 @@ CLASS zcl_abapgit_object_dtdc IMPLEMENTATION.
METHOD zif_abapgit_object~changed_by. METHOD zif_abapgit_object~changed_by.
DATA: DATA:
li_object_data_model TYPE REF TO if_wb_object_data_model, li_object_data_model TYPE REF TO if_wb_object_data_model,
lx_error TYPE REF TO cx_wb_object_operation_error. lx_error TYPE REF TO cx_root,
li_wb_object_operator TYPE REF TO object.
TRY. TRY.
get_wb_object_operator( )->read( IMPORTING eo_object_data = li_object_data_model ). li_wb_object_operator = get_wb_object_operator( ).
CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~READ')
IMPORTING
eo_object_data = li_object_data_model.
rv_user = li_object_data_model->get_changed_by( ). rv_user = li_object_data_model->get_changed_by( ).
CATCH cx_wb_object_operation_error INTO lx_error. CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise( zcx_abapgit_exception=>raise(
iv_text = lx_error->get_text( ) iv_text = lx_error->get_text( )
ix_previous = lx_error ). ix_previous = lx_error ).
@ -97,15 +101,20 @@ CLASS zcl_abapgit_object_dtdc IMPLEMENTATION.
METHOD zif_abapgit_object~delete. METHOD zif_abapgit_object~delete.
DATA: DATA:
lx_error TYPE REF TO cx_wb_object_operation_error, lx_error TYPE REF TO cx_root,
lv_transport_request TYPE trkorr. lv_transport_request TYPE trkorr,
li_wb_object_operator TYPE REF TO object.
lv_transport_request = get_transport_req_if_needed( iv_package ). lv_transport_request = get_transport_req_if_needed( iv_package ).
TRY. TRY.
get_wb_object_operator( )->delete( lv_transport_request ). li_wb_object_operator = get_wb_object_operator( ).
CATCH cx_wb_object_operation_error INTO lx_error. CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~DELETE')
EXPORTING
transport_request = lv_transport_request.
CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise( zcx_abapgit_exception=>raise(
iv_text = lx_error->get_text( ) iv_text = lx_error->get_text( )
ix_previous = lx_error ). ix_previous = lx_error ).
@ -118,8 +127,8 @@ CLASS zcl_abapgit_object_dtdc IMPLEMENTATION.
DATA: DATA:
li_object_data_model TYPE REF TO if_wb_object_data_model, li_object_data_model TYPE REF TO if_wb_object_data_model,
li_wb_object_operator TYPE REF TO if_wb_object_operator, li_wb_object_operator TYPE REF TO object,
lx_error TYPE REF TO cx_static_check, lx_error TYPE REF TO cx_root,
lv_transport_request TYPE trkorr. lv_transport_request TYPE trkorr.
FIELD-SYMBOLS: FIELD-SYMBOLS:
@ -156,32 +165,35 @@ CLASS zcl_abapgit_object_dtdc IMPLEMENTATION.
fill_metadata_from_db( CHANGING cs_dynamic_cache = <ls_dynamic_cache> ). fill_metadata_from_db( CHANGING cs_dynamic_cache = <ls_dynamic_cache> ).
li_object_data_model->set_data( <ls_dynamic_cache> ). li_object_data_model->set_data( <ls_dynamic_cache> ).
li_wb_object_operator->update( CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~UPDATE')
EXPORTING
io_object_data = li_object_data_model io_object_data = li_object_data_model
transport_request = lv_transport_request ). transport_request = lv_transport_request.
ELSE. ELSE.
li_object_data_model->set_data( <ls_dynamic_cache> ). li_object_data_model->set_data( <ls_dynamic_cache> ).
li_wb_object_operator->create( CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~CREATE')
EXPORTING
io_object_data = li_object_data_model io_object_data = li_object_data_model
data_selection = if_wb_object_data_selection_co=>c_properties data_selection = 'P' " if_wb_object_data_selection_co=>c_properties
package = iv_package package = iv_package
transport_request = lv_transport_request ). transport_request = lv_transport_request.
li_wb_object_operator->update( CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~UPDATE')
EXPORTING
io_object_data = li_object_data_model io_object_data = li_object_data_model
data_selection = if_wb_object_data_selection_co=>c_data_content data_selection = 'D' " if_wb_object_data_selection_co=>c_data_content
transport_request = lv_transport_request ). transport_request = lv_transport_request.
ENDIF. ENDIF.
li_wb_object_operator->activate( ). CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~ACTIVATE').
corr_insert( iv_package ). corr_insert( iv_package ).
CATCH cx_swb_exception cx_wb_object_operation_error INTO lx_error. CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise( zcx_abapgit_exception=>raise(
iv_text = lx_error->get_text( ) iv_text = lx_error->get_text( )
ix_previous = lx_error ). ix_previous = lx_error ).
@ -260,9 +272,10 @@ CLASS zcl_abapgit_object_dtdc IMPLEMENTATION.
METHOD zif_abapgit_object~serialize. METHOD zif_abapgit_object~serialize.
DATA: DATA:
li_object_data_model TYPE REF TO if_wb_object_data_model, li_wb_object_operator TYPE REF TO object,
lx_error TYPE REF TO cx_wb_object_operation_error, li_object_data_model TYPE REF TO if_wb_object_data_model,
lv_source TYPE string. lx_error TYPE REF TO cx_root,
lv_source TYPE string.
FIELD-SYMBOLS: FIELD-SYMBOLS:
<ls_dynamic_cache> TYPE any, <ls_dynamic_cache> TYPE any,
@ -272,12 +285,14 @@ CLASS zcl_abapgit_object_dtdc IMPLEMENTATION.
ASSERT sy-subrc = 0. ASSERT sy-subrc = 0.
TRY. TRY.
get_wb_object_operator( )->read( li_wb_object_operator = get_wb_object_operator( ).
CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~READ')
EXPORTING EXPORTING
version = 'A' version = 'A'
IMPORTING IMPORTING
data = <ls_dynamic_cache> data = <ls_dynamic_cache>
eo_object_data = li_object_data_model ). eo_object_data = li_object_data_model.
ASSIGN COMPONENT 'CONTENT-SOURCE' OF STRUCTURE <ls_dynamic_cache> ASSIGN COMPONENT 'CONTENT-SOURCE' OF STRUCTURE <ls_dynamic_cache>
TO <lv_source>. TO <lv_source>.
@ -287,7 +302,7 @@ CLASS zcl_abapgit_object_dtdc IMPLEMENTATION.
clear_fields( CHANGING cs_dynamic_cache = <ls_dynamic_cache> ). clear_fields( CHANGING cs_dynamic_cache = <ls_dynamic_cache> ).
CATCH cx_wb_object_operation_error INTO lx_error. CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise( zcx_abapgit_exception=>raise(
iv_text = lx_error->get_text( ) iv_text = lx_error->get_text( )
ix_previous = lx_error ). ix_previous = lx_error ).
@ -306,7 +321,7 @@ CLASS zcl_abapgit_object_dtdc IMPLEMENTATION.
METHOD fill_metadata_from_db. METHOD fill_metadata_from_db.
DATA: DATA:
li_wb_object_operator TYPE REF TO if_wb_object_operator, li_wb_object_operator TYPE REF TO object,
lr_dynamic_cache_old TYPE REF TO data. lr_dynamic_cache_old TYPE REF TO data.
FIELD-SYMBOLS: FIELD-SYMBOLS:
@ -322,7 +337,9 @@ CLASS zcl_abapgit_object_dtdc IMPLEMENTATION.
ASSIGN lr_dynamic_cache_old->* TO <ls_dynamic_cache_old>. ASSIGN lr_dynamic_cache_old->* TO <ls_dynamic_cache_old>.
ASSERT sy-subrc = 0. ASSERT sy-subrc = 0.
li_wb_object_operator->read( IMPORTING data = <ls_dynamic_cache_old> ). CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~READ')
IMPORTING
data = <ls_dynamic_cache_old>.
ASSIGN COMPONENT 'METADATA-CREATED_BY' OF STRUCTURE cs_dynamic_cache ASSIGN COMPONENT 'METADATA-CREATED_BY' OF STRUCTURE cs_dynamic_cache
TO <lv_created_by>. TO <lv_created_by>.
@ -363,7 +380,7 @@ CLASS zcl_abapgit_object_dtdc IMPLEMENTATION.
DATA: DATA:
ls_object_type TYPE wbobjtype, ls_object_type TYPE wbobjtype,
lx_error TYPE REF TO cx_wb_object_operation_error. lx_error TYPE REF TO cx_root.
IF mi_wb_object_operator IS BOUND. IF mi_wb_object_operator IS BOUND.
ri_wb_object_operator = mi_wb_object_operator. ri_wb_object_operator = mi_wb_object_operator.
@ -373,11 +390,14 @@ CLASS zcl_abapgit_object_dtdc IMPLEMENTATION.
ls_object_type-subtype_wb = 'DF'. ls_object_type-subtype_wb = 'DF'.
TRY. TRY.
mi_wb_object_operator = cl_wb_object_operator=>create_instance( CALL METHOD ('CL_WB_OBJECT_OPERATOR')=>('CREATE_INSTANCE')
object_type = ls_object_type EXPORTING
object_key = mv_dynamic_cache_key ). object_type = ls_object_type
object_key = mv_dynamic_cache_key
RECEIVING
result = mi_wb_object_operator.
CATCH cx_wb_object_operation_error INTO lx_error. CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise( zcx_abapgit_exception=>raise(
iv_text = lx_error->get_text( ) iv_text = lx_error->get_text( )
ix_previous = lx_error ). ix_previous = lx_error ).