ciao!

ho creato questa funzione:
codice:
CREATE OR REPLACE FUNCTION FN_B2B_TROVA_UBICAZ_GEN_ANAG (
    CODICE_ATTR_IN IN VARCHAR2,
    NPU_IN IN INT
) 
RETURN CHAR IS UBICAZIONE VARCHAR2(100);

BEGIN
    SELECT 
    TRIM(VALORE)
    INTO UBICAZIONE
  FROM GEN_ATTRIB_ESTESI
  WHERE 
  DITAGENDA = 'XXL'
  AND NPU = NPU_IN
  AND CODICE_ATTR = TRIM(CODICE_ATTR_IN);
    
  RETURN UBICAZIONE;
    EXCEPTION 
        WHEN NO_DATA_FOUND 
        THEN UBICAZIONE := ' ';
    RETURN(UBICAZIONE);
END FN_B2B_TROVA_UBICAZ_GEN_ANAG;
viene compilata senza errori.
ho provato a richiamarla così:
codice:
SELECT FN_B2B_TROVA_UBICAZ_GEN_ANAG(25169, 'UBICA') FROM DUAL;
ed ottengo questo errore:
codice:
ORA-01722: numero non valido
01722. 00000 -  "invalid number"
*Cause:    The specified number was invalid.
*Action:   Specify a valid number.
avete qualche idea??