Replace sotr_head* update with API

Ref #7131
This commit is contained in:
Marc Bernard 2025-03-24 17:16:34 +00:00
parent 1ef41d3f77
commit 78c641f79d
2 changed files with 76 additions and 12 deletions

View File

@ -27,12 +27,14 @@ CLASS zcl_abapgit_sotr_handler DEFINITION
!et_sotr_use TYPE ty_sotr_use_tt
RAISING
zcx_abapgit_exception.
CLASS-METHODS create_sotr
IMPORTING
!iv_package TYPE devclass
!io_xml TYPE REF TO zif_abapgit_xml_input
RAISING
zcx_abapgit_exception.
CLASS-METHODS create_sotr_from_data
IMPORTING
!iv_package TYPE devclass
@ -40,6 +42,7 @@ CLASS zcl_abapgit_sotr_handler DEFINITION
!it_sotr_use TYPE ty_sotr_use_tt
RAISING
zcx_abapgit_exception.
CLASS-METHODS delete_sotr
IMPORTING
!iv_pgmid TYPE pgmid DEFAULT 'R3TR'
@ -47,12 +50,22 @@ CLASS zcl_abapgit_sotr_handler DEFINITION
!iv_obj_name TYPE csequence
RAISING
zcx_abapgit_exception.
CLASS-METHODS delete_sotr_package
IMPORTING
!iv_package TYPE devclass
RAISING
zcx_abapgit_exception.
CLASS-METHODS change_sotr_package
IMPORTING
!iv_old_package TYPE devclass
!iv_new_package TYPE devclass
RAISING
zcx_abapgit_exception.
PROTECTED SECTION.
CLASS-METHODS get_sotr_usage
IMPORTING
!iv_pgmid TYPE pgmid
@ -66,6 +79,7 @@ CLASS zcl_abapgit_sotr_handler DEFINITION
!iv_concept TYPE sotr_conc
RETURNING
VALUE(rs_sotr) TYPE ty_sotr.
PRIVATE SECTION.
ENDCLASS.
@ -74,6 +88,55 @@ ENDCLASS.
CLASS zcl_abapgit_sotr_handler IMPLEMENTATION.
METHOD change_sotr_package.
DATA lt_concepts TYPE btfr_conc_tt.
" Short texts
SELECT concept FROM sotr_head INTO TABLE lt_concepts WHERE paket = iv_old_package.
IF lt_concepts IS NOT INITIAL.
CALL FUNCTION 'BTFR_CHANGE_PACKAGE'
EXPORTING
concept_tab = lt_concepts
new_package = iv_new_package
flag_string = abap_false
flag_ignore_system = abap_true
EXCEPTIONS
invalid_package = 1
invalid_tadir_entry = 2
update_error = 3
OTHERS = 4.
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise_t100( ).
ENDIF.
ENDIF.
CLEAR lt_concepts.
" Long texts
SELECT concept FROM sotr_headu INTO TABLE lt_concepts WHERE paket = iv_old_package.
IF lt_concepts IS NOT INITIAL.
CALL FUNCTION 'BTFR_CHANGE_PACKAGE'
EXPORTING
concept_tab = lt_concepts
new_package = iv_new_package
flag_string = abap_true
flag_ignore_system = abap_true
EXCEPTIONS
invalid_package = 1
invalid_tadir_entry = 2
update_error = 3
OTHERS = 4.
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise_t100( ).
ENDIF.
ENDIF.
ENDMETHOD.
METHOD create_sotr.
DATA:

View File

@ -421,8 +421,9 @@ CLASS zcl_abapgit_gui_page_chg_pckg IMPLEMENTATION.
FIELD-SYMBOLS <ls_map> LIKE LINE OF it_mapping.
LOOP AT it_mapping ASSIGNING <ls_map>.
UPDATE sotr_head SET paket = <ls_map>-new_package WHERE paket = <ls_map>-old_package ##SUBRC_OK.
UPDATE sotr_headu SET paket = <ls_map>-new_package WHERE paket = <ls_map>-old_package ##SUBRC_OK.
zcl_abapgit_sotr_handler=>change_sotr_package(
iv_old_package = <ls_map>-old_package
iv_new_package = <ls_map>-new_package ).
ENDLOOP.
ENDMETHOD.