mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
Downport (#3341)
* 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:
parent
b91043a270
commit
1cf1a30e81
|
@ -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 ).
|
||||||
|
|
|
@ -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 ).
|
||||||
|
|
|
@ -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 ).
|
||||||
|
|
|
@ -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 ).
|
||||||
|
|
Loading…
Reference in New Issue
Block a user