no, pero de esta forma no sería lo que intentas hacer... me refería a la definición de la función cuando hablaba del ddl.
el error te esta tirando: ERROR: no existe la función spnmcalpromconcepto(integer, integer, unknown, unknown, unknown, integer, unknown) si te fijas el segundo parametro es integer, o sea que te está tomando el paramtero como integer y CREATE OR REPLACE FUNCTION spnmcalpromconcepto ( IN PSiCodEmpr INTEGER, -- Codigo de Empresa IN PDeCodEmpl NUMERIC, -- Codigo del empleado IN PStNroCont CHARACTER VARYING (12), -- Número de Contrato IN PDtFecInic TIMESTAMP, -- Fecha Inicial del calculo IN PDtFecFina TIMESTAMP, -- Fecha Final del calculo IN PSiCodConc SMALLINT, -- Codigo del concepto a promediar IN PStTipProm CHARACTER VARYING (1), -- Indicador de si es con el valor pagado o el valor real OUT PDeValProm NUMERIC, -- Base de liquidacion OUT PDePorBase NUMERIC, -- Porcentaje de Base OUT PDeValBase NUMERIC, -- Base de liquidaci¢n OUT PDeValIngr NUMERIC, -- Valor ingresos totales OUT PDeValEgre NUMERIC, -- Valor egresos totales OUT PdeBasFija NUMERIC ) RETURNS record la función la llamas así: SELECT P_DeValProm from spnmcalpromconcepto (1, 2969397, '1', '01/09/2008', '30/11/2008', 1, '1') spnmcalpromconcepto(integer, integer, unknown, unknown, unknown, integer, unknown) <--linea del error le estas pifiando a los tipos de datos. además estas utilizando TIMESTAMP y le pasas una fecha común (acordate que el TIMESTAMP consta de 4 bytes), en todo caso definilo como DATE en el tercer parametro lo declaras como character de 12 y le pasas '1', pasale '000...1' y declaralo como varchar(12). respecto a las fechas fijate bien. De alguna se debe poder parsear la consulta en delphi... podrias pasar como estas llamando la consulta desde el lenguajes? Asegurate que la función compiló correctamente y que esta visible desde tu base de datos haciendo \df <nombrefunc> desde el psql 2008/10/29 Erik Ferney Cubillos Garcia <[EMAIL PROTECTED]>: > Hola Emanuel, gracias, queria preguntarte y lo siento por la ignorancia... > > que es la DDL, verás traté de quitarle y ponerle los espacios de la misma > forma en que declaré la función pero nada, > > >> sacaste los espaciosdespues del nombre (en el ddl y en la consulta) ? >> creo que una vez tuve ese inconveniente > > y bueno hice un select de esta forma > > SELECT PDeValProm > from spnmcalpromconcepto (1 :: INTEGER, > 2969397 :: NUMERIC, > '1' :: CHARACTER VARYING, > '01/09/2008' :: TIMESTAMP, > '30/11/2008' :: TIMESTAMP, > 1 :: SMALLINT, > '1' :: CHARACTER VARYING) > > de esta forma me devuelve un valor, pero en DELPHI no puedo hacerlo de esta > forma, ya que los dos punto me generan error > > Gracias > > -- > Atentamente, > > > ______________________________ > ERIK FERNEY CUBILLOS GARCIA > Ing. Desarrollo - Kactus HR > DIGITAL WARE LTDA. > Calle 72 No. 12-65 Piso 2 > Bogotá, Colombia > [EMAIL PROTECTED] > www.digitalware.com.co > -- Emanuel Calvo Franco Syscope Postgresql DBA BaPUG Member -- TIP 4: No hagas 'kill -9' a postmaster