mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 11:46:38 +08:00
uccp()
, cloud compatibility (#6991)
This commit is contained in:
parent
8b7c4862f3
commit
8d91119371
|
@ -122,6 +122,15 @@ CLASS zcl_abapgit_convert DEFINITION
|
|||
EXCEPTIONS
|
||||
no_assignment.
|
||||
|
||||
TYPES ty_char02 TYPE c LENGTH 2.
|
||||
CLASS-METHODS uccp
|
||||
IMPORTING
|
||||
iv_uccp TYPE string
|
||||
RETURNING
|
||||
VALUE(rv_char) TYPE ty_char02
|
||||
EXCEPTIONS
|
||||
no_assignment.
|
||||
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
CLASS-METHODS xstring_remove_bom
|
||||
|
@ -135,7 +144,6 @@ ENDCLASS.
|
|||
|
||||
CLASS zcl_abapgit_convert IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD base64_to_xstring.
|
||||
|
||||
rv_xstr = cl_http_utility=>decode_x_base64( iv_base64 ).
|
||||
|
@ -519,4 +527,39 @@ CLASS zcl_abapgit_convert IMPLEMENTATION.
|
|||
GET BIT 8 OF iv_x INTO rv_bitbyte+7(1).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD uccp.
|
||||
|
||||
DATA lv_class TYPE string.
|
||||
DATA lv_xstr TYPE xstring.
|
||||
DATA lo_instance TYPE REF TO object.
|
||||
|
||||
lv_class = 'CL_ABAP_CONV_IN_CE'.
|
||||
|
||||
TRY.
|
||||
CALL METHOD (lv_class)=>uccp
|
||||
EXPORTING
|
||||
uccp = iv_uccp
|
||||
RECEIVING
|
||||
char = rv_char.
|
||||
CATCH cx_sy_dyn_call_illegal_class.
|
||||
lv_xstr = iv_uccp.
|
||||
|
||||
CALL METHOD ('CL_ABAP_CONV_CODEPAGE')=>create_in
|
||||
EXPORTING
|
||||
codepage = 'UTF-16'
|
||||
RECEIVING
|
||||
instance = lo_instance.
|
||||
|
||||
* convert endianness
|
||||
CONCATENATE lv_xstr+1(1) lv_xstr(1) INTO lv_xstr IN BYTE MODE.
|
||||
|
||||
CALL METHOD lo_instance->('IF_ABAP_CONV_IN~CONVERT')
|
||||
EXPORTING
|
||||
source = lv_xstr
|
||||
RECEIVING
|
||||
result = rv_char.
|
||||
ENDTRY.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -196,7 +196,7 @@ CLASS lcl_bcp47_language_table IMPLEMENTATION.
|
|||
DATA lv_sap1 TYPE sy-langu.
|
||||
|
||||
IF strlen( im_sap1 ) = 4.
|
||||
lv_sap1 = cl_abap_conv_in_ce=>uccp( im_sap1 ).
|
||||
lv_sap1 = zcl_abapgit_convert=>uccp( im_sap1 ).
|
||||
ELSEIF strlen( im_sap1 ) = 1.
|
||||
lv_sap1 = im_sap1.
|
||||
ENDIF.
|
||||
|
|
|
@ -368,7 +368,7 @@ CLASS ltcl_bcp47_to_sap1 IMPLEMENTATION.
|
|||
|
||||
METHOD english_gb.
|
||||
DATA lv_to TYPE sy-langu.
|
||||
lv_to = cl_abap_conv_in_ce=>uccp( 'B46E' ).
|
||||
lv_to = zcl_abapgit_convert=>uccp( 'B46E' ).
|
||||
|
||||
assert_bcp47_to_sap1( im_from = 'en-GB'
|
||||
im_to = lv_to ).
|
||||
|
@ -386,7 +386,7 @@ CLASS ltcl_bcp47_to_sap1 IMPLEMENTATION.
|
|||
|
||||
METHOD german_swiss.
|
||||
DATA lv_to TYPE sy-langu.
|
||||
lv_to = cl_abap_conv_in_ce=>uccp( 'B3A7' ).
|
||||
lv_to = zcl_abapgit_convert=>uccp( 'B3A7' ).
|
||||
|
||||
assert_bcp47_to_sap1( im_from = 'de-CH'
|
||||
im_to = lv_to ).
|
||||
|
@ -404,7 +404,7 @@ CLASS ltcl_bcp47_to_sap1 IMPLEMENTATION.
|
|||
|
||||
METHOD chinese_singapore.
|
||||
DATA lv_to TYPE sy-langu.
|
||||
lv_to = cl_abap_conv_in_ce=>uccp( 'B343' ).
|
||||
lv_to = zcl_abapgit_convert=>uccp( 'B343' ).
|
||||
|
||||
assert_bcp47_to_sap1( im_from = 'zh-SG'
|
||||
im_to = lv_to ).
|
||||
|
@ -495,7 +495,7 @@ CLASS ltcl_sap1_to_bcp47 IMPLEMENTATION.
|
|||
|
||||
METHOD english_gb.
|
||||
DATA lv_from TYPE sy-langu.
|
||||
lv_from = cl_abap_conv_in_ce=>uccp( 'B46E' ).
|
||||
lv_from = zcl_abapgit_convert=>uccp( 'B46E' ).
|
||||
|
||||
assert_sap1_to_bcp47( im_from = lv_from
|
||||
im_to = 'en-GB' ).
|
||||
|
@ -508,7 +508,7 @@ CLASS ltcl_sap1_to_bcp47 IMPLEMENTATION.
|
|||
|
||||
METHOD chinese_singapore.
|
||||
DATA lv_from TYPE sy-langu.
|
||||
lv_from = cl_abap_conv_in_ce=>uccp( 'B343' ).
|
||||
lv_from = zcl_abapgit_convert=>uccp( 'B343' ).
|
||||
|
||||
assert_sap1_to_bcp47( im_from = lv_from
|
||||
im_to = 'zh-SG' ).
|
||||
|
|
Loading…
Reference in New Issue
Block a user