* 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
cs_logical_db_schema TYPE any
RAISING
cx_wb_object_operation_error
zcx_abapgit_exception,
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
RETURNING
VALUE(ri_wb_object_operator) TYPE REF TO if_wb_object_operator
VALUE(ri_wb_object_operator) TYPE REF TO object
RAISING
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,
mv_logical_db_schema_key TYPE seu_objkey,
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.
@ -121,7 +120,7 @@ CLASS zcl_abapgit_object_amsd IMPLEMENTATION.
METHOD fill_metadata_from_db.
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.
FIELD-SYMBOLS:
@ -137,7 +136,9 @@ CLASS zcl_abapgit_object_amsd IMPLEMENTATION.
ASSIGN lr_logical_db_schema_old->* TO <ls_logical_db_schema_old>.
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
TO <lv_created_by>.
@ -178,7 +179,7 @@ CLASS zcl_abapgit_object_amsd IMPLEMENTATION.
DATA:
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.
ri_wb_object_operator = mi_wb_object_operator.
@ -188,11 +189,14 @@ CLASS zcl_abapgit_object_amsd IMPLEMENTATION.
ls_object_type-subtype_wb = 'TYP'.
TRY.
mi_wb_object_operator = cl_wb_object_operator=>create_instance(
CALL METHOD ('CL_WB_OBJECT_OPERATOR')=>('CREATE_INSTANCE')
EXPORTING
object_type = ls_object_type
object_key = mv_logical_db_schema_key ).
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(
iv_text = lx_error->get_text( )
ix_previous = lx_error ).
@ -206,15 +210,20 @@ CLASS zcl_abapgit_object_amsd IMPLEMENTATION.
METHOD zif_abapgit_object~changed_by.
DATA:
li_wb_object_operator TYPE REF TO object,
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.
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( ).
CATCH cx_wb_object_operation_error INTO lx_error.
CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise(
iv_text = lx_error->get_text( )
ix_previous = lx_error ).
@ -226,15 +235,19 @@ CLASS zcl_abapgit_object_amsd IMPLEMENTATION.
METHOD zif_abapgit_object~delete.
DATA:
lx_error TYPE REF TO cx_wb_object_operation_error,
li_wb_object_operator TYPE REF TO object,
lx_error TYPE REF TO cx_root,
lv_transport_request TYPE trkorr.
lv_transport_request = get_transport_req_if_needed( iv_package ).
li_wb_object_operator = get_wb_object_operator( ).
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(
iv_text = lx_error->get_text( )
ix_previous = lx_error ).
@ -247,8 +260,8 @@ CLASS zcl_abapgit_object_amsd IMPLEMENTATION.
DATA:
li_object_data_model TYPE REF TO if_wb_object_data_model,
li_wb_object_operator TYPE REF TO if_wb_object_operator,
lx_error TYPE REF TO cx_static_check,
li_wb_object_operator TYPE REF TO object,
lx_error TYPE REF TO cx_root,
lv_transport_request TYPE trkorr.
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> ).
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
transport_request = lv_transport_request ).
transport_request = lv_transport_request.
ELSE.
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
data_selection = if_wb_object_data_selection_co=>c_properties
data_selection = 'P' " if_wb_object_data_selection_co=>c_properties
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
data_selection = if_wb_object_data_selection_co=>c_data_content
transport_request = lv_transport_request ).
data_selection = 'D' " if_wb_object_data_selection_co=>c_data_content
transport_request = lv_transport_request.
ENDIF.
li_wb_object_operator->activate( ).
CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~ACTIVATE').
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(
iv_text = lx_error->get_text( )
ix_previous = lx_error ).
@ -383,7 +399,8 @@ CLASS zcl_abapgit_object_amsd IMPLEMENTATION.
DATA:
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:
<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>.
ASSERT sy-subrc = 0.
li_wb_object_operator = get_wb_object_operator( ).
TRY.
get_wb_object_operator( )->read(
CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~READ')
EXPORTING
version = 'A'
IMPORTING
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> ).
CATCH cx_wb_object_operation_error INTO lx_error.
CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise(
iv_text = lx_error->get_text( )
ix_previous = lx_error ).

View File

