View Full Version : Fehlerbehandlung
Hallo,
habe folgendes Problem:
Bei der Verarbeitung von Schnittstellendaten mittels RPG schreiben wir an der ein oder anderen Stelle das Produkt zweier Felder in ein Zielfeld. Die Operanden sind erfolgreich durch die Plausiprüfung gelaufen, aber das Produkt ist unter Umständen zu groß für das Zielfeld, wenn bereits ein Wert (im Zielfeld) enthalten ist und dieser zum Produkt addiert wird. Die Anwendung läuft auf einen Fehler und es ist eine Benutzereingabe erforderlich (eine Break Message wird ausgegeben).
Kann man so einen Fehler, ähnlich einer Try / Catch Behandlung in Java, nicht automatisch abfangen und ebenso automatisch übergehen, weiterreichen etc. ?
Die Verarbeitung erfordert an dieser Stelle eine Eingabe und wird anschließend fortgesetzt, da der Fehler jedoch in der Nachtverarbeitung auftritt, ist kein Benutzer anwesend, der die Eingabe vornehmen könnte.
Hat jemand einen Tipp ?
Gruß Andreas Sturm
P.S.
Wünsche schöne Weihnachtsfeiertage und einen Guten Rutsch
Moin,
du kannst eine Monitor-Group verwenden.
/Free
Monitor;
Ziel = Wert1 * Wert2;
On-Error;
// Fehlerbehandlung
ENDMON;
/End-Free
Gruß
Sascha
JonnyBrazil
21-12-05, 09:48
d ergebn s 9 2
c if wert1 * wert2 > 9999999,99
c eval ergebn =*Hival
c else
c eval ergebn = weret1 * wert2
c endif
Das programmatisch so abzufangen ist OK, mich würde aber interessiern, ob man die erforderliche Benutzereingabe für eine Breakmessage nicht "automatisieren" bzw. die Message unterdrücken kann.
Gruß Andreas Sturm
.... nicht PHP sondern RPG !
Moin,
du kannst eine Monitor-Group verwenden.
/Free
Monitor;
Ziel = Wert1 * Wert2;
On-Error;
// Fehlerbehandlung
ENDMON;
/End-Free
Gruß
Sascha
Das programmatisch so abzufangen ist OK, mich würde aber interessiern, ob man die erforderliche Benutzereingabe für eine Breakmessage nicht "automatisieren" bzw. die Message unterdrücken kann.
Gruß Andreas Sturm
Verstehe ich jetzt nicht ganz. Wenn du eine Monitor-Group verwendest kommt es nicht zu einer Breakmeassage.
Du kannst natürlich einen Antworteintrag für Fehlernachrichten setzen (WRKRPYLE), aber das macht für solche Fälle eigentlich keinen Sinn
Gruß
Sascha
.... nicht PHP sondern RPG !
WHAT??? Das ist RPG-Code nur um den hier schöner darzustellen, verendet man PHP-Tags!
kuempi von stein
21-12-05, 10:52
Hallo Asti,
ich persönlich würde die Problembeseitigung davon abhängig machen, wie auf die Fehlermeldung im Nachtlauf bisher reagiert wurde.
Was passiert denn dann?
Wird das Programm abgebrochen, die Werte manuell in irgendwelchen Dateien gepitcht, und dann das Programm neu aufgerufen, oder was?
Warum so etwas "kompliziertes" wie ein Monitoring? (try/catch)
Genügt es nicht einfach im RPG VOR der Stelle die knallt ne einfach IF-Abfrage reinzubauen, die dann entsprechend reagiert (Wert ändern, Nachrich senden o.ä.)?
DAS wäre für mich ne Lösung die ich akzeptabel finden würde.
Alles andere würde nach Murphy die Sache doch nur noch "verschlimmbessern"..
kuempi
... da ich auf der AS400 nicht programmiere und keine Kenntnisse in RPG habe, war mir das nicht klar... an das Forum und die Darstellung werde ich mich gewöhnen !
WHAT??? Das ist RPG-Code nur um den hier schöner darzustellen, verendet man PHP-Tags!
und auf die Benutzereingabe gewartet. Auf diese Vorgehensweise habe ich selber keinen Einfluss; würde den RPG Programmierern, die derzeit keine Alternative finden, gerne einen Vorschlag unterbreiten.
Gruß Andreas Sturm
Hallo Asti,
ich persönlich würde die Problembeseitigung davon abhängig machen, wie auf die Fehlermeldung im Nachtlauf bisher reagiert wurde.
Was passiert denn dann?
Wird das Programm abgebrochen, die Werte manuell in irgendwelchen Dateien gepitcht, und dann das Programm neu aufgerufen, oder was?
Warum so etwas "kompliziertes" wie ein Monitoring? (try/catch)
Genügt es nicht einfach im RPG VOR der Stelle die knallt ne einfach IF-Abfrage reinzubauen, die dann entsprechend reagiert (Wert ändern, Nachrich senden o.ä.)?
DAS wäre für mich ne Lösung die ich akzeptabel finden würde.
Alles andere würde nach Murphy die Sache doch nur noch "verschlimmbessern"..
kuempi