Hola a todos:
Trabajo en un proyecto desarrollado en C# y Oracle 11g, en el cual manejo a nivel BD "PACKAGES" los cuales me traen loco pues la mayoria me esta arrojando los siguientes errores:
Error(8,4): PL/SQL: Declaration ignored
Error(8,52): PLS-00201: el identificador 'VM_ESTADOS.C_ESTADO' se debe declarar
A continuacion pongo el código del Paquete para que puedan ayudarme:
PACKAGE:
Código:
create or replace
PACKAGE "PKGVM_ESTADOS"
AS
/*Tipo que retorna un conjunto de filas para ser manipuladas desde VS2008*/
TYPE TypeCursor IS REF CURSOR;
/*Selecciona Vm_estados*/
FUNCTION fun_selectVm_estados (c_estado_in IN vm_estados.c_estado%TYPE,
d_estado_in IN vm_estados.d_estado%TYPE)
RETURN TypeCursor;
/*Selecciona Vm_estados por id de póliza*/
FUNCTION fun_selectVm_estadosByPoliza (
id_poliza_in IN descuentos_x_zona.id_poliza%TYPE)
RETURN TypeCursor;
END PKGVm_estados;
PACKAGE BODY:
Código:
create or replace PACKAGE BODY "PKGVM_ESTADOS"
AS
/*Selecciona Vm_estados*/
FUNCTION fun_selectVm_estados (c_estado_in IN vm_estados.c_estado%TYPE,
d_estado_in IN vm_estados.d_estado%TYPE)
RETURN TypeCursor
AS
l_consulta TypeCursor;
BEGIN
OPEN l_consulta FOR
SELECT c_estado, d_estado
FROM vm_estados
WHERE 1 = 1 AND (c_estado_in IS NULL OR c_estado = c_estado_in)
AND (d_estado_in IS NULL
OR d_estado LIKE '%' || d_estado_in || '%');
RETURN l_consulta;
END fun_selectVm_estados;
/*Selecciona Vm_estados por id de póliza*/
FUNCTION fun_selectVm_estadosByPoliza (
id_poliza_in IN descuentos_x_zona.id_poliza%TYPE)
RETURN TypeCursor
AS
l_consulta TypeCursor;
BEGIN
OPEN l_consulta FOR
SELECT DISTINCT VME.c_estado, VME.d_estado
FROM vm_estados VME
INNER JOIN detalle_zona DZ
ON VME.c_estado = DZ.c_estado
INNER JOIN descuentos_x_zona DXZ
ON DZ.id_zona = DXZ.id_zona
WHERE DXZ.id_poliza = id_poliza_in
ORDER BY VME.d_estado;
RETURN l_consulta;
END fun_selectVm_estadosByPoliza;
END PKGVm_estados;
¿que será que estoy haciendo mal...?
ya le he dado vueltas y vueltas y no se me vienen a la mente nada para solucionarlo
, ojalá que puedan ayudarme...
Saludos y gracias!