MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 11/10/07, 15:55:37
Rodrigonl Rodrigonl is offline
Junior Member
 
Fecha de Ingreso: dic 2006
Mensajes: 5
Concatenate!!!!

Hola a todos
Mi consulta es, necesito concatenar, dentro de un loop, un campo de una tabla, respentando los campos en blanco. Por ejemplo

CONCATENATE concatenado campo1 into concatenado.

campo1 tiene 18 caracteres, pero pueden venir menos, por ejemplo, puede contener solamente 3 y el resto en blanco.
Necesito que me respete estos espacios en blanco que sobran.
Alguien sabe como hacerlo?

ya he probado poniendo CONCATENATE concatenado campo1(18) into concatenado, y no funciona

Muchas gracias
Responder Con Cita
  #2  
Viejo 11/10/07, 18:41:36
azua14 azua14 is offline
Senior Member
 
Fecha de Ingreso: jul 2007
Mensajes: 140
yo no me complicaria mucho y haria algo asi

data : contatenado2(18)

CONCATENATE concatenado campo1 into concatenado
move : contatenado to contatenado2.
Responder Con Cita
  #3  
Viejo 11/10/07, 19:09:10
fede_82 fede_82 is offline
Junior Member
 
Fecha de Ingreso: oct 2007
Mensajes: 3
No termino de entender bien la situacion, queres q campo1 se concatene a partir del 18vo caracter de concatenado?

si es asi, esto creo que deberia funcionar, pero ahora no puedo probarlo.

data : contatenado2(18).

concatenado2 = concatenado.
clear concatenado.
overlay concatenado+18 with campo1. " si no funciona agregale: only spaces.
Responder Con Cita
  #4  
Viejo 11/10/07, 20:37:50
Mauricio Hidalgo Mauricio Hidalgo is offline
Senior Member
 
Fecha de Ingreso: may 2006
Localización: Santiago, Chile
Mensajes: 481
Lo que puedes hacer.

1. Modificar en los string a concatenar el blanco por algún otro caracter.
por ejemplo, reemplazo con asterisco.
translate c_variable using ' *'.
2. Realizar la concatenación.
concatenate c_variable c_otravariable into c_destino.

3. Hacer un reemplazo inverso de lo que hiciste en 1.
translate c_destino using '* '.

espero hayas entendido.
Responder Con Cita
  #5  
Viejo 11/10/07, 20:40:56
Avatar de Marco
Marco Marco is offline
Senior Member
 
Fecha de Ingreso: abr 2006
Mensajes: 141
Holas,
Cuando concatenas campos, los espacios se pierden.
Lo que propone azua14 es factible y rapido.

Sld,
Responder Con Cita
  #6  
Viejo 11/10/07, 21:13:55
Avatar de torrescano
torrescano torrescano is offline
Member
 
Fecha de Ingreso: may 2006
Mensajes: 57
hola a todos

mira si necesitas concatenar respetando espacion en blanco, puedes usar el WRITE, te respeta la long del campo.

ejemplo:

data: v_record(1000) type c.

LOOP AT itab_inicial.
write itab_inicial-lgnum to v_record+0(3).
write itab_inicial-benum to v_record+3(10).
write itab_inicial-betyp to v_record+13(1).
write space to v_record+14(10).
ENDLOOP.

LISTO, si ves todo se va concatenando en la variable v_record respestando si viene espacio en blanco y la long de los campos a concatenar,

espero te sea util, saludos
__________________
Saludos amigos SAPeros
Responder Con Cita
  #7  
Viejo 05/02/08, 16:08:53
llinares llinares is offline
Junior Member
 
Fecha de Ingreso: ene 2008
Mensajes: 1
Smile Esta es la mejor solución

Utiliza en CONCATENATE TEXTO1 ' ' TEXTO2 INTO TEXTO3 RESPECTING BLANKS
Responder Con Cita
  #8  
Viejo 05/02/08, 16:19:58
abapconsultoria abapconsultoria is offline
Senior Member
 
Fecha de Ingreso: ene 2008
Mensajes: 101
La solucion de Mauricio me parece la optima.

Saludos.
__________________




Lo importante no es saber sino saber quien es el que sabe
Responder Con Cita
  #9  
Viejo 06/02/08, 09:10:20
ecm ecm is offline
Junior Member
 
Fecha de Ingreso: abr 2006
Mensajes: 20
Yo lo que haría sería tener una estructura con los campos que hay que concatenar(por ejemplo E_ESTRUC_AUX_CONC), y luego igualar concatenado = E_ESTRUC_AUX_CONC. Te respeta los blancos. El único problema sería si hay campos numericos que no sean de tipo N.
Responder Con Cita
  #10  
Viejo 27/05/08, 11:08:34
Avatar de Floren
Floren Floren is offline
Senior Member
 
Fecha de Ingreso: abr 2006
Localización: Málaga/Barcelona/Madrid
Mensajes: 209
Lo ideal...

Lo ideal sería usar la cláusula RESPECTING BLANKS.
El problema es que no es reconocida por el compilador en todas la release:

__________________
Florentín Navarrete Moya
SAP HCM Consultant
Mail:
Blog:
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 15:34:32.


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