title: PL SQL table parameter
body: <p>I would like pass a table type to a procedure as parameter.</p>
  
  <pre><code>create or replace package FOO is
      type FOOTYPE is record (
          FOOTYPE_A varchar2(5) null,
          FOOTYPE_B varchar2(5) null,
          FOOTYPE_C varchar2(5) null
      ); 
  
      type FOOTYPETABLE is table of FOOTYPE;
  ...
      procedure sendNew (
          table_a in FOOTYPETABLE
      ) is
          a number;
      begin
         ...
      end sendNew;
  ...
  end FOO;
  
  declare
      type bartabletype is table of FOO.FOOTYPE index by binary_integer;
      bartable bartabletype;
      begin
          bartable(0).FOOTYPE_A := '';
          bartable(0).FOOTYPE_B := '';
          bartable(0).FOOTYPE_C := '';
          bartable(1).FOOTYPE_A := '';
          bartable(1).FOOTYPE_B := '';
          bartable(1).FOOTYPE_C := '';
      FOO.sendNew(bartable);
  end;
  </code></pre>
  
  <p>But Oracle says: </p>
  
  <blockquote>
    <p>"ora-00306 wrong number or types of arguments".</p>
  </blockquote>
  
  <p>Why?</p>