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

begin:vcard
fn;quoted-printable:Fernando P=C3=A9rez
n;quoted-printable:P=C3=A9rez;Fernando
org:;Sistemas
email;internet:[EMAIL PROTECTED]
tel;work:Ext. 627
x-mozilla-html:TRUE
version:2.1
end:vcard

Responder a