mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
Merge branch 'main' into mbtools/exception
This commit is contained in:
commit
45e91f1c9e
|
@ -125,16 +125,22 @@ CLASS lcl_bcp47_language_table DEFINITION CREATE PRIVATE.
|
||||||
bcp47_code TYPE string,
|
bcp47_code TYPE string,
|
||||||
END OF ty_language_mapping,
|
END OF ty_language_mapping,
|
||||||
ty_language_mappings TYPE STANDARD TABLE OF ty_language_mapping WITH DEFAULT KEY.
|
ty_language_mappings TYPE STANDARD TABLE OF ty_language_mapping WITH DEFAULT KEY.
|
||||||
CLASS-DATA gv_language_mappings TYPE ty_language_mappings.
|
CLASS-DATA gt_language_mappings TYPE ty_language_mappings.
|
||||||
CLASS-METHODS:
|
CLASS-METHODS:
|
||||||
sap1_to_sap2
|
sap1_to_sap2
|
||||||
IMPORTING im_sap1 TYPE sy-langu
|
IMPORTING
|
||||||
RETURNING VALUE(re_sap2) TYPE laiso
|
im_sap1 TYPE sy-langu
|
||||||
RAISING zcx_abapgit_exception,
|
RETURNING
|
||||||
|
VALUE(re_sap2) TYPE laiso
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception,
|
||||||
sap2_to_sap1
|
sap2_to_sap1
|
||||||
IMPORTING im_sap2 TYPE laiso
|
IMPORTING
|
||||||
RETURNING VALUE(re_sap1) TYPE sy-langu
|
im_sap2 TYPE laiso
|
||||||
RAISING zcx_abapgit_exception,
|
RETURNING
|
||||||
|
VALUE(re_sap1) TYPE sy-langu
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception,
|
||||||
sap1_to_bcp47
|
sap1_to_bcp47
|
||||||
IMPORTING
|
IMPORTING
|
||||||
im_sap1 TYPE sy-langu
|
im_sap1 TYPE sy-langu
|
||||||
|
@ -168,11 +174,11 @@ CLASS lcl_bcp47_language_table IMPLEMENTATION.
|
||||||
METHOD sap1_to_bcp47.
|
METHOD sap1_to_bcp47.
|
||||||
DATA lv_language_mapping TYPE ty_language_mapping.
|
DATA lv_language_mapping TYPE ty_language_mapping.
|
||||||
|
|
||||||
IF gv_language_mappings IS INITIAL OR lines( gv_language_mappings ) = 0.
|
IF gt_language_mappings IS INITIAL OR lines( gt_language_mappings ) = 0.
|
||||||
fill_language_mappings( ).
|
fill_language_mappings( ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
LOOP AT gv_language_mappings INTO lv_language_mapping WHERE sap1_code = im_sap1.
|
LOOP AT gt_language_mappings INTO lv_language_mapping WHERE sap1_code = im_sap1.
|
||||||
IF re_bcp47 IS INITIAL OR strlen( re_bcp47 ) > strlen( lv_language_mapping-bcp47_code ).
|
IF re_bcp47 IS INITIAL OR strlen( re_bcp47 ) > strlen( lv_language_mapping-bcp47_code ).
|
||||||
re_bcp47 = lv_language_mapping-bcp47_code.
|
re_bcp47 = lv_language_mapping-bcp47_code.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
@ -186,11 +192,11 @@ CLASS lcl_bcp47_language_table IMPLEMENTATION.
|
||||||
METHOD bcp47_to_sap1.
|
METHOD bcp47_to_sap1.
|
||||||
DATA lv_language_mapping TYPE ty_language_mapping.
|
DATA lv_language_mapping TYPE ty_language_mapping.
|
||||||
|
|
||||||
IF gv_language_mappings IS INITIAL OR lines( gv_language_mappings ) = 0.
|
IF gt_language_mappings IS INITIAL OR lines( gt_language_mappings ) = 0.
|
||||||
fill_language_mappings( ).
|
fill_language_mappings( ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
LOOP AT gv_language_mappings INTO lv_language_mapping.
|
LOOP AT gt_language_mappings INTO lv_language_mapping.
|
||||||
IF to_lower( lv_language_mapping-bcp47_code ) = to_lower( im_bcp47 ) AND re_sap1 IS INITIAL.
|
IF to_lower( lv_language_mapping-bcp47_code ) = to_lower( im_bcp47 ) AND re_sap1 IS INITIAL.
|
||||||
re_sap1 = lv_language_mapping-sap1_code.
|
re_sap1 = lv_language_mapping-sap1_code.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
@ -205,26 +211,26 @@ CLASS lcl_bcp47_language_table IMPLEMENTATION.
|
||||||
METHOD sap1_to_sap2.
|
METHOD sap1_to_sap2.
|
||||||
DATA lv_language_mapping TYPE ty_language_mapping.
|
DATA lv_language_mapping TYPE ty_language_mapping.
|
||||||
|
|
||||||
IF gv_language_mappings IS INITIAL.
|
IF gt_language_mappings IS INITIAL.
|
||||||
fill_language_mappings( ).
|
fill_language_mappings( ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
READ TABLE gv_language_mappings WITH KEY sap1_code = im_sap1 INTO lv_language_mapping.
|
READ TABLE gt_language_mappings WITH KEY sap1_code = im_sap1 INTO lv_language_mapping.
|
||||||
re_sap2 = lv_language_mapping-sap2_code.
|
re_sap2 = lv_language_mapping-sap2_code.
|
||||||
|
|
||||||
IF re_sap2 IS INITIAL.
|
IF re_sap2 IS INITIAL.
|
||||||
zcx_abapgit_exception=>raise( |Could not convert SAP1 language code { im_sap1 } to SAP2 language code.| ).
|
zcx_abapgit_exception=>raise( |Could not map SAP1 language code { im_sap1 } to SAP2 language code.| ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD sap2_to_sap1.
|
METHOD sap2_to_sap1.
|
||||||
DATA lv_language_mapping TYPE ty_language_mapping.
|
DATA lv_language_mapping TYPE ty_language_mapping.
|
||||||
|
|
||||||
IF gv_language_mappings IS INITIAL.
|
IF gt_language_mappings IS INITIAL.
|
||||||
fill_language_mappings( ).
|
fill_language_mappings( ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
READ TABLE gv_language_mappings WITH KEY sap2_code = im_sap2 INTO lv_language_mapping.
|
READ TABLE gt_language_mappings WITH KEY sap2_code = im_sap2 INTO lv_language_mapping.
|
||||||
re_sap1 = lv_language_mapping-sap1_code.
|
re_sap1 = lv_language_mapping-sap1_code.
|
||||||
|
|
||||||
IF re_sap1 IS INITIAL.
|
IF re_sap1 IS INITIAL.
|
||||||
|
@ -237,7 +243,13 @@ CLASS lcl_bcp47_language_table IMPLEMENTATION.
|
||||||
DATA lv_sap1 TYPE sy-langu.
|
DATA lv_sap1 TYPE sy-langu.
|
||||||
|
|
||||||
IF strlen( im_sap1 ) = 4.
|
IF strlen( im_sap1 ) = 4.
|
||||||
|
TRY.
|
||||||
lv_sap1 = zcl_abapgit_convert=>uccp( im_sap1 ).
|
lv_sap1 = zcl_abapgit_convert=>uccp( im_sap1 ).
|
||||||
|
CATCH cx_root.
|
||||||
|
" Language is not supported in this system -> ignore it
|
||||||
|
" Should someone try to use the language in a repo, it will result in an error (see above)
|
||||||
|
RETURN.
|
||||||
|
ENDTRY.
|
||||||
ELSEIF strlen( im_sap1 ) = 1.
|
ELSEIF strlen( im_sap1 ) = 1.
|
||||||
lv_sap1 = im_sap1.
|
lv_sap1 = im_sap1.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
@ -246,7 +258,7 @@ CLASS lcl_bcp47_language_table IMPLEMENTATION.
|
||||||
lv_line-sap2_code = im_sap2.
|
lv_line-sap2_code = im_sap2.
|
||||||
lv_line-sap1_code = lv_sap1.
|
lv_line-sap1_code = lv_sap1.
|
||||||
|
|
||||||
APPEND lv_line TO gv_language_mappings.
|
APPEND lv_line TO gt_language_mappings.
|
||||||
CLEAR lv_line.
|
CLEAR lv_line.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user