Solucionado , con instruccion %REPLACE
D CAMBIO S 14 INZ( '<TIPO>A</TIPO>' )
C CAMBIO:14 SCAN STRING:1 POS 4 0
C IF POS < > 0
C EVAL %SUBST(STRING:POS:14) = '14 blancos'
* CON ESTAS INSTRUCCIONES QUITAMOS LOS BLANCOS.
C EVAL POS=POS-1
C EVAL STRING=%REPLACE(' ':STRING:POS:17)
* Pongo 17 por 2 espacios por delante y uno por detras para que quede a un espacio.
C ENDIF
14 = Longitud del cambio
STRING = 1500 posiciones segun archivo.
1 = Desde el principio de la serie
POS = 0 si no encuentra la b�squeda
Algo si ha encontrado la serie , se queda con la posici�n inicial
donde aparace
digamos la mas a la izquierda.
Ejemplo:
1� La cadena esta asi:
<NVA_MAR_FAM_SUB>
<CODMAR>00</CODMAR><CODFAM></CODFAM><CODSUB></CODSUB><DESCRIP>MENAJE Y
MESA</DESCRIP> <TIPO>A</TIPO> </NVA_MAR_FAM_SUB>
2� Despues del eval queda asi. Ahora queda de esta manera:
<NVA_MAR_FAM_SUB>
<CODMAR>00</CODMAR><CODFAM></CODFAM><CODSUB></CODSUB><DESCRIP>MENAJE Y
MESA</DESCRIP> </NVA_MAR_FAM_SUB>
Saludos
Paco Medina
Dpto.Informatica
Exclusivas Camacho, S.Ltda.
-----Mensaje original-----
De: Fernando P�rez [mailto:[EMAIL PROTECTED]
Enviado el: martes, 11 de marzo de 2003 9:31
Para: '[EMAIL PROTECTED]'
Asunto: RE: eliminar blancos dentro de una cadena de caracteres
Ser�a una cosa as�:
Eval String = %Subst(String:1:pos-1) + &Subst(String:pos+14:%len(String))
Saludos.
Fernando P�rez.
Cer�mica Saloni. Dpto. Sistemas
<mailto:[EMAIL PROTECTED]>
-----Mensaje original-----
De: medina [mailto:[EMAIL PROTECTED]
Enviado el: martes, 11 de marzo de 2003 9:27
Para: [EMAIL PROTECTED]
Asunto: RE: eliminar blancos dentro de una cadena de caracteres
Lo de recorrer la cadena ya me lo temia, pero como harias lo de concatenar
si la serie no
esta dividida en dos?
Saludos
Paco Medina
Dpto.Informatica
Exclusivas Camacho, S.Ltda.
-----Mensaje original-----
De: Fernando P�rez [mailto:[EMAIL PROTECTED]
Enviado el: martes, 11 de marzo de 2003 9:13
Para: '[EMAIL PROTECTED]'
Asunto: RE: eliminar blancos dentro de una cadena de caracteres
Me temo que en este caso vas a tener que recurrir a recorrer la cadena y
dejar en otra el texto sin blancos.
Lo que puedes hacer en tu caso , en lugar de dejarle 14 blancos a la cadena,
es concatenar la parte anterior a la ocurrencia que est�s buscando con la
parte posterior, con lo que evitas dejar blancos enmedio.
Saludos.
Fernando P�rez.
Cer�mica Saloni. Dpto. Sistemas
<mailto:[EMAIL PROTECTED]>
-----Mensaje original-----
De: medina [mailto:[EMAIL PROTECTED]
Enviado el: martes, 11 de marzo de 2003 9:04
Para: [EMAIL PROTECTED]
Asunto: RE: eliminar blancos dentro de una cadena de caracteres
Lo he probado y me sigue saliendo igual debe ser de otra manera.
Pues los blancos a eliminar no son de derecha ni de izquierda, son en medio,
y en diferentes posiciones.
este es parte del programa que ejecuto:
D CAMBIO S 14 INZ( '<TIPO>A</TIPO>' )
C CAMBIO:14 SCAN STRING:1 POS
4 0
C IF POS < > 0
C EVAL %SUBST(STRING:POS:14) = '14
blancos'
C ENDIF
14 = Longitud del cambio
STRING = 1500 posiciones segun archivo.
1 = Desde el principio de la serie
POS = 0 si no encuentra la b�squeda
Algo si ha encontrado la serie , se queda con la posici�n inicial
donde aparace
digamos la mas a la izquierda.
Ejemplo:
1� La cadena esta asi:
<NVA_MAR_FAM_SUB>
<CODMAR>00</CODMAR><CODFAM></CODFAM><CODSUB></CODSUB><DESCRIP>MENAJE Y
MESA</DESCRIP> <TIPO>A</TIPO> </NVA_MAR_FAM_SUB>
2� Despues del eval queda asi.
<NVA_MAR_FAM_SUB>
<CODMAR>00</CODMAR><CODFAM></CODFAM><CODSUB></CODSUB><DESCRIP>MENAJE Y
MESA</DESCRIP> </NVA_MAR_FAM_SUB>
Saludos
Paco Medina
Dpto.Informatica
Exclusivas Camacho, S.Ltda.
_____________________________________________________
Forum.HELP400 es un servicio m�s de NEWS/400.
� Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________
Para darte de baja, env�a el mensaje resultante de pulsar
mailto:[EMAIL PROTECTED]
_____________________________________________________
Forum.HELP400 es un servicio m�s de NEWS/400.
� Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________
Para darte de baja, env�a el mensaje resultante de pulsar
mailto:[EMAIL PROTECTED]
_____________________________________________________
Forum.HELP400 es un servicio m�s de NEWS/400.
� Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________
Para darte de baja, env�a el mensaje resultante de pulsar
mailto:[EMAIL PROTECTED]
_____________________________________________________
Forum.HELP400 es un servicio m�s de NEWS/400.
� Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________
Para darte de baja, env�a el mensaje resultante de pulsar
mailto:[EMAIL PROTECTED]
_____________________________________________________
Forum.HELP400 es un servicio m�s de NEWS/400.
� Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________
Para darte de baja, env�a el mensaje resultante de pulsar
mailto:[EMAIL PROTECTED]