Por alguna casualidad la columna alm_kardex de la tabla almacenes, es algún 
tipo de dato compuesto??. De ser así verifica que el tipo de dato compuesto 
contenga esas columnas. En caso contrario, declara un tipo de dato compuesto 
para que almacenes la data, o crea variables para que las utilices en el INTO, 
de la siguiente forma:

DECLARE
c_entrada numeric;
c_salida numeric;
i_ingreso numeric;
i_salida numeric;
BEGIN
SELECT
SUM(cant_entrada),
SUM(cant_salida),
SUM(importe_entrada),
SUM(importe_salida)
INTO
c_entrada ,
c_salida,
i_ingreso ,
i_salida
FROM almacenes.alm_kardex
WHERE gestion = New.gestion AND mes = New.mes AND cod_prod = New.cod_prod
GROUP BY gestion, mes, cod_prod;

IF FOUND THEN
New.sum_cant_entrada = c_ingreso;
New.sum_cant_salida = c_salida;
New.sum_importe_entrada =i_ingreso;
New.sum_importe_salida = i_salida;
END IF;
RETURN NEW;
END;

Saludos

----- Mensaje original -----

> Hola compañeros

> Estoy trabajando con Postgresql 8.4 bajo linux ( CentOS 6.2 ); me
> sale un mensaje de error de esta funcion

> DECLARE
> kardex_item_tabla almacenes.alm_kardex%ROWTYPE;
> BEGIN
> SELECT SUM(cant_entrada) AS c_ingreso, SUM(cant_salida) AS c_salida,
> SUM(importe_entrada) AS i_ingreso, SUM(importe_salida) AS i_salida
> INTO kardex_item_tabla
> FROM almacenes.alm_kardex
> WHERE gestion = New.gestion AND mes = New.mes AND cod_prod =
> New.cod_prod
> GROUP BY gestion, mes, cod_prod;
> IF FOUND THEN
> New.sum_cant_entrada = kardex_item_tabla.c_ingreso;
> New.sum_cant_salida = kardex_item_tabla.c_salida;
> New.sum_importe_entrada = kardex_item_tabla.i_ingreso;
> New.sum_importe_salida = kardex_item_tabla.i_salida;
> END IF;
> RETURN NEW;
> END;

> El error dice:
> ERROR: la fila «kardex_item_tabla» no tiene un campo llamado
> "c_ingreso"
> CONTEXT: compilación de la función PL/pgSQL "suma_informe_mensual"
> cerca de la línea 9

> Cual es el problema y porq no me acepta usar este tipo de alias o
> como se deria urar los alias en estos casos ...?,

> de ante mano les doy las gracias por sus comentarios y por su tiempo

> Saludos
> Grover Navia


10mo. ANIVERSARIO DE LA CREACION DE LA UNIVERSIDAD DE LAS CIENCIAS 
INFORMATICAS...
CONECTADOS AL FUTURO, CONECTADOS A LA REVOLUCION

http://www.uci.cu
http://www.facebook.com/universidad.uci
http://www.flickr.com/photos/universidad_uci

Responder a