From com.banilejas@codetel.net.do Wed, 19 Dec 2001 13:10:41 -0800 From: "Ramon Estevez" Date: Wed, 19 Dec 2001 13:10:41 -0800 Subject: RE: Error in Package Message-ID: MIME-Version: 1.0 Content-Type: text/plain Thanks Yuval   that worked !!!   Regards,,   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 Yuval ArnonEnviado el: Wednesday, 19 December, 2001 2:51 PMPara: Multiple recipients of list ORACLE-LAsunto: RE: Error in Package Check the definition for COMPROBANTES_RECORD and the SELECT statement.   You have one extra column AGENCIA   in the record which is not in the SELECT..   Yuval. -----Original Message-----From: Ramon Estevez [mailto:com.banilejas@codetel.net.do]Sent: Wednesday, December 19, 2001 2:13 PMTo: Multiple recipients of list ORACLE-LSubject: Error in Package Hi List,   I spent my morning checking the package trying to figure out what the error is and couldn't find it.  Need some help !!     1  --  2  -- Paquete para Mantenimiento Tabla de Comprobantes  3  --  4  CREATE OR REPLACE PACKAGE MANTENIMIENTO_COMPROBANTES  5     AS  6       TYPE COMPROBANTES_RECORD IS RECORD  7          (  8            GRUPO                  COMPROBANTES.GRUPO%TYPE,  9            COMPANIA               COMPROBANTES.COMPANIA%TYPE, 10            AGENCIA                COMPROBANTES.AGENCIA%TYPE, 11            TIPO_COMPROBANTE       COMPROBANTES.TIPO_COMPROBANTE%TYPE, 12            COMPROBANTE            COMPROBANTES.COMPROBANTE%TYPE, 13            FECHA                  COMPROBANTES.FECHA%TYPE, 14            AG_CUENTA              COMPROBANTES.AG_CUENTA%TYPE, 15            CUENTA                 COMPROBANTES.CUENTA%TYPE, 16            DETALLE                COMPROBANTES.DETALLE%TYPE, 17            CONCEPTO               COMPROBANTES.CONCEPTO%TYPE, 18            ESTATUS                COMPROBANTES.ESTATUS%TYPE, 19            ESTATUS_IMPRESION      COMPROBANTES.ESTATUS_IMPRESION%TYPE, 20            DESC_AGENCIA           AGENCIAS.DESCRIPCION%TYPE, 21            CUENTA_CONTABLE        DATOS_BALANCES.CUENTA_CONTABLE%TYPE, 22            DESC_CUENTA            CUENTAS.DESCRIPCION%TYPE, 23            DESC_CLIENTE           CLIENTES.NOMBRE_COMERCIAL%TYPE 24          ); 25  -- 26  -- Para Seleccionar Registros de la Tabla 27  -- 28       TYPE COMPROBANTES_REFCURSOR IS REF CURSOR 29          RETURN COMPROBANTES_RECORD; 30  -- 31  -- Para Instrucciones DML 32  -- 33       TYPE TABLA_COMPROBANTES 34          IS TABLE OF COMPROBANTES_RECORD 35          INDEX BY BINARY_INTEGER; 36  -- 37  -- Procedimiento para Seleccionar registros de la tabla 38  -- 39       PROCEDURE SELECCIONAR 40                           ( 41                            PCOMPROBANTESQRY  IN OUT COMPROBANTES_REFCURSOR, 42                            PGRUPO            IN COMPROBANTES.GRUPO%TYPE, 43                            PCOMPANIA         IN COMPROBANTES.COMPANIA%TYPE, 44                            PAGENCIA          IN COMPROBANTES.AGENCIA%TYPE, 45                            PTIPO_COMPROBANTE IN COMPROBANTES.TIPO_COMPROBANTE%TYPE, 46                            PCOMPROBANTE      IN COMPROBANTES.COMPROBANTE%TYPE 47                           ); 48  -- 49  -- Procedimiento para Insertar registros de la tabla 50  -- 51       PROCEDURE INSERTAR  (PCOMPROBANTE_REC  IN OUT TABLA_COMPROBANTES ); 52* END MANTENIMIENTO_COMPROBANTES; 53  /   Package created.   SQL> EDWrote file afiedt.buf     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  9                         ( 10                          PCOMPROBANTESQRY  IN OUT COMPROBANTES_REFCURSOR, 11                          PGRUPO            IN COMPROBANTES.GRUPO%TYPE, 12                          PCOMPANIA         IN COMPROBANTES.COMPANIA%TYPE, 13                          PAGENCIA          IN COMPROBANTES.AGENCIA%TYPE, 14                          PTIPO_COMPROBANTE IN COMPROBANTES.TIPO_COMPROBANTE%TYPE, 15                          PCOMPROBANTE      IN COMPROBANTES.COMPROBANTE%TYPE 16                         ) IS 17     BEGIN 18        OPEN PCOMPROBANTESQRY 19     FOR 20        SELECT C.GRUPO,           C.COMPANIA,          C.TIPO_COMPROBANTE, 21               C.COMPROBANTE,     C.FECHA,             C.AG_CUENTA, 22               C.CUENTA,          C.DETALLE,           C.CONCEPTO, 23               C.ESTATUS,         C.ESTATUS_IMPRESION, A.DESCRIPCION 24                 DESC_AGENCIA,    D.CUENTA_CONTABLE,   CT.DESCRIPCION 25                 DESC_CUENTA,     CTE.NOMBRE_COMERCIAL DESC_CLIENTE 26        FROM 27           COMPROBANTES C, AGENCIAS A, DATOS_BALANCES D, 28           CUENTAS CT,     CLIENTES CTE 29        WHERE 30           C.GRUPO               = PGRUPO               AND 31           C.COMPANIA            = PCOMPANIA            AND 32           C.AGENCIA             = PAGENCIA             AND 33           C.TIPO_COMPROBANTE    = PTIPO_COMPROBANTE    AND 34           C.COMPROBANTE         = PCOMPROBANTE         AND 35           A.AGENCIA             = C.AGENCIA            AND 36           D.GRUPO(+)            = C.GRUPO              AND 37           D.COMPANIA(+)         = C.COMPANIA           AND 38           D.AGENCIA(+)          = C.AG_CUENTA          AND 39           D.CUENTA(+)           = C.CUENTA             AND 40           CT.GRUPO(+)           = D.GRUPO              AND 41           CT.COMPANIA(+)        = D.COMPANIA           AND 42           CT.CUENTA(+)          = D.CUENTA_CONTABLE    AND 43           CTE.CLIENTE           = D.CLIENTE; 44     END SELECCIONAR; 45  -- 46  -- Procedimiento para Insertar registros de la tabla 47  -- 48     PROCEDURE INSERTAR  (PCOMPROBANTE_REC IN OUT TABLA_COMPROBANTES ) IS 49     BEGIN 50        FOR C IN 1 .. PCOMPROBANTE_REC.COUNT 51     LOOP 52        INSERT INTO COMPROBANTES 53           ( 54            GRUPO,                 COMPANIA,             AGENCIA, 55            TIPO_COMPROBANTE,      COMPROBANTE,          FECHA, 56            AG_CUENTA,             CUENTA,               DETALLE, 57            CONCEPTO,              ESTATUS,              ESTATUS_IMPRESION 58           ) 59        VALUES 60           ( 61            PCOMPROBANTE_REC(C).GRUPO, 62            PCOMPROBANTE_REC(C).COMPANIA, 63            PCOMPROBANTE_REC(C).AGENCIA, 64            PCOMPROBANTE_REC(C).TIPO_COMPROBANTE, 65            PCOMPROBANTE_REC(C).COMPROBANTE, 66            PCOMPROBANTE_REC(C).FECHA, 67            PCOMPROBANTE_REC(C).AG_CUENTA, 68            PCOMPROBANTE_REC(C).CUENTA, 69            PCOMPROBANTE_REC(C).DETALLE, 70            PCOMPROBANTE_REC(C).CONCEPTO, 71            PCOMPROBANTE_REC(C).ESTATUS, 72            PCOMPROBANTE_REC(C).ESTATUS_IMPRESION 73           ); 74     END LOOP; 75        EXCEPTION 76            WHEN DUP_VAL_ON_INDEX THEN 77               RAISE_APPLICATION_ERROR 78                     (-20001, 'Comprobante ya Existe !!!'); 79            WHEN OTHERS THEN 80               RAISE_APPLICATION_ERROR 81                     (-20002, 'Error en Procedimiento Insercion '); 82     END INSERTAR; 83* END MANTENIMIENTO_COMPROBANTES; 84  /   Warning: Package Body created with compilation errors.   SQL> SHOW ERRORS PACKAGE BODY MANTENIMIENTO_COMPROBANTES;Errors for PACKAGE BODY MANTENIMIENTO_COMPROBANTES:   LINE/COL ERROR-------- -----------------------------------------------------------------15/7     PL/SQL: SQL Statement ignored17/7     PLS-00382: expression is of wrong typeSQL>   Any suggestions would be appreciated it,     TIA,   Ramon E. Estevez com.banilejas@codetel.net.do Dominican Republic 809-565-3121