Man kann RPG - sogar das hier verwendete RPG III - übrigens auch als höhere Programmiersprache behandeln und numerische Werte mit Z-ADD übertragen. Dann können einige der angedeuteten Probleme gar nicht erst auftreten. Ein Problem bleibt aber: Auch Z-ADD erkennt keinen Überlauf, d.h., wenn du 1234 in ein dreistelliges numerisches Feld stellst, enthält es hinterher den Wert 234 und dein Programm läuft klaglos mit dem falschen Wert weiter.
Mit solchen Verschrobenheiten (wie auch mit den weiter oben erwähnten, unsäglichen MOVEs von numerischen Werten) haben wir alten RPG-Heinis z.B. Datumsverarbeitung betrieben, und wir waren alle mächtig stolz auf unsere vermeintlich genialen Operationen!
Und damit zum Thema: Wenn du dich mit RPG beschäftigen willst, warum RPG III? Für das Verständnis von alten RPG-Schinken ist es vielleicht sinnvoll, nicht sofort mit dem freien Format zu beginnen, aber ILE RPG wäre schon zu empfehlen.
IBM bietet im iSeries Information Center unter /Programmierung/RPG einiges an Handbüchern, ansonsten gibt es auch ganz gute Einführungen auf dem Buchmarkt.
Dann kannst du dir ja mal den Operationscode EVAL (mit Überlaufprüfung) ansehen und einige BIFs (eingebeute Funktionen ) wie %EOF und %FOUND, damit du dich nicht mit der Bezugszahlen-Seuche infizierst, an der wir alle leiden.
Und denk darüber nach, ob du nicht den Ausgabesatz komplett initialisieren könntest, bevor du Werte überträgst und den Satz wegschreibst. Wer weiß, vielleicht wächst ja dein Programm (oder die Ausgabedatei) mal ...
Viel Spaß (das meine ich ehrlich)
Mathias Spateneder