Tema: UDF Firebird
Ver Mensaje Individual
  #5  
Antiguo 09-03-2010
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Reputación: 24
guillotmarc Va por buen camino
El mensaje de error es, como dice Jhonny, de que no está declarada. Pero está claro que si ejecutas ese script entonces debería estarlo. Así que no se me ocurre donde está el error. Si en un Servidor Firebird te funciona, en otro también debería hacerlo.

Yo te sugiero de que no te compliques la vida con UDF's (que siempre es un problema a la hora de distribuir la aplicación) y que utilices un procedimiento almacenado.

donde ahora tienes algo como :

select idventa, ..., ecuacion(cantidad, bonif, costo, ...)
from XXX

ahora puedes hacer :

select idventa, ..., (select RESULTADO from ECUACION(cantidad, bonif, costo, ...))
from XXX

Ya solo tienes que programar el procedimiento almacenado ECUACION para que haga el mismo cálculo que tu Dll.

NOTA: no te olvides poner un SUSPEND; al final del procedimiento almacenado. Ya que el resultado tiene que devolverse como un Dataset para que sea leído en la subconsulta donde se va a utilizar.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).

Última edición por guillotmarc fecha: 09-03-2010 a las 19:49:19.
Responder Con Cita