Creo que si la tengo declara es más ejecuto el siguiente script
Código SQL
[-]DECLARE EXTERNAL FUNCTION ECUACION
DECIMAL(18, 4),
DECIMAL(18, 4),
DECIMAL(18, 4),
DECIMAL(18, 4),
DECIMAL(18, 4),
DECIMAL(18, 4),
DECIMAL(18, 4)
RETURNS DECIMAL(18, 4) BY VALUE
ENTRY_POINT 'ecuacion' MODULE_NAME 'MIS_UDFS';
Para más info anexo el codigo de la dll hecha en delphi:
Código Delphi
[-]
library MIS_UDFS;
uses
SysUtils,
Classes;
function ecuacion(var cant, bonif, costo, desc, desc2, desc3, present : real) : Real;stdcall;
var dt1, dt2, dt3, costo_dts : real;
begin
dt1 := 0; dt2 := 0; dt3 := 0; costo_dts := 0;
dt1 := Costo * (desc/100);
costo_dts := Costo - dt1;
dt2 := costo_dts * (desc2/100);
costo_dts := costo_dts - dt2;
dt3 := costo_dts * (desc3/100);
costo_dts := costo_dts - dt3;
costo_dts := (costo_dts * cant)/(cant + bonif);
result := costo_dts / Present;
end;
exports ecuacion;
begin
end.