Hi List,
 
What is wrong with this package, I compared it to one example in a book and
looks equal, but still get an error.
 
CREATE OR REPLACE PACKAGE MANTENIMIENTO_COMPROBANTES
   AS
     TYPE COMPROBANTES_RECORD IS RECORD
        (
          GRUPO                  COMPROBANTES.GRUPO%TYPE,
          COMPANIA               COMPROBANTES.AGENCIA%TYPE,
          TIPO_COMPROBANTE       COMPROBANTES.TIPO_COMPROBANTE%TYPE,
          COMPROBANTE            COMPROBANTES.COMPROBANTE%TYPE,
          FECHA                  COMPROBANTES.FECHA%TYPE,
          AG_CUENTA              COMPROBANTES.AG_CUENTA%TYPE,
          CUENTA                 COMPROBANTES.CUENTA%TYPE,
          DETALLE                COMPROBANTES.DETALLE%TYPE,
          CONCEPTO               COMPROBANTES.CONCEPTO%TYPE,
          ESTATUS                COMPROBANTES.ESTATUS%TYPE,
          ESTATUS_IMPRESION      COMPROBANTES.ESTATUS_IMPRESION%TYPE,
          DESC_AGENCIA           AGENCIAS.DESCRIPCION%TYPE,
          CUENTA_CONTABLE        DATOS_BALANCES.CUENTA_CONTABLE%TYPE,
          DESC_CUENTA            CUENTAS.DESCRIPCION%TYPE,
          DESC_CLIENTE           CLIENTES.NOMBRE_COMERCIAL%TYPE
        );
--
-- Para Seleccionar Registros de la Tabla
--
     TYPE COMPROBANTES_REFCURSOR IS REF CURSOR
        RETURN COMPROBANTES_RECORD;
--
-- Para Instrucciones DML
--
     TYPE TABLA_COMPROBANTES
        IS TABLE OF COMPROBANTES_RECORD
        INDEX BY BINARY_INTEGER;
--
-- Procedimiento para Seleccionar registros de la tabla
--
     PROCEDURE SELECCIONAR (PCOMPROBANTESQRY  IN OUT
                                  COMPROBANTES_REFCURSOR,
                            PGRUPO            IN
                                  COMPROBANTES.GRUPO%TYPE,
                            PCOMPANIA         IN
                                  COMPROBANTES.COMPANIA%TYPE,
                            PTIPO_COMPROBANTE IN
                                  COMPROBANTES.TIPO_COMPROBANTE%TYPE,
                            PCOMPROBANTE      IN
                                  COMPROBANTES.COMPROBANTE%TYPE
                           );
 
END MANTENIMIENTO_COMPROBANTES;
 
The package header creates fine.
 
This is the package body
 
 
  1  --
  2  -- Desarrollo del Paquete para Mantenimiento Tabla de Comprobantes
  3  --
  4  CREATE OR REPLACE PACKAGE BODY MANTENIMIENTO_COMPROBANTES AS
  5  --
  6  -- Procedimiento para Seleccionar registros de la tabla
  7  --
  8       PROCEDURE SELECCIONAR (PCOMPROBANTESQRY  IN OUT COMPROBANTES_REFCURSOR,
  9                              PGRUPO            IN NUMBER,
 10                              PCOMPANIA         IN NUMBER,
 11                              PTIPO_COMPROBANTE IN NUMBER,
 12                              PCOMPROBANTE      IN NUMBER) IS
 13       BEGIN
 14          OPEN PCOMPROBANTESQRY
 15       FOR
 16          SELECT C.GRUPO,           C.COMPANIA,          C.TIPO_COMPROBANTE,
 17                 C.COMPROBANTE,     C.FECHA,             C.AG_CUENTA,
 18                 C.CUENTA,          C.DETALLE,           C.CONCEPTO,
 19                 C.ESTATUS,         C.ESTATUS_IMPRESION, A.DESCRIPCION
 20                   DESC_AGENCIA,    D.CUENTA_CONTABLE,   CT.DESCRIPCION
 21                   DESC_CUENTA,     CTE.NOMBRE_COMERCIAL DESC_CLIENTE
 22          FROM
 23             COMPROBANTES C, AGENCIAS A, DATOS_BALANCES D,
 24             CUENTAS CT,     CLIENTES CTE
 25          WHERE
 26             C.GRUPO               = PGRUPO               AND
 27             C.COMPANIA            = PCOMPANIA            AND
 28             C.TIPO_COMPROBANTE    = PTIPO_COMPROBANTE    AND
 29             C.COMPROBANTE         = PCOMPROBANTE         AND
 30             A.AGENCIA             = C.AGENCIA            AND
 31             D.GRUPO(+)            = C.GRUPO              AND
 32             D.COMPANIA(+)         = C.COMPANIA           AND
 33             D.AGENCIA(+)          = C.AG_CUENTA          AND
 34             D.CUENTA(+)           = C.CUENTA             AND
 35             CT.GRUPO(+)           = D.GRUPO              AND
 36             CT.COMPANIA(+)        = D.COMPANIA           AND
 37             CT.CUENTA(+)          = D.CUENTA_CONTABLE    AND
 38             CTE.CLIENTE           = D.CLIENTE;
 39       END SELECCIONAR;
 40* END MANTENIMIENTO_COMPROBANTES;
 41  /
 
Warning: Package Body created with compilation errors.
 
SQL> SHOW ERRORS PACKAGE BODY MANTENIMIENTO_COMPROBANTES;
Errors for PACKAGE BODY MANTENIMIENTO_COMPROBANTES:
 
LINE/COL ERROR
-------- -----------------------------------------------------------------
35/16    PLS-00323: subprogram or cursor 'SELECCIONAR' is declared in a
         package specification and must be defined in the package body

Any help, suggestions would be appreciated !!!
 
 
 
Ramon E. Estevez
[EMAIL PROTECTED]
Dominican Republic
809-565-3121
 

Reply via email to