In diesem Kapitel wird beschrieben, welche Natural-Funktionen und -Merkmale von Natural Advanced Facilities unterstützt werden und wie Sie diese benutzen können.
Das Statement DEFINE PRINTER
wird verwendet, um einer
Report-Nummer einen symbolischen Namen zuzuordnen und um die Zuordnung eines
Reports zu einem logischen Ziel (Destination, d.h. Drucker) zu steuern.
Anmerkung:
Das Statement DEFINE
PRINTER
ist in der Natural-Statements-Dokumentation
ausführlich beschrieben. Im vorliegenden Abschnitt werden nur die Klauseln
beschrieben, die für Natural Advanced Facilities gelten.
Dieser Abschnitt enthält außerdem Informationen zum Thema Gemischte Reports unter Verwendung von DEFINE PRINTER (siehe unten).
Die folgende Syntax des DEFINE PRINTER
-Statements für
NAF unterscheidet sich von der allgemeinen DEFINE PRINTER
-Syntax, weil
nicht alle Schlüsselwörter zutreffen:
DEFINE
PRINTER |
([ logical-printer-name =
] n ) |
||||
[OUTPUT operand1
] |
|||||
PROFILE operand2DISP operand3COPIES operand3PRTY operand4 |
|||||
4 |
logical-printer-name
ist
der Name, der dem Drucker n
zugewiesen
werden soll. Dies ist der Name, der für die
rep
-Notation in einem
DISPLAY
- oder WRITE
-Statement verwendet wird. Der
Wert für n
kann im Bereich von
1
bis 31
liegen.
Der Operand OUTPUT
ist das Ziel (Destination)
innerhalb des Online-Spooling-Systems und ist ein logischer Drucker (LPF).
Dieser logische Drucker muss in der Spool-Datei definiert sein (siehe
Funktion 31.2), muss aber nicht
Teil des derzeit aktiven Benutzerprofils sein.
Mit der PROFILE
-Klausel geben Sie als
operand2
den Namen einer
Druckersteuerzeichentabelle an, wie sie im NTCC-Makro oder in der Spool-Datei
definiert ist (siehe NTCC-Tabelle, Funktion
31.8).
Bei der DISP
-Klausel sind die möglichen Werte für
operand2
DEL
,
HOLD
und KEEP
. Wenn die DISP
-Klausel
weggelassen wird, wird die für den logischen Drucker angegebene Disposition
verwendet.
Mit der COPIES
-Klausel geben Sie die Anzahl der zu
druckenden Exemplare an. Die möglichen Werte für
operand3
sind 1
bis
255
. Wenn die COPIES
-Klausel weggelassen wird, wird
die für den logischen Drucker angegebene Anzahl von Exemplaren verwendet.
Mit der PRTY
-Klausel geben Sie die Priorität für den
Spool-Out an. Die möglichen Werte für
operand4
sind 1
bis
255
(wobei 1
für die niedrigste und 255
für die höchste Priorität steht). Wenn die PRTY
-Klausel
weggelassen wird, wird die für den logischen Drucker angegebene Priorität
verwendet.
Im Allgemeinen verwendet Natural Advanced Facilities die logischen Druckerdefinitionen im physischen Hauptspeicher (nicht die in der Spool-Datei). Es sind zwei verschiedene Situationen zu unterscheiden:
Der angeforderte logische Drucker ist im aktiven Benutzerprofil enthalten.
Der angeforderte logische Drucker ist nicht im aktiven Benutzerprofil enthalten.
Wenn ein DEFINE PRINTER
-Statement für Drucker
n
einen logischen Drucker anfordert,
der im aktiven Benutzerprofil enthalten ist (siehe Beispiel 1 unten), werden
die logischen Druckerdefinitionen im Speicher nicht überschrieben. Ein
nachfolgendes Natural-Programm wird daher dieselben logischen
Druckerdefinitionen antreffen. Die logischen Druckerdefinitionen sind so lange
gültig, bis ein anderes DEFINE PRINTER
-Statement veranlasst, dass
sie überschrieben werden.
Wenn ein DEFINE PRINTER
-Statement für Drucker
n
einen logischen Drucker anfordert,
der nicht im aktiven Benutzerprofil enthalten ist (siehe Beispiel 2 unten),
wird die n-
-te logische
Druckerdefinition im Speicher durch die angeforderte überschrieben. Ein
nachfolgendes Natural-Programm wird auf geänderte logische Druckerdefinitionen
stoßen, die durch das vorherige DEFINE PRINTER
-Statement
festgelegt wurden (weil davon ausgegangen wird, dass die geänderten logischen
Druckerdefinitionen auch von nachfolgenden Natural-Programmen verwendet werden
sollen).
Die folgenden Beispiele zeigen, wie das Statement DEFINE
PRINTER
funktioniert.
DEFINE PRINTER (2) OUTPUT 'LPF1' ... ... WRITE (2) 'text' ... WRITE (1) 'different text' ...
Wenn das obige Natural-Programm ausgeführt wird, wird die Ausgabe
des WRITE (2)
-Statement unter Verwendung der Definitionen von
LPF1
gespoolt. Das Statement WRITE (1)
verwendet
standardmäßig LPF1
, da es kein Statement DEFINE PRINTER
(1)
gibt. Daher verwenden sowohl das WRITE (1)
- als auch
das WRITE (2)
-Statement denselben logischen Drucker.
Wenn ein nachfolgendes Natural-Programm ein WRITE
(2)
-Statement ausführt und das Programm kein DEFINE PRINTER
(2)
-Statement enthält, wird die Ausgabe unter Verwendung der
Definitionen von LPF2
gespoolt.
Wenn der OUTPUT
-Operand des DEFINE
PRINTER
-Statement nicht mit einem der logischen Druckernamen im aktiven
Benutzerprofil identisch ist, werden die Werte für das Druckerprofil mit den im
OUTPUT
-Operanden angegebenen neuen Werten überschrieben.
... DEFINE PRINTER (2) OUTPUT 'LPF9' ...
Der Operand OUTPUT
des obigen DEFINE
PRINTER
-Statement bewirkt, dass die Definitionen von LPF2
mit den Werten überschrieben werden, die LPF9
zugewiesen sind,
einschließlich des logischen Druckernamens. Das aktive Benutzerprofil wird wie
folgt geändert:
Diese Definition bleibt für das Benutzerprofil so lange gültig,
bis ein anderes DEFINE PRINTER (2)
-Statement ausgeführt wird. So
wird die Ausgabe aller nachfolgenden WRITE (2)
-Statements
innerhalb derselben Natural-Sitzung unter Verwendung der Definitionen von
LPF9
gespoolt, wenn kein weiteres DEFINE PRINTER
(2)
-Statement ausgeführt wird.
Natural-Programme müssen manchmal verschiedene Reports für
denselben physischen Drucker erstellen. In diesem Fall muss auf den
OUTPUT
-Operanden des DEFINE PRINTER
-Statement
geachtet werden.
Wenn Sie DEFINE PRINTER
-Statements für verschiedene
logische Drucker, aber mit demselben OUTPUT
-Operanden
(d.h. demselben logischen Druckernamen) verwenden, wird nur ein Report
erstellt. Dieser Report enthält die Ausgaben aller WRITE
-,
PRINT
- oder DISPLAY
-Anweisungen in gemischter
Reihenfolge.
DEFINE PRINTER (1) OUTPUT 'LPF1' /* LPF same as in (0020) DEFINE PRINTER (2) OUTPUT 'LPF1' /* LPF same as in (0010) WRITE (1) 'This is for report 1' WRITE (2) 'This is for report 2' WRITE (1) 'This is for report 1' END
Wenn Sie DEFINE PRINTER
-Statements für verschiedene
logische Drucker und mit verschiedenen OUTPUT
-Operanden
(d. h. verschiedenen logischen Druckernamen) verwenden, werden mehrere
Reports erstellt. Um diese Reports an denselben physischen Drucker
weiterzuleiten, muss für die logischen Drucker dasselbe Ziel/Formular angegeben
werden.
DEFINE PRINTER (1) OUTPUT 'LPF1' /* LPF different from (0020) DEFINE PRINTER (2) OUTPUT 'LPF2' /* LPF different from (0010) WRITE (1) 'This is for report 1' WRITE (2) 'This is for report 2' WRITE (1) 'This is for report 1' END
Sie können alle gedruckten Reports oder Teile davon hervorheben., indem Sie mit Con-form-Anweisungen benutzen, z.B. während einer Con-nect-Session.
Folgende Con-form-Anweisungen werden unterstützt:
Anweisung | Beschreibung |
---|---|
.BF |
Die Textzeilen zwischen zwei
.BF -Anweisungen werden fett gedruckt.
|
.BP |
Der in der nächsten Eingabezeile enthaltene Text wird fett gedruckt. |
.US |
Der in der nächsten Eingabezeile enthaltene Text wird unterstrichen. |
char B |
Rückschritt zur Überlagerung eines Zeichens durch ein anderes. |
char U1...
char U0 |
Text zwischen den Symbolen U1 und
U0 wird unterstrichen.
|
char M1...
char M0 |
Text zwischen den Symbolen M1 und
M0 wird fett gedruckt.
|
Dabei steht char
für ein
beliebiges Sonderzeichen, das unter Verwendung der folgenden Con-form-Anweisung
als Escape-Zeichen definiert worden ist:
.OP ESC=char
Anmerkung:
Text kann nur in Fettdruck gedruckt werden, wenn der
Natural-Profileparameter INTENS
(siehe
Natural Parameter-Referenz-Dokumentation) auf einen Wert
größer als 1
gesetzt worden ist.
Wenn das Natural-Terminalkommando %H als Antwort auf eine
Eingabeaufforderung abgesetzt wird, erzeugt es die Ausgabe von Natural-Reports
und Dialogbildschirm-Layouts auf einem Drucker. Die Ausgabe erfolgt auf dem
ersten freien (FREE
) physischen Drucker, der für den definierten
logischen Drucker für Hardcopy zugeordnet ist (siehe Funktionen
12,
30.5,
31.1 und
33). Das
%H
-Kommando ist für die aktuelle Seite wirksam und
wird am Ende der Programmausgabe automatisch deaktiviert.
Wird %H
bei einer durch ein
INPUT
-Statement erzeugten Bildschirm-Maske (Objekttyp Map)
verwendet, wird der gesamte Inhalt des Seitenpuffers auf das Ausgabegerät
gespoolt.
Das gleiche gilt für das Statement SET CONTROL
'H'
.
Der NATSPOOL
-Nukleus schließt die Reports, wenn
Natural in den Kommandomodus zurückkehrt. Wenn ein Natural-Anwendungsprogramm
ein STACK COMMAND
-Statement verwendet, um ein anderes
Natural-Programm zu laden, wird der Kommandomodus aktiviert und die vom
aufrufenden Programm erstellten Reports werden geschlossen und entsprechend
ihrem Ziel (Disposition) gedruckt (vorausgesetzt, Natural befindet sich im
ET-Status, d.h. es steht kein END OF TRANSACTION
-Statement des
Benutzers an).
Wenn jedoch ein FETCH
-Statement verwendet wird, wird
intern nicht in den Kommandomodus gewechselt, und die vom aufrufenden Programm
erstellten Reports werden erst geschlossen und gedruckt, wenn das aufgerufene
Programm endet. Auf diese Weise können mehrere Natural-Programme an der
Erstellung eines einzigen Reports beteiligt sein.
* PGM-1 WRITE (1) 'output from PGM-1' STACK COMMAND 'PGM-2' END
* PGM-2 INPUT 'something' F1 (A8) (AD=MI) END
Wenn das Programm PGM-1
ausgeführt wird, wird der
durch das WRITE (1)
-Statement erstellte Report geschlossen und
sofort gedruckt.
* PGM-1 WRITE (1) 'output from PGM-1' FETCH 'PGM-2' END
* PGM-2 WRITE (1) 'output from PGM-2' INPUT 'something' F1 (A8) (AD=MI) END
Wenn das Programm PGM-1
ausgeführt wird, wird der mit
dem Statement WRITE (1)
erstellte Report nicht sofort gedruckt.
Wenn das INPUT
-Statement im Programm PGM-2
ausgeführt
wird, hat der Report den Status LOAD
(der Report ist noch nicht
geschlossen). Der Report wird erst nach Beendigung von PGM-2
geschlossen und gedruckt. Die von PGM-2
erzeugte Ausgabe wird in
denselben Report geschrieben wie die Ausgabe von PGM-1
.
Der NATSPOOL
-Nukleus versucht nur dann, ein
Adabas-ET
-Kommando für einen bestimmten Report zu
erteilen, wenn die Schließen-Anforderung (Close
) ausgeführt wird.
Die Schließen-Anforderung wird ausgeführt, wenn Natural (intern) in den
Kommandomodus zurückkehrt oder wenn ein CLOSE PRINTER
-Statement
ausgeführt wird. Zu diesem Zeitpunkt wird geprüft, ob sich Natural im
ET
-Status befindet, d.h. ob ein END OF
TRANSACTION
-Statement des Benutzers anhängig ist. Der
NATSPOOL
-Nukleus gibt nur dann ein
ET
-Kommando aus, wenn Natural im
ET
-Status ist (wenn kein Benutzer-ET
ansteht). Dadurch wird sichergestellt, dass die Reports vollständig in der
Spool-Datei gespeichert werden und dass die Logik der Benutzertransaktionen
nicht beeinträchtigt wird.
Besondere Aufmerksamkeit muss der Reihenfolge der Statements
END OF TRANSACTION
und CLOSE PRINTER
(rep)
gewidmet werden, wie in den Beispielen
6 bis 8 unten gezeigt wird.
Bei der Erstellung von langen Reports in einer Adabas-Spool-Datei
muss das Transaktionszeitlimit für ET
-Logik-Benutzer (Parameter
ADARUN
TT
) entsprechend definiert sein.
Wenn das Zeitlimit überschritten wird, wird der Report aus der Spool-Datei
zurückgezogen.
Die Größe der Hold-Warteschlange (Parameter ADARUN
NH
) muss ausreichend sein, um den Rückmeldecode 145
(HOLD QUEUE OVERFLOW
) während der Erstellung eines Reports zu
verhindern.
Der Datenschutzbereich (Parameter ADARUN
LP
) muss groß genug sein, um Rückmeldecode 9 zu
verhindern.
READ (1) PERSONNEL BY NAME UPDATE ... WRITE (1) 'string' END OF TRANSACTION END
Die Datei PERSONNEL
wird aktualisiert, und der Report
wird gedruckt. Ein ET
wird durch Natural (und nicht durch
NATSPOOL
) ausgegeben.
READ (1) PERSONNEL BY NAME UPDATE ... WRITE (1) 'string-1' END OF TRANSACTION WRITE (1) 'string-2' END
Die Datei PERSONNEL
wird aktualisiert, und der Report
wird gedruckt.
Das Statement END OF TRANSACTION
zwingt Natural zur
Ausgabe eines ET
. Sobald dieser ET
ausgeführt ist,
wird die Datei PERSONNEL
aktualisiert, die Ausgabe
string-1
wird in der Spool-Datei gespeichert und der
Report befindet sich im Status LOAD
. Da Natural sich jetzt im
Status ET
befindet, gibt NATSPOOL
einen weiteren
ET
aus, um die Ausgabe string-2
zu
speichern. Der Status des Reports wird auf TOBE
gesetzt.
Tritt zwischen der Ausführung von END OF TRANSACTION
und dem nachfolgenden ET
von NATSPOOL
eine
Unterbrechung auf, wird die Ausgabe string-2
aus der
Spool-Datei zurückgesetzt und der Report bleibt im Status LOAD
.
Wenn das obige Programm kein END OF TRANSACTION
hätte und die
Taste CLEAR gedrückt würde, dann würde der gesamte Report
zurückgesetzt werden. Dies liegt daran, dass Natural beim Drücken der
CLEAR-Taste einen BT
ausgibt.
Der Report kann wiederhergestellt werden (d.h. der Status
TOBE
kann erzwungen werden), indem der Funktionscode
RC
mit Funktion 10
ausgegeben wird.
READ (1) PERSONNEL BY NAME UPDATE ... WRITE (1) 'string' END
Die Datei PERSONNEL
und der Report befinden sich im
Status HOLD
. Wenn der Benutzer die Taste CLEAR drückt
oder die Natural-Sitzung beendet, wird der Report aus der Spool-Datei
zurückgesetzt (Backout).
Es wird kein ET
ausgegeben, und der Report kann weder
storniert noch von einem anderen Benutzer wiederhergestellt werden.
READ (1) PERSONNEL BY NAME UPDATE ... WRITE (1) 'string' BACKOUT TRANSACTION END
Die Änderung an der Datei PERSONNEL
und der
Report werden zurückgesetzt (Backout). Es wird kein
ET
ausgegeben.
READ (1) PERSONNEL BY NAME WRITE (1) 'string' END
Der Report wird gedruckt und es wird von NATSPOOL
(nicht von Natural) ein ET
ausgegeben.
READ (1) PERSONNEL BY NAME UPDATE ... WRITE (1) 'string' END OF TRANSACTION CLOSE PRINTER (1) END
Die Datei PERSONNEL
wird aktualisiert und der Report
wird gedruckt, sobald das CLOSE PRINTER
-Statement ausgeführt wird.
Es wird von Natural (nicht von NATSPOOL
) ein
ET
ausgegeben.
READ (1) PERSONNEL BY NAME UPDATE ... WRITE (1) 'string' CLOSE PRINTER (1) END OF TRANSACTION /* issued too late END
Während der Close-Verarbeitung (erzwungen durch das Statement
CLOSE PRINTER
) befindet sich die Datei PERSONNEL
noch
im Hold-Zustand. Da der Druckbeginn während der Close-Verarbeitung ausgelöst
wird, wird der Report nicht gedruckt, sondern verbleibt in der Spool-Datei im
Status TOLA
(END OF TRANSACTION
zu spät ausgegeben).
Ein ET
wird von Natural (nicht von NATSPOOL
)
ausgegeben.
READ (1) PERSONNEL BY NAME UPDATE ... WRITE (1) 'string' CLOSE PRINTER (1) END
Während der Close-Verarbeitung (erzwungen durch das Statement
CLOSE PRINTER
) befindet sich die Datei PERSONNEL
noch
in Wartestellung. Da der Druckbeginn während der Close-Verarbeitung ausgelöst
wird, wird der Report nicht gedruckt, sondern verbleibt in der Spool-Datei im
Status "nicht geschlossen, Transaktionsende fehlt"
(NOCL
= not closed, END OF TRANSACTION
missing).
Es wird kein ET
ausgegeben, und der
Report kann weder storniert noch von einem anderen Benutzer wiederhergestellt
werden.
Wenn der TP-Monitor während des
NATSPOOL
-Druckvorgangs abnormal beendet wird, geht der Report
nicht verloren. Der Report verbleibt mit Status ONPR
in der
Spool-Datei.
Nach einem Neustart des TP-Monitors kann der Report
wiederhergestellt werden, indem der Funktionscode RC
mit der
Funktion 10 abgesetzt wird.
Dadurch wird der Report-Status TOBE
erzwungen. Danach kann der
Drucker neu gestartet werden, um den Report zu drucken.
Diese Utility-Module dienen zum Lesen der Spool-Datei und zum
Drucken von Reports im Batch-Modus. Die Module sind als SPPBATPR
,
NSPOBAT
und SPPPRINT
in der Natural-System-Library
SYSPOOL katalogisiert.
Nachfolgend finden Sie Informationen über:
Reports, die mit NSPOBAT
gedruckt werden, werden,
ähnlich wie in Funktion 10
(Reports/Queues), nach ihrer Ziel-/Formularidentifikation ausgewählt.
Alle Reports, die mit Disposition D
, K
oder H
ausgewählt wurden, werden so oft gedruckt, wie bei der
Erstellung des Reports angefordert wurde. Reports mit anderen Dispositionen
werden nicht gedruckt.
Um nach Beendigung des Druckjobs alle Reports mit Disposition
D
oder H
aus der Spool-Datei zu löschen, geben Sie
als letzten Parameter PURGE
an. Reports mit anderen Dispositionen
werden nicht gelöscht.
Reports, die mit SPPBATPR
gedruckt werden, werden,
ähnlich wie in Funktion 10
(Reports/Queues), nach ihrer Ziel-/Formularidentifikation ausgewählt.
Alle Reports, die mit Disposition D
oder
K
ausgewählt wurden, werden so oft gedruckt, wie bei der
Erstellung des Reports angefordert wurde.
Um nach Beendigung des Druckjobs alle Reports mit Disposition
D
oder H
aus der Spool-Datei zu löschen, geben Sie
als letzten Parameter PURGE
an.
Mit SPPPRINT
gedruckte Reports werden nach
Ziel/Formular, Disposition, Benutzerkennung und nach der Anzahl der Tage (Alter
in Tagen) oder dem Erstellungsdatum ausgewählt.
Die Anzahl der Tage bestimmt, dass alle Reports gedruckt werden, die die Anzahl der Tage überschreiten, die als Speicherlimit für die Spool-Datei angegeben ist.
Das Erstellungsdatum bestimmt, dass alle Reports gedruckt werden, deren Erstellungsdatum vor dem definierten Datum liegt.
Alle ausgewählten Reports werden so oft gedruckt, wie bei der Erstellung des Reports angegeben.
Um alle Reports nach Beendigung des Druckjobs aus der
Spool-Datei zu löschen, geben Sie PURGE
als letzten
Parameter an.
Im folgenden Beispiel werden aus der Spool-Datei alle Reports
mit Formular A und einer Zielangabe (Destination) beginnend mit
ROOM
gedruckt.
//SPPBATPR JOB SPPBATPR,CLASS=G,MSGCLASS=X //LIST EXEC PGM=NATBATCH,PARM='IM=F,FSPOOL=(,XXX)' //STEPLIB DD DSN=NATURAL.V41.LOAD,DISP=SHR // DD DSN=ADABAS.V61.LOAD,DISP=SHR //DDCARD DD DSN=NATURAL.V41.SOURCE(ADAPARM),DISP=SHR //CMPRINT DD SYSOUT=X //CMPRT01 DD SYSOUT=X //CMSYNIN DD * LOGON SYSPOOL SPPBATPR DESTINATION=ROOM*,FORM=A FIN /*
// JOB SPPBATPR // OPTION PARTDUMP // ASSGN SYS010,SYSLST // ASSGN SYS000,SYSRDR // EXEC NATBATCH,PARM='SYSRDR' IM=F,FSPOOL=(XXX,XXX) /* ADARUN SVC=XXX,DA=XXX,DEVICE=XXX,MODE=MULTI /* LOGON SYSPOOL SPPBATPR DESTINATION=ROOM*,FORM=A FIN /* /&
Anmerkung:
Der Forms-Modus muss IM=F
sein.
/.SPPBATPR LOGON /SYSFILE SYSOUT=LST.SPPBATPR /EXEC NATB41 LOGON SYSPOOL SPPBATPR DESTINATION=ROOM*,FORM=A FIN /LOGOFF
Wenn Sie Reports unter Verwendung von NSPOBAT
,
SPPBATPR
oder SPPPRINT
löschen möchten, ohne sie zu
drucken, können Sie zu DUMMY
zuweisen. In z/VSE müssen
Sie eine Dummy-Zuweisung für SYSLST
(//ASSGN
SYSLST,IGN
) vornehmen.
LOGON SYSPOOL SPPBATPR DESTINATION=xxxxxxxx,FORM=y,PURGE=PURGE FIN
Alle Reports mit Ziel (Destination) xxxxxxxx und Formular y werden nach erfolgtem Druck aus der Spool-Datei gelöscht.
Alle Reports aus der Spool-Datei werden gedruckt und nach erfolgtem Druck aus der Spool-Datei gelöscht.
LOGON SYSPOOL SPPBATPR DESTINATION=*,FORM=*,PURGE=PURGE FIN
Nach dem Start des Programms MENU
in der Library
SYSPOOL
wird dieses Unterprogramm aufgerufen. Mit diesem
Unterprogramm können Sie Ihre eigenen Einstellungen, Berechtigungen usw.
festlegen. Die Einstellungen für die Meldungszeile (%M
) und die
PF-Tastenzeile (%Y
) dürfen Sie
nicht verändern.
Nach Beendigung der SYSPOOL
-Anwendung wird dieses
Unterprogramm aufgerufen. Sie können dieses Unterprogramm zur Steuerung Ihres
Umfeldes verwenden.
Dieses Unterprogramm wird vom Spool-Server während einer Natural-Session verwendet. Es erhält die Kontrolle, bevor ein Block an den Drucker gesendet wird. Die gelieferte Source enthält alle Parameterinformationen. Wenn Sie Daten in diesem Unterprogramm ändern, werden die geänderten Daten ungeprüft an den Drucker gesendet.
Wenn Ihr Drucker einen anderen User-Exit benötigt, können Sie
mit den mit USPSER01
gelieferten Parameterinformationen ein
User-Exit-Unterprogramm schreiben, das Ihren Anforderungen entspricht, und es
in der Natural-System-Library SYSPRINT
katalogisieren. Um den
User-Exit dem Drucker zuzuweisen, verwenden Sie die Funktion 31.4. Dort tragen
den Namen des User-Exit-Unterprogramms in das Feld Server-Exit
ein. Ihr User-Exit übernimmt dann die Kontrolle, bevor ein Block an den Drucker
gesendet wird.
Weitere Einzelheiten finden Sie unter Funktion 31.4 (Printer) im Abschnitt Objekte - Funktion 31.
Mit dem Programm SPPULDUS
kann der
Natural-Administrator Objekte (Benutzerprofile, logische Drucker, physische
Drucker usw.) aus einer Spool-Datei in die Arbeitsdatei (Work File) 3 entladen.
SPPULDUS
wird in der Library SYSPOOL
ausgeliefert.
Die folgenden Funktionscodes stehen bei SPPULDUS
zur
Verfügung:
Code | Beschreibung |
---|---|
1 |
Benutzerprofil entladen. |
2 |
Logischen Drucker entladen. |
3 |
Zuordnungstabelle entladen. |
4 |
Physischen Drucker entladen. |
5 |
Deckblätter entladen. |
6 |
Anwendung entladen. |
7 |
Cluster entladen. |
8 |
NTCC-Tabelle entladen. |
9 |
Kalender entladen. |
A |
Nachrichtenköpfe entladen (nur bei BS2000). |
* |
Alle Objekte entladen. |
Um Objekte aus der Arbeitsdatei (Work File) 3 in eine Spool-Datei
zu laden, kann der Administrator das Programm SPPLODUS
verwenden.
SPPLODUS
wird in der Library SYSPOOL
ausgeliefert.
Im Batch-Modus kann SPPLODUS
außerdem verwendet
werden, um Objekte aus einer vom Benutzer erstellten Arbeitsdatei, die zu
CMWKF03
zugewiesen ist, in eine Spool-Datei zu laden. Um mehrere
Objekte im Batch-Modus zu ändern, entladen Sie zunächst die Objekte mit
SPPULDUS
in diese Arbeitsdatei, ändern dann die Objekte mit einem
beliebigen Bearbeitungs-/Änderungswerkzeug und laden schließlich die Objekte
mit SPPLODUS
zurück. Informationen zum Layout der entladenen
Objekte finden Sie in der Online-Hilfe von Natural Advanced Facilities (wählen
Sie im Hilfe-Menü Funktion 99 und dann Funktion 1).
Anmerkung:
Beim Ausführen von SPPLODUS
muss keiner der oben
aufgeführten Funktionscodes angegeben werden.
//SPPULDUS JOB CLASS=K,MSGCLASS=X //SPPULDUS EXEC PGM=NAT41OBT,REGION=2000K,PARM='FSPOOL=(XXX,XXX),IM=D' //STEPLIB DD DSN=NATURAL.V41.LOAD,DISP=SHR // DD DSN=ADABAS.V61.LOAD,DISP=SHR //DDCARD DD DSN=NATURAL.V41.SOURCE(ADAPARM),DISP=SHR //CMPRINT DD SYSOUT=X //CMWKF03 DD DSN=NAF41.UNLOAD,DISP=SHR //CMSYNIN DD * LOGON SYSPOOL SPPULDUS * . FIN
// JOB SPPULDUS // OPTION LOG // ASSGN SYSLST,00E // EXEC PROG=ADAV61LB // EXEC PROG=ALL41LB // ASSGN SYS000,READER // EXEC NATBATCH,SIZE=NATBATCH,PARM='SYSRDR' FSPOOL=(XXX,XXX),IM=D /* ADARUN DA=XXX,SVC=XXX,TNAE=XXX,TT=XXX /* LOGON SYSPOOL SPPULDUS * . FIN /* /&
The Beispiel-Job zur Ausführung von SPPULDUS
bewirkt
folgende Ausgabe:
NEXT LOGON SYSPOOL LOGON ACCEPTED TO LIBRARY SYSPOOL NEXT SPPULDUS DATA * UNLOADED USER PROFILES : 17 UNLOADED LOGICAL PRINTERS : 33 UNLOADED ALLOCATIONS : 101 UNLOADED PHYSICAL PRINTERS : 48 UNLOADED EJECT CONTROLS : 51 UNLOADED MESSAGE HEADERS : 2 DATA . NEXT FIN NAT9995 Natural-Session TERMINATED NORMALLY
/.ULDUS LOGON /REMARK ******************************* /REMARK *** Unload Spool File *** /REMARK ******************************* /SYSFILE SYSLST=LI.LST.ULDUS /SYSFILE SYSOUT=LI.OUT.ULDUS /FILE DA,UNLOAD,LINK=W03 /SETSW ON=2 /SYSFILE SYSIPT=(SYSCMD) /SYSFILE SYSDTA=(SYSCMD) /EXEC NAT41B AUTO=ON,ETID=' ' /EOF LOGON SYSPOOL SPPULDUS * . FIN /SYSFILE SYSLST=(PRIMARY) /SYSFILE SYSOUT=(PRIMARY) /LOGOFF NOSPOOL
. . . LOGON SYSPOOL SPPLODUS FIN . . .