Remove tdevc* access

This commit is contained in:
Marc Bernard 2025-03-20 11:33:43 +00:00
parent 6873c29a3e
commit 460117807d
3 changed files with 57 additions and 34 deletions

View File

@ -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.

View File

@ -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 .

View File

@ -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 <ls_map> LIKE LINE OF it_mapping.
LOOP AT it_mapping ASSIGNING <ls_map>.
SELECT SINGLE * FROM tdevc INTO ls_tdevc WHERE devclass = <ls_map>-old_package.
ASSERT sy-subrc = 0.
ls_package = zcl_abapgit_factory=>get_sap_package( <ls_map>-old_package )->get( ).
ls_tdevc-devclass = <ls_map>-new_package.
ls_tdevc-as4user = sy-uname.
ls_package-devclass = <ls_map>-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 { <ls_map>-new_package }| ).
ENDIF.
SELECT * FROM tdevct INTO ls_tdevct WHERE devclass = <ls_map>-old_package ORDER BY PRIMARY KEY.
ls_tdevct-devclass = <ls_map>-new_package.
INSERT tdevct FROM ls_tdevct.
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise( |Error inserting package { <ls_map>-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)