|
Jaime lo que tienes que hacer es inicializar tus
campos en la DS (INZ)
----- Original Message -----
Sent: Monday, March 07, 2005 2:22
AM
Subject: Re: Error en datos
decimales
Jaime Villa Torres escribi�:
Se�ores, tengo el siguiente problema, en un programa tengo dos variables
num�ricas definidas con Like en la hoja D, estos datos me llegan por
parametros y luego las muevo a las definitivas, a moverlas la primera toma
el valor correcto y segunda genera error de datos decimale, realizo D al
mensaje del programa para obtener la informaci�n del error y muestra lo
siguiente:
ITE01AY97 CHAR(10) ' '
'40404040404040404040'X
ITE01AY98 PACKED(8,0) 20050228. '020050228F'X
ITE01AY99 PACKED(6,0) 000000. '0000000F'X
PDATDTAQ DS
WITE01AY01 CHAR(10) 'CLIENT1AD '
'C3D3C9C5D5E3F1C1C440'X
WITE01AY98 PACKED(8,0) 20050228. '020050228F'X
WITE01AY99 PACKED(6,0) 153030. '01530301'X
* * * * * F I N D E V U E L C O R P G * * * * *
Los campos con like son el WITE01AY98 con ITE01AY98
WITE01AY99 con ITE01AY99
la caracter�stica t�cnica del ite01ay98 es PACKED(8,0)
20050228. '020050228F'X
la caracter�stica t�cnica del wite01ay98 es PACKED(8,0) 20050228.
'020050228F'X
como se puede observar son iguales.
ahora la del problema
la caracter�stica t�cnica del ite01ay99 es PACKED(6,0) 000000.
'0000000F'X
la caracter�stica t�cnica del wite01ay99 es PACKED(6,0) 153030.
'01530301'X
la diferencia es que la original es F'X y la definida con like es 'X ,
como puedo corregir este error, no le encuentro l�gica ya que como mencion�
anteriormente las dos variables de trabajo son definidas con like.
Gracias de antemano
Jaime Villa T.
_____________________________________________________
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]
Las variables son del mismo tipo, pero f�jate que el
valor de wite01ay99 es incorrecto, ya que el �ltimo car�cter hexadecimal, que
corresponde al signo, deber�a ser F o D, y en este caso es '1'.
Revisa
el programa que hace la llamada. Posiblemente el tama�o de la variable que
pasa por par�metro no coincide y sea mayor. Para minimizar estos problemas, es
una buena idea trabajar con prototipos.
-- Saludos.
Fernando
P�rez
Cer�mica Saloni.
Dpto. Sistemas
|