Asynchrone Verarbeitung

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:


Kennzeichnung asynchroner Natural-Sitzungen

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.

Behandlung der Ausgabe einer asynchronen Natural-Sitzung

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-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 Destinationen gesendet.

Da auch eine asynchrone Sitzung einen Natural-Fehler auslösen kann, muss die Destination, an die 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.

Behandlung unerwarteter oder unerwünschter Eingaben

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.

Weitere Überlegungen zu Profilparametern

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 die SENDER-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.