From 460117807d5061483c76b502a8e4b62a4f5e911d Mon Sep 17 00:00:00 2001 From: Marc Bernard Date: Thu, 20 Mar 2025 11:33:43 +0000 Subject: [PATCH] Remove tdevc* access --- .../sap/zcl_abapgit_sap_package.clas.abap | 56 +++++++++++++++---- .../sap/zif_abapgit_sap_package.intf.abap | 5 ++ .../zcl_abapgit_gui_page_chg_pckg.clas.abap | 30 +++------- 3 files changed, 57 insertions(+), 34 deletions(-) diff --git a/src/objects/sap/zcl_abapgit_sap_package.clas.abap b/src/objects/sap/zcl_abapgit_sap_package.clas.abap index 1129e52bb..1bd7f6290 100644 --- a/src/objects/sap/zcl_abapgit_sap_package.clas.abap +++ b/src/objects/sap/zcl_abapgit_sap_package.clas.abap @@ -32,6 +32,28 @@ CLASS zcl_abapgit_sap_package IMPLEMENTATION. ENDMETHOD. + METHOD get_transport_layer. + + " Get default transport layer + CALL FUNCTION 'TR_GET_TRANSPORT_TARGET' + EXPORTING + iv_use_default = abap_true + iv_get_layer_only = abap_true + IMPORTING + ev_layer = rv_transport_layer + EXCEPTIONS + wrong_call = 1 + invalid_input = 2 + cts_initialization_failure = 3 + OTHERS = 4. + IF sy-subrc <> 0. + " Return empty layer (i.e. "local workbench request" for the package) + CLEAR rv_transport_layer. + ENDIF. + + ENDMETHOD. + + METHOD zif_abapgit_sap_package~are_changes_recorded_in_tr_req. DATA: li_package TYPE REF TO if_package. @@ -236,25 +258,35 @@ CLASS zcl_abapgit_sap_package IMPLEMENTATION. ENDMETHOD. - METHOD get_transport_layer. + METHOD zif_abapgit_sap_package~get. - " Get default transport layer - CALL FUNCTION 'TR_GET_TRANSPORT_TARGET' + DATA li_package TYPE REF TO if_package. + + cl_package_factory=>load_package( EXPORTING - iv_use_default = abap_true - iv_get_layer_only = abap_true + i_package_name = mv_package IMPORTING - ev_layer = rv_transport_layer + e_package = li_package EXCEPTIONS - wrong_call = 1 - invalid_input = 2 - cts_initialization_failure = 3 - OTHERS = 4. + object_not_existing = 1 + unexpected_error = 2 + intern_err = 3 + no_access = 4 + object_locked_and_modified = 5 + OTHERS = 6 ). + IF sy-subrc <> 0. - " Return empty layer (i.e. "local workbench request" for the package) - CLEAR rv_transport_layer. + zcx_abapgit_exception=>raise_t100( ). ENDIF. + rs_package-devclass = li_package->package_name. + rs_package-dlvunit = li_package->software_component. + rs_package-component = li_package->application_component. + rs_package-ctext = li_package->short_text. + rs_package-parentcl = li_package->super_package_name. + rs_package-pdevclass = li_package->transport_layer. + rs_package-as4user = li_package->changed_by. + ENDMETHOD. diff --git a/src/objects/sap/zif_abapgit_sap_package.intf.abap b/src/objects/sap/zif_abapgit_sap_package.intf.abap index 52c2c33fa..32ba22d47 100644 --- a/src/objects/sap/zif_abapgit_sap_package.intf.abap +++ b/src/objects/sap/zif_abapgit_sap_package.intf.abap @@ -15,6 +15,11 @@ INTERFACE zif_abapgit_sap_package as4user TYPE usnam, END OF ty_create. + METHODS get + RETURNING + VALUE(rs_package) TYPE ty_create + RAISING + zcx_abapgit_exception . METHODS validate_name RAISING zcx_abapgit_exception . diff --git a/src/ui/pages/zcl_abapgit_gui_page_chg_pckg.clas.abap b/src/ui/pages/zcl_abapgit_gui_page_chg_pckg.clas.abap index beb2a74eb..74e5a3de2 100644 --- a/src/ui/pages/zcl_abapgit_gui_page_chg_pckg.clas.abap +++ b/src/ui/pages/zcl_abapgit_gui_page_chg_pckg.clas.abap @@ -235,37 +235,23 @@ CLASS zcl_abapgit_gui_page_chg_pckg IMPLEMENTATION. METHOD create_package_hierarchy. DATA: - ls_tdevc TYPE tdevc, - ls_tdevct TYPE tdevct, - ls_map TYPE ty_map. + ls_package TYPE zif_abapgit_sap_package=>ty_create, + ls_map TYPE ty_map. FIELD-SYMBOLS LIKE LINE OF it_mapping. LOOP AT it_mapping ASSIGNING . - SELECT SINGLE * FROM tdevc INTO ls_tdevc WHERE devclass = -old_package. - ASSERT sy-subrc = 0. + ls_package = zcl_abapgit_factory=>get_sap_package( -old_package )->get( ). - ls_tdevc-devclass = -new_package. - ls_tdevc-as4user = sy-uname. + ls_package-devclass = -new_package. + ls_package-as4user = sy-uname. - READ TABLE it_mapping INTO ls_map WITH KEY old_package = ls_tdevc-parentcl. + READ TABLE it_mapping INTO ls_map WITH KEY old_package = ls_package-parentcl. IF sy-subrc = 0. - ls_tdevc-parentcl = ls_map-new_package. + ls_package-parentcl = ls_map-new_package. ENDIF. - INSERT tdevc FROM ls_tdevc. - IF sy-subrc <> 0. - zcx_abapgit_exception=>raise( |Error inserting package { -new_package }| ). - ENDIF. - - SELECT * FROM tdevct INTO ls_tdevct WHERE devclass = -old_package ORDER BY PRIMARY KEY. - ls_tdevct-devclass = -new_package. - - INSERT tdevct FROM ls_tdevct. - IF sy-subrc <> 0. - zcx_abapgit_exception=>raise( |Error inserting package { -new_package }| ). - ENDIF. - ENDSELECT. + zcl_abapgit_factory=>get_sap_package( ls_map-new_package )->create( ls_package ). ENDLOOP. " TODO: Transportable packages (add to transport and tadir)