title: PLS-00201 – identifier must be declared, passing a collection to procedure
body: <p>I'm trying to pass a collection to procedure, but when I compile the package, I'll get this message:&quot;PLS-00201 – identifier must be declared&quot;.
  this is my code:</p>
  <pre><code>create or replace package PACK_DW_TEMP  
  as
  
  procedure A (.......);
  --
  procedure B (error_list in out l_error);
  
  end PACK_DW_TEMP; 
  </code></pre>
  <p>In the package body I've created the collection in the procedure A and passed it to procedure B</p>
  <pre><code>create or replace package body PACK_DW_TEMP
  as
  
  procedure A ( ........ )
  as
  begin
  declare
  
       
      
      type error IS RECORD(
              cod_error       NUMBER,
              descr_error     VARCHAR2(100)
              );
  
      type l_errori is table of error;
      error_list  l_error := l_error(); 
  begin
    procedure B(error_list);
  end;
  end;
  </code></pre>
  <p>Into procedure B:</p>
  <pre><code>procedure B ( error_list in out l_error )
  as
  begin
  declare
      i    NUMBER;
      
      type err IS RECORD(
              cod_error       NUMBER,
              descr_error     VARCHAR2(100)
              );
  
      type l_err is table of err;
      err_list  l_err := l_err(); 
  
  begin
       i := 0;
       for i in 1..5 loop
        err_list(i).cod_err := error_list(i).cod_error;
        err_list(i).descr_err := error_list(i).descr_error;
       end loop;
  end;
  
  end;    
  
  </code></pre>
  <p>My target is to pass the collection to procedure B and to assegn values to the new collection.</p>