From com.banilejas@codetel.net.do Mon, 17 Dec 2001 11:14:38 -0800 From: "Ramon Estevez" Date: Mon, 17 Dec 2001 11:14:38 -0800 Subject: RE: Error in Package Message-ID: MIME-Version: 1.0 Content-Type: text/plain Thanks Igor that was my problem,   tks         Ramon E. Estevez com.banilejas@codetel.net.do Dominican Republic 809-565-3121 -----Mensaje original-----De: root@fatcity.com [mailto:root@fatcity.com]En nombre de Igor NeymanEnviado el: Monday, 17 December, 2001 11:15 AMPara: Multiple recipients of list ORACLE-LAsunto: Re: Error in Package If you define the type of your parameters as 'table_name.column_name%TYPE' in package header, then in package body you should do the same, and not use explicit data type (like 'NUMBER').   Igor Neyman, OCP DBAineyman@perceptron.com 
----- Original Message -----
From: Ramon Estevez To: Multiple recipients of list ORACLE-L Sent: Monday, December 17, 2001 10:20 AM Subject: Error in Package 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 com.banilejas@codetel.net.do Dominican Republic 809-565-3121