Dieses Kapitel beschreibt die asynchrone Natural-Verarbeitung, ein Verfahren, das unter allen von Natural unterstützten TP-Monitoren verfügbar ist.
Eine asynchrone Natural-Sitzung ist eine Sitzung, die mit keinem Terminal verbunden ist und daher nicht mit einem Terminalbenutzer interagieren kann. Sie kann verwendet werden, um eine zeitaufwändige Aufgabe "im Hintergrund" (Background Task) auszuführen, ohne dass der Benutzer auf die Beendigung der Aufgabe warten muss.
In diesem Kapitel werden die folgenden Themen behandelt:
Verwandte Themen:
Um eine Sitzung als asynchron zu kennzeichnen, wird der
Natural-Systemvariablen *DEVICE
der Wert ASYNCH zugewiesen.
Anmerkung
Der Wert von *DEVICE kann durch den
Natural-Profilparameter TTYPE und durch das Statement
SET CONTROL
'T=xxxx' geändert werden.
Anmerkung
Siehe auch Profilparameter TTYPE in der
Parameter-Referenz- Dokumentation und Terminalkommando
%T= in
der Terminalkommandos-Dokumentation.
Da es sich bei einer asynchronen Sitzung um eine Sitzung handelt, die mit keinem Terminal verbunden ist, bedeutet dies, dass die von der Sitzung erzeugten Ausgaben nicht einfach auf dem Bildschirm angezeigt werden können, sondern dass Sie explizit ein Ausgabeziel angeben müssen.
Dieses Ziel geben Sie mit dem Natural-Profilparameter
SENDER
beim Aufruf von Natural an. Die SENDER-Zielangabe
(Destination) gilt für Hardcopy-Ausgaben und Primär-Reports. Alle weiteren
Reports werden so wie bei einer synchronen Online-Sitzung an die mit dem
Statement DEFINE
PRINTER angegebenen Ziele (Destinations) gesendet.
Da auch eine asynchrone Sitzung einen Natural-Fehler auslösen kann,
muss das Ziel (Destination), an das eine Natural-Fehlermeldung gesendet werden
soll, ebenfalls angegeben werden. Dies geschieht mit dem
Natural-Profilparameter OUTDEST. Dieser
Parameter bietet auch die Möglichkeit, Fehlermeldungen an die Bedienerkonsole
zu senden. Nachdem eine Fehlermeldung gesendet wurde, beendet Natural die
asynchrone Sitzung.
Die Profilparameter SENDER und
OUTDEST
sollten entsprechend eingestellt werden, um auf unerwartete Ausgaben der
asynchronen Natural-Sitzung vorbereitet zu sein, da sonst die asynchrone
Natural-Sitzung in einem solchen Szenario abgebrochen werden kann.
Eine asynchrone Natural-Sitzung verfügt nur über den Natural-Stack,
um die Namen der auszuführenden Natural-Programme und Natural-Systembefehle
einzugeben. Wenn ein Natural-Programm oder ein Natural-Systemkommando mit einem
unbehandelten Natural-Fehler fehlschlägt oder wenn der gesamte Natural-Stack
voll ist und in den NEXT-Modus wechseln würde, wird die asynchrone
Natural-Sitzung mit der Abbruchmeldung NAT9943 beendet.
Je nach verwendetem TP-Monitor und abhängig von der
TTYPE-Einstellung
wird bei einer INPUT-Anforderung standardmäßig entweder die
CLEAR-Taste oder der EOF-Anzeiger an Natural
zurückgegeben. Diese Maßnahme hilft, Fehlerschleifen zu vermeiden, wenn ein
Programm unbeabsichtigt ein INPUT-Statement ausführt. Die Rückgabe
des ENTER-Tastenkennzeichens kann durch ein SET CONTROL
'N'-Statement vor dem INPUT-Statement erreicht werden.
Tipp
Sie können Ihre Anwendung mit asynchronen Sitzungen kompatibel
machen, indem Sie die Systemvariable
*SCREEN-IO
entsprechend auswerten.
Die folgenden Natural-Profilparameter sollten im Falle einer asynchronen Natural-Sitzung berücksichtigt werden:
| Profilparameter | Kommentar |
|---|---|
AUTO
|
Asynchrone Sitzungen können nicht-alphabetische
Benutzerkennungen haben. In diesem Fall wird AUTO=ON
fehlschlagen.
|
CM
|
Eine unerwünschte Eingabesituation kann entstehen, wenn
die Natural-Sitzung unbeabsichtigt auf die NEXT-Ebene wechselt.
Durch die Einstellung CM=OFF wird die Sitzung in diesem Fall
sofort beendet.
|
ENDMSG
|
Die Fehlermeldung NAT9995 (normale Beendigung) kann
durch Angabe von ENDMSG=OFF unterdrückt werden.
|
IMSG
|
Natural-Initialisierungsfehlermeldungen und -Warnungen
können durch die Angabe von IMSG=OFF unterdrückt werden.
|
MENU
|
Asynchrone Sitzungen verfügen nur über
den Natural-Stack für Kommandoeingaben. Es wird daher empfohlen,
MENU=OFF anzugeben und mit Direktkommandos durch Natural zu
navigieren.
|
PLOG |
Die dynamische Parameterprotokollierung
wird durchgeführt, indem alle Parameter Zeile für Zeile an das
SENDER-Ziel
(Destination) gesendet werden.
|
PROGRAM
|
Wenn in Ihrer Installation ein Standard-Backend-Programm
oder eine Standard-Backend-Transaktion definiert ist, sollte geprüft werden, ob
dieses Programm asynchron laufen kann oder ob es nur mit terminalgebundenen
Sitzungen arbeiten soll. Durch die Angabe von PROGRAM=0 wird die
Backend-Logik umgangen.
|