Erik Ferney Cubillos Garcia escribió:
Buenos Días a Todos, bueno verán logré hacer un llamado a una Función de PostgreSQL desde DELPHI, y me retorna los resultados de forma correcta

pero ahora tengo estas dos funciones

/CREATE OR REPLACE FUNCTION spnmcalbaseespecial(
    IN PSiCodEmpr INTEGER,     -- C¢digo de Empresa
    IN PDeCodEmpl NUMERIC,  -- C¢digo del empleado
    IN PStNroCont CHARACTER VARYING (12),
    IN PDtFecInic TIMESTAMP,     -- Fecha Inicial del calculo
    IN PDtFecFina TIMESTAMP,     -- Fecha Final del calculo
    IN PSiCodProt INTEGER,       -- C¢digo del prototipo
    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/


y esta otra

/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/


cuando hago un select sobre la primera de esta forma

/select *
from spnmcalbaseespecial(1, 2969397, '1', '01/09/2008', '30/11/2008', 1)/

funciona correctamente y me arroja los resultados esperados

pero cuando hago un select sobre la segunda función de esta forma
/
/
/SELECT P_DeValProm /
/from spnmcalpromconcepto (1, 2969397, '1', '01/09/2008', '30/11/2008', 1, '1')/

me arroja el siguiente error

/ERROR: no existe la función spnmcalpromconcepto(integer, integer, unknown, unknown, unknown, integer, unknown)/
/LINE 2: from spnmcalpromconcepto (1, 2969397, '1', '01/09/2008', '30.../
/             ^/
/HINT: Ninguna función coincide en el nombre y tipos de argumentos. Puede desear agregar conversión explícita de tipos./

me parece muy raro, ya que la verdad solo hay una diferencia entre las dos funciones, si alguien me puede colaborar muchas gracias la verdad me parece un error bastante raro y no sé que hacer

Gracias


--
Atentamente,


______________________________
ERIK FERNEY CUBILLOS GARCIA
Ing. Desarrollo - Kactus HR
DIGITAL WARE LTDA.
Calle 72 No. 12-65 Piso 2
Bogotá, Colombia
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
www.digitalware.com.co <http://www.digitalware.com.co>
hola,
seguramente corres con version 8.3.x , ya que es en la version que se elimino el "cast automatico".
reemplaza en tu funcion
/SELECT P_DeValProm /
/from spnmcalpromconcepto (1, 2969397, '1', '01/09/2008', '30/11/2008', 1, '1') el último prametro por 1


Saludos Fernando
/
--
TIP 7: no olvides aumentar la configuración del "free space map"

Responder a