MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   problema con instruccion CONDENSE (foro/showthread.php?t=73266)

ecarrasco0119 12/01/15 20:01:45

problema con instruccion CONDENSE
 
Hola buenas tardes necesito su ayuda para resolver este pequeño problema.

tengo lo siguiente por poner un ejemplo.

tengo un wa_nombre-linea que al pasar por write imprime lo siguiente:

Doc. Nombre
001###|MARIA VAZQUEZ ###############|

*Donde # es igual a espacios en blanco

el tamaño de la cadena para Doc es de 6 y para nombre es de 30, los registros pueden variar de tamaño y me piden que borre los espacios en blanco a la derecha para que quede de esta forma.

Doc Nombre
001|MARIA VAZQUEZ|

En el loop donde construyo el wa_nombre coloco la sentencia condense wa_nombre y efectivamente me borra los espacios vacíos en la cadena pero siempre me deja un espacio en blanco a la derecha

Doc Nombre
001#|MARIA VAZQUEZ#|

Hay forma de eliminarlo de la cadena o porque siempre deja ese espacio,
Espero me puedan ayudar

saludos

Spainnavar 13/01/15 07:28:11

Hola,
creo que lo que buscas es: CONDENSE <Var> NO-GAPS.

Un saludo

ecarrasco0119 13/01/15 14:22:21




efectivamente pensé en la misma situación pero resulta que en el caso del nombre eliminaría los espacios entre nombre y apellidos.

seguramente es algo muy sencillo pero no logro dar, saludos

Spainnavar 13/01/15 14:51:29

Primero SPLIT por |
Pilla el nombre y haces un SPLIT por los espacios, cogiendo los dos primero resultados (MARIA y VAZQUEZ)
Borras el campo del nombre entero y lo reconstruyes con los nombres por separado...

La verdad que no se me ocurre mucho mas... No se si funcionara, pero por probar no pasa nada...

Ya nos contaras! ;)

ecarrasco0119 13/01/15 16:16:40

hola colegas, al final lo resolví con un simple concatenate, en un principio había descartado esta opción por que el cliente quería definir el tamaño de cada cadena, al solicitarme que la cadena se ajustara a los caracteres de cada registro, se volvió viable utilizar un concatenate.

doc = 001
nombre= 'MARIA VAZQUEZ'

CONCATENATE doc nombre SEPARATED BY '|'.


anteriormente tenia esto:

wa_main-line+0(6) = doc.
wa_main-line+6(1) = '|'.
wa_main-line+7(30) = nombre.
wa_main-line+36(1) = '|'.

saludos. y gracias por sus respuestas, espero en algún momento contribuir con ustedes.


Husos Horarios son GMT. La hora en este momento es 22:35:16.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web