po kilku dniach googlowania zmieniłem kod w ten sposób:
CREATE OR REPLACE PACKAGE Support_Data_Types AS
TYPE ttDate IS TABLE OF DATE
END Support_Data_Types;
PROCEDURE GetData
(
tabDates IN SUPPORT_DATA_TYPES.TTDATE,
)
AS
v_temp SUPPORT_DATA_TYPES.TTDATE:= tabDates; -- assigned the parameter to a temporary variable
BEGIN
SELECT count(*) INTO n FROM table(v_temp);
END GetData;
jedyne, co zrobiłem, to użycie v_temp, który wygląda na dość zbędny. ale to działa. Wprowadziłem tę zmianę, ponieważ przeszukałem ten artykuł tutaj ... zawierał on:
Zauważ jednak, że od 12.1, nie możesz wywołać funkcji table bezpośrednio w operatorze TABLE. Musisz wywołać go w PL/SQL, przypisać wynik do zmiennej, a następnie odwołać się do zmiennej wewnątrz TABLE.
chociaż sytuacja jest inna w moim przypadku (używam 12.2), rozwiązało to mój problem.