I18N: Catch exceptions (#4491)

* I18N: Catch exceptions

Handle exceptions properly and avoid unnecessary serializations

* Remove pragma

Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
Marc Bernard 2021-02-06 03:36:29 -05:00 committed by GitHub
parent a15ca2a801
commit 30201d4329
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 35 additions and 22 deletions

View File

@ -184,11 +184,18 @@ CLASS zcl_abapgit_lxe_texts IMPLEMENTATION.
CALL FUNCTION 'LXE_OBJ_EXPAND_TRANSPORT_OBJ'
EXPORTING
pgmid = 'R3TR'
object = iv_object_type
obj_name = lv_object_name
pgmid = 'R3TR'
object = iv_object_type
obj_name = lv_object_name
TABLES
ex_colob = rt_obj_list.
ex_colob = rt_obj_list
EXCEPTIONS
unknown_object = 1
unknown_ta_type = 2
OTHERS = 3.
IF sy-subrc <> 0.
RETURN. " Ignore error and return empty list
ENDIF.
ENDMETHOD.
@ -271,6 +278,10 @@ CLASS zcl_abapgit_lxe_texts IMPLEMENTATION.
iv_object_name = iv_object_name
iv_object_type = iv_object_type ).
IF lt_obj_list IS INITIAL.
RETURN.
ENDIF.
" Get list of languages that need to be serialized (already resolves * and installed languages)
lv_main_lang = get_lang_iso4( ii_xml->i18n_params( )-main_language ).
lt_languages = ii_xml->i18n_params( )-translation_languages.

View File

@ -1,24 +1,25 @@
CLASS zcl_abapgit_objects_super DEFINITION PUBLIC ABSTRACT.
CLASS zcl_abapgit_objects_super DEFINITION
PUBLIC
ABSTRACT
CREATE PUBLIC .
PUBLIC SECTION.
METHODS:
constructor
IMPORTING
is_item TYPE zif_abapgit_definitions=>ty_item
iv_language TYPE spras.
CLASS-METHODS:
jump_adt
IMPORTING iv_obj_name TYPE zif_abapgit_definitions=>ty_item-obj_name
iv_obj_type TYPE zif_abapgit_definitions=>ty_item-obj_type
iv_sub_obj_name TYPE zif_abapgit_definitions=>ty_item-obj_name OPTIONAL
iv_sub_obj_type TYPE zif_abapgit_definitions=>ty_item-obj_type OPTIONAL
iv_line_number TYPE i OPTIONAL
RAISING zcx_abapgit_exception.
CONSTANTS: c_user_unknown TYPE xubname VALUE 'UNKNOWN'.
CONSTANTS c_user_unknown TYPE xubname VALUE 'UNKNOWN'.
METHODS constructor
IMPORTING
!is_item TYPE zif_abapgit_definitions=>ty_item
!iv_language TYPE spras .
CLASS-METHODS jump_adt
IMPORTING
!iv_obj_name TYPE zif_abapgit_definitions=>ty_item-obj_name
!iv_obj_type TYPE zif_abapgit_definitions=>ty_item-obj_type
!iv_sub_obj_name TYPE zif_abapgit_definitions=>ty_item-obj_name OPTIONAL
!iv_sub_obj_type TYPE zif_abapgit_definitions=>ty_item-obj_type OPTIONAL
!iv_line_number TYPE i OPTIONAL
RAISING
zcx_abapgit_exception .
PROTECTED SECTION.
DATA ms_item TYPE zif_abapgit_definitions=>ty_item .
@ -358,7 +359,8 @@ CLASS zcl_abapgit_objects_super IMPLEMENTATION.
METHOD serialize_lxe_texts.
IF ii_xml->i18n_params( )-main_language_only = abap_true.
IF ii_xml->i18n_params( )-main_language_only = abap_true OR
ii_xml->i18n_params( )-translation_languages IS INITIAL.
RETURN.
ENDIF.