Teniendo un bucle tal que asi:
- Code: Select all Expand view
SELECT (cAli)
GO TOP
DO WHILE !Eof()
nPrecio:= Importe/ Cantidad // (*)
REPLACE Precio WITH nPrecio
SKIP
ENDDO
Cuando en la linea (*) Importe sea cero entonces sera llamado el controlador de errores porque se habra producido una division por cero. En el controlador de errores (errorsys) el error sera tratado, y el tratamiento por defecto será devolver cero como resultado de la division y no habra pasado nada.... pero SI HABRA PASADO Y MUCHO, y es que la velocidad del proceso se resentira mucho, si hay muchas iteraciones del bucle en las que sucede eso. Para solucionarlo, mejor controlar antes el valor de Importe y si es cero entonces no hacer la division:
- Code: Select all Expand view
SELECT (cAli)
GO TOP
DO WHILE !Eof()
IF Importe == 0
nPrecio:= 0
ELSE
nPrecio:= Importe/ Cantidad
ENDIF
REPLACE Precio WITH nPrecio
SKIP
ENDDO
Sólo era una curiosidad.
Saludos