PDA

View Full Version : Prüfen ob DataQ gelesen wird



jc_denton
26-09-08, 14:30
Hi folks.

Ich habe - wie sollte es anders sein - eine Frage.
Ein ILE-Programm ließt eine keyed DataQ mit einem wait von 60 sek. Ein anderes Programm (auch ILE) soll feststellen, ob diese DataQ gelesen wird oder nicht.
Ist das irgendwie möglich? Sei es durch API's oder auf anderem Wege?
Die Möglichkeit aus Programm A die DataQ zu allokieren und in Programm B zu prüfen ist ausgeschlossen.

mfg
jc

Fuerchau
26-09-08, 14:42
Anders als per ALCOBJ läßt sich die Benutzung nicht prüfen:

PGM
ALCOBJ OBJ((MYDTAQ *DTAQ *EXCL)) WAIT(0)
MONMSG CPF0000 EXEC(GOTO GESPERRT)
DLCOBJ OBJ((MYDTAQ *DTAQ *EXCL))
:
GESPERRT:
ENDPGM

Falls die Sperre erhalten wurde, sofort entsperren.
Der QRCVDTAQ wartet nämlich bei gesperrter DTAQ auch erst mal 30 Sekunden, bevor er mit Fehler zurückkommt.