mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +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
|
EXCEPTIONS
|
||||||
no_assignment.
|
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.
|
PROTECTED SECTION.
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
CLASS-METHODS xstring_remove_bom
|
CLASS-METHODS xstring_remove_bom
|
||||||
|
@ -135,7 +144,6 @@ ENDCLASS.
|
||||||
|
|
||||||
CLASS zcl_abapgit_convert IMPLEMENTATION.
|
CLASS zcl_abapgit_convert IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD base64_to_xstring.
|
METHOD base64_to_xstring.
|
||||||
|
|
||||||
rv_xstr = cl_http_utility=>decode_x_base64( iv_base64 ).
|
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).
|
GET BIT 8 OF iv_x INTO rv_bitbyte+7(1).
|
||||||
|
|
||||||
ENDMETHOD.
|
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.
|
ENDCLASS.
|
||||||
|
|
|
@ -196,7 +196,7 @@ 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.
|
||||||
lv_sap1 = cl_abap_conv_in_ce=>uccp( im_sap1 ).
|
lv_sap1 = zcl_abapgit_convert=>uccp( im_sap1 ).
|
||||||
ELSEIF strlen( im_sap1 ) = 1.
|
ELSEIF strlen( im_sap1 ) = 1.
|
||||||
lv_sap1 = im_sap1.
|
lv_sap1 = im_sap1.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
|
@ -368,7 +368,7 @@ CLASS ltcl_bcp47_to_sap1 IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD english_gb.
|
METHOD english_gb.
|
||||||
DATA lv_to TYPE sy-langu.
|
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'
|
assert_bcp47_to_sap1( im_from = 'en-GB'
|
||||||
im_to = lv_to ).
|
im_to = lv_to ).
|
||||||
|
@ -386,7 +386,7 @@ CLASS ltcl_bcp47_to_sap1 IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD german_swiss.
|
METHOD german_swiss.
|
||||||
DATA lv_to TYPE sy-langu.
|
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'
|
assert_bcp47_to_sap1( im_from = 'de-CH'
|
||||||
im_to = lv_to ).
|
im_to = lv_to ).
|
||||||
|
@ -404,7 +404,7 @@ CLASS ltcl_bcp47_to_sap1 IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD chinese_singapore.
|
METHOD chinese_singapore.
|
||||||
DATA lv_to TYPE sy-langu.
|
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'
|
assert_bcp47_to_sap1( im_from = 'zh-SG'
|
||||||
im_to = lv_to ).
|
im_to = lv_to ).
|
||||||
|
@ -495,7 +495,7 @@ CLASS ltcl_sap1_to_bcp47 IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD english_gb.
|
METHOD english_gb.
|
||||||
DATA lv_from TYPE sy-langu.
|
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
|
assert_sap1_to_bcp47( im_from = lv_from
|
||||||
im_to = 'en-GB' ).
|
im_to = 'en-GB' ).
|
||||||
|
@ -508,7 +508,7 @@ CLASS ltcl_sap1_to_bcp47 IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD chinese_singapore.
|
METHOD chinese_singapore.
|
||||||
DATA lv_from TYPE sy-langu.
|
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
|
assert_sap1_to_bcp47( im_from = lv_from
|
||||||
im_to = 'zh-SG' ).
|
im_to = 'zh-SG' ).
|
||||||
|
|
Loading…
Reference in New Issue
Block a user