Espero que alguien me pueda ayudar!!

No entiendo bien que estoy haciendo mal...
Gracias!!
Esta variable (lcampo) esta declarada como varchar2;
lquery := lquery || to_char(lcampo);
Esta variable (lcampo) la declare como number a 20 posiciones;
lc := to_number(lcampo,'999999999999.99');
El valor que me arroja es
ORA-06502: PL/SQL:numeric or value error