When converting a string
to a numeric value, note the encoding of the string. When the string
is a single-byte encoding, DS2 translates the value to a TKChar (UCS-2
or UCS-4) for conversion. The longer the string, the longer the time
it takes to do the conversion.
dcl char(512) s;
dcl nchar(512) ns;
dcl double x;
s = '12.345';
ns = '12.345';
x = s; /* slow */
x = substr(s,1,16); /* faster */
x = substr(ns,1,16); /* even faster, avoids transcoding */