hola Jaime gracias, la verdad no habia probado con cambiar el SMALLINT por
un INTEGER, ya lo hice, y me funciona correctamente, muchas gracias luego
les comentaré

2008/10/29 Jaime Casanova <[EMAIL PROTECTED]>

> On 10/29/08, Erik Ferney Cubillos Garcia <[EMAIL PROTECTED]>
> wrote:
> >
> > 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
> >
> [...]
> >
> > 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.
> >
>
> es porque el penultimo parametro es un smallint pero postgres al ver
> el 1 que pasaste de parametro piensa que es un integer, tienes que
> hacer un casteo para eso...
> si los dos puntos te dan error quiza puedas:
> - poner el select en una cadena de caracteres y con alguna sentencia
> de delphi mandarlo a ejecutar...
> - o preparar el query desde delphi (estoy adivinando, al hacer eso
> otros lenguajes permiten enviar parametros indicando el tipo de dato)?
> - o por ultimo, declaras el parametro como integer y en la funcion
> verificas que el valor no sea mayor al de un smallint
>
> --
> Atentamente,
> Jaime Casanova
> Soporte y capacitación de PostgreSQL
> Asesoría y desarrollo de sistemas
> Guayaquil - Ecuador
> Cel. +59387171157
>



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

Responder a