Wie immer, gibt es viele Varianten, ob es tatsächlich messbare Unterschiede gibt, k.A., aber wenn in 99,9% aller Fälle Sonderzeichen in der Nummer vorhanden sind, ist der erste Test eben meistens bereits unnötig.

Auch was die Umwandlung nach CHAR angeht, so ist Ludgers Lösung nicht ganz so gut , besser wäre am Ende:

a) MyChar = %char(MyNum); // Linksbündig ohne Vornullen
b) MyChar = %editc(MyNum:'X'); // Mit vornullen

Somit entfällt das ständige trimmen und catten.