PDA

View Full Version : RPG - Bildschirmausgabe - Outputfelder werden nicht geändert?



mott
08-11-01, 12:30
Ich habe folgendes Problem:

In einem RPG-Programm rechne ich die Differenz zweier Werte und gebe diese mittels EXFMT ausgeben.
Ist die Differenz kleiner als 0, gebe ich mit ERRMSG eine Fehlermeldung aus. In diesem Falle werden aber die Output-Felder (also das Differenzfeld) nicht ausgegeben.

Nun zu meiner Frage: Warum werden bei ERRMSG die Felder am Bildschirm nicht upgedatet und wie kann man aber ein Update erzwingen - trotz ERRMSG (oder ist so etwas überhaupt nicht möglich).

Vielen Dank im voraus für eure Antworten!

Michi

mk
08-11-01, 13:33
Hallo mott,

als wenn ich das richtig verstanden habe hast Du mehrere Möglichkeiten.
1. Du verlagerst deine Fehlermeldungen in eine MSG Subfile.
2. Du kannst mal versuchen erst ein Write auf das satzfomat zu machen und danach die Errmsg ansetzten.

Das System spert die BS Felder wenn die Bezugszahlen an sind.
gruss mk

Sven Schneider
08-11-01, 21:36
Schau mal in die DDS-Referenz, da steht dies so beschrieben !!! http://www.as400-forum.de/ubb/smile.gif

Folgende Lösung :
1. WRITE des Satzformates mit den aktualisierten Feldinhalten
2. danach EXTFMT des gleichen Satzfomrmates mit angesetzter Bezugszahl für ERRMSG.

Mit Nachrichtensubdateien bzw. Nachrichten-API's ist allerdings die elegantere Lösung.
Allerdings aufwendiger.

Sven

B.Hauser
17-11-01, 10:44
Hallo mk,

wenn dir die Sache mit den Nachrichten-Subfiles zu kompliziert ist, kannst Du auch eine Message-Zeile definieren und mit Bezugszahl bedingen. Im Fehler-Fall schiebst Du den Message-Text per Programm in die Message-Zeile und machst die Bezugszahl an.

In diesem Fall reicht das EXFMT. Die Tastatur ist gesperrt.

B. Hauser