Pular para o conteúdo
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #79443
    Avatar photoLeonardo Litz
    Participante

      Olá Srs. Boa Tarde.

      Alguém sabe como consigo passar uma tabela bidimensional como parametro entre packages?

      Criei em ambas procedures com os types;

      type t_varchar is table of varchar2(20) index by binary_integer;
      type t_multivarchars is table of t_varchar index by binary_integer;

      o codigo que chama a procedure é:

      declare

      type t_numbers is table of varchar2(20) index by binary_integer;
      type t_multinumbers is table of t_numbers index by binary_integer;

      /*type trmultinumbers is table of t_multinumbers index by binary_integer;

      type qtmultinumbers is table of trmultinumbers index by binary_integer;*/

      v_multinumbers t_multinumbers;

      begin

      for dd in 1..32 loop

      v_multinumbers(1)(dd) := ‘123456’||dd;

      end loop;

      for dd in 1..32 loop

      dbms_output.put_line(v_multinumbers(1)(dd));

      end loop;

      pck_utl_tela.teste(v_multinumbers);

      end;

      Só que ocorre o erro: wrong number or types arguments in call to ‘TESTE’

      Valeu…

      #79459
      kleber
      Participante

        Fala Velho,

        O negocio é o seguinte:

        Você disse que criou em ambas as procedures os types….
        É ai que está o problema, mesmo a declaração sendo identica dos types o oracle não reconhe isso.

        Então para resolver o problema o que vai mudar é a sua chamada, ao inves de refazer toda a declaraçao criando um type, você precisará apenas declarar a variavel v_multinumbers do tipo do type existente na package :

        pck_utl_tela

        Entao ao ficará:
        v_multinumbers pck_utl_tela.t_multinumbers;

        Dessa forma tanto o parametro de entrada da procedure teste como o parametro que voce estara passando sao identicos..

        Abraços

      Visualizando 2 posts - 1 até 2 (de 2 do total)
      • Você deve fazer login para responder a este tópico.