ABAP - Cortar un texto

 
Vista:

Cortar un texto

Publicado por novata79 (1 intervención) el 16/04/2008 10:20:09
Buenos días a todos,

El problema que tengo es el siguiente, a ver si me podeís echar una manita.

Tengo un texto, TDLINE, que lo mete el cliente a mano, sin seguir ningun criterio un ejemplo del texto sería lo siguiente:

PEPE LOPEZ CALLE PADILLA 1 28004 MADRID

Y se quiere cortar de la siguiente manera:

PEPE LOPEZ CALLE PADILLA 1
28004
MADRID

He probado ya todo lo posible y no se me ocurre nada más, a ver si me podís echara una mano.

Saludos y muchas gracias a todos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Cortar un texto

Publicado por Alejandro (226 intervenciones) el 12/04/2023 22:57:24
Hola.

Una posible solución es usar la función 'CONDENSE' de ABAP para eliminar los espacios en blanco innecesarios y luego usar la función 'SUBSTRING' para cortar el texto en las posiciones deseadas. Aquí te dejo un ejemplo:

1
2
3
4
5
6
7
8
9
10
DATA: tdline TYPE string VALUE 'PEPE LOPEZ CALLE PADILLA 1 28004 MADRID'.
DATA: len TYPE i.
 
CONDENSE tdline NO-GAPS.
 
len = STRLEN( tdline ).
tdline = tdline+0( len ).
 
tdline+19(1) = cl_abap_char_utilities=>newline.
tdline+24(1) = cl_abap_char_utilities=>newline.

En este ejemplo, la función 'CONDENSE' elimina los espacios en blanco innecesarios, y luego la variable 'len' se usa para determinar la longitud del texto. Luego, se usa 'SUBSTRING' para insertar un salto de línea ('cl_abap_char_utilities=>newline') después de los primeros 19 caracteres y después de los 24 caracteres. El resultado sería:

1
2
3
PEPE LOPEZ CALLE PADILLA 1
28004
MADRID

Espero que te sea útil.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar