Tabellen
TCP00 (SAP Codepage Katalog)
TCP00A (Codepage-Attribute)
Variante 1 (cl_abap_codepage)
TRY. DATA(lv_http_codepage) = |utf-8|. * utf-8 -> 4110 * get sap codepage by external name WRITE: / lv_http_codepage, '->', cl_abap_codepage=>sap_codepage( lv_http_codepage ). CATCH cx_root INTO DATA(e_txt). WRITE: / e_txt->get_text( ). ENDTRY.
Variante 2 (cl_i18n_utils)
* Encoding Name in SAP Codepage DATA(lv_codepage_name) = |UTF-8|. *H HTTP-Name *M MIME-Name (wird nicht mehr benutzt) *J Java-Name (java.io und java.lang APIs) *W Microsoft-Windows Codepage-Nummer *D Dokumentenreferenz (ID(2),OBJ(60)) *T Kurzer, internationaler Text *A Passende, ASCII-basierte Codepage *C RTF: /cpg Wert *F RTF: /fcharsetN Wert *S Sequenz von Code Units *G Enthält Filter Segmente DATA(lv_kind) = CONV cpattrkind( 'H' ). DATA(lv_sap_codepage) = CONV cpcodepage( '' ). * Get a codepage from an encoding name DATA(rv) = cl_i18n_utils=>get_cp_from_name( EXPORTING im_name = lv_codepage_name im_kind = lv_kind IMPORTING ex_cp = lv_sap_codepage ). CASE rv. * successful WHEN 0. WRITE: / lv_codepage_name, '->', lv_sap_codepage. * internal error such as old kernel WHEN 1. * I/O error such as missing TCP00A WHEN 8. * invalid arguments WHEN 16. * not found WHEN 128. ENDCASE.
Variante 3 (cl_abap_codepage)
TRY. DATA(lv_sap_codepage) = CONV cpcodepage( '4110' ). * 4110 -> utf-8 * convert sap codepage to http codepage WRITE: / lv_sap_codepage, '->', cl_abap_codepage=>sap_to_http( lv_sap_codepage ). CATCH cx_root INTO DATA(e_txt). WRITE: / e_txt->get_text( ). ENDTRY.
Variante 4 (cl_abap_codepage)
TRY. DATA(lv_sap_codepage) = CONV cpcodepage( '4110' ). * 4110 -> UTF8 * convert sap codepage to JAVA codepage WRITE: / lv_sap_codepage, '->', cl_abap_codepage=>sap_to_java( lv_sap_codepage ). CATCH cx_root INTO DATA(e_txt). WRITE: / e_txt->get_text( ). ENDTRY.