Hallo,
Wenn's um die Performance geht, würde ich zunächst entweder die Built-in-Funktion %INT oder %DEC verwenden um die alphanumerische Nr. zu konvertieren. Sollten in dem String ungültige Zeichen vorhanden sein, erfolgt ein Abbruch. Diesen kann man über eine Monitor-Group abfangen werden. Anstatt im Fehlerfall jedes Zeichen einzeln zu prüfen, würde ich direkt nach den ungültigen Zeichen suchen und diese aus dem String entfernen.
PHP-Code:
D Digits C const('1234567890 ')
D Pos S 3U 0
*************************************************************
/Free
Monitor;
Clear MyNum;
If MyAlpha <> *Blanks;
MyNum = %Int(MyAlpha);
EndIf;
On-Error;
DoU Pos = *Zeros;
Pos = %Check(Digits: MyAlpha);
If Pos <> *Zeros;
MyAlpha = %Replace('': MyAlpha: Pos: 1); //Entfernen ungült. Zeichen
EndIf;
EndDo;
MyNum = %Int(MyAlpha);
EndMon;
/End-Free
Birgitta
Bookmarks