diff --git a/src/objects/zcl_abapgit_object_amsd.clas.abap b/src/objects/zcl_abapgit_object_amsd.clas.abap index 56b24f24c..ed47228a4 100644 --- a/src/objects/zcl_abapgit_object_amsd.clas.abap +++ b/src/objects/zcl_abapgit_object_amsd.clas.abap @@ -30,14 +30,6 @@ CLASS zcl_abapgit_object_amsd DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje RAISING zcx_abapgit_exception, - get_transport_req_if_needed - IMPORTING - iv_package TYPE devclass - RETURNING - VALUE(rv_transport_request) TYPE trkorr - RAISING - zcx_abapgit_exception, - get_wb_object_operator RETURNING VALUE(ri_wb_object_operator) TYPE REF TO object @@ -49,7 +41,6 @@ CLASS zcl_abapgit_object_amsd DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje mv_logical_db_schema_key TYPE seu_objkey, mi_persistence TYPE REF TO if_wb_object_persist, mi_wb_object_operator TYPE REF TO object. - ENDCLASS. @@ -163,19 +154,6 @@ CLASS zcl_abapgit_object_amsd IMPLEMENTATION. ENDMETHOD. - METHOD get_transport_req_if_needed. - - DATA: li_sap_package TYPE REF TO zif_abapgit_sap_package. - - li_sap_package = zcl_abapgit_factory=>get_sap_package( iv_package ). - - IF li_sap_package->are_changes_recorded_in_tr_req( ) = abap_true. - rv_transport_request = zcl_abapgit_default_transport=>get_instance( )->get( )-ordernum. - ENDIF. - - ENDMETHOD. - - METHOD get_wb_object_operator. DATA: @@ -233,16 +211,14 @@ CLASS zcl_abapgit_object_amsd IMPLEMENTATION. DATA: li_wb_object_operator TYPE REF TO object, - lx_error TYPE REF TO cx_root, - lv_transport_request TYPE trkorr. + lx_error TYPE REF TO cx_root. - lv_transport_request = get_transport_req_if_needed( iv_package ). li_wb_object_operator = get_wb_object_operator( ). TRY. CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~DELETE') EXPORTING - transport_request = lv_transport_request. + transport_request = iv_transport. CATCH cx_root INTO lx_error. zcx_abapgit_exception=>raise_with_text( lx_error ). @@ -256,8 +232,7 @@ 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 object, - lx_error TYPE REF TO cx_root, - lv_transport_request TYPE trkorr. + lx_error TYPE REF TO cx_root. FIELD-SYMBOLS: TYPE any. @@ -278,8 +253,6 @@ CLASS zcl_abapgit_object_amsd IMPLEMENTATION. tadir_insert( iv_package ). - lv_transport_request = get_transport_req_if_needed( iv_package ). - IF zif_abapgit_object~exists( ) = abap_true. " We need to populate created_at, created_by, because otherwise update is not possible @@ -289,7 +262,7 @@ CLASS zcl_abapgit_object_amsd IMPLEMENTATION. 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 = iv_transport. ELSE. @@ -300,13 +273,13 @@ CLASS zcl_abapgit_object_amsd IMPLEMENTATION. io_object_data = li_object_data_model data_selection = 'P' " if_wb_object_data_selection_co=>c_properties package = iv_package - transport_request = lv_transport_request. + transport_request = iv_transport. CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~UPDATE') EXPORTING io_object_data = li_object_data_model data_selection = 'D' " if_wb_object_data_selection_co=>c_data_content - transport_request = lv_transport_request. + transport_request = iv_transport. ENDIF. diff --git a/src/objects/zcl_abapgit_object_bdef.clas.abap b/src/objects/zcl_abapgit_object_bdef.clas.abap index 54ab20a24..32722c004 100644 --- a/src/objects/zcl_abapgit_object_bdef.clas.abap +++ b/src/objects/zcl_abapgit_object_bdef.clas.abap @@ -27,13 +27,6 @@ CLASS zcl_abapgit_object_bdef DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje !iv_fieldname TYPE csequence CHANGING !cs_metadata TYPE any . - METHODS get_transport_req_if_needed - IMPORTING - !iv_package TYPE devclass - RETURNING - VALUE(rv_transport_request) TYPE trkorr - RAISING - zcx_abapgit_exception . METHODS get_wb_object_operator RETURNING VALUE(ri_wb_object_operator) TYPE REF TO object @@ -261,19 +254,6 @@ CLASS zcl_abapgit_object_bdef IMPLEMENTATION. ENDMETHOD. - METHOD get_transport_req_if_needed. - - DATA: li_sap_package TYPE REF TO zif_abapgit_sap_package. - - li_sap_package = zcl_abapgit_factory=>get_sap_package( iv_package ). - - IF li_sap_package->are_changes_recorded_in_tr_req( ) = abap_true. - rv_transport_request = zcl_abapgit_default_transport=>get_instance( )->get( )-ordernum. - ENDIF. - - ENDMETHOD. - - METHOD get_wb_object_operator. DATA: @@ -395,17 +375,14 @@ CLASS zcl_abapgit_object_bdef IMPLEMENTATION. DATA: 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 ). + li_wb_object_operator TYPE REF TO object. li_wb_object_operator = get_wb_object_operator( ). TRY. CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~DELETE') EXPORTING - transport_request = lv_transport_request. + transport_request = iv_transport. CATCH cx_root INTO lx_error. zcx_abapgit_exception=>raise_with_text( lx_error ). @@ -421,7 +398,6 @@ CLASS zcl_abapgit_object_bdef IMPLEMENTATION. lo_object_data_merged TYPE REF TO if_wb_object_data_model, lo_wb_object_operator TYPE REF TO object, lx_error TYPE REF TO cx_root, - lv_transport_request TYPE trkorr, lr_wbobjtype TYPE REF TO data, lr_category TYPE REF TO data. @@ -433,7 +409,6 @@ CLASS zcl_abapgit_object_bdef IMPLEMENTATION. TRY. lo_object_data = get_object_data( io_xml ). - lv_transport_request = get_transport_req_if_needed( iv_package ). CREATE DATA lr_wbobjtype TYPE ('WBOBJTYPE'). ASSIGN lr_wbobjtype->* TO . @@ -464,7 +439,7 @@ CLASS zcl_abapgit_object_bdef IMPLEMENTATION. data_selection = 'AL' " if_wb_object_data_selection_co=>c_all_data version = 'I' package = iv_package - transport_request = lv_transport_request. + transport_request = iv_transport. WHEN '2'. "if_wb_adt_plugin_resource_co=>co_sfs_res_category_compound_s. CALL METHOD lo_wb_object_operator->('IF_WB_OBJECT_OPERATOR~CREATE') EXPORTING @@ -472,14 +447,14 @@ CLASS zcl_abapgit_object_bdef IMPLEMENTATION. data_selection = 'P' " if_wb_object_data_selection_co=>c_properties version = 'I' package = iv_package - transport_request = lv_transport_request. + transport_request = iv_transport. CALL METHOD lo_wb_object_operator->('IF_WB_OBJECT_OPERATOR~UPDATE') EXPORTING io_object_data = lo_object_data data_selection = 'D' "if_wb_object_data_selection_co=>c_data_content version = 'I' - transport_request = lv_transport_request. + transport_request = iv_transport. WHEN OTHERS. ENDCASE. ELSE. @@ -491,20 +466,20 @@ CLASS zcl_abapgit_object_bdef IMPLEMENTATION. io_object_data = lo_object_data_merged data_selection = 'AL' "if_wb_object_data_selection_co=>c_all_data version = 'I' - transport_request = lv_transport_request. + transport_request = iv_transport. WHEN '2'. "if_wb_adt_plugin_resource_co=>co_sfs_res_category_compound_s. CALL METHOD lo_wb_object_operator->('IF_WB_OBJECT_OPERATOR~UPDATE') EXPORTING io_object_data = lo_object_data_merged data_selection = 'P' "if_wb_object_data_selection_co=>c_properties version = 'I' - transport_request = lv_transport_request. + transport_request = iv_transport. CALL METHOD lo_wb_object_operator->('IF_WB_OBJECT_OPERATOR~UPDATE') EXPORTING io_object_data = lo_object_data_merged data_selection = 'D' "if_wb_object_data_selection_co=>c_data_content version = 'I' - transport_request = lv_transport_request. + transport_request = iv_transport. WHEN OTHERS. ENDCASE. ENDIF. diff --git a/src/objects/zcl_abapgit_object_drul.clas.abap b/src/objects/zcl_abapgit_object_drul.clas.abap index 39a27ae76..49fbb8978 100644 --- a/src/objects/zcl_abapgit_object_drul.clas.abap +++ b/src/objects/zcl_abapgit_object_drul.clas.abap @@ -30,14 +30,6 @@ CLASS zcl_abapgit_object_drul DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje RAISING zcx_abapgit_exception, - get_transport_req_if_needed - IMPORTING - iv_package TYPE devclass - RETURNING - VALUE(rv_transport_request) TYPE trkorr - RAISING - zcx_abapgit_exception, - get_wb_object_operator RETURNING VALUE(ri_wb_object_operator) TYPE REF TO object @@ -49,7 +41,6 @@ CLASS zcl_abapgit_object_drul DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje mv_dependency_rule_key TYPE seu_objkey, mi_persistence TYPE REF TO if_wb_object_persist, mi_wb_object_operator TYPE REF TO object. - ENDCLASS. @@ -187,19 +178,6 @@ CLASS zcl_abapgit_object_drul IMPLEMENTATION. ENDMETHOD. - METHOD get_transport_req_if_needed. - - DATA: li_sap_package TYPE REF TO zif_abapgit_sap_package. - - li_sap_package = zcl_abapgit_factory=>get_sap_package( iv_package ). - - IF li_sap_package->are_changes_recorded_in_tr_req( ) = abap_true. - rv_transport_request = zcl_abapgit_default_transport=>get_instance( )->get( )-ordernum. - ENDIF. - - ENDMETHOD. - - METHOD get_wb_object_operator. DATA: @@ -257,16 +235,14 @@ CLASS zcl_abapgit_object_drul IMPLEMENTATION. DATA: 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. CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~DELETE') EXPORTING - transport_request = lv_transport_request. + transport_request = iv_transport. CATCH cx_root INTO lx_error. zcx_abapgit_exception=>raise_with_text( lx_error ). @@ -280,8 +256,7 @@ 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 object, - lx_error TYPE REF TO cx_root, - lv_transport_request TYPE trkorr. + lx_error TYPE REF TO cx_root. FIELD-SYMBOLS: TYPE any, @@ -309,8 +284,6 @@ CLASS zcl_abapgit_object_drul IMPLEMENTATION. tadir_insert( iv_package ). - lv_transport_request = get_transport_req_if_needed( iv_package ). - IF zif_abapgit_object~exists( ) = abap_true. " We need to populate created_at, created_by, because otherwise update is not possible @@ -320,7 +293,7 @@ CLASS zcl_abapgit_object_drul IMPLEMENTATION. 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 = iv_transport. ELSE. @@ -331,13 +304,13 @@ CLASS zcl_abapgit_object_drul IMPLEMENTATION. io_object_data = li_object_data_model data_selection = 'P' " if_wb_object_data_selection_co=>c_properties package = iv_package - transport_request = lv_transport_request. + transport_request = iv_transport. CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~UPDATE') EXPORTING io_object_data = li_object_data_model data_selection = 'D' " if_wb_object_data_selection_co=>c_data_content - transport_request = lv_transport_request. + transport_request = iv_transport. ENDIF. diff --git a/src/objects/zcl_abapgit_object_dtdc.clas.abap b/src/objects/zcl_abapgit_object_dtdc.clas.abap index 00ff68557..d71bba119 100644 --- a/src/objects/zcl_abapgit_object_dtdc.clas.abap +++ b/src/objects/zcl_abapgit_object_dtdc.clas.abap @@ -30,14 +30,6 @@ CLASS zcl_abapgit_object_dtdc DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje RAISING zcx_abapgit_exception, - get_transport_req_if_needed - IMPORTING - iv_package TYPE devclass - RETURNING - VALUE(rv_transport_request) TYPE trkorr - RAISING - zcx_abapgit_exception, - get_wb_object_operator RETURNING VALUE(ri_wb_object_operator) TYPE REF TO object @@ -49,7 +41,6 @@ CLASS zcl_abapgit_object_dtdc DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje mv_dynamic_cache_key TYPE seu_objkey, mi_persistence TYPE REF TO if_wb_object_persist, mi_wb_object_operator TYPE REF TO object. - ENDCLASS. @@ -187,19 +178,6 @@ CLASS zcl_abapgit_object_dtdc IMPLEMENTATION. ENDMETHOD. - METHOD get_transport_req_if_needed. - - DATA: li_sap_package TYPE REF TO zif_abapgit_sap_package. - - li_sap_package = zcl_abapgit_factory=>get_sap_package( iv_package ). - - IF li_sap_package->are_changes_recorded_in_tr_req( ) = abap_true. - rv_transport_request = zcl_abapgit_default_transport=>get_instance( )->get( )-ordernum. - ENDIF. - - ENDMETHOD. - - METHOD get_wb_object_operator. DATA: @@ -257,17 +235,14 @@ CLASS zcl_abapgit_object_dtdc IMPLEMENTATION. DATA: 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. li_wb_object_operator = get_wb_object_operator( ). CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~DELETE') EXPORTING - transport_request = lv_transport_request. + transport_request = iv_transport. CATCH cx_root INTO lx_error. zcx_abapgit_exception=>raise_with_text( lx_error ). @@ -281,8 +256,7 @@ 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 object, - lx_error TYPE REF TO cx_root, - lv_transport_request TYPE trkorr. + lx_error TYPE REF TO cx_root. FIELD-SYMBOLS: TYPE any, @@ -310,8 +284,6 @@ CLASS zcl_abapgit_object_dtdc IMPLEMENTATION. tadir_insert( iv_package ). - lv_transport_request = get_transport_req_if_needed( iv_package ). - IF zif_abapgit_object~exists( ) = abap_true. " We need to populate created_at, created_by, because otherwise update is not possible @@ -321,7 +293,7 @@ CLASS zcl_abapgit_object_dtdc IMPLEMENTATION. 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 = iv_transport. ELSE. @@ -332,13 +304,13 @@ CLASS zcl_abapgit_object_dtdc IMPLEMENTATION. io_object_data = li_object_data_model data_selection = 'P' " if_wb_object_data_selection_co=>c_properties package = iv_package - transport_request = lv_transport_request. + transport_request = iv_transport. CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~UPDATE') EXPORTING io_object_data = li_object_data_model data_selection = 'D' " if_wb_object_data_selection_co=>c_data_content - transport_request = lv_transport_request. + transport_request = iv_transport. ENDIF. diff --git a/src/objects/zcl_abapgit_object_fdt0.clas.abap b/src/objects/zcl_abapgit_object_fdt0.clas.abap index 1333f94d4..08577d2ef 100644 --- a/src/objects/zcl_abapgit_object_fdt0.clas.abap +++ b/src/objects/zcl_abapgit_object_fdt0.clas.abap @@ -44,7 +44,7 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_OBJECT_FDT0 IMPLEMENTATION. +CLASS zcl_abapgit_object_fdt0 IMPLEMENTATION. METHOD before_xml_deserialize. @@ -394,16 +394,12 @@ CLASS ZCL_ABAPGIT_OBJECT_FDT0 IMPLEMENTATION. METHOD zif_abapgit_object~delete. DATA lv_is_local TYPE abap_bool. - DATA lv_ordernum TYPE trkorr. DATA lt_application_id TYPE TABLE OF fdt_admn_0000s-application_id. DATA ls_object_category_sel TYPE if_fdt_query=>s_object_category_sel. DATA lv_failure TYPE abap_bool. DATA lx_fdt_input TYPE REF TO cx_fdt_input. lv_is_local = check_is_local( ). - IF lv_is_local = abap_false. - lv_ordernum = zcl_abapgit_default_transport=>get_instance( )->get( )-ordernum. - ENDIF. SELECT application_id FROM fdt_admn_0000s INTO TABLE lt_application_id WHERE object_type = 'AP' @@ -507,7 +503,6 @@ CLASS ZCL_ABAPGIT_OBJECT_FDT0 IMPLEMENTATION. DATA lx_fdt_input TYPE REF TO cx_fdt_input. DATA lo_dom_tree TYPE REF TO if_ixml_document. DATA lv_is_local TYPE abap_bool. - DATA lv_ordernum TYPE trkorr. DATA lt_message TYPE if_fdt_types=>t_message. DATA lv_create TYPE abap_bool. @@ -541,15 +536,13 @@ CLASS ZCL_ABAPGIT_OBJECT_FDT0 IMPLEMENTATION. ELSE. "Transportable Object - lv_ordernum = zcl_abapgit_default_transport=>get_instance( )->get( )-ordernum. - lo_dexc->import_xml( EXPORTING io_dom_tree = lo_dom_tree iv_create = lv_create iv_activate = abap_true iv_simulate = abap_false - iv_workbench_trrequest = lv_ordernum + iv_workbench_trrequest = iv_transport IMPORTING et_message = lt_message ). diff --git a/src/objects/zcl_abapgit_object_fugr.clas.abap b/src/objects/zcl_abapgit_object_fugr.clas.abap index 2fd9c4ca2..9daccb67d 100644 --- a/src/objects/zcl_abapgit_object_fugr.clas.abap +++ b/src/objects/zcl_abapgit_object_fugr.clas.abap @@ -72,6 +72,7 @@ CLASS zcl_abapgit_object_fugr DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje IMPORTING !it_functions TYPE ty_function_tt !ii_log TYPE REF TO zif_abapgit_log + !iv_transport TYPE trkorr RAISING zcx_abapgit_exception . METHODS serialize_xml @@ -81,8 +82,9 @@ CLASS zcl_abapgit_object_fugr DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje zcx_abapgit_exception . METHODS deserialize_xml IMPORTING - !ii_xml TYPE REF TO zif_abapgit_xml_input - !iv_package TYPE devclass + !ii_xml TYPE REF TO zif_abapgit_xml_input + !iv_package TYPE devclass + !iv_transport TYPE trkorr RAISING zcx_abapgit_exception . METHODS serialize_includes @@ -145,6 +147,40 @@ ENDCLASS. CLASS zcl_abapgit_object_fugr IMPLEMENTATION. + METHOD belongs_incl_to_other_fugr. + " make sure that the include belongs to the function group + " like in LSEAPFAP Form TADIR_MAINTENANCE + DATA ls_tadir TYPE tadir. + DATA lv_namespace TYPE rs38l-namespace. + DATA lv_area TYPE rs38l-area. + DATA lv_include TYPE rs38l-include. + + rv_belongs_to_other_fugr = abap_false. + IF iv_include(1) = 'L' OR iv_include+1 CS '/L'. + lv_include = iv_include. + ls_tadir-object = 'FUGR'. + + CALL FUNCTION 'FUNCTION_INCLUDE_SPLIT' + IMPORTING + namespace = lv_namespace + group = lv_area + CHANGING + include = lv_include + EXCEPTIONS + OTHERS = 1. + IF lv_area(1) = 'X'. " "EXIT"-function-module + ls_tadir-object = 'FUGS'. + ENDIF. + IF sy-subrc = 0. + CONCATENATE lv_namespace lv_area INTO ls_tadir-obj_name. + IF ls_tadir-obj_name <> ms_item-obj_name. + rv_belongs_to_other_fugr = abap_true. + ENDIF. + ENDIF. + ENDIF. + ENDMETHOD. + + METHOD check_rfc_parameters. * function module RS_FUNCTIONMODULE_INSERT does the same deep down, but the right error @@ -199,14 +235,10 @@ CLASS zcl_abapgit_object_fugr IMPLEMENTATION. lv_namespace TYPE rs38l-namespace, lt_source TYPE TABLE OF abaptxt255, lv_msg TYPE string, - lx_error TYPE REF TO zcx_abapgit_exception, - lv_corrnum TYPE e070use-ordernum. + lx_error TYPE REF TO zcx_abapgit_exception. FIELD-SYMBOLS: LIKE LINE OF it_functions. - - lv_corrnum = zcl_abapgit_default_transport=>get_instance( )->get( )-ordernum. - LOOP AT it_functions ASSIGNING . lt_source = mo_files->read_abap( iv_extra = -funcname ). @@ -274,7 +306,7 @@ CLASS zcl_abapgit_object_fugr IMPLEMENTATION. exception_class = -exception_classes namespace = lv_namespace remote_basxml_supported = -remote_basxml - corrnum = lv_corrnum + corrnum = iv_transport IMPORTING function_include = lv_include TABLES @@ -397,8 +429,7 @@ CLASS zcl_abapgit_object_fugr IMPLEMENTATION. lv_areat TYPE tlibt-areat, lv_stext TYPE tftit-stext, lv_group TYPE rs38l-area, - lv_abap_version TYPE trdir-uccheck, - lv_corrnum TYPE e070use-ordernum. + lv_abap_version TYPE trdir-uccheck. lv_abap_version = get_abap_version( ii_xml ). lv_complete = ms_item-obj_name. @@ -429,7 +460,6 @@ CLASS zcl_abapgit_object_fugr IMPLEMENTATION. ii_xml->read( EXPORTING iv_name = 'AREAT' CHANGING cg_data = lv_areat ). lv_stext = lv_areat. - lv_corrnum = zcl_abapgit_default_transport=>get_instance( )->get( )-ordernum. CALL FUNCTION 'RS_FUNCTION_POOL_INSERT' EXPORTING @@ -438,7 +468,7 @@ CLASS zcl_abapgit_object_fugr IMPLEMENTATION. namespace = lv_namespace devclass = iv_package unicode_checks = lv_abap_version - corrnum = lv_corrnum + corrnum = iv_transport suppress_corr_check = abap_false EXCEPTIONS name_already_exists = 1 @@ -1021,21 +1051,18 @@ CLASS zcl_abapgit_object_fugr IMPLEMENTATION. METHOD zif_abapgit_object~delete. DATA: lv_area TYPE rs38l-area, - lt_includes TYPE ty_sobj_name_tt, - lv_corrnum TYPE e070use-ordernum. - + lt_includes TYPE ty_sobj_name_tt. lt_includes = includes( ). lv_area = ms_item-obj_name. - lv_corrnum = zcl_abapgit_default_transport=>get_instance( )->get( )-ordernum. CALL FUNCTION 'RS_FUNCTION_POOL_DELETE' EXPORTING area = lv_area suppress_popups = abap_true skip_progress_ind = abap_true - corrnum = lv_corrnum + corrnum = iv_transport EXCEPTIONS canceled_in_corr = 1 enqueue_system_failure = 2 @@ -1064,14 +1091,16 @@ CLASS zcl_abapgit_object_fugr IMPLEMENTATION. ls_cua TYPE ty_cua. deserialize_xml( - ii_xml = io_xml - iv_package = iv_package ). + ii_xml = io_xml + iv_package = iv_package + iv_transport = iv_transport ). io_xml->read( EXPORTING iv_name = 'FUNCTIONS' CHANGING cg_data = lt_functions ). deserialize_functions( it_functions = lt_functions - ii_log = ii_log ). + ii_log = ii_log + iv_transport = iv_transport ). deserialize_includes( ii_xml = io_xml @@ -1205,38 +1234,4 @@ CLASS zcl_abapgit_object_fugr IMPLEMENTATION. ENDIF. ENDMETHOD. - - - METHOD belongs_incl_to_other_fugr. - " make sure that the include belongs to the function group - " like in LSEAPFAP Form TADIR_MAINTENANCE - DATA ls_tadir TYPE tadir. - DATA lv_namespace TYPE rs38l-namespace. - DATA lv_area TYPE rs38l-area. - DATA lv_include TYPE rs38l-include. - - rv_belongs_to_other_fugr = abap_false. - IF iv_include(1) = 'L' OR iv_include+1 CS '/L'. - lv_include = iv_include. - ls_tadir-object = 'FUGR'. - - CALL FUNCTION 'FUNCTION_INCLUDE_SPLIT' - IMPORTING - namespace = lv_namespace - group = lv_area - CHANGING - include = lv_include - EXCEPTIONS - OTHERS = 1. - IF lv_area(1) = 'X'. " "EXIT"-function-module - ls_tadir-object = 'FUGS'. - ENDIF. - IF sy-subrc = 0. - CONCATENATE lv_namespace lv_area INTO ls_tadir-obj_name. - IF ls_tadir-obj_name <> ms_item-obj_name. - rv_belongs_to_other_fugr = abap_true. - ENDIF. - ENDIF. - ENDIF. - ENDMETHOD. ENDCLASS. diff --git a/src/objects/zcl_abapgit_object_intf.clas.abap b/src/objects/zcl_abapgit_object_intf.clas.abap index f032e0aa2..b987d66f1 100644 --- a/src/objects/zcl_abapgit_object_intf.clas.abap +++ b/src/objects/zcl_abapgit_object_intf.clas.abap @@ -9,6 +9,8 @@ CLASS zcl_abapgit_object_intf DEFINITION PUBLIC FINAL INHERITING FROM zcl_abapgi PROTECTED SECTION. METHODS deserialize_proxy + IMPORTING + !iv_transport TYPE trkorr RAISING zcx_abapgit_exception . METHODS deserialize_abap @@ -105,16 +107,15 @@ CLASS zcl_abapgit_object_intf IMPLEMENTATION. METHOD deserialize_proxy. - DATA: lv_transport TYPE e070use-ordernum, + DATA: lv_transport TYPE trkorr, li_proxy_object TYPE REF TO if_px_main, lv_name TYPE prx_r3name, lx_proxy_fault TYPE REF TO cx_proxy_fault. - lv_transport = zcl_abapgit_default_transport=>get_instance( - )->get( )-ordernum. - lv_name = ms_item-obj_name. + lv_transport = iv_transport. + TRY. li_proxy_object = cl_pxn_factory=>create( application = 'PROXY_UI' @@ -251,7 +252,7 @@ CLASS zcl_abapgit_object_intf IMPLEMENTATION. IF ls_vseointerf-clsproxy = abap_true. " Proxy interfaces are managed via SPRX - deserialize_proxy( ). + deserialize_proxy( iv_transport ). RETURN. ENDIF. diff --git a/src/objects/zcl_abapgit_object_prog.clas.abap b/src/objects/zcl_abapgit_object_prog.clas.abap index c15ac50b9..c733f08c0 100644 --- a/src/objects/zcl_abapgit_object_prog.clas.abap +++ b/src/objects/zcl_abapgit_object_prog.clas.abap @@ -161,15 +161,13 @@ CLASS zcl_abapgit_object_prog IMPLEMENTATION. DATA: lv_program LIKE sy-repid, - lv_obj_name TYPE e071-obj_name, - lv_corrnumber TYPE e071-trkorr. + lv_obj_name TYPE e071-obj_name. lv_program = ms_item-obj_name. - lv_corrnumber = zcl_abapgit_default_transport=>get_instance( )->get( )-ordernum. CALL FUNCTION 'RS_DELETE_PROGRAM' EXPORTING - corrnumber = lv_corrnumber + corrnumber = iv_transport program = lv_program suppress_popup = abap_true mass_delete_call = abap_true diff --git a/src/objects/zcl_abapgit_object_sqsc.clas.abap b/src/objects/zcl_abapgit_object_sqsc.clas.abap index df9c79a5c..e23ee2f3d 100644 --- a/src/objects/zcl_abapgit_object_sqsc.clas.abap +++ b/src/objects/zcl_abapgit_object_sqsc.clas.abap @@ -97,8 +97,7 @@ CLASS zcl_abapgit_object_sqsc DEFINITION END OF ty_proxy. DATA: - mo_proxy TYPE REF TO object, - mv_transport TYPE e070use-ordernum. + mo_proxy TYPE REF TO object. METHODS: delete_interface_if_it_exists @@ -136,10 +135,6 @@ CLASS zcl_abapgit_object_sqsc IMPLEMENTATION. = ms_item-obj_name. - mv_transport = zcl_abapgit_default_transport=>get_instance( - )->get( - )-ordernum. - ENDMETHOD. @@ -182,7 +177,7 @@ CLASS zcl_abapgit_object_sqsc IMPLEMENTATION. TRY. CALL METHOD mo_proxy->('IF_DBPROC_PROXY_UI~DELETE') EXPORTING - if_transport_req = mv_transport. + if_transport_req = iv_transport. CATCH cx_root INTO lx_error. zcx_abapgit_exception=>raise_with_text( lx_error ). @@ -212,7 +207,7 @@ CLASS zcl_abapgit_object_sqsc IMPLEMENTATION. CALL METHOD mo_proxy->('IF_DBPROC_PROXY_UI~CREATE') EXPORTING if_interface_pool = ls_proxy-header-interface_pool - if_transport_req = mv_transport + if_transport_req = iv_transport if_package = iv_package if_langu = mv_language. @@ -221,7 +216,7 @@ CLASS zcl_abapgit_object_sqsc IMPLEMENTATION. TRY. CALL METHOD mo_proxy->('IF_DBPROC_PROXY_UI~WRITE_TO_SOURCE') EXPORTING - if_transport_req = mv_transport + if_transport_req = iv_transport is_header = ls_proxy-header it_parameter = ls_proxy-parameters it_parameter_type = ls_proxy-parameter_types. diff --git a/src/objects/zcl_abapgit_object_srvb.clas.abap b/src/objects/zcl_abapgit_object_srvb.clas.abap index d7b44b61c..97975d3dc 100644 --- a/src/objects/zcl_abapgit_object_srvb.clas.abap +++ b/src/objects/zcl_abapgit_object_srvb.clas.abap @@ -23,13 +23,6 @@ CLASS zcl_abapgit_object_srvb DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje iv_fieldname TYPE csequence CHANGING cs_service_binding TYPE any. - METHODS get_transport_req_if_needed - IMPORTING - !iv_package TYPE devclass - RETURNING - VALUE(rv_transport_request) TYPE trkorr - RAISING - zcx_abapgit_exception . METHODS get_wb_object_operator RETURNING VALUE(ro_object_operator) TYPE REF TO object @@ -59,11 +52,13 @@ CLASS zcl_abapgit_object_srvb DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje mr_service_binding TYPE REF TO data, mr_srvb_svrs_config TYPE REF TO object, mo_object_operator TYPE REF TO object. - ENDCLASS. + + CLASS zcl_abapgit_object_srvb IMPLEMENTATION. + METHOD clear_field. FIELD-SYMBOLS: TYPE data. @@ -130,18 +125,57 @@ CLASS zcl_abapgit_object_srvb IMPLEMENTATION. ENDMETHOD. - METHOD get_transport_req_if_needed. - DATA: li_sap_package TYPE REF TO zif_abapgit_sap_package. + METHOD constructor. - li_sap_package = zcl_abapgit_factory=>get_sap_package( iv_package ). + super->constructor( + is_item = is_item + iv_language = iv_language ). - IF li_sap_package->are_changes_recorded_in_tr_req( ) = abap_true. - rv_transport_request = zcl_abapgit_default_transport=>get_instance( )->get( )-ordernum. - ENDIF. + mv_service_binding_key = ms_item-obj_name. + + TRY. + CREATE DATA mr_service_binding TYPE ('CL_SRVB_OBJECT_DATA=>TY_OBJECT_DATA'). + CREATE OBJECT mi_persistence TYPE ('CL_SRVB_OBJECT_PERSIST'). + + CATCH cx_sy_create_error. + zcx_abapgit_exception=>raise( |SRVB not supported by your NW release| ). + ENDTRY. + + mv_is_inactive_supported = is_ai_supported( ). ENDMETHOD. + + METHOD get_object_data. + + FIELD-SYMBOLS: + TYPE any, + TYPE data. + + ASSIGN mr_service_binding->* TO . + ASSERT sy-subrc = 0. + + io_xml->read( + EXPORTING + iv_name = 'SRVB' + CHANGING + cg_data = ). + + + " We have to set the language explicitly, + " because otherwise the description isn't stored + ASSIGN COMPONENT 'METADATA-LANGUAGE' OF STRUCTURE + TO . + ASSERT sy-subrc = 0. + = mv_language. + + CREATE OBJECT ro_object_data TYPE ('CL_SRVB_OBJECT_DATA'). + ro_object_data->set_data( p_data = ). + + ENDMETHOD. + + METHOD get_wb_object_operator. DATA: @@ -171,34 +205,21 @@ CLASS zcl_abapgit_object_srvb IMPLEMENTATION. ENDMETHOD. - METHOD get_object_data. - FIELD-SYMBOLS: - TYPE any, - TYPE data. - - ASSIGN mr_service_binding->* TO . - ASSERT sy-subrc = 0. - - io_xml->read( - EXPORTING - iv_name = 'SRVB' - CHANGING - cg_data = ). - - - " We have to set the language explicitly, - " because otherwise the description isn't stored - ASSIGN COMPONENT 'METADATA-LANGUAGE' OF STRUCTURE - TO . - ASSERT sy-subrc = 0. - = mv_language. - - CREATE OBJECT ro_object_data TYPE ('CL_SRVB_OBJECT_DATA'). - ro_object_data->set_data( p_data = ). + METHOD is_ai_supported. + TRY. + CREATE OBJECT mr_srvb_svrs_config TYPE ('CL_SRVB_SVRS_CONFIG') + EXPORTING iv_objtype = 'SRVB'. + CATCH cx_sy_create_error. + rv_ai_supported = abap_false. + ENDTRY. + CALL METHOD mr_srvb_svrs_config->('HAS_INACTIVE_VERSION') + RECEIVING + rv_has_inactive = rv_ai_supported. ENDMETHOD. + METHOD merge_object_data. DATA: @@ -259,38 +280,6 @@ CLASS zcl_abapgit_object_srvb IMPLEMENTATION. ENDMETHOD. - METHOD is_ai_supported. - TRY. - CREATE OBJECT mr_srvb_svrs_config TYPE ('CL_SRVB_SVRS_CONFIG') - EXPORTING iv_objtype = 'SRVB'. - CATCH cx_sy_create_error. - rv_ai_supported = abap_false. - ENDTRY. - CALL METHOD mr_srvb_svrs_config->('HAS_INACTIVE_VERSION') - RECEIVING - rv_has_inactive = rv_ai_supported. - - ENDMETHOD. - - METHOD constructor. - - super->constructor( - is_item = is_item - iv_language = iv_language ). - - mv_service_binding_key = ms_item-obj_name. - - TRY. - CREATE DATA mr_service_binding TYPE ('CL_SRVB_OBJECT_DATA=>TY_OBJECT_DATA'). - CREATE OBJECT mi_persistence TYPE ('CL_SRVB_OBJECT_PERSIST'). - - CATCH cx_sy_create_error. - zcx_abapgit_exception=>raise( |SRVB not supported by your NW release| ). - ENDTRY. - - mv_is_inactive_supported = is_ai_supported( ). - - ENDMETHOD. METHOD zif_abapgit_object~changed_by. @@ -338,14 +327,12 @@ CLASS zcl_abapgit_object_srvb IMPLEMENTATION. DATA: lo_object_data TYPE REF TO if_wb_object_data_model, lx_error TYPE REF TO cx_root, - lv_transport_request TYPE trkorr, lo_wb_object_operator TYPE REF TO object, lo_merged_data_all TYPE REF TO if_wb_object_data_model, lv_version TYPE r3state. TRY. lo_object_data = get_object_data( io_xml ). - lv_transport_request = get_transport_req_if_needed( iv_package ). lo_wb_object_operator = get_wb_object_operator( ). IF mv_is_inactive_supported = abap_true. @@ -364,7 +351,7 @@ CLASS zcl_abapgit_object_srvb IMPLEMENTATION. data_selection = 'AL' "if_wb_object_data_selection_co=>c_all_data version = lv_version package = iv_package - transport_request = lv_transport_request. + transport_request = iv_transport. ELSE. @@ -374,7 +361,7 @@ CLASS zcl_abapgit_object_srvb IMPLEMENTATION. io_object_data = lo_merged_data_all data_selection = 'AL' "if_wb_object_data_selection_co=>c_all_data version = lv_version - transport_request = lv_transport_request. + transport_request = iv_transport. ENDIF. diff --git a/src/objects/zcl_abapgit_object_srvd.clas.abap b/src/objects/zcl_abapgit_object_srvd.clas.abap index d7747c8a7..45f8ebb4c 100644 --- a/src/objects/zcl_abapgit_object_srvd.clas.abap +++ b/src/objects/zcl_abapgit_object_srvd.clas.abap @@ -36,13 +36,6 @@ CLASS zcl_abapgit_object_srvd DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje VALUE(ro_object_data) TYPE REF TO if_wb_object_data_model RAISING zcx_abapgit_exception . - METHODS get_transport_req_if_needed - IMPORTING - !iv_package TYPE devclass - RETURNING - VALUE(rv_transport_request) TYPE trkorr - RAISING - zcx_abapgit_exception . METHODS get_wb_object_operator RETURNING VALUE(ro_object_operator) TYPE REF TO object @@ -65,7 +58,91 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_OBJECT_SRVD IMPLEMENTATION. +CLASS zcl_abapgit_object_srvd IMPLEMENTATION. + + + METHOD clear_field. + + FIELD-SYMBOLS: TYPE data. + + ASSIGN COMPONENT iv_fieldname OF STRUCTURE cs_metadata + TO . + ASSERT sy-subrc = 0. + + CLEAR: . + + ENDMETHOD. + + + METHOD clear_fields. + + clear_field( + EXPORTING + iv_fieldname = 'VERSION' + CHANGING + cs_metadata = cs_metadata ). + + clear_field( + EXPORTING + iv_fieldname = 'CREATED_AT' + CHANGING + cs_metadata = cs_metadata ). + + clear_field( + EXPORTING + iv_fieldname = 'CREATED_BY' + CHANGING + cs_metadata = cs_metadata ). + + clear_field( + EXPORTING + iv_fieldname = 'CHANGED_AT' + CHANGING + cs_metadata = cs_metadata ). + + clear_field( + EXPORTING + iv_fieldname = 'CHANGED_BY' + CHANGING + cs_metadata = cs_metadata ). + + clear_field( + EXPORTING + iv_fieldname = 'RESPONSIBLE' + CHANGING + cs_metadata = cs_metadata ). + + clear_field( + EXPORTING + iv_fieldname = 'PACKAGE_REF' + CHANGING + cs_metadata = cs_metadata ). + + clear_field( + EXPORTING + iv_fieldname = 'MASTER_SYSTEM' + CHANGING + cs_metadata = cs_metadata ). + + clear_field( + EXPORTING + iv_fieldname = 'DT_UUID' + CHANGING + cs_metadata = cs_metadata ). + + clear_field( + EXPORTING + iv_fieldname = 'ABAP_LANGUAGE_VERSION' + CHANGING + cs_metadata = cs_metadata ). + + clear_field( + EXPORTING + iv_fieldname = 'LINKS' + CHANGING + cs_metadata = cs_metadata ). + + ENDMETHOD. METHOD constructor. @@ -84,6 +161,156 @@ CLASS ZCL_ABAPGIT_OBJECT_SRVD IMPLEMENTATION. ENDMETHOD. + METHOD get_object_data. + + DATA: + lr_metadata TYPE REF TO data, + lr_data TYPE REF TO data. + + FIELD-SYMBOLS: + TYPE any, + TYPE any, + TYPE any, + TYPE any. + + CREATE DATA lr_data TYPE ('CL_SRVD_WB_OBJECT_DATA=>TY_SRVD_OBJECT_DATA'). + ASSIGN lr_data->* TO . + ASSERT sy-subrc = 0. + + ASSIGN COMPONENT 'METADATA' OF STRUCTURE TO . + ASSERT sy-subrc = 0. + + CREATE DATA lr_metadata TYPE ('CL_SRVD_WB_OBJECT_DATA=>TY_METADATA_EXTENDED'). + ASSIGN lr_metadata->* TO . + ASSERT sy-subrc = 0. + + io_xml->read( + EXPORTING + iv_name = mc_xml_parent_name + CHANGING + cg_data = ). + + = . + + ASSIGN COMPONENT 'CONTENT-SOURCE' OF STRUCTURE TO . + ASSERT sy-subrc = 0. + + = mo_files->read_string( mc_source_file ). + IF IS INITIAL. + = mo_files->read_string( 'assrvd' ). + ENDIF. + + CREATE OBJECT ro_object_data TYPE ('CL_SRVD_WB_OBJECT_DATA'). + ro_object_data->set_data( p_data = ). + + ENDMETHOD. + + + METHOD get_wb_object_operator. + + DATA: + ls_object_type TYPE wbobjtype, + lx_error TYPE REF TO cx_root. + + IF mo_object_operator IS BOUND. + ro_object_operator = mo_object_operator. + ENDIF. + + ls_object_type-objtype_tr = 'SRVD'. + ls_object_type-subtype_wb = 'SRV'. + + TRY. + CALL METHOD ('CL_WB_OBJECT_OPERATOR')=>('CREATE_INSTANCE') + EXPORTING + object_type = ls_object_type + object_key = mv_service_definition_key + RECEIVING + result = mo_object_operator. + + CATCH cx_root INTO lx_error. + zcx_abapgit_exception=>raise_with_text( lx_error ). + ENDTRY. + + ro_object_operator = mo_object_operator. + + ENDMETHOD. + + + METHOD is_ddic. + rv_ddic = abap_false. + ENDMETHOD. + + + METHOD is_delete_tadir. + rv_delete_tadir = abap_true. + ENDMETHOD. + + + METHOD merge_object_data. + + DATA: + lo_object_data TYPE REF TO object, + lo_object_data_old TYPE REF TO if_wb_object_data_model, + lr_new TYPE REF TO data, + lr_old TYPE REF TO data, + lo_wb_object_operator TYPE REF TO object. + + FIELD-SYMBOLS: + TYPE any, + TYPE any, + TYPE any, + TYPE any. + + CREATE OBJECT lo_object_data TYPE ('CL_SRVD_WB_OBJECT_DATA'). + lo_object_data = io_object_data. + + CREATE DATA lr_new TYPE ('CL_SRVD_WB_OBJECT_DATA=>TY_SRVD_OBJECT_DATA'). + ASSIGN lr_new->* TO . + ASSERT sy-subrc = 0. + + CREATE DATA lr_old TYPE ('CL_SRVD_WB_OBJECT_DATA=>TY_SRVD_OBJECT_DATA'). + ASSIGN lr_old->* TO . + ASSERT sy-subrc = 0. + + CALL METHOD lo_object_data->('IF_WB_OBJECT_DATA_MODEL~GET_DATA') + EXPORTING + p_metadata_only = abap_false + p_data_selection = 'AL' + IMPORTING + p_data = . + + lo_wb_object_operator = get_wb_object_operator( ). + + CALL METHOD lo_wb_object_operator->('IF_WB_OBJECT_OPERATOR~READ') + EXPORTING + data_selection = 'AL' " if_wb_object_data_selection_co=>c_all_data + IMPORTING + eo_object_data = lo_object_data_old. + + CALL METHOD lo_object_data_old->('GET_DATA') + EXPORTING + p_metadata_only = abap_false + p_data_selection = 'AL' " if_wb_object_data_selection_co=>c_all_data + IMPORTING + p_data = . + + ASSIGN COMPONENT 'METADATA-DESCRIPTION' OF STRUCTURE TO . + ASSIGN COMPONENT 'METADATA-DESCRIPTION' OF STRUCTURE TO . + = . + + ASSIGN COMPONENT 'CONTENT-SOURCE' OF STRUCTURE TO . + ASSIGN COMPONENT 'CONTENT-SOURCE' OF STRUCTURE TO . + = . + + CREATE OBJECT ro_object_data_merged TYPE ('CL_SRVD_WB_OBJECT_DATA'). + + CALL METHOD ro_object_data_merged->('SET_DATA') + EXPORTING + p_data = . + + ENDMETHOD. + + METHOD zif_abapgit_object~changed_by. DATA: @@ -110,17 +337,14 @@ CLASS ZCL_ABAPGIT_OBJECT_SRVD IMPLEMENTATION. METHOD zif_abapgit_object~delete. DATA: 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 ). + li_wb_object_operator TYPE REF TO object. li_wb_object_operator = get_wb_object_operator( ). TRY. CALL METHOD li_wb_object_operator->('IF_WB_OBJECT_OPERATOR~DELETE') EXPORTING - transport_request = lv_transport_request. + transport_request = iv_transport. CATCH cx_root INTO lx_error. zcx_abapgit_exception=>raise_with_text( lx_error ). @@ -133,7 +357,6 @@ CLASS ZCL_ABAPGIT_OBJECT_SRVD IMPLEMENTATION. DATA: lo_object_data TYPE REF TO if_wb_object_data_model, lx_error TYPE REF TO cx_root, - lv_transport_request TYPE trkorr, lo_wb_object_operator TYPE REF TO object, lo_merged_data_all TYPE REF TO if_wb_object_data_model, lo_merged_data_prop TYPE REF TO if_wb_object_data_model, @@ -148,7 +371,6 @@ CLASS ZCL_ABAPGIT_OBJECT_SRVD IMPLEMENTATION. TRY. lo_object_data = get_object_data( io_xml ). - lv_transport_request = get_transport_req_if_needed( iv_package ). lo_wb_object_operator = get_wb_object_operator( ). CREATE DATA lr_wbobjtype TYPE ('WBOBJTYPE'). @@ -180,7 +402,7 @@ CLASS ZCL_ABAPGIT_OBJECT_SRVD IMPLEMENTATION. data_selection = 'AL' "if_wb_object_data_selection_co=>c_all_data version = 'I' "swbm_version_inactive package = iv_package - transport_request = lv_transport_request. + transport_request = iv_transport. WHEN '2'. "if_wb_adt_plugin_resource_co=>co_sfs_res_category_compound_s. CALL METHOD lo_wb_object_operator->('IF_WB_OBJECT_OPERATOR~CREATE') EXPORTING @@ -188,13 +410,13 @@ CLASS ZCL_ABAPGIT_OBJECT_SRVD IMPLEMENTATION. data_selection = 'P' "if_wb_object_data_selection_co=>c_properties version = 'I' "swbm_version_inactive package = iv_package - transport_request = lv_transport_request. + transport_request = iv_transport. CALL METHOD lo_wb_object_operator->('IF_WB_OBJECT_OPERATOR~UPDATE') EXPORTING io_object_data = lo_object_data data_selection = 'D' "if_wb_object_data_selection_co=>c_data_content version = 'I' "swbm_version_inactive - transport_request = lv_transport_request. + transport_request = iv_transport. WHEN OTHERS. zcx_abapgit_exception=>raise( |Category '{ }' not supported| ). ENDCASE. @@ -207,7 +429,7 @@ CLASS ZCL_ABAPGIT_OBJECT_SRVD IMPLEMENTATION. io_object_data = lo_merged_data_all data_selection = 'AL' "if_wb_object_data_selection_co=>c_all_data version = 'I' "swbm_version_inactive - transport_request = lv_transport_request. + transport_request = iv_transport. WHEN '2'. "if_wb_adt_plugin_resource_co=>co_sfs_res_category_compound_s. lo_merged_data_prop = merge_object_data( lo_object_data ). lo_merged_data_cont = merge_object_data( lo_object_data ). @@ -216,13 +438,13 @@ CLASS ZCL_ABAPGIT_OBJECT_SRVD IMPLEMENTATION. io_object_data = lo_merged_data_prop data_selection = 'P' "if_wb_object_data_selection_co=>c_properties version = 'I' "swbm_version_inactive - transport_request = lv_transport_request. + transport_request = iv_transport. CALL METHOD lo_wb_object_operator->('IF_WB_OBJECT_OPERATOR~UPDATE') EXPORTING io_object_data = lo_merged_data_cont data_selection = 'D' "if_wb_object_data_selection_co=>c_data_content version = 'I' "swbm_version_inactive - transport_request = lv_transport_request. + transport_request = iv_transport. WHEN OTHERS. zcx_abapgit_exception=>raise( |Category '{ }' not supported| ). ENDCASE. @@ -347,251 +569,4 @@ CLASS ZCL_ABAPGIT_OBJECT_SRVD IMPLEMENTATION. ENDTRY. ENDMETHOD. - - - METHOD merge_object_data. - - DATA: - lo_object_data TYPE REF TO object, - lo_object_data_old TYPE REF TO if_wb_object_data_model, - lr_new TYPE REF TO data, - lr_old TYPE REF TO data, - lo_wb_object_operator TYPE REF TO object. - - FIELD-SYMBOLS: - TYPE any, - TYPE any, - TYPE any, - TYPE any. - - CREATE OBJECT lo_object_data TYPE ('CL_SRVD_WB_OBJECT_DATA'). - lo_object_data = io_object_data. - - CREATE DATA lr_new TYPE ('CL_SRVD_WB_OBJECT_DATA=>TY_SRVD_OBJECT_DATA'). - ASSIGN lr_new->* TO . - ASSERT sy-subrc = 0. - - CREATE DATA lr_old TYPE ('CL_SRVD_WB_OBJECT_DATA=>TY_SRVD_OBJECT_DATA'). - ASSIGN lr_old->* TO . - ASSERT sy-subrc = 0. - - CALL METHOD lo_object_data->('IF_WB_OBJECT_DATA_MODEL~GET_DATA') - EXPORTING - p_metadata_only = abap_false - p_data_selection = 'AL' - IMPORTING - p_data = . - - lo_wb_object_operator = get_wb_object_operator( ). - - CALL METHOD lo_wb_object_operator->('IF_WB_OBJECT_OPERATOR~READ') - EXPORTING - data_selection = 'AL' " if_wb_object_data_selection_co=>c_all_data - IMPORTING - eo_object_data = lo_object_data_old. - - CALL METHOD lo_object_data_old->('GET_DATA') - EXPORTING - p_metadata_only = abap_false - p_data_selection = 'AL' " if_wb_object_data_selection_co=>c_all_data - IMPORTING - p_data = . - - ASSIGN COMPONENT 'METADATA-DESCRIPTION' OF STRUCTURE TO . - ASSIGN COMPONENT 'METADATA-DESCRIPTION' OF STRUCTURE TO . - = . - - ASSIGN COMPONENT 'CONTENT-SOURCE' OF STRUCTURE TO . - ASSIGN COMPONENT 'CONTENT-SOURCE' OF STRUCTURE TO . - = . - - CREATE OBJECT ro_object_data_merged TYPE ('CL_SRVD_WB_OBJECT_DATA'). - - CALL METHOD ro_object_data_merged->('SET_DATA') - EXPORTING - p_data = . - - ENDMETHOD. - - - METHOD is_delete_tadir. - rv_delete_tadir = abap_true. - ENDMETHOD. - - - METHOD is_ddic. - rv_ddic = abap_false. - ENDMETHOD. - - - METHOD get_wb_object_operator. - - DATA: - ls_object_type TYPE wbobjtype, - lx_error TYPE REF TO cx_root. - - IF mo_object_operator IS BOUND. - ro_object_operator = mo_object_operator. - ENDIF. - - ls_object_type-objtype_tr = 'SRVD'. - ls_object_type-subtype_wb = 'SRV'. - - TRY. - CALL METHOD ('CL_WB_OBJECT_OPERATOR')=>('CREATE_INSTANCE') - EXPORTING - object_type = ls_object_type - object_key = mv_service_definition_key - RECEIVING - result = mo_object_operator. - - CATCH cx_root INTO lx_error. - zcx_abapgit_exception=>raise_with_text( lx_error ). - ENDTRY. - - ro_object_operator = mo_object_operator. - - ENDMETHOD. - - - METHOD get_transport_req_if_needed. - - DATA: li_sap_package TYPE REF TO zif_abapgit_sap_package. - - li_sap_package = zcl_abapgit_factory=>get_sap_package( iv_package ). - - IF li_sap_package->are_changes_recorded_in_tr_req( ) = abap_true. - rv_transport_request = zcl_abapgit_default_transport=>get_instance( )->get( )-ordernum. - ENDIF. - - ENDMETHOD. - - - METHOD get_object_data. - - DATA: - lr_metadata TYPE REF TO data, - lr_data TYPE REF TO data. - - FIELD-SYMBOLS: - TYPE any, - TYPE any, - TYPE any, - TYPE any. - - CREATE DATA lr_data TYPE ('CL_SRVD_WB_OBJECT_DATA=>TY_SRVD_OBJECT_DATA'). - ASSIGN lr_data->* TO . - ASSERT sy-subrc = 0. - - ASSIGN COMPONENT 'METADATA' OF STRUCTURE TO . - ASSERT sy-subrc = 0. - - CREATE DATA lr_metadata TYPE ('CL_SRVD_WB_OBJECT_DATA=>TY_METADATA_EXTENDED'). - ASSIGN lr_metadata->* TO . - ASSERT sy-subrc = 0. - - io_xml->read( - EXPORTING - iv_name = mc_xml_parent_name - CHANGING - cg_data = ). - - = . - - ASSIGN COMPONENT 'CONTENT-SOURCE' OF STRUCTURE TO . - ASSERT sy-subrc = 0. - - = mo_files->read_string( mc_source_file ). - IF IS INITIAL. - = mo_files->read_string( 'assrvd' ). - ENDIF. - - CREATE OBJECT ro_object_data TYPE ('CL_SRVD_WB_OBJECT_DATA'). - ro_object_data->set_data( p_data = ). - - ENDMETHOD. - - - METHOD clear_fields. - - clear_field( - EXPORTING - iv_fieldname = 'VERSION' - CHANGING - cs_metadata = cs_metadata ). - - clear_field( - EXPORTING - iv_fieldname = 'CREATED_AT' - CHANGING - cs_metadata = cs_metadata ). - - clear_field( - EXPORTING - iv_fieldname = 'CREATED_BY' - CHANGING - cs_metadata = cs_metadata ). - - clear_field( - EXPORTING - iv_fieldname = 'CHANGED_AT' - CHANGING - cs_metadata = cs_metadata ). - - clear_field( - EXPORTING - iv_fieldname = 'CHANGED_BY' - CHANGING - cs_metadata = cs_metadata ). - - clear_field( - EXPORTING - iv_fieldname = 'RESPONSIBLE' - CHANGING - cs_metadata = cs_metadata ). - - clear_field( - EXPORTING - iv_fieldname = 'PACKAGE_REF' - CHANGING - cs_metadata = cs_metadata ). - - clear_field( - EXPORTING - iv_fieldname = 'MASTER_SYSTEM' - CHANGING - cs_metadata = cs_metadata ). - - clear_field( - EXPORTING - iv_fieldname = 'DT_UUID' - CHANGING - cs_metadata = cs_metadata ). - - clear_field( - EXPORTING - iv_fieldname = 'ABAP_LANGUAGE_VERSION' - CHANGING - cs_metadata = cs_metadata ). - - clear_field( - EXPORTING - iv_fieldname = 'LINKS' - CHANGING - cs_metadata = cs_metadata ). - - ENDMETHOD. - - - METHOD clear_field. - - FIELD-SYMBOLS: TYPE data. - - ASSIGN COMPONENT iv_fieldname OF STRUCTURE cs_metadata - TO . - ASSERT sy-subrc = 0. - - CLEAR: . - - ENDMETHOD. ENDCLASS. diff --git a/src/objects/zcl_abapgit_object_wdca.clas.abap b/src/objects/zcl_abapgit_object_wdca.clas.abap index cf3b641ea..3952cccd6 100644 --- a/src/objects/zcl_abapgit_object_wdca.clas.abap +++ b/src/objects/zcl_abapgit_object_wdca.clas.abap @@ -20,14 +20,16 @@ CLASS zcl_abapgit_object_wdca DEFINITION zcx_abapgit_exception . METHODS save IMPORTING - !is_outline TYPE wdy_cfg_outline_data - !it_data TYPE wdy_cfg_persist_data_appl_tab - !iv_package TYPE devclass + !is_outline TYPE wdy_cfg_outline_data + !it_data TYPE wdy_cfg_persist_data_appl_tab + !iv_package TYPE devclass + !iv_transport TYPE trkorr RAISING zcx_abapgit_exception . METHODS delete IMPORTING - !iv_package TYPE devclass + !iv_package TYPE devclass + !iv_transport TYPE trkorr RAISING zcx_abapgit_exception . METHODS check @@ -63,8 +65,7 @@ CLASS zcl_abapgit_object_wdca IMPLEMENTATION. ls_outline TYPE wdy_cfg_outline_data, lv_operation TYPE i, lv_name TYPE wdy_md_object_name, - lv_exists TYPE wdy_boolean, - lv_transport TYPE trkorr. + lv_exists TYPE wdy_boolean. ls_key = ms_item-obj_name. @@ -88,8 +89,7 @@ CLASS zcl_abapgit_object_wdca IMPLEMENTATION. RETURN. ENDIF. - lv_transport = zcl_abapgit_default_transport=>get_instance( )->get( )-ordernum. - lo_cfg->set_transport( trkorr = lv_transport + lo_cfg->set_transport( trkorr = iv_transport devclass = iv_package ). lv_operation = if_wdr_cfg_constants=>c_cts_operation-e_delete. @@ -97,7 +97,7 @@ CLASS zcl_abapgit_object_wdca IMPLEMENTATION. DO 2 TIMES. lo_cfg->do_next_step( IMPORTING - e_messages = lt_messages + e_messages = lt_messages CHANGING c_operation = lv_operation ). check( lt_messages ). @@ -185,8 +185,7 @@ CLASS zcl_abapgit_object_wdca IMPLEMENTATION. ls_data LIKE LINE OF it_data, lv_operation TYPE i, lv_name TYPE wdy_md_object_name, - lv_exists TYPE wdy_boolean, - lv_transport TYPE trkorr. + lv_exists TYPE wdy_boolean. MOVE-CORRESPONDING is_outline TO ls_key. @@ -212,8 +211,7 @@ CLASS zcl_abapgit_object_wdca IMPLEMENTATION. ENDTRY. TRY. - lv_transport = zcl_abapgit_default_transport=>get_instance( )->get( )-ordernum. - lo_cfg->set_transport( trkorr = lv_transport + lo_cfg->set_transport( trkorr = iv_transport devclass = iv_package ). lo_cfg->set_save_data( ls_data ). lo_cfg->set_config_description( is_outline ). @@ -258,7 +256,8 @@ CLASS zcl_abapgit_object_wdca IMPLEMENTATION. METHOD zif_abapgit_object~delete. - delete( iv_package = iv_package ). + delete( iv_package = iv_package + iv_transport = iv_transport ). ENDMETHOD. @@ -276,10 +275,10 @@ CLASS zcl_abapgit_object_wdca IMPLEMENTATION. io_xml->read( EXPORTING iv_name = 'DATA' CHANGING cg_data = lt_data ). - save( is_outline = ls_outline - it_data = lt_data - iv_package = iv_package ). - + save( is_outline = ls_outline + it_data = lt_data + iv_package = iv_package + iv_transport = iv_transport ). TRY. lv_xml_string = mo_files->read_string( iv_extra = 'appl_config'