This gives me an error when placed in a procedure, but not if ran as SQL.
select to_single_byte(xmlelement("ALTERNATE_SUPPLIER_NAME", revr.alternate_supplier_name)) into l_tmp from dual;
Error(238,3): PLS-00306: wrong number or types of arguments in call to 'TO_SINGLE_BYTE'