FoxPro/Visual FoxPro - numeric overflow (data was lost)

 
Vista:

numeric overflow (data was lost)

Publicado por antonio andrade (1 intervención) el 21/10/2004 17:23:37
el foxpro me marca el error numeric overflow cuando estoy actualizando tyengo win xp que puede ser eso
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:numeric overflow (data was lost)

Publicado por Hugo Alberto (42 intervenciones) el 21/10/2004 18:28:04
Hola ANTONIO ,,,

Estoy casi seguro que no es por el XP,,, habitualmente eso ocurre cuando tratas de almacenar un valor mayor al límite permitido por la dimensión de tu campo. Por ejemplo:
x_1 = 1.000.000.000 (almacena sin los puntos)

tratas de grabarlo en el campo SALDO n(8,0)

Prueba aumentando el tamaño del campo.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:numeric overflow (data was lost)

Publicado por Hugo Alberto (42 intervenciones) el 21/10/2004 18:29:12
Hola ANTONIO ,,,

No es por el XP,,, habitualmente eso ocurre cuando tratas de almacenar un valor mayor al límite permitido por la dimensión de tu campo. Por ejemplo:
x_1 = 1.000.000.000 (almacena sin los puntos)

tratas de grabarlo en el campo SALDO n(8,0)

Prueba aumentando el tamaño del campo.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Ramiro Monsalve Salazar
Val: 13
Ha aumentado su posición en 2 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

numeric overflow (data was lost)

Publicado por Ramiro Monsalve Salazar (5 intervenciones) el 31/01/2017 00:58:14
Cordial saludo.
en las lineas de código se debe tener en cuenta que los campos involucrados en la sentencia, no esten vacios o en cero. porque se hace un calculo negativo, debes verificar eso, en este ejemplo demuestro porque este error y como lo solucioné, me sucedia:
repla all tarifaeps with INT(((valoreps/salariobas)*100))
repla all tarifaafp with INT(((valorpensi/salariobas)*100))
repla all tarifaccf with INT(((valorcajas/salariobas)*100))
repla all tarifaarp with INT(((valorriesg/salariobas)*100))

asi me saco el error primer vez, entonces lo puse asi:
repla all tarifaeps with INT(((valoreps/salariobas)*100)) FOR valoreps > 0
repla all tarifaafp with INT(((valorpensi/salariobas)*100)) FOR valorpensi > 0
repla all tarifaccf with INT(((valorcajas/salariobas)*100)) FOR valorcajas > 0
repla all tarifaarp with INT(((valorriesg/salariobas)*100)) FOR valorriesg > 0

seguia el error, entonces, lo puse asi:

repla all tarifaeps with ((valoreps/salariobas)*100) FOR valoreps > 0 AND salariobas > 0
repla all tarifaafp with ((valorpensi/salariobas)*100) FOR valorpensi > 0 AND salariobas > 0
repla all tarifaccf with ((valorcajas/salariobas)*100) FOR valorcajas > 0 AND salariobas > 0
repla all tarifaarp with ((valorriesg/salariobas)*100) FOR valorriesg > 0 AND salariobas > 0

y no salio mas en desbordamiendo y perdida de datos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 1.011
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

numeric overflow (data was lost)

Publicado por Fidel José (657 intervenciones) el 31/01/2017 12:42:57
Ramiro:
Más allá de lo veterano del tema... (el post es del 2004).
Si el numerador es cero, el resultado dara cero, cualquiera fuere el denominador.
En cambio debe controlarse el Divide by zero!.

repla all tarifaeps with ((valoreps/salariobas)*100) FOR salariobas > 0
o también
SCAN FOR SALARIOBAS > 0
REPLACE TARIFAESP WITH Valoreps / SalarioBas * 100
ENDSCAN

o mejor, para no dejar la precisión a cargo de VFP
SCAN FOR SALARIOBAS > 0
REPLACE TARIFAESP WITH ROUND(Valoreps / SalarioBas * 100,2)
ENDSCAN
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Ramiro
Val: 13
Ha aumentado su posición en 2 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

numeric overflow (data was lost)

Publicado por Ramiro (5 intervenciones) el 03/02/2017 18:34:46
Fidel José
Totalmente de acuerdo, siempre y cuando no se necesite la parte decimal,, si se trabaja solo enteros.

Gracias por compartir tu conocimiento.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar