Asynchrone Verarbeitung

#### Search Results

Search

# 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:

- Kennzeichnung asynchroner Natural-Sitzungen

- Behandlung der Ausgabe einer asynchronen Natural-Sitzung

- Behandlung unerwarteter oder unerwünschter Eingaben

- Weitere Überlegungen zu Profilparametern

Verwandte Themen:

- Asynchronous Natural Processing under CICS

- Asynchronous Natural Processing under Com-plete/SMARTS

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

### On this page

- Kennzeichnung asynchroner Natural-Sitzungen
- Behandlung der Ausgabe einer asynchronen Natural-Sitzung
- Behandlung unerwarteter oder unerwünschter Eingaben
- Weitere Überlegungen zu Profilparametern