après plusieurs jours de recherche sur Google, j'ai changé le code de cette façon :
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;
la seule chose que j'ai faite est d'utiliser un v_temp qui semble assez redondant. mais ça marche. J'ai fait ce changement parce que j'ai cherché cet article ici... il mentionnait :
Notez cependant qu'à partir de la version 12.1, vous ne pouvez pas appeler la fonction de table directement à l'intérieur de l'opérateur TABLE. Vous devez l'invoquer en PL/SQL, affecter le résultat à une variable, puis référencer la variable dans TABLE.
bien que la situation soit différente dans mon cas (j'utilise 12.2), cela a résolu mon problème.