@ -27,7 +27,6 @@ CLASS zcl_abapgit_object_bdef DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
CHANGING
cs_behaviour_definition TYPE any
RAISING
cx_wb_object_operation_error
zcx_abapgit_exception,
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
RETURNING
VALUE(ri_wb_object_operator) TYPE REF TO if_wb_object_operator
VALUE(ri_wb_object_operator) TYPE REF TO object
RAISING
zcx_abapgit_exception.
DATA:
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,
mr_behaviour_definition TYPE REF TO data.
@ -156,17 +155,19 @@ CLASS zcl_abapgit_object_bdef IMPLEMENTATION.
DATA:
li_object_data_model TYPE REF TO if_wb_object_data_model,
li_wb_object_operator TYPE REF TO if_wb_object_operator,
lx_error TYPE REF TO cx_wb_object_operation_error.
li_wb_object_operator TYPE REF TO object,
lx_error TYPE REF TO cx_root.
li_wb_object_operator = get_wb_object_operator( ).
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( ).
CATCH cx_wb_object_operation_error INTO lx_error.
CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise(
iv_text = lx_error->get_text( )
ix_previous = lx_error ).
@ -178,8 +179,8 @@ CLASS zcl_abapgit_object_bdef IMPLEMENTATION.
METHOD zif_abapgit_object~delete.
DATA:
lx_error TYPE REF TO cx_wb_object_operation_error,
li_wb_object_operator TYPE REF TO if_wb_object_operator,
lx_error TYPE REF TO cx_root,
li_wb_object_operator TYPE REF TO object,
lv_transport_request TYPE trkorr.
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( ).
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(
iv_text = lx_error->get_text( )
ix_previous = lx_error ).
@ -202,8 +205,8 @@ CLASS zcl_abapgit_object_bdef IMPLEMENTATION.
DATA:
li_object_data_model TYPE REF TO if_wb_object_data_model,
li_wb_object_operator TYPE REF TO if_wb_object_operator,
lx_error TYPE REF TO cx_static_check,
li_wb_object_operator TYPE REF TO object,
lx_error TYPE REF TO cx_root,
lv_transport_request TYPE trkorr.
FIELD-SYMBOLS:
@ -240,32 +243,35 @@ CLASS zcl_abapgit_object_bdef IMPLEMENTATION.
fill_metadata_from_db( CHANGING cs_behaviour_definition = <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
transport_request = lv_transport_request ).
transport_request = lv_transport_request.
ELSE.
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
data_selection = if_wb_object_data_selection_co=>c_properties
data_selection = 'P' " if_wb_object_data_selection_co=>c_properties
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
data_selection = if_wb_object_data_selection_co=>c_data_content
transport_request = lv_transport_request ).
data_selection = 'D' " if_wb_object_data_selection_co=>c_data_content
transport_request = lv_transport_request.
ENDIF.
li_wb_object_operator->activate( ).
CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~ACTIVATE').
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(
iv_text = lx_error->get_text( )
ix_previous = lx_error ).
@ -345,8 +351,8 @@ CLASS zcl_abapgit_object_bdef IMPLEMENTATION.
DATA:
li_object_data_model TYPE REF TO if_wb_object_data_model,
li_wb_object_operator TYPE REF TO if_wb_object_operator,
lx_error TYPE REF TO cx_wb_object_operation_error,
li_wb_object_operator TYPE REF TO object,
lx_error TYPE REF TO cx_root,
lv_source TYPE string.
FIELD-SYMBOLS:
@ -359,12 +365,12 @@ CLASS zcl_abapgit_object_bdef IMPLEMENTATION.
li_wb_object_operator = get_wb_object_operator( ).
TRY.
li_wb_object_operator->read(
CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~READ')
EXPORTING
version = 'A'
IMPORTING
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>
TO <lv_source>.
@ -374,7 +380,7 @@ CLASS zcl_abapgit_object_bdef IMPLEMENTATION.
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(
iv_text = lx_error->get_text( )
ix_previous = lx_error ).
@ -393,7 +399,7 @@ CLASS zcl_abapgit_object_bdef IMPLEMENTATION.
METHOD fill_metadata_from_db.
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.
FIELD-SYMBOLS:
@ -409,7 +415,9 @@ CLASS zcl_abapgit_object_bdef IMPLEMENTATION.
ASSIGN lr_behaviour_definition_old->* TO <ls_behaviour_definition_old>.
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
TO <lv_created_by>.
@ -450,7 +458,7 @@ CLASS zcl_abapgit_object_bdef IMPLEMENTATION.
DATA:
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.
ri_wb_object_operator = mi_wb_object_operator.
@ -460,11 +468,14 @@ CLASS zcl_abapgit_object_bdef IMPLEMENTATION.
ls_object_type-subtype_wb = 'BDO'.
TRY.
mi_wb_object_operator = cl_wb_object_operator=>create_instance(
CALL METHOD ('CL_WB_OBJECT_OPERATOR')=>('CREATE_INSTANCE')
EXPORTING
object_type = ls_object_type
object_key = mv_behaviour_definition_key ).
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(
iv_text = lx_error->get_text( )
ix_previous = lx_error ).

View File

@ -27,7 +27,6 @@ CLASS zcl_abapgit_object_drul DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
CHANGING
cs_dependency_rule TYPE any
RAISING
cx_wb_object_operation_error
zcx_abapgit_exception,
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
RETURNING
VALUE(ri_wb_object_operator) TYPE REF TO if_wb_object_operator
VALUE(ri_wb_object_operator) TYPE REF TO object
RAISING
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,
mv_dependency_rule_key TYPE seu_objkey,
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.
@ -77,15 +76,20 @@ CLASS zcl_abapgit_object_drul IMPLEMENTATION.
METHOD zif_abapgit_object~changed_by.
DATA:
li_wb_object_operator TYPE REF TO object,
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.
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( ).
CATCH cx_wb_object_operation_error INTO lx_error.
CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise(
iv_text = lx_error->get_text( )
ix_previous = lx_error ).
@ -97,15 +101,19 @@ CLASS zcl_abapgit_object_drul IMPLEMENTATION.
METHOD zif_abapgit_object~delete.
DATA:
lx_error TYPE REF TO cx_wb_object_operation_error,
lv_transport_request TYPE trkorr.
lx_error TYPE REF TO cx_root,
lv_transport_request TYPE trkorr,
li_wb_object_operator TYPE REF TO object.
lv_transport_request = get_transport_req_if_needed( iv_package ).
li_wb_object_operator = get_wb_object_operator( ).
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(
iv_text = lx_error->get_text( )
ix_previous = lx_error ).
@ -118,8 +126,8 @@ CLASS zcl_abapgit_object_drul IMPLEMENTATION.
DATA:
li_object_data_model TYPE REF TO if_wb_object_data_model,
li_wb_object_operator TYPE REF TO if_wb_object_operator,
lx_error TYPE REF TO cx_static_check,
li_wb_object_operator TYPE REF TO object,
lx_error TYPE REF TO cx_root,
lv_transport_request TYPE trkorr.
FIELD-SYMBOLS:
@ -156,32 +164,35 @@ CLASS zcl_abapgit_object_drul IMPLEMENTATION.
fill_metadata_from_db( CHANGING cs_dependency_rule = <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
transport_request = lv_transport_request ).
transport_request = lv_transport_request.
ELSE.
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
data_selection = if_wb_object_data_selection_co=>c_properties
data_selection = 'P' " if_wb_object_data_selection_co=>c_properties
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
data_selection = if_wb_object_data_selection_co=>c_data_content
transport_request = lv_transport_request ).
data_selection = 'D' " if_wb_object_data_selection_co=>c_data_content
transport_request = lv_transport_request.
ENDIF.
li_wb_object_operator->activate( ).
CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~ACTIVATE').
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(
iv_text = lx_error->get_text( )
ix_previous = lx_error ).
@ -260,8 +271,9 @@ CLASS zcl_abapgit_object_drul IMPLEMENTATION.
METHOD zif_abapgit_object~serialize.
DATA:
li_wb_object_operator TYPE REF TO object,
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,
lv_source TYPE string.
FIELD-SYMBOLS:
@ -271,13 +283,15 @@ CLASS zcl_abapgit_object_drul IMPLEMENTATION.
ASSIGN mr_dependency_rule->* TO <ls_dependency_rule>.
ASSERT sy-subrc = 0.
li_wb_object_operator = get_wb_object_operator( ).
TRY.
get_wb_object_operator( )->read(
CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~READ')
EXPORTING
version = 'A'
IMPORTING
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>
TO <lv_source>.
@ -287,7 +301,7 @@ CLASS zcl_abapgit_object_drul IMPLEMENTATION.
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(
iv_text = lx_error->get_text( )
ix_previous = lx_error ).
@ -306,7 +320,7 @@ CLASS zcl_abapgit_object_drul IMPLEMENTATION.
METHOD fill_metadata_from_db.
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.
FIELD-SYMBOLS:
@ -322,7 +336,9 @@ CLASS zcl_abapgit_object_drul IMPLEMENTATION.
ASSIGN lr_dependency_rule_old->* TO <ls_dependency_rule_old>.
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
TO <lv_created_by>.
@ -363,7 +379,7 @@ CLASS zcl_abapgit_object_drul IMPLEMENTATION.
DATA:
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.
ri_wb_object_operator = mi_wb_object_operator.
@ -373,11 +389,14 @@ CLASS zcl_abapgit_object_drul IMPLEMENTATION.
ls_object_type-subtype_wb = 'DRL'.
TRY.
mi_wb_object_operator = cl_wb_object_operator=>create_instance(
CALL METHOD ('CL_WB_OBJECT_OPERATOR')=>('CREATE_INSTANCE')
EXPORTING
object_type = ls_object_type
object_key = mv_dependency_rule_key ).
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(
iv_text = lx_error->get_text( )
ix_previous = lx_error ).

View File

@ -27,7 +27,6 @@ CLASS zcl_abapgit_object_dtdc DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
CHANGING
cs_dynamic_cache TYPE any
RAISING
cx_wb_object_operation_error
zcx_abapgit_exception,
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
RETURNING
VALUE(ri_wb_object_operator) TYPE REF TO if_wb_object_operator
VALUE(ri_wb_object_operator) TYPE REF TO object
RAISING
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,
mv_dynamic_cache_key TYPE seu_objkey,
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.
@ -78,14 +77,19 @@ CLASS zcl_abapgit_object_dtdc IMPLEMENTATION.
DATA:
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.
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( ).
CATCH cx_wb_object_operation_error INTO lx_error.
CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise(
iv_text = lx_error->get_text( )
ix_previous = lx_error ).
@ -97,15 +101,20 @@ CLASS zcl_abapgit_object_dtdc IMPLEMENTATION.
METHOD zif_abapgit_object~delete.
DATA:
lx_error TYPE REF TO cx_wb_object_operation_error,
lv_transport_request TYPE trkorr.
lx_error TYPE REF TO cx_root,
lv_transport_request TYPE trkorr,
li_wb_object_operator TYPE REF TO object.
lv_transport_request = get_transport_req_if_needed( iv_package ).
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(
iv_text = lx_error->get_text( )
ix_previous = lx_error ).
@ -118,8 +127,8 @@ CLASS zcl_abapgit_object_dtdc IMPLEMENTATION.
DATA:
li_object_data_model TYPE REF TO if_wb_object_data_model,
li_wb_object_operator TYPE REF TO if_wb_object_operator,
lx_error TYPE REF TO cx_static_check,
li_wb_object_operator TYPE REF TO object,
lx_error TYPE REF TO cx_root,
lv_transport_request TYPE trkorr.
FIELD-SYMBOLS:
@ -156,32 +165,35 @@ CLASS zcl_abapgit_object_dtdc IMPLEMENTATION.
fill_metadata_from_db( CHANGING cs_dynamic_cache = <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
transport_request = lv_transport_request ).
transport_request = lv_transport_request.
ELSE.
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
data_selection = if_wb_object_data_selection_co=>c_properties
data_selection = 'P' " if_wb_object_data_selection_co=>c_properties
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
data_selection = if_wb_object_data_selection_co=>c_data_content
transport_request = lv_transport_request ).
data_selection = 'D' " if_wb_object_data_selection_co=>c_data_content
transport_request = lv_transport_request.
ENDIF.
li_wb_object_operator->activate( ).
CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~ACTIVATE').
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(
iv_text = lx_error->get_text( )
ix_previous = lx_error ).
@ -260,8 +272,9 @@ CLASS zcl_abapgit_object_dtdc IMPLEMENTATION.
METHOD zif_abapgit_object~serialize.
DATA:
li_wb_object_operator TYPE REF TO object,
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,
lv_source TYPE string.
FIELD-SYMBOLS:
@ -272,12 +285,14 @@ CLASS zcl_abapgit_object_dtdc IMPLEMENTATION.
ASSERT sy-subrc = 0.
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
version = 'A'
IMPORTING
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>
TO <lv_source>.
@ -287,7 +302,7 @@ CLASS zcl_abapgit_object_dtdc IMPLEMENTATION.
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(
iv_text = lx_error->get_text( )
ix_previous = lx_error ).
@ -306,7 +321,7 @@ CLASS zcl_abapgit_object_dtdc IMPLEMENTATION.
METHOD fill_metadata_from_db.
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.
FIELD-SYMBOLS:
@ -322,7 +337,9 @@ CLASS zcl_abapgit_object_dtdc IMPLEMENTATION.
ASSIGN lr_dynamic_cache_old->* TO <ls_dynamic_cache_old>.
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
TO <lv_created_by>.
@ -363,7 +380,7 @@ CLASS zcl_abapgit_object_dtdc IMPLEMENTATION.
DATA:
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.
ri_wb_object_operator = mi_wb_object_operator.
@ -373,11 +390,14 @@ CLASS zcl_abapgit_object_dtdc IMPLEMENTATION.
ls_object_type-subtype_wb = 'DF'.
TRY.
mi_wb_object_operator = cl_wb_object_operator=>create_instance(
CALL METHOD ('CL_WB_OBJECT_OPERATOR')=>('CREATE_INSTANCE')
EXPORTING
object_type = ls_object_type
object_key = mv_dynamic_cache_key ).
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(
iv_text = lx_error->get_text( )
ix_previous = lx_error ).