Sì, è possibile.
È difficile spiegare perché ricevi un errore senza esempi di specifiche del pacchetto, ma in generale per passare un tipo definito dall'utente come parametro dovresti o con definisci tipo DDL o definendo il tipo nelle specifiche del pacchetto.
Suppongo che tu voglia l'ultima variante :)
Quindi ecco un esempio:
create or replace package TestPackage_1
as
type TTestType is table of varchar2(1) index by varchar2(1);
end TestPackage_1;
/
create or replace package TestPackage_2
as
procedure Dummy(aParam TestPackage_1.TTestType);
end TestPackage_2;
/
Puoi usare TTestType
digitare qualsiasi blocco PL/SQL, ma non in SQL.