In diesem Dokument werden die Funktionen von Natural Advanced Facilities speziell für eine BS2000-Umgebung erläutert.
NATSPOOL
sammelt alle während einer
Natural-Benutzersitzung erzeugten Reports in der Spool-Datei. Um einen Report
physisch zu drucken, führt NATSPOOL
ein Event (Ereignis) aus, um
die Kontrolle an eine Batch-Session zu übergeben.
Diese neue Natural-Session, der
NATSPOOL
-Spool-Server, ruft aus dem Task, der den Event unter
Verwendung eines BS2000 CMP (Common Memory Pool) abgesetzt hat, verschiedene
dynamische Parameter ab.
Die logische Verknüpfung zwischen den zwei von
NATSPOOL
benutzten Natural-Sessions ist in der folgenden Abbildung
dargestellt:
Nachdem Natural Advanced Facilities installiert worden ist, müssen Sie mit der Funktion 30.5 die BS2000-Optionen setzen.
Der Spool-Server kann beim Start von openUTM automatisch
gestartet werden. Dazu muss der SPOOL
-Parameter in dem
Makro NATUM
angegeben werden. Der Spool-Server ist dann immer
aktiv, wenn Natural Advanced Facilities in einer openUTM benutzt
wird.
Der SPOOL
-Parameter hat die folgende
Syntax:
SPOOL=(NATSPOOL,'name',nn)
Parameter | Beschreibung |
---|---|
NATSPOOL |
Bezieht sich auf das entfernte Spool-System von Natural Advanced Facilities. |
'
name' |
Der Name des Enter Jobs, der den Spool-Server startet. |
nn |
Die Anzahl der zu startenden Spool-Server. Es können maximal 30 Spool-Server gleichzeitig gestartet werden. |
Beispiel für den SPOOL
-Parameter:
SPOOL=(NATSPOOL,'E.PTTASK',2)
Kann ein Spool-Server nicht gestartet werden (z.B. wenn das Batch-Limit erreicht worden ist), gibt der openUTM-Treiber die folgende Meldung aus:
SYSTEM ERROR: PLEASE GIVE KDCOFF
Soll ein Report an einen System-Drucker gesendet werden, muss das Benutzerprofil folgende Angaben enthalten:
Es muss ein physischer Drucker mit dem Namen
SYSTEM
definiert sein und
dem physischen Drucker SYSTEM
muss ein logischer
Drucker zugewiesen sein.
Der Spool-Server erkennt dann, dass für diesen Drucker generierte
Reports an den System-Drucker gesendet werden sollen. Der Report wird über das
WRLST
-Makro in den BS2000 EAM-Raum geschrieben. Danach wird der
Report auf dem entsprechenden System-Drucker (über das BS2000-Kommando
PRINT *SYSLST
) gedruckt. Es wird kein entfernter Drucker
aktiviert.
Die verschiedenen vorangehenden Verarbeitungsaktivitäten, die z.B. die Druckersteuerzeichen beeinflussen, werden im Spool-Server durchgeführt. Solange wie der Report in der Spool-Datei verbleibt, kann er an jeden beliebigen entfernten Drucker gesendet werden.
Zum Drucken eines Reports auf einem System-Drucker wird das
PRNT
-Makro mit den folgenden Angaben benutzt:
PRNT *SYSLST,ERASE,SPACE=E, COPIES=number of duplicates as specified in the LPF, PNAME=user ID of report, FORM=destination of report or value of BS2FORM from NAF parameter module,
Anmerkung:
Wenn Natural Security installiert ist, wird die Natural
Security-Benutzerkennung als sendende Benutzerkennung verwendet. Wenn Natural
Security nicht installiert ist, wird die Terminalkennung als sendende
Benutzerkennung verwendet.
Zum Drucken von Reports auf einem RSO-Drucker wird das
PRNT
-Makro mit den folgenden Angaben benutzt:
PRNT *SYSLST,ERASE,SPACE=E, COPIES=number of duplicates as specified in the LPF, PNAME=user ID of report, FORM=destination of report, or value of RSOFORM from NAF parameter module, or value defined for physical printer (31.4), DEV=physical printer
Anmerkung:
Wenn Natural Security installiert ist, wird die Natural
Security-Benutzerkennung als sendende Benutzerkennung verwendet. Wenn Natural
Security nicht installiert ist, wird die Terminalkennung als sendende
Benutzerkennung verwendet.
Damit NATSPOOL
unter BS2000 funktionieren kann,
müssen ein oder mehrere Spool-Server (maximal 30) aktiv sein. Diese Tasks
werden als Batch-Tasks gestartet und sind immer vorhanden. Wenn einem Drucker
keine Reports zugeordnet sind, befindet sich der Spool-Server im Status
WAIT
und es wird nur eine minimale CPU-Zeit genutzt. Wird ein
Report aus einer Natural-Session generiert, sucht der
NATSPOOL
-Nukleus nach dem angegebenen Drucker und aktiviert den
Spool-Server über den P1-EVENTING
-Mechanismus.
Die Kommunikation für das P1-EVENTING
wird definiert
mit den Parametern NAFERK1
und
NAFERK2
im BS2000-Parametermodul NAFB2P
für
Natural Advanced Facilities. Weitere Informationen siehe
Installing Natural
Advanced Facilities on BS2000. Die Werte für
NAFERK1
und NAFERK2
müssen für
eine gegebene CPU eindeutig sein. Auf diese Weise können zwei verschiedene
Natural-Umgebungen parallel in derselben CPU laufen und mit unterschiedlichen
NATSPOOL
-Umgebungen arbeiten. Die Parameter für das
P1-EVENTING
und die DCAM-Kommunikation (DC0
- DC30
) müssen für jede Natural-Installation und für
jede Natural Advanced Facilities-Installation verschieden sein. Wenn zwei oder
mehr Natural- oder Natural Advanced Facilities-Umgebungen unter Benutzung der
gleichen BS2000-Benutzerkennung installiert werden, ist es möglich,
verschiedene Module für NAFB2P
zu erstellen, indem man den
BS2000-Prozedurparameter PRGSUFF
in dem entsprechenden
Installationsjob setzt. Dieser Parameter muss für jede Installation eindeutig
sein.
Der Spool-Server, bei dem es sich um eine DCAM-Anwendung handelt, führt Folgendes durch:
Aktiviert den angegebenen Drucker (DCAM-Makro
YOPNCON
). Wenn der Drucker nicht aktiviert werden kann, setzt der
Spool-Server den Drucker in den Status INOP
.
Liest den Report aus der Spool-Datei.
Setzt die Druckersteuerzeichen so, dass sie den in der Druckerdefinition für diesen Drucker angegebenen Zeichen entsprechen.
Übergibt den Report (DCAM-Makro YSEND
) in
Segmenten an den Drucker, die der Größe des Druckerpuffers entsprechen.
Nach jedem Segment des Reports wird die Übertragungsbestätigung
(DCAM-Makro YRECEIVE
) geprüft, um festzustellen, ob der Report
gedruckt wurde. Ist dies nicht der Fall, so wird nach einer bestimmten
Wartezeit ein weiterer Versuch unternommen. Ist die Übergabe dann immer noch
nicht erfolgreich, wird der Drucker in den Status INOP
gesetzt.
Nachdem der Report gedruckt wurde, prüft der Spool-Server, ob ein
weiterer Report für diesen Drucker in die Spool-Datei geschrieben wurde. Ist
dies der Fall, wird dieser Report sofort gedruckt. Wenn keine weiteren Reports
anstehen, wird der Drucker deaktiviert (DCAM-Makro YCLSCON
) und
steht für andere Spool-Systeme zur Verfügung. Der Spool-Server kehrt in den
Status WAIT
zurück, bis ein neues
PRINT
-Kommando für diesen oder einen anderen Drucker
erteilt wird.
Unter BS2000 stellt Natural Advanced Facilities die unten
beschriebenen User-Exits zur Verfügung. Die User-Exits sind in Assembler
geschrieben. Alle Informationen, die an diese User-Exits übergeben werden,
verwenden von der Software AG definierte DSECTS namens NAFDINFO
,
NAFDTECH
und NATDINFO
.
Dieser User-Exit muss mit dem Front-Teil des Spool-Servers
verknüpft werden, indem der CSECT-Name NAFEXIT1
verwendet wird.
Der Exit wird für alle physischen Drucker aktiviert, für die im Feld User
Exit
der Wert EXIT1
definiert ist. Der Exit übernimmt für
jeden Report zeilenweise die Kontrolle. Der Spool-Server wird keine
Report-Daten nachbearbeiten.
Dieser Exit führt die folgenden Funktionen aus:
Code | Funktion |
---|---|
1 |
Report öffnen |
2 |
Report schreiben |
3 |
Report senden |
Die korrekte Ausführung des Exits muss über Register 15 (Wert =
0
) mitgeteilt werden. Ansonsten wird der Inhalt des Exits als
negativer Rückmeldecode erkannt.
Register 1 adressiert den folgenden Parameterbereich:
Offset | Addresse von |
---|---|
0 |
Funktionscode |
4 |
Nicht verwendet, darf nicht geändert werden |
8 |
Datenbereich |
12 |
Länge |
16 |
NAFDINFO |
20 |
NAFDTECH |
24 |
NATDINFO |
Nicht verwendete Adressen werden vom Spool-Server auf einen hohen Wert gesetzt.
Register 13 adressiert den Speicherbereich für Register. Register 15 muss den Rückgabecode enthalten.
Dieser User-Exit muss über den CSECT-Namen NAFEXIT2
mit dem Front-Teil des Spool-Servers verknüpft werden.
Bevor das DCAM-Makro YSEND
ausgeführt wird, wird
der Nachrichtenblock an den Exit übergeben, damit der Benutzer den Datenbereich
ändern kann. Der geänderte Meldungsblock wird dann mit Hilfe des DCAM-Makros
YSEND
an den jeweiligen Drucker gesendet. Führt eine Änderung des
Meldungsblocks zu einer neuen Meldungslänge, muss der entsprechende Parameter
aktualisiert werden.
Die korrekte Ausführung des Exits muss über Register 15 (Wer t=
0
) mitgeteilt werden. Ansonsten wird der Inhalt des Exits als
negativer Rückgabecode erkannt.
Register 1 adressiert den folgenden Parameterbereich:
Offset | Addresse von |
---|---|
0 |
Nicht verwendet |
4 |
Nicht verwendet |
8 |
Datenbereich |
12 |
Länge |
16 |
NAFDINFO |
20 |
NAFDTECH |
24 |
NATDINFO |
Nicht verwendete Adressen werden vom Spool-Server auf einen hohen Wert gesetzt.
Register 13 adressiert den Speicherbereich für Register. Register 15 muss den Rückgabecode enthalten.
Dieser User-Exit muss mit dem Spool-Server über den CSECT-Namen
NAFEXIT3
verknüpft werden.
Dieser Exit steuert alle Funktionen, die bei einer Startanforderung ausgeführt werden sollen. Der Spool-Server ignoriert alle Aktivitäten, er ruft nur den Exit auf und prüft den Rückgabecode.
Dieser Exit führt die folgenden Funktionen aus:
Code | Funktion |
---|---|
1 |
Verbindung zum Spooling-Gerät öffnen |
2 |
Report öffnen |
3 |
Report-Daten senden |
4 |
Report schließen |
5 |
Verbindung zum Spooling-Gerät schließen |
Die korrekte Ausführung des Exits muss über Register 15 (Wert =
0
) mitgeteilt werden. Ansonsten wird der Inhalt des Exits als
negativer Rückgabecode erkannt. Wenn eine Funktion mit einem Fehler abbricht,
kann über den Offset 4
von Register 1 ein Funktionsname
zurückgegeben werden.
Register 1 adressiert den folgenden Parameterbereich:
Offset | Addresse von |
---|---|
0 |
Funktionscode |
4 |
Abnormal beendete Funktion |
8 |
Datenbereich |
12 |
Länge |
16 |
NAFDINFO |
20 |
NAFDTECH |
24 |
NATDINFO |
Nicht verwendete Adressen werden vom Spool-Server auf einen hohen Wert gesetzt.
Register 13 adressiert den Speicherbereich für Register. Register 15 muss den Rückgabecode enthalten.
Dieser User-Exit muss mit dem Front-Teil der Natural
openUTM- oder TIAM-Schnittstelle über den CSECT-Namen
NAFEXIT4
verlinkt werden.
Dieser Exit steuert alle Funktionen, die beim Erstellen eines Reports ausgeführt werden. Die Spool-Daten werden nicht in der Spool-Datei gespeichert und die ET/BT-Logik wird nicht unterstützt.
Dieser Exit führt die folgenden Funktionen aus:
Code | Funktion |
---|---|
1 |
Report öffnen |
2 |
Report schreiben |
3 |
Report schließen und keine weiteren Daten schreiben |
4 |
Report schließen und letzte Daten schreiben |
Die korrekte Ausführung des Exits muss über Register 15 (Wert =
0
) mitgeteilt werden. Ansonsten wird der Inhalt des Exits als
negativer Rückgabecode erkannt.
Register 1 adressiert den folgenden Parameterbereich:
Offset | Addresse von |
---|---|
0 |
Funktionscode |
4 |
Nummer des logischen Druckers |
8 |
Datenbereich |
12 |
Länge |
16 |
NAFDINFO |
20 |
Nicht verwendet |
24 |
NATDINFO |
28 |
Benutzspezifisches Feld |
Nicht verwendete Adressen werden vom Spool-Server auf einen hohen Wert gesetzt.
Register 13 adressiert den Speicherbereich für Register. Register 15 muss den Rückgabecode enthalten.
Die Online-Kommunikation von Natural mit dem Spool-Server erfolgt
über den Mechanismus P1-EVENTING
und einen gemeinsamen
Speicherpool.
Neben dem Parameter FSPOOL
für die
Natural-Spool-Datei werden auch die Werte für die Parameter
FNAT
und FSEC
übertragen.
Unter BS2000 sind drei Arten der Kommunikation zwischen Natural und dem Spool-Server möglich, siehe die folgenden Abbildungen.
Wenn bei der Kommunikation zwischen Natural und dem Spool-Server ein Fehler auftritt, kann der Systemverwalter den gemeinsam genutzten Speicherpool zurücksetzen. Siehe Funktion 40.6.
Mit Hilfe des BS2000-Monitors können Sie einen Report von dem Rechner aus starten, auf dem er erstellt wurde, auch wenn die Konfiguration nicht mit einem Spool-Server kommunizieren kann.
Bei Verwendung eines Monitor-Task muss im NAF-Parametermodul Folgendes definiert sein:
Der Parameter MONEVT
muss für das
P1-EVENTING
des Monitors definiert werden. Für
P1-EVENTING
können Sie nur einen Monitor-Task starten.
Der Parameter PAMO
muss mit einem
gültigen LOGON
-Kommando für den Monitor definiert
sein.
Das Natural-Programm SVPMON01
, das beim Start des
Monitors aktiviert wird, erwartet die folgenden Eingaben:
Das Zeitintervall in Minuten für die Überprüfung der
Spool-Datei. Gültige Werte sind 1
bis 300
.
Wie die Meldungen über die ausgeführten Aktionen (z. B. Prüfen oder Starten) behandelt werden sollen.
Datenbankkennung und Dateinummer der zu prüfenden Spool-Datei.
Sie können bis zu 50 verschiedene Spool-Dateien definieren. Nach der letzten
gewünschten Spool-Datei geben Sie als Datenbankkennung 99999
an,
um das Ende der Liste zu kennzeichnen.
Rechner 1 hat keine Drucker, keine Spool-Datei und keinen Spool-Server. Nur an Rechner 2 sind Drucker sowie eine Spool-Datei und ein Spool-Server angeschlossen.
Auf Rechner 1 erstellte Reports können nur auf Rechner 2 gedruckt
werden. Sie werden in der Spool-Datei von Rechner 2 gespeichert. Da der Start
der Ausgabe durch P1-EVENTING
gesteuert wird, ist es nicht
möglich, Reports von Rechner 1 aus zu starten.
Um Reports von Rechner 1 aus zu starten, können Sie wie folgt vorgehen:
Definieren Sie in der Spool-Datei von Rechner 2 logische
Drucker, die sich auf Zuordnungen beziehen, deren Warteschlangenstatus auf
MONITOR
gesetzt ist.
Alle auf Rechner 1 erstellten Reports verwenden die oben genannten logischen Drucker.
Definieren und starten Sie auf Rechner 2 einen Monitor-Task (zusätzlich zu den Spool-Servern).
Der Monitor-Task prüft nun in festgelegten Intervallen die Spool-Datei auf Reports, die zu einer Monitor-Warteschlange gehören. Wenn Reports gefunden werden und ein Spool-Server für diese Warteschlange nicht aktiv ist, wird die Ausgabe für diese Warteschlange automatisch gestartet.