Ungültige Zeichen in einem Eingabefeld können da nur kleiner X'40' (*BLANK) sein.
Hier hilft ggf. eine kleine RPGLE-Funktion, die einfach alle Zeichen kleiner *BLANK eliminiert.

Ein Hochkomma ist eigentlich ein gültiges Zeichen.

d ReplaceChar pr 255 varying
d SourceFld 255 varying const

d ReplaceChar pi 255 varying
d SourceFld 255 varying const

d Count 10I 0
c/free
for Count = 1 to %length(SourceFld)
if %subst(SourceFld:Count:1) < *blank;
%subst(SourceFld:Count:1) = *blank;
endfor;
return SourceFld;

Mittels "MyFld = ReplaceChar(MyFld);" kannst du alle ungültigen Zeichen eliminieren.