Buscar..


Literales

ABAP ofrece tres operadores diferentes para declarar variables de tipo cadena o de tipo char

Simbolos Tipo interno Longitud Nombre
'...' do 1-255 caracteres literales de campo de texto
`...` Cuerda C 0-255 caracteres literales de cadena de texto
| ... | Cuerda C 0-255 caracteres plantillas literales

Tenga en cuenta que el rango de longitud solo se aplica a los valores codificados. Las variables internas de CString tienen una longitud arbitraria, mientras que las variables de tipo C siempre tienen una longitud fija.

Plantillas de cadena

Las plantillas de cadenas son una forma conveniente de mezclar cadenas literales con valores de variables:

WRITE |Hello, { lv_name }, nice to meet you!|.

También puede formatear cosas como fechas. Para utilizar el formato de fecha de inicio de sesión del usuario:

WRITE |The order was completed on { lv_date DATE = USER } and can not be changed|.

Se admiten llamadas y expresiones de métodos funcionales:

WRITE |Your token is { to_upper( lv_token ) }|.
WRITE |Version is: { cond #( when lv_date < sy-datum then 'out of date' else 'up to date' ) }|.

¡Atención! La implementación directa de resultados temporales (como las llamadas a los métodos) dentro de las plantillas de cadenas puede llevar a problemas de rendimiento masivos (lea más sobre esto aquí ). Si bien usarlo en sentencias que rara vez se ejecutan está bien, hace que su programa se ralentice rápidamente en los bucles.

Cuerdas de concatenacion

Las variables de cadena y de tipo char se pueden concatenar usando el comando ABAP CONCATENATE . Se requiere una variable extra para almacenar los resultados.

Ejemplo:

CONCATENATE var1 var2 var3 INTO result.
"result now contains the values of var1, var2 & var3 stringed together without spaces

Taquigrafía

Las versiones más recientes de ABAP ofrecen una variante muy corta de concatenación utilizando && (operador de encadenamiento).

DATA(lw_result) = `Sum: ` && lw_sum.

¡Atención! Vale la pena darse cuenta de que el uso de resultados temporales en combinación con el operador de Encadenamiento dentro de los bucles puede dar lugar a problemas de rendimiento masivos debido a las crecientes instrucciones de copia (lea más sobre esto aquí ).



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow