Hi, all

Oracle 8.1.6.0.0 on NT,

There is a function:
CREATE OR REPLACE FUNCTION trax.long_to_char(towner in varchar2, tablen in varchar2, field in varchar2) return varchar2 IS
chr varchar2(4000);
BEGIN
select DATA_DEFAULT into chr from dba_tab_columns where owner = towner and table_name = tablen and column_name = field;
return trim(substr(chr,1,4000));
exception when others then
return 'Error: default value too long';
END;
/

There is a sql which use this function:
select column_name, long_to_char('TRAX', 'XTACTS0', column_name) DEFAULTD from dba_tab_columns where table_name = 'XTACTS0' and owner = 'TRAX' order by 1;

Problem:
When I run query above, I am getting error message:
ORA-06553: PLS-561: character set mismatchon on value for parameter 'FIELD'.

If I run the same query with the same function on Oracle 8.1.7 or 8.1.6 on Unix machine or on the other NT server it works fine. I have no idea what is wrong andI could not find anything on metalink. I do not have Oracle JVM installed on this server.

Any advices are very wellcome,
Thanks.