este, me parece que el 3 y el 2 no tendrian que ser fijo, sino en base a
donde estan los dos puntos.
con algo asi
i = %scan(':': linea)
y luego si
valor = %dec(%subst(linea: i+1): 15: 2)
o en un solo paso
valor = %dec(%subst(linea: %scan(':': linea) + 1): 15: 2)
Saludos,
Dario.-
----- Original Message -----
From: "Fernando P�rez" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, July 15, 2004 1:53 PM
Subject: RE: Una mejor manera...
con Ile rpg, suponiendo que la cadena se llama 'linea': %DEC(
%subst(linea: 3: %len(linea) - 2): 15: 2). Si tu separador decimal es la
coma, quiz� debas hacer un xlate primero, para cambiar el punto por la
coma ( aunque si he entendido bien el manual, funciona tanto con punto
como con coma).
Saludos.
Fernando P�rez.
Cer�mica Saloni. Dpto. Sistemas
-----Mensaje original-----
De: Juan Antonio [mailto:[EMAIL PROTECTED]
Enviado el: jueves, 15 de julio de 2004 16:52
Para: Forum
Asunto: Una mejor manera...
Buenas tardes, a los que quedan...
El tema es el siguiente.
Dispongo de una cadena de caracteres, que me viene dado por un fichero
EDI.
Esta cadena contiene un n�mero que debo de convertir a un campo num�rico
para volcar a mi BBDD.
Ejemplos de cadenas que pueden entrarme: "L:-15.470000" (se quedar�a
-15,47); "L:1287.87" (se quedar�a 1287,87) ; ":15243.450000" (se
quedar�a 15243,45) etc...
Fijarse que despu�s de los dos puntos comienza siempre este n�mero
(puede ser negativo como el 1er caso), y que la parte entera es
variable, eso s� la parte decimal solo necesito coger 2 decimales (el
punto es el que delimita estos decimales).
Dejando al margen, este tipo de estructura, mi pregunta es si existe o
alguien ha realizado algo parecido, para extraer estos caracteres y
dejarlos en un campo num�rico de 15/2 (esto si que es fijo), para tu
posterior tratamiento??? �Algo mejor y m�s sencillo que por series?.
Gracias.
_____________________________________________________
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]