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