Tak, na pewno jest to możliwe.
Trudno wyjaśnić, dlaczego otrzymujesz błąd bez próbek specyfikacji pakietów, ale ogólnie, aby przekazać typ zdefiniowany przez użytkownika jako parametr, powinieneś albo za pomocą zdefiniuj typ DDL lub zdefiniowanie typu w specyfikacji pakietu.
Przypuszczam, że chcesz ten drugi wariant :)
Oto przykład:
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;
/
Możesz użyć TTestType
wpisz dowolny blok PL/SQL, ale nie w SQL.