Desmitificando la página de códigos ABAP en SAP (Tablas y BAPI)
Se el primero en calificar
La página de códigos ABAP determina cómo el sistema interpreta los datos y los muestra. En ABAP, debe configurar la página de códigos para manejar los caracteres especiales. (?Por ejemplo, en francés ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? no existen en el teclado en inglés).
En esta publicación, encontrará la función estándar para reemplazar caracteres (la manera fácil), luego aprenderá a obtener la página de códigos ABAP de destino para el país y una plataforma. Lo último son las clases de conversión CCC ABAP estándar.
Reemplazar caracteres por página de código no ABAP
Simplemente puede reemplazar estos caracteres especiales con los caracteres correspondientes con este módulo de función SCP_REPLACE_STRANGE_CHARS Por ejemplo: ? -> mi.
Obtener destino?Conversión de página de códigos ABAP
O puede manejar la página de códigos ABAP específica del idioma de conexión y el país. De hecho, hay una tabla SAP TCP0C que coincide con la plataforma, el idioma, el país y la página de códigos correcta.
Es extremadamente útil si administra archivos o texto en un idioma que no sea inglés.
Este código abap de muestra le permite calcular la página de códigos correcta para usar:
SAP Get CodePage
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
DATA: l_v_spras TYPE spras,
l_v_codepage TYPE cpcodepage.
l_v_spras = sy-langu.
* Getting the Codepage value for connection Language
CALL FUNCTION ‘SCP_CODEPAGE_FOR_LANGUAGE’
EXPORTING
language = l_v_spras
IMPORTING
codepage = l_v_codepage
EXCEPTIONS
no_codepage = 1
OTHERS = 2.
IF sy-subrc IS INITIAL.
WRITE l_v_codepage.
ENDIF.
HOLA, estas en Statologos la enciclopedia más grande de estadística aplicada en español, no olvides que tienes un potente buscador de información en el menú utilizalo sabiamente 😉
Convertidor CCC estándar CL_ABAP_CONV_*
Desde la versión 6.10, también puede utilizar las clases de conversión CCC estándar CL_ABAP_CONV_*. Un buen código de muestra se puede encontrar en este enlace .
CL_ABAP_CONV_IN_CE: convierte bytes que representan caracteres en una página de códigos dada en una variable de cadena o carácter
CL_ABAP_CONV_OUT_CE: convierte un carácter o variable de cadena en bytes que representan caracteres en una página de códigos determinada
CL_ABAP_CONV_X2X_CE: convierte bytes que representan caracteres en una página de códigos dada, en bytes que representan caracteres en otra página de códigos dada