Se el primero en calificar
La conversión ABAP entre tipos es un tema principal en un desarrollador ABAP.
En realidad, SAP almacena a veces la misma información/datos en una tabla diferente o la función del módulo solicita tipos diferentes para la entrada o salida.
Este artículo cubrirá la conversión en codificación ABAP entre los tipos más utilizados: binario, cadena y tabla.
Se manejarán datos o archivos adjuntos, algunas funciones de conversión serán útiles para extraer y guardar archivos.
Según mi experiencia, las conversiones más utilizadas en ABAP serán:
- Abap convertir cadena a entero
- Abap convierte cadena a decimal
- Conversión de formato interno a externo
- Convertir binario a XString: (archivo adjunto, …).
- Conversión de líneas de texto en cadenas para (texto largo, …)
- Convertir cadena a XString
- XString a SOLIX_TAB para archivo adjunto, archivo…
Conversión ABAP: cadena a entero
Bienvenido a la conversión más útil para ABAP Developer: Cómo convertir STRING a INTEGER en ABAP
En primer lugar, String se escribe STRING en ABAP y Integer es solo una ‘ I ‘ en ABAP Typing.
La forma más sencilla es utilizar la función estándar CONVERT_STRING_TO_INTEGER en cualquier código ABAP.
CONVERT_STRING_TO_INTEGER también controla si la cadena es solo un número o no:
- sy-subrc = 1: si la longitud del entero de la cadena sobrecarga la longitud del entero ABAP.
- sy-subrc = 2: si la cadena no contiene solo un número
El fragmento de código ABAP para el usuario directamente en su programa personalizado de conversión ABAP es:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
DATA: lv_int TYPE i.
DATA: lv_string TYPE string VALUE ‘12345’.
«—————————————–«
» Convert String to Integer in ABAP
«—————————————–«
CALL FUNCTION ‘CONVERT_STRING_TO_INTEGER’
EXPORTING
p_string = lv_string
IMPORTING
p_int = lv_int
EXCEPTIONS
overflow = 1
invalid_chars = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
|
ABAP convertir cadena a decimal
ABAP Decimal Type es más complicado que ABAP Integer debido al separador decimal.
Entonces, para convertir String a Decimal en ABAP, debe configurar con Decimal Separator.
En ABAP Workbench, puede usar la función estándar HRCM_STRING_TO_AMOUNT_CONVERT para realizar la conversión ABAP.
Conversión ABAP básica de formato interno a externo
La conversión ABAP de formato interno a formato externo (o viceversa) se puede realizar mediante la función CONVERSION_EXIT_ALPHA*.
CONVERSION_EXIT_ALPHA_INPUT : convertir externo a interno CONVERSION_EXIT_ALPHA_OUTPUT : convertir interno a externo
Estas funciones son muy útiles para eliminar los ceros iniciales en ABAP, por ejemplo.
Consulte también Diferentes métodos para convertir cadenas en números enteros, cantidades y monedas en SAP ABAP
Conversión ABAP binario a XSTRING
Para convertir BINARIO a XSTRING, primero obtenga los datos BINARIOS y obtenga la longitud de la variable ABAP binaria.
Luego llame a la función estándar SCMS_BINARY_TO_XSTRING y pase la longitud y el valor binario. ¡Y salta! obtienes el XSTRING.
Puede ser útil cuando se trata/convierte ABAP con archivos adjuntos o imágenes (tipo MIME) que se almacenan como binarios en tablas SAP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
«——————————————–«
» Convert Binary to Xstring
«——————————————–«
CALL FUNCTION ‘SCMS_BINARY_TO_XSTRING’
EXPORTING
input_length = lv_length
IMPORTING
buffer = lv_buffer
TABLES
binary_tab = et_data
EXCEPTIONS
failed = 1
OTHERS = 2.
IF sy-subrc <> 0.
RAISE error_conversion.
ENDIF
|
Convertir líneas de texto en cadena
Como sabes, SAP tiene una forma muy particular de manejar textos largos. Por lo general, el texto SAP se convierte en líneas.
Utilice la función estándar CONVERT_TABLE_TO_STRING para recopilar todo el texto en una variable STRING en ABAP.
Cómo convertir String a Xstring en ABAP (del tipo String a un formato binario) Simplemente use la función estándar SCMS_STRING_TO_XSTRING .
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 😉
Una vez que obtenga el binario, puede convertir la cadena binaria XSTRING en una tabla de XSTRING con esta función SCMS_STRING_TO_BINARY para realizar la conversión abap.
En realidad, estas funciones ABAP de conversión serán útiles para recuperar archivos de objetos comerciales y agregarlos como datos adjuntos a un correo electrónico .