Ich bekomms nicht hin. Ich habe es so probiert:
Code:
       //-----------------------------------------------------------------------
       // XML-String prüfen
       //-----------------------------------------------------------------------
       dcl-proc XMLConvert;
         dcl-pi *N;
            $string ucs2(5000);
         end-pi;


         dcl-s #i    zoned(4:0);
         dcl-s $ch   char(1);
         dcl-s $temp ucs2(5000);


         $temp = '';
         for #i = 1 to %len($string);
           $ch = %char(%subst($string:#i:1));
           if $ch = x'09'
             or $ch = x'0A'
             or $ch = x'0D'
             or ($ch >= x'20' and $ch <= x'D7FF')
             or ($ch >= x'E000' and $ch <= x'FFFD')
             or ($ch >= x'100000' and $ch <= x'10FFFF');
             $temp = $temp + %subst($string:#i:1);
           endif;
         endfor;
         $string = $temp;
         return;
       end-proc;
Der Ergebnisstring ist aber immer leer. Wenn ich mit Debug durchsteppe, scheint er die Zeile
Code:
$temp = $temp + %subst($string:#i:1);
gar nicht auszuführen.

Wahrscheinlich sehe ich den Wald aber vor lauter Bäumen nicht mehr. ;-)
Ich geh jetzt mal ins Wochenende und mache am Montag weiter :-)