diff --git a/abaplint.json b/abaplint.json index 329b8a2f4..93f11afaf 100644 --- a/abaplint.json +++ b/abaplint.json @@ -94,7 +94,9 @@ "max_one_method_parameter_per_line": true, "unused_ddic": true, "prefer_raise_exception_new": true, - "use_class_based_exceptions": true, + "use_class_based_exceptions": { + "exclude": ["zcl_abapgit_convert.clas.abap"] + }, "uncaught_exception": true, "intf_referencing_clas": false, "method_implemented_twice": true, diff --git a/src/objects/aff/zcl_abapgit_json_handler.clas.abap b/src/objects/aff/zcl_abapgit_json_handler.clas.abap index ed5e87cd3..3eb2af87b 100644 --- a/src/objects/aff/zcl_abapgit_json_handler.clas.abap +++ b/src/objects/aff/zcl_abapgit_json_handler.clas.abap @@ -95,7 +95,7 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_JSON_HANDLER IMPLEMENTATION. +CLASS zcl_abapgit_json_handler IMPLEMENTATION. METHOD deserialize. @@ -225,11 +225,7 @@ CLASS ZCL_ABAPGIT_JSON_HANDLER IMPLEMENTATION. lv_original_language = co_ajson->get_string( '/header/originalLanguage' ). - CALL FUNCTION 'CONVERSION_EXIT_ISOLA_OUTPUT' - EXPORTING - input = lv_original_language - IMPORTING - output = lv_iso_language. + lv_iso_language = zcl_abapgit_convert=>conversion_exit_isola_output( lv_original_language ). TRANSLATE lv_iso_language TO LOWER CASE. co_ajson->set_string( iv_path = '/header/originalLanguage' diff --git a/src/objects/texts/zcl_abapgit_i18n_params.clas.abap b/src/objects/texts/zcl_abapgit_i18n_params.clas.abap index bf506f1fb..ef99f91f2 100644 --- a/src/objects/texts/zcl_abapgit_i18n_params.clas.abap +++ b/src/objects/texts/zcl_abapgit_i18n_params.clas.abap @@ -58,7 +58,7 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_I18N_PARAMS IMPLEMENTATION. +CLASS zcl_abapgit_i18n_params IMPLEMENTATION. METHOD build_language_filter. @@ -98,7 +98,7 @@ CLASS ZCL_ABAPGIT_I18N_PARAMS IMPLEMENTATION. LOOP AT it_iso_filter INTO lv_laiso. - cl_i18n_languages=>sap2_to_sap1( + zcl_abapgit_convert=>language_sap2_to_sap1( EXPORTING im_lang_sap2 = lv_laiso RECEIVING @@ -159,7 +159,7 @@ CLASS ZCL_ABAPGIT_I18N_PARAMS IMPLEMENTATION. CONTINUE. " Just keep it ENDIF. - cl_i18n_languages=>sap1_to_sap2( + zcl_abapgit_convert=>language_sap1_to_sap2( EXPORTING im_lang_sap1 = RECEIVING @@ -195,7 +195,7 @@ CLASS ZCL_ABAPGIT_I18N_PARAMS IMPLEMENTATION. LOOP AT ct_sap_langs INTO lv_langu. lv_index = sy-tabix. - cl_i18n_languages=>sap1_to_sap2( + zcl_abapgit_convert=>language_sap1_to_sap2( EXPORTING im_lang_sap1 = lv_langu RECEIVING diff --git a/src/objects/texts/zcl_abapgit_lxe_texts.clas.abap b/src/objects/texts/zcl_abapgit_lxe_texts.clas.abap index 8a89c6773..6be95634c 100644 --- a/src/objects/texts/zcl_abapgit_lxe_texts.clas.abap +++ b/src/objects/texts/zcl_abapgit_lxe_texts.clas.abap @@ -175,7 +175,7 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_LXE_TEXTS IMPLEMENTATION. +CLASS zcl_abapgit_lxe_texts IMPLEMENTATION. METHOD check_langs_versus_installed. @@ -433,8 +433,12 @@ CLASS ZCL_ABAPGIT_LXE_TEXTS IMPLEMENTATION. DATA lv_lang_iso639 TYPE laiso. DATA lv_country TYPE land1. + DATA lv_class TYPE string. - cl_i18n_languages=>sap2_to_iso639_1( + lv_class = 'CL_I18N_LANGUAGES'. + +" cannot find a way to do this in Steampunk, so dynamic for now, + CALL METHOD (lv_class)=>sap2_to_iso639_1 EXPORTING im_lang_sap2 = iv_src IMPORTING @@ -442,7 +446,7 @@ CLASS ZCL_ABAPGIT_LXE_TEXTS IMPLEMENTATION. ex_country = lv_country EXCEPTIONS no_assignment = 1 - OTHERS = 2 ). + OTHERS = 2. IF sy-subrc <> 0. zcx_abapgit_exception=>raise( |Failed to convert [{ iv_src }] lang to iso639| ). ENDIF. @@ -519,7 +523,7 @@ CLASS ZCL_ABAPGIT_LXE_TEXTS IMPLEMENTATION. METHOD langu_to_laiso_safe. - cl_i18n_languages=>sap1_to_sap2( + zcl_abapgit_convert=>language_sap1_to_sap2( EXPORTING im_lang_sap1 = iv_langu RECEIVING diff --git a/src/objects/zcl_abapgit_object_form.clas.abap b/src/objects/zcl_abapgit_object_form.clas.abap index 1354b9d90..f20652199 100644 --- a/src/objects/zcl_abapgit_object_form.clas.abap +++ b/src/objects/zcl_abapgit_object_form.clas.abap @@ -106,13 +106,9 @@ CLASS zcl_abapgit_object_form IMPLEMENTATION. METHOD build_extra_from_header. - DATA: lv_tdspras TYPE laiso. + DATA lv_tdspras TYPE laiso. - CALL FUNCTION 'CONVERSION_EXIT_ISOLA_OUTPUT' - EXPORTING - input = is_header-tdspras - IMPORTING - output = lv_tdspras. + lv_tdspras = zcl_abapgit_convert=>conversion_exit_isola_output( is_header-tdspras ). rv_result = c_objectname_tdlines && '_' && lv_tdspras. diff --git a/src/utils/zcl_abapgit_convert.clas.abap b/src/utils/zcl_abapgit_convert.clas.abap index 0f5460437..3fda961e0 100644 --- a/src/utils/zcl_abapgit_convert.clas.abap +++ b/src/utils/zcl_abapgit_convert.clas.abap @@ -82,6 +82,23 @@ CLASS zcl_abapgit_convert DEFINITION EXPORTING !ev_size TYPE i !et_bintab TYPE STANDARD TABLE . + + CLASS-METHODS language_sap1_to_sap2 + IMPORTING + im_lang_sap1 TYPE sy-langu + RETURNING + VALUE(re_lang_sap2) TYPE string + EXCEPTIONS + no_assignment. + + CLASS-METHODS language_sap2_to_sap1 + IMPORTING + im_lang_sap2 TYPE laiso + RETURNING + VALUE(re_lang_sap1) TYPE sy-langu + EXCEPTIONS + no_assignment. + PROTECTED SECTION. PRIVATE SECTION. @@ -348,4 +365,58 @@ CLASS zcl_abapgit_convert IMPLEMENTATION. GET BIT 8 OF iv_x INTO rv_bitbyte+7(1). ENDMETHOD. + + METHOD language_sap1_to_sap2. + + DATA lv_class TYPE string. + + TRY. + SELECT SINGLE languageisocode FROM ('I_LANGUAGE') + INTO re_lang_sap2 + WHERE language = im_lang_sap1. + IF sy-subrc <> 0. + RAISE no_assignment. + ENDIF. + CATCH cx_sy_dynamic_osql_error. + lv_class = 'CL_I18N_LANGUAGES'. + CALL METHOD (lv_class)=>sap1_to_sap2 + EXPORTING + im_lang_sap1 = im_lang_sap1 + RECEIVING + re_lang_sap2 = re_lang_sap2 + EXCEPTIONS + no_assignment = 1 + OTHERS = 2. + IF sy-subrc = 1. + RAISE no_assignment. + ENDIF. + ENDTRY. + ENDMETHOD. + + METHOD language_sap2_to_sap1. + + DATA lv_class TYPE string. + + TRY. + SELECT SINGLE language FROM ('I_LANGUAGE') + INTO re_lang_sap1 + WHERE languageisocode = im_lang_sap2. + IF sy-subrc <> 0. + RAISE no_assignment. + ENDIF. + CATCH cx_sy_dynamic_osql_error. + lv_class = 'CL_I18N_LANGUAGES'. + CALL METHOD (lv_class)=>sap2_to_sap1 + EXPORTING + im_lang_sap2 = im_lang_sap2 + RECEIVING + re_lang_sap1 = re_lang_sap1 + EXCEPTIONS + no_assignment = 1 + OTHERS = 2. + IF sy-subrc = 1. + RAISE no_assignment. + ENDIF. + ENDTRY. + ENDMETHOD. ENDCLASS.