Anmelden

View Full Version : Wartezeit in RPG-Programm einbauen



Seiten : 1 [2]

BenderD
24-11-03, 09:41
Hallo,

soweit die Bemerkung: "e s g e h t" meinen Beitrag betrifft, dann beachte man den genauen Wortlaut:

sowas geht ohne Einschränkungen nur mit Multithreading, sprich nicht in einem 5250 Job und nicht wirklich mit RPG.

Ich will das an einem kleinen Beispiel deutlich machen:

In einem Java Programm (sprich Multithreaded) würde man bei Eingabe einer neuen Auftragsposition die Auftragssume auf einer anderen Anzeige in einem anderen Fenster problemlos automatisch aktualisieren können.
Mit dem von Birgitta erklärten Workaround (der mir sehr wohl bekannt ist) scheitert man real bereits, wenn man auf jeder Anzeige eine laufende Uhr haben wollte. Die Anwendung wird ausgebremst und beim zweiten Fenster auf dem Bildschirm ist eh Ende der Fahnenstange.

Es gibt übrigens eine weitere Einschränkung bei der ganzen Sache: man kann das ganze nicht synchronisieren, wenn mehrere Anforderungen gleichzeitig kommen, werden diese gepuffert, mit seltsamen Effekten für den Benutzer. Über die "Wartungsfreundlichkeit" dieser Lösung möchte ich garnicht erst nachdenken.

Dieter Bender

KM
24-11-03, 13:41
Hallo Daniel,

für Dein Problem gibt es eine ganz einfache Lösung. Benutze doch die externe Prozedur sleep. Siehe Beispiel (Wartezeit 5 Sekunden) !

D SLEEP PR EXTPROC('sleep')
D SECONDS 10U 0 VALUE
*
C CALLP SLEEP(5)

Gruß,
KM

Fuerchau
24-11-03, 16:31
@KM

Also, wenn ich mir die Ursprungsanforderung vom 100ms (= Millisekunden = 0,1 Sekunde !) so anschaue, ist die sleep()-Funktion ja mit DLYJOB identisch, aber wer will schon so lange warten ?

KM
25-11-03, 08:10
@Fuerchau

Warum dann überhaupt warten ? Mir fällt jetzt so spontan keine Anwendung ein, bei der man nur einige Millisekunden warten will.