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

@ -188,7 +188,14 @@ CLASS zcl_abapgit_lxe_texts IMPLEMENTATION.
object = iv_object_type object = iv_object_type
obj_name = lv_object_name obj_name = lv_object_name
TABLES 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. ENDMETHOD.
@ -271,6 +278,10 @@ CLASS zcl_abapgit_lxe_texts IMPLEMENTATION.
iv_object_name = iv_object_name iv_object_name = iv_object_name
iv_object_type = iv_object_type ). 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) " 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 ). lv_main_lang = get_lang_iso4( ii_xml->i18n_params( )-main_language ).
lt_languages = ii_xml->i18n_params( )-translation_languages. 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. PUBLIC SECTION.
METHODS: CONSTANTS c_user_unknown TYPE xubname VALUE 'UNKNOWN'.
constructor
METHODS constructor
IMPORTING IMPORTING
is_item TYPE zif_abapgit_definitions=>ty_item !is_item TYPE zif_abapgit_definitions=>ty_item
iv_language TYPE spras. !iv_language TYPE spras .
CLASS-METHODS jump_adt
CLASS-METHODS: IMPORTING
jump_adt !iv_obj_name TYPE zif_abapgit_definitions=>ty_item-obj_name
IMPORTING iv_obj_name TYPE zif_abapgit_definitions=>ty_item-obj_name !iv_obj_type TYPE zif_abapgit_definitions=>ty_item-obj_type
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_name TYPE zif_abapgit_definitions=>ty_item-obj_name OPTIONAL !iv_sub_obj_type TYPE zif_abapgit_definitions=>ty_item-obj_type OPTIONAL
iv_sub_obj_type TYPE zif_abapgit_definitions=>ty_item-obj_type OPTIONAL !iv_line_number TYPE i OPTIONAL
iv_line_number TYPE i OPTIONAL RAISING
RAISING zcx_abapgit_exception. zcx_abapgit_exception .
CONSTANTS: c_user_unknown TYPE xubname VALUE 'UNKNOWN'.
PROTECTED SECTION. PROTECTED SECTION.
DATA ms_item TYPE zif_abapgit_definitions=>ty_item . DATA ms_item TYPE zif_abapgit_definitions=>ty_item .
@ -358,7 +359,8 @@ CLASS zcl_abapgit_objects_super IMPLEMENTATION.
METHOD serialize_lxe_texts. 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. RETURN.
ENDIF. ENDIF.