Natural unter IMS TM - Umgebungen

#### Search Results

Search

# Natural unter IMS TM - Umgebungen

Dieses Kapitel beschreibt, wie Natural in verschiedenen IMS TM-Umgebungen läuft.

Die folgenden Themen werden behandelt:

- Übersicht über die IMS TM-Schnittstelle

- IMS TM-Umgebungen

- Dialogorientierte Umgebungen

- Nachrichtenorientierte Umgebung

- Batch Message Processing-Umgebung

- Unterstützung des Natural-Statements WRITE (n)

- SET CONTROL 'N' (Terminalkommando %N)

- Unterstützung von TS=ON bei Natural unter IMS TM-Nachrichten

- SENDER-Ziel

- Unterstützung des Natural-Profilparameters PROGRAM

- Natural Development Server- bzw. Natural Web I/O Server-Umgebung

## Übersicht über die IMS TM-Schnittstelle

## IMS TM-Umgebungen

IMS TM bietet zwei verschiedene Arten von Umgebungen:

- Natural in einer Message Processing Region (MPP-Umgebung)

- Natural in einer Batch-Message-Processing-Region (BMP-Umgebung)

Um Natural in jeder dieser Umgebungen nutzen zu können, werden verschiedene umgebungsspezifische Schnittstellen für die Natural IMS TM-Schnittstelle bereitgestellt. Die Aufgabe einer solchen Schnittstelle besteht darin, Eingaben (in der Regel eine Terminal-Eingabenachricht) aus der Umgebung zu empfangen, die Eingaben zur Verarbeitung an Natural weiterzuleiten und die daraus resultierende Ausgabe an das richtige Ziel (in der Regel eine Terminal-Ausgabenachricht) zurückzuleiten. Auf diese Weise ist es möglich, die Funktionalität von Natural in allen verfügbaren IMS TM-Umgebungen zu nutzen.

Zusätzlich zu den verfügbaren Umgebungen gibt es innerhalb jeder Umgebung auch verschiedene Betriebsarten.

### Natural in einer Message Processing Region (MPP-Umgebung)

In einer Message Processing Region können Natural Online-Transaktionen eine der folgenden sein:

- Dialogorientiertes Natural
- Nachrichtenorientiertes Natural

#### Dialogorientiertes Natural

Eine dialogorientierte Natural-Sitzung stellt eine fortwährende Interaktion mit einem IMS TM-Bildschirm her. Ein- und Ausgabenachrichten an und von Natural stehen in einem logischen Zusammenhang. Über Dialogschritte hinweg speichert Natural Informationen, um die nächste Eingabenachricht korrekt verarbeiten zu können. Natural kann dialogorientiert entweder als konversationelle oder als nicht-konversationelle Transaktion ausgeführt werden.

In einer dialogorientierten Umgebung kann Natural in Multi-Message-Processing-Regionen, als Wait-for-Input (WFI)-Transaktion und mit der Parallel-Scheduling-Option ausgeführt werden.

Um Natural in dialogorientierten Umgebungen auszuführen, müssen Sie entweder den Roll Server oder Roll Files verwenden (siehe Das Roll File und der Roll Server).

Wenn die Natural IMS TM-Schnittstelle eine Fehlersituation feststellt, wird ein Datensatz mit Informationen über diese Fehlersituation in die IMS TM-Protokolldatei geschrieben (siehe Wiederherstellungsbehandlung). Daher müssen alle Terminals, auf denen Natural ausgeführt werden soll, und alle Natural-Transaktionscodes berechtigt sein, den Kommando `/LOG` über das Automated Operator Interface (AOI) auszuführen.

#### Nachrichtenorientiertes Natural

Eine Nachrichten-orientierte (message-oriented) Natural-Sitzung verarbeitet nicht-3270-formatierte Nachrichten aus der IMS TM Message Queue. Die eingegebenen Nachrichten werden als unabhängig voneinander betrachtet und sind nicht Teil eines Dialogs. Bei einer nachrichtenorientierten Verarbeitung muss Natural als nicht-konversationelle Transaktion ausgeführt werden.

### Natural in einer Batch-Message-Processing-Region (BMP-Umgebung)

In einer Batch Message Processing Region kann Natural über einen Input Transaction Code auf die IMS TM Message Queue zugreifen. Bei Batch-orientierten BMP-Regionen unterstützt Natural symbolische Checkpoints und erweiterten Neustart. Bei den Eingabenachrichten handelt es sich um nicht-3270-formatierte Nachrichten.

## Dialogorientierte Umgebungen

In diesem Abschnitt werden spezielle Punkte behandelt, die nur für die dialogorientierte Gesprächsumgebung gelten.

- Besondere Aspekte einer dialogorientierten konversationellen Umgebung

- Besondere Aspekte einer nicht-konversationellen Umgebung

- Besondere Aspekte einer MSC-Umgebung

### Besondere Aspekte einer dialogorientierten konversationellen Umgebung

Die dialogorientierte konversationelle Umgebung wird durch das Conversational MPP Interface realisiert, das mit dem Natural-Parametermodul zum Conversational MPP Front-End verlinkt ist. Dieses Frontend ist das IMS TM-Anwendungsprogramm. Es wird von IMS TM eingeplant, wenn eine Eingabenachricht für den zugeordneten Transaktionscode in der IMS TM-Nachrichtenwarteschlange verfügbar ist.

Die dialogorientierte konversationelle Umgebung erfordert eine Scratch Pad Area (SPA) von mindestens 157 Byte zuzüglich des im Makro `NTIMSPT` des Natural-Parametermoduls angegebenen `NRAST`-Wertes.

### Besondere Aspekte einer nicht-konversationellen Umgebung

Die dialogorientierte, nicht-konversationelle Umgebung wird durch das Non-Conversational MPP Interface realisiert, das mit dem Natural-Parametermodul zum Non-Conversational MPP Frontend verlinkt ist. Dieses Frontend ist das IMS TM-Anwendungsprogramm. Es wird von IMS TM eingeplant, wenn eine Eingabenachricht für den zugeordneten Transaktionscode in der IMS TM-Nachrichtenwarteschlange verfügbar ist.

Wenn eine dialogorientierte, nicht-konversationelle Umgebung verwendet wird, sind der Natural Authorized Services Manager mit aktivierter SIP-Funktion und die Physical Input Edit Routine Voraussetzung.

- Der Natural Authorized Services Manager wird verwendet, um die IMS TM Scratch Pad Area (SPA) zu simulieren.

- Die Physical Input Edit Routine wird verwendet, um den Transaktionscode vor der Eingabenachricht einzufügen.

Sie müssen die gleiche Natural-Subsystemkennung an folgenden Stellen angeben:

- Im Schlüsselwort-Subparameter `SPATID` des Makros `NTIMSPE` (Natural-Parametermodul),

- im Parameter `SPATID` des Makros `NIMPIXT`,

- in den Startparametern des Authorized Services Manager.

### Besondere Aspekte einer MSC-Umgebung

In der folgenden Umgebung bereitet die Natural IMS TM-Schnittstelle die Nachricht `X'000500006D'` für `NAT-B` vor, was bedeutet, dass der Terminal-Benutzer CLEAR gedrückt hat.

               IMS-A                       IMS-B
    			        -----                       -----
       MPP-A1  MPP-A2  MPP-A3     MPP-B1  MPP-B2  MPP-B3
       ------  ------  ------     ------  ------  ------
    			                  DIRECT SWITCH
          NAT-A -----------------------------> NAT-B

Es müssen zwei Einträge in der Transaktionscode-Tabelle erstellt werden: der erste Eintrag ist für `NAT-A`, der zweite für `NAT-B`.

Diese beiden Einträge müssen unterschiedliche Offsets für die Natural Reserved Area (NRA) angeben und sicherstellen, dass sich diese Bereiche nicht überschneiden.

`NAT-B` erkennt, dass eine Natural-Sitzung in `IMS-B` auf die übliche Weise gestartet werden soll, und übergibt daher die Kontrolle an seine Session-Start-Exit-Routine. Die Session-Start-Exit-Routine prüft die Eingabenachricht auf die Zeichenkette `X'000500006D'` und setzt die Länge der Eingabenachricht aus der Sicht von Natural auf `0`.

Wenn weder im Exit `NIIXSTAR` noch im Exit `NIIXSSTA` eine zusätzliche Logik vorgesehen ist, startet Natural eine neue Benutzersitzung in `IMS-B`.

Es wird davon ausgegangen, dass `IMS-A` und `IMS-B` über unterschiedliche, für Natural zugewiesene Roll Files verfügen.

Beide (oder mehrere) Natural-Sitzungen können miteinander kommunizieren, indem sie beim direkten Wechsel von einem Programm zum anderen Daten in der Scratch Pad Area (SPA) übertragen.

Wenn zwei oder mehr Natural-Sitzungen in einer solchen Umgebung existieren, wird derzeit nur die "aktive" Sitzung korrekt beendet.

## Nachrichtenorientierte Umgebung

Dieser Abschnitt beschreibt die nachrichtenorientierte (message-oriented) Schnittstelle mit Natural for IMS TM.

- Einführung in die nachrichtenorientierte Umgebung

- Funktionsweise der nachrichtenorientierten Umgebung

### Einführung in die nachrichtenorientierte Umgebung

Diese Schnittstelle ist für die Verarbeitung von Nettodaten-Eingabenachrichten konzipiert, was bedeutet, dass die Nachrichten keinen 3270-Datenstrom darstellen. Die nachrichtenorientierte Schnittstelle wird durch ein vom Anwender geschriebenes Natural-Programm gesteuert, das die Schnittstelle anweist, auf die IMS TM-Warteschlange zuzugreifen, um Eingabenachrichten abzurufen.

Die nachrichtenorientierte Schnittstelle wurde geschaffen, um nicht-konversationelle, nicht-terminalgesteuerte Transaktionen zu unterstützen, die als nicht-konversationelle MPP-Transaktionen ausgeführt werden müssen.

### Funktionsweise der nachrichtenorientierten Umgebung

Die nachrichtenorientierte Schnittstelle umfasst Funktionen sowohl der MPP- als auch der BMP-Schnittstelle. Die BMP-Schnittstelle wird als Basis benutzt, da ein Großteil der erforderlichen Verarbeitung BMP-artige Transaktionen emuliert.

Da die nachrichtenorientierte Schnittstelle nicht terminalorientiert ist, werden keine Nachrichten oder Bildschirmmasken automatisch erzeugt, um an ein Terminal gesendet zu werden. Der Natural-Nukleus wird darüber informiert, dass er in einer Batch-Umgebung läuft. Deshalb wird die Ausgabe als Druckerausgabe interpretiert und die Eingabe aus einer `CMSYNIN`-Datei erwartet. Alle Ausgaben, die normalerweise in `CMPRINT` geschrieben werden, werden an das mit dem Natural-Profilparameter `SENDER` angegebene IMS TM-Ziel gesendet. Einzelheiten finden Sie unter SENDER-Ziel weiter unten.

Wenn Natural versucht, Eingabedaten abzurufen, und von der Anwendung über das `STACK`-Kommando keine Eingabedaten geliefert wurden, zeigt `EOF` an, dass keine Eingabe vorhanden ist, und Natural wird beendet.

Sie können `SENDER` zur Laufzeit auf einen neuen Wert setzen, indem Sie das Service-Modul `CMSNFPRT` benutzen.

Mit Ausnahme der Checkpoint-Verarbeitung erfolgt die Verarbeitung bei Natural for Db2 so, als ob es sich um den BMP-Modus handelt. Dies ist notwendig, da eine physische Einplanung (Scheduling) mehrere nicht zusammenhängende Eingabemeldungen verarbeiten kann (und normalerweise auch wird). Bei der konversationellen MPP-Schnittstelle werden alle Transaktionen, die während einer Natural-Sitzung verarbeitet werden, innerhalb dieser Natural-Sitzung als zusammengehörig betrachtet, so dass die Datenbankpositionierung und die PCB-Verwendung beibehalten werden müssen.

Da Transaktionen, die während einer Einplanung (und einer Natural-Sitzung) verarbeitet werden, nicht miteinander zusammenhängen, ist die Speicherung von Natural-Sitzungsinformationen im Roll File nicht erforderlich. Daher muss für diese Schnittstelle kein Roll Dataset zugeordnet werden. Ein Roll Slot-Bereich wird weiterhin über `GETMAIN` zugeordnet und für die Speicherung aller Natural-Kontrollblöcke und Arbeitsbereiche verwendet.

Da die Verarbeitung auf der Basis von einzelnen Nachrichten nacheinander erfolgt, ist keine Verlagerungslogik erforderlich.

Bei der nachrichtenorientierten Schnittstelle wird der Abruf aller Nachrichten aus der Nachrichtenwarteschlange von einem Natural-Frontend-Programm initiiert. Dieses Programm muss vom Benutzer geschrieben werden, so dass es Ihre spezifischen Verarbeitungsanforderungen erfüllt. Es benötigt jedoch eine bestimmte Struktur, wie im Folgenden gezeigt wird:

    PROGRAM INITIALIZATION
    REPEAT
    CALL 'CMGETMSG' MESSAGE-AREA MESSAGE-LENGTH
    IF MSG-LL = 0 /* QC on GU to message queue
    TERMINATE
    FETCH RETURN PGMA MESSAGE-AREA
    REPEAT
    CALL 'CMGETSEG' MESSAGE-AREA MESSAGE-LENGTH
    IF MSG-LL = 0 /* QD on GN to message queue
    ESCAPE
    FETCH RETURN PGMB MESSAGE-AREA
    END-REPEAT
    END-REPEAT
    END

Das Servicemodul `CMGETMSG` liest das erste Nachrichtensegment. Das Servicemodul `CMGETSEG` liest alle weiteren Nachrichtensegmente.

Da Natural keine Eingaben von `CMSYNIN` lesen kann, ist es erforderlich, den Natural-Stack für Eingaben zu verwenden. Dies geschieht unter Verwendung des Natural-Profilparameters `STACK`.

Sie müssen jedoch dafür sorgen, dass Ihre Anwendung vor der Beendigung von Natural auf die IMS TM Message Queue zugreift. Ist dies nicht der Fall, wird die Natural-Transaktion mit dem IMS TM-Abendcode 462 beendet, was darauf hinweist, dass ein GU an die Nachrichtenwarteschlange nicht durchgeführt wurde.

Um diese Natural-Nachrichten auch im Falle eines abnormalen Abbruchs zu erhalten, wird empfohlen, den ersten alternativen PCB als EXPRESS PCB zu definieren.

Die nachrichtenorientierte Umgebung wird durch die `NTRD`-Schnittstelle implementiert, die mit dem Natural-Parametermodul zum `NTRD`-Frontend verlinkt ist. Dieses Frontend kann entweder direkt von IMS TM oder über ein Bootstrap-Modul aufgerufen werden, das mit dem Makro `NIMBOOT` erzeugt wurde.

Wenn es direkt von IMS TM aufgerufen wird, ist dieses Frontend das IMS TM-Anwendungsprogramm, das von IMS TM eingeplant wird, wenn eine Eingabenachricht für den zugewiesenen Transaktionscode in der IMS TM-Nachrichtenwarteschlange vorhanden ist. Es wird empfohlen, ein Natural-Profil zu verwenden, das den erforderlichen `STACK`-Parameter enthält. Geben Sie in Ihrem Natural-Parametermodul für den Profilparameter `PROFILE` den Wert `PROGRAM` an und erstellen Sie ein Profil mit einem Namen, der dem Transaktionscode entspricht, mit dem die Schnittstelle aufgerufen wird. Auf diese Weise haben Sie die Flexibilität, für jeden verwendeten Transaktionscode ein anderes Profil mit einer anderen `STACK`-Einstellung zu verwenden.

Wenn es über ein Bootstrap-Modul aufgerufen wird, ist dieses Bootstrap-Modul das IMS TM-Anwendungsprogramm, das von IMS TM eingeplant wird, wenn eine Eingabenachricht für den zugewiesenen Transaktionscode in der IMS TM-Nachrichtenwarteschlange verfügbar ist. Dieses Bootstrap-Modul stellt eine Reihe von dynamischen Profilparametern bereit, von denen einer der Profilparameter `STACK` ist, und ruft das `NTRD`-Frontend auf, dessen Name bei der Generierung des Bootstrap-Moduls angegeben wird. Wenn Sie Natural mit unterschiedlichen Einstellungen der dynamischen Profilparameter aufrufen wollen, müssen Sie unterschiedliche Bootstrap-Module generieren, die jeweils eine eigene Zeichenfolge dynamischer Profilparameter verwenden. Jedes dieser Bootstrap-Module muss unter einem eindeutigen Namen verlinkt werden. Außerdem muss jedem der entstehenden Lademodule ein eindeutiger IMS-TM-Transaktionscode zugewiesen werden.

## Batch Message Processing-Umgebung

Die Umgebung zur Batch-Nachrichtenverarbeitung (Batch Message Processing, BMP) wird durch die BMP-Schnittstelle implementiert, die mit dem Natural-Parametermodul und der Arbeitsdatei-/Druckdatei-Zugriffsroutine `NATWKFO` mit dem BMP-Frontend verbunden ist. Dieses Frontend ist das IMS TM-Anwendungsprogramm, das in der BMP-JCL angegeben ist.

Ein Standard-Batch Natural wird in einer Batch Message Processing Region ausgeführt. Im Vergleich zum Standard-Batch-Natural-Lauf kann der optionale Input-Datensatz `CONTROL` verwendet werden.

Die optionale BMP `CONTROL`-Datei enthält maximal zwei Eingabekarten.

- Die erste Eingabekarte enthält die folgenden Schlüsselwortparameter:

  Schlüsselwort | Bedeutung
  --- | ---
  `ENV-TAB=` | Der Name der zu verwendenden Umgebungstabelle.
  `TRNCODE=` | Der Name des zu verwendenden Transaktionscodes, siehe die Beschreibung des Parameters `TRNCODE`.

  #### Beispiel:

      ENV-TAB=ENVBMP0 TRNCODE=NATIMS

- Die zweite Eingabekarte der `CONTROL`-Datei enthält dynamische Natural-Parameter.

#### Verwendung des CMPRMIN-Dataset und der CONTROL-Datei zur Übergabe dynamischer Natural-Parameter

Wird der Dataset `CMPRMIN` auch zur Übergabe dynamischer Natural-Parameter verwendet, so wird die Eingabe von `CONTROL` an die Eingabe von `CMPRMIN` angehängt. Das bedeutet, die in `CONTROL` angegebenen Parameter überschreiben die in `CMPRMIN` angegebenen Parameter.

#### Betrieb ohne CONTROL-Datei

Wird die `CONTROL`-Datei nicht verwendet, so wird der Name der Umgebungstabelle durch den Eintrag in der Transaktionscode-Tabelle bestimmt, der dem verwendeten Transaktionscode (transaktionsorientierte BMP) bzw. dem verwendeten PSB-Namen (batchorientierte BMP) entspricht.

## Unterstützung des Natural-Statements WRITE (n)

Mit dem Statement `WRITE (n)` können innerhalb eines Natural-Programms bis zu 31 verschiedene Reports auf verschiedenen Druckern erzeugt werden. Die Reports werden an die IMS TM-Terminals gesendet, die entweder im Natural-Parametermodul oder mit dem Natural-Statement `DEFINE PRINTER (n)` angegeben wurden. Im `NTPRINT`-Makro, das den Report steuert, müssen Sie `AM=IMS` angeben.

Um dieses Statement verwenden zu können, müssen Sie so viele zusätzliche alternative TP-PCBs in Ihrer PSB definieren, wie Sie parallele Reports innerhalb desselben Natural-Programms erstellen wollen, und die Anzahl der zusätzlichen alternativen TP-PCBs in Ihrer Transaktionscode-Tabelle mit dem Schlüsselwort-Subparameters `WRKPCBS` des Makros `NTIMSPT` (Natural-Parametermodul) angeben.

| Warnung: Beachten Sie, dass die erste alternative TP-PCB von der Natural IMS TM-Schnittstelle verwendet wird.

Bei Verwendung des Statements `WRITE (n)` in einer dialogorientierten Umgebung gilt die folgende Einschränkung:

Die Generierung eines Reports kann sich nicht über eine oder mehrere Bildschirm-Ein-/Ausgaben erstrecken. Wenn Sie denselben Drucker nach einer Bildschirm-Eingabe/Ausgabe verwenden wollen, müssen Sie ihn vor der Bildschirm-Eingabe/Ausgabe mit dem Statement `CLOSE PRINTER (n)` explizit schließen.

Für die Erstellung von Reports sind die folgenden Schlüsselwort-Subparameter des Makros `NTPRINT` relevant:

Schlüsselwort-Subparameter | Bedeutung
--- | ---
`AM` | Muss auf `IMS` gesetzt werden.
`DEST` | Gibt das IMS TM-Ziel an.
`BLKSIZE` | Gibt die Größe des Puffers an, der an das Ziel gesendet wird. Reportzeilen werden gepuffert.
`DRIVER` | Gibt den Treiber an, der für die Erstellung des Reports verwendet werden soll. Eine Liste der möglichen Werte finden Sie im Schlüsselwort-Subparameter `PRTDRIV` des Makros `NTIMSPE` im Natural-Parametermodul. Der Treiber bestimmt, wo der Seitenvorschub erfolgen soll (am Anfang des Reports, am Ende, sowohl am Anfang als auch am Ende oder kein Seitenvorschub), wo die Seite beginnen soll (in Zeile 1 oder in Zeile 2, um die Kompatibilität mit dem Natural IMS TM Interface Version 2.2 zu gewährleisten) und wo der Report gedruckt werden soll (SCS- oder Nicht-SCS-Drucker). Darüber hinaus können Sie angeben, dass Sie die JES API verwenden möchten.
`NAME` `FORMS` `DISP` `COPIES` `CLASS` `PRTY` | Diese Parameter werden nur ausgewertet, wenn Sie die JES API verwenden.

### Hinweise zu NTPRINT und CLOSE PRINTER

#### NTPRINT-Einstellungen

Es wird dringend empfohlen, für IMS TM-Drucker (d.h. für Drucker, die mit `AM=STD` definiert sind) immer die Standardwerte für die Subparameter `OPEN` und `CLOSE` im `NTPRINT`-Makro oder in der `PRINT`-Profilparameterdefinition zu verwenden. Das bedeutet, dass Sie entweder keine Werte für `OPEN` und `CLOSE` angeben oder die Standardwerte `OPEN=ACC` und `CLOSE=CMD` verwenden.

Dies ist vor allem dann wichtig, wenn Sie einen Drucker im Natural-Parametermodul statisch für eine andere Zugriffsmethode mit anderen Optionen für `OPEN` und `CLOSE` definiert haben und wenn Sie die Zugriffsmethode dynamisch mit `AM=IMS` überschreiben. Geben Sie in diesem Fall immer `AM=IMS,OPEN=ACC,CLOSE=CMD` zusammen an.

Anmerkung
Die `NTPRINT`-Optionen werden mit den dynamisch angegebenen `PRINT`-Optionen zusammengeführt, obwohl die Zugriffsmethode überschrieben wurde.

Probleme, die bei nicht standardmäßigen Werten auftreten können:

1. Bei `OPEN=OBJ` können Sie an ein falsches Ziel drucken oder einen NAT8211-Fehler erhalten, wenn die Option `OUTPUT` in einem `DEFINE PRINTER`-Statement angegeben wurde.

   Bei `OPEN=OBJ` wird der Drucker geöffnet, bevor die `OUTPUT`-Überschreibung ausgewertet wurde, und als Druckziel wird nicht das in der `OUTPUT`-Option, sondern das mit dem `PRINT`-Parameter angegebene Ziel verwendet.

2. Bei `CLOSE=FIN` wird der Drucker nicht zum Zeitpunkt `CLOSE PRINTER`, sondern zum Zeitpunkt `FIN` geschlossen.

   Das bedeutet, dass das `CLOSE` erfolgen kann, nachdem ein GU an die Nachrichtenwarteschlange ausgegeben wurde und das Ziel im TP PCB zurückgesetzt wurde.

   Dies führt zu dem NII-Fehler NII3641 beim IMS TM-Statuscode `QF` (MPP) oder `A3` (BMP und OBMP/NTRD). Mit `CLOSE=CMD` wird der Drucker tatsächlich mit dem Statement `CLOSE PRINTER` geschlossen.

#### Verwendung von CLOSE PRINTER oder DEFINE PRINTER

Ein an einen IMS TM-Drucker gerichteter Report wird von IMS TM mit dem nächsten GU-Aufruf implizit geschlossen (d.h. entweder über Terminal-Ein-/Ausgabe oder über `CMGETMSG`). Das bedeutet, dass IMS TM den Report unabhängig von einem `CLOSE PRINTER`- oder `DEFINE PRINTER`-Statement im Programm drucken wird.

Bei Natural ist der Drucker noch geöffnet, und das nächste `WRITE`-Statement mit der gleichen Reportnummer wird den bereits gedruckten Report fortsetzen, was zu einem NAT1518-Fehler führt.

#### Szenario:

    DEFINE PRINTER (1)
      WRITE (1) 'line 1'
      INPUT 'Press ENTER' or CALL 'CMGETMSG' (both issue a GU)
      WRITE (2) 'line 2'

Mit `INPUT`/`CMGETMSG` wird der Drucker "physisch" geschlossen und IMS TM druckt einen Report, der die Zeile `'line 1'` enthält.

Da der Drucker noch "logisch" für Natural geöffnet ist, wird mit der Zeile `'line 2'` kein neuer Report gestartet, und es wird der Fehler NAT1518 verursacht, da das Ziel durch den GU-Aufruf gelöscht wird.

Es wird daher dringend empfohlen, die folgende Regel zu beachten:

| Warnung: Wenn nach dem GU der Report mit der gleichen Nummer fortgesetzt wird, ist ein `CLOSE PRINTER`-Statement erforderlich.

Bitte beachten Sie, dass das `DEFINE PRINTER`-Statement ein implizites Schließen durchführt, so dass z.B. das `CLOSE PRINTER`-Statement hinfällig ist. Beispiel:

Korrekt | Korrekt | Falsch (NAT1518)
--- | --- | ---
    REPEAT
      DEFINE PRINTER (1)
      WRITE (1)

      INPUT
    LOOP
    DEFINE PRINTER (1)
    REPEAT
      WRITE(1)
      CLOSE PRINTER (1)
      INPUT
    LOOP
    DEFINE PRINTER (1)
    REPEAT
      WRITE(1)

      INPUT
    LOOP

## SET CONTROL 'N' (Terminalkommando %N)

Das Statement `SET CONTROL 'N'` (Terminalkommando `%N`) gilt nicht unter IMS TM. Wenn es unter IMS TM verwendet wird, bewirkt es, dass der nächste logische Ausgabebildschirm unterdrückt wird.

## Unterstützung von TS=ON bei Natural unter IMS TM-Nachrichten

Alle Nachrichten von Natural unter IMS TM werden in Großbuchstaben umgesetzt, wenn `TS=ON` in der Natural-Sitzung angegeben ist.

## SENDER-Ziel

In der nachrichtenorientierten Umgebung (`NTRD`) und in der Serverumgebung (`SRVD`) werden alle Ausgaben, die normalerweise in `CMPRINT` geschrieben werden, an das mit dem Natural-Profilparameter `SENDER` angegebene Ziel gesendet. Mit `SENDER` geben Sie entweder ein gültiges IMS TM-Ziel an (in der Regel ein `LTERM`), an das die Ausgabe über die IMS TM-Nachrichtenwarteschlange gesendet wird, oder Sie geben einen der folgenden reservierten Werte an:

Wert | Bedeutung
--- | ---
`*WTO` | Die Natural-Ausgabe wird über eine WTO mit Routing Code 11 (Programmiererinformation) an das Job Log gesendet.
`*MTO` | Die Natural-Ausgabe wird über ein `/BROADCAST MASTER`-Kommando an die IMS TM-Hauptkonsole gesendet.
`*PRINTnn` | Die Natural-Ausgabe wird auf den Natural-Drucker `nn` geschrieben, d.h. die Ausgabe wird mit einem internen `WRITE(nn)` geschrieben. Die Druckdatei wird nach jeder Ausgabezeile geschlossen, und das Wagensteuerzeichen jeder Ausgabezeile ist das Leerzeichen.

Anmerkungen:

1. Wenn das Kommando `/BROADCAST MASTER` fehlschlägt (z.B. aufgrund von Berechtigungsproblemen), wird eine Fehlermeldung über eine WTO ausgegeben und alle Natural-Nachrichten, einschließlich der aktuellen Nachricht, werden an das Job Log gesendet. Das heißt, das `SENDER`-Ziel (Destination) wird intern auf `*WTO` gesetzt.
2. Im Falle von `*PRINT nn` wird dringend empfohlen, nur Drucker zu verwenden, die mit `AM=STD` definiert sind.
3. Es wird dringend empfohlen, das `SENDER`-Ziel (Destination) im Natural-Profilparametermodul zu definieren. Dadurch wird sichergestellt, dass das Ziel auch dann gefunden wird, wenn die Natural-Initialisierung fehlschlägt (z.B. aufgrund eines Adabas-Fehlers NAT3048 oder NAT3148).
4. Wenn Sie das `SENDER`-Ziel unbedingt dynamisch angeben wollen, müssen Sie die reservierten Werte in einfache Anführungszeichen setzen (z. B. `SENDER='*WTO'`).

## Unterstützung des Natural-Profilparameters PROGRAM

Der Natural-Profilparameter `PROGRAM` wird in den dialogorientierten Umgebungen und in der BMP-Umgebung unterstützt.

In der BMP-Umgebung verhält sich der Parameter `PROGRAM` wie in einer Standard-z/OS-Batch-Umgebung. Ein Beispiel mit dem Namen `XNIIBACK` wird im Dataset `NIIvrs.SRCE` ausgeliefert. Es wird erwartet, dass das aufgerufene Backend-Programm zur Natural IMS TM-Schnittstelle zurückkehrt.

In einer dialogorientierten Umgebung verhält sich der Natural-Profilparameter `PROGRAM` etwas anders als in anderen Natural-Umgebungen, einschließlich der BMP-Umgebung.

1. Der mit dem Profilparameter `PROGRAM` oder dem Natural-Subprogramm `CMPGMSET` angegebene Name ist der Name eines IMS TM-Transaktionscodes.

2. Der angegebene Transaktionscode wird nur aufgerufen, wenn die Natural-Sitzung ohne Fehler beendet wird.

3. Die mit dem `TERMINATE`-Statement gelieferten Daten werden als Eingabenachricht an die aufgerufene IMS TM-Transaktion weitergegeben.

## Natural Development Server- bzw. Natural Web I/O Server-Umgebung

Bei dieser Umgebung können Sie eine Natural Development Server (NDV)- oder Natural Web I/O Interface (NWO)-Server-Sitzung unter der Kontrolle von IMS TM ausführen und aus einer solchen Sitzung heraus auf IMS TM-Ressourcen wie IMS TM DB oder Db2-Datenbanken zugreifen. Die Server-Transaktion ist eine nicht-konversationelle Transaktion.

Weitere Informationen finden Sie unter:

Introducing the Natural Web I/O Interface Server IMS Adapter , Installing the Natural Web I/O Interface Server IMS Adapter under z/OS und Configuring the Natural Web I/O Interface Server IMS Adapter in der Natural Web I/O Interface-Dokumentation.

#### Einschränkung für diese Umgebung:

Der Zugriff auf die IMS TM-Ressourcen erfolgt über die Benutzerkennung `EZAIMSLN`. Das heißt, es wird keine Impersonation verwendet.

### On this page

- Übersicht über die IMS TM-Schnittstelle
- IMS TM-Umgebungen
- Dialogorientierte Umgebungen
- Nachrichtenorientierte Umgebung
- Batch Message Processing-Umgebung
- Unterstützung des Natural-Statements WRITE (n)
- SET CONTROL 'N' (Terminalkommando %N)
- Unterstützung von TS=ON bei Natural unter IMS TM-Nachrichten
- SENDER-Ziel
- Unterstützung des Natural-Profilparameters PROGRAM
- Natural Development Server- bzw. Natural Web I/O Server-Umgebung