Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/11/2010, 13:02
Avatar de ciisteado
ciisteado
 
Fecha de Ingreso: enero-2008
Ubicación: Home Office
Mensajes: 111
Antigüedad: 16 años, 10 meses
Puntos: 0
Pregunta Error(8,52): PLS-00201: el identificador 'valorxxxx' se debe declarar

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!