Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> Re: Error in Package

Re: Error in Package

From: Igor Neyman <ineyman_at_perceptron.com>
Date: Mon, 17 Dec 2001 09:09:27 -0800
Message-ID: <F001.003DDFEA.20011217081522@fatcity.com>

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 DBA<A
href="mailto:ineyman_at_perceptron.com">ineyman_at_perceptron.com 

<BLOCKQUOTE dir=ltr
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">

  Sent: Monday, December 17, 2001 10:20   AM
  Subject: Error in Package   

  Hi
  List,
<SPAN

  class=995141516-17122001> 
  What is wrong with this
  package, I compared it to one example in a book and   looks equal, but still
  get an error.
<SPAN

  class=995141516-17122001> 
  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                           
  );
<SPAN

  class=995141516-17122001> 
  END
  MANTENIMIENTO_COMPROBANTES;
<SPAN

  class=995141516-17122001> 
  The
  package header creates fine.
<FONT

  size=3> 
<FONT

  size=3>This is the package body
<FONT

  size=3> 
<FONT

  size=3> 
    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 !!!
<SPAN

  class=995141516-17122001> 
<SPAN

  class=995141516-17122001> 
<SPAN

  class=995141516-17122001> 
  Ramon E.
  Estevez
<A

  href="mailto:com.banilejas_at_codetel.net.do">com.banilejas_at_codetel.net.do   Dominican Republic
  809-565-3121
    Received on Mon Dec 17 2001 - 11:09:27 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US