DEFINE PRINTER ([logical-printer-name=]n)
|
||||||
[OUTPUT
operand1]
|
||||||
|
8 |
Dieses Dokument behandelt folgende Themen:
Eine Erläuterung der in dem Syntax-Diagramm verwendeten Symbole entnehmen Sie dem Abschnitt Syntax-Symbole.
Verwandte Statements: AT END OF PAGE | AT TOP OF PAGE | CLOSE PRINTER | DISPLAY | EJECT | FORMAT | NEWPAGE | PRINT | SKIP | SUSPEND IDENTICAL SUPPRESS | WRITE | WRITE TITLE | WRITE TRAILER
Gehört zur Funktionsgruppe: Erstellen von Ausgabe-Reports
Das Statement DEFINE PRINTER
dient dazu, einer
Report-Nummer einen symbolischen Namen zuzuordnen und die Zuweisung eines
Reports zu einem logischen Bestimmungsort (Drucker) zu steuern. Dies bietet
zusätzliche Flexibilität bei der Erstellung von Ausgaben für verschiedene
logische Drucker-Warteschlangen.
Ist bei der Ausführung dieses Statements der angegebene Drucker bereits
offen, bewirkt dieses Statement implizit, dass der Drucker geschlossen wird. Um
einen Drucker explizit zu schließen, sollten Sie das Statement
CLOSE PRINTER
verwenden.
Weitere Informationen zum DEFINE PRINTER
-Statement, siehe
Unicode and Code Page
Support in the Natural Programming Language, Abschnitt
Statements.
Operanden-Definitionstabelle:
Operand | Mögliche Struktur | Mögliche Formate | Referenzierung erlaubt | Dynam. Definition | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operand1 | C | S | A | U | ja | nein | ||||||||||||||
operand2 | C | S | A | U | ja | nein | ||||||||||||||
operand3 | C | S | N | ja | nein | |||||||||||||||
operand4 | C | S | N | P | I | ja | nein |
Syntax-Element-Beschreibung:
(n) |
Druckernummer:
Allen im Verlauf einer Session zu benutzenden Druckdateien muss im
Voraus eine Zugriffsmethode zugewiesen werden, und zwar über den Subparameter
Die Druckernummer n kann ein Wert im
Bereich von 0 − 31 sein. Dies ist die Nummer, die auch verwendet werden soll in
einem Die Druckernummer 0 verweist auf den Hardcopy-Drucker. Einige
Zugriffsmethoden unterstützen den Hardcopy-Drucker nicht, z.B.
|
---|---|
logical-printer-name |
Logischer Druckername:
Als Option können Sie dem Drucker n
einen logischen Druckernamen logical-printer-name
zuweisen. Dieser Name kann für die
Die Namenskonventionen für
logical-printer-name sind identisch mit denen für
Benutzervariablen. Mehrere logische Namen können ein- und derselben
Druckernummer zugewiesen werden. Im Gegensatz zum Wert des
|
OUTPUT operand1 |
Druckername:
Als operand1 können Sie den Druckernamen
innerhalb des online Spooling-Systems angeben, oder den der Druckernummer
zuzuweisenden Druckerdateinamen oder den Namen eines zusätzlichen Druckers,
siehe Druckername
für zusätzliche Reports weiter unten. Der 8−Byte lange
logische Druckername kann zu Anfang über den Subparameter
Wenn der angegebene Name bereits für eine andere Druckernummer
definiert ist, und dieser Drucker unbenutzt ist, d.h. den Status geschlossen
hat, wird die Druckausgabe zu diesem Drucker weitergeleitet, wenn der
Subparameter Informationen zu betriebssystemabhängigen oder TP-Monitor-abhängigen Drucker-Namenskonventionen entnehmen Sie den folgenden Abschnitten: Bei den folgenden Klauseln können Sie Druckersteuer-Informationen angeben, die vom Spooling-System des TP-Monitors bzw. Betriebssystem interpretiert werden sollen. Sie können eine oder mehrere dieser Klauseln angeben, aber jede von diesen nur einmal. |
PROFILE operand2 |
Name der
Druckersteuerzeichen-Tabelle:
Bei der Sie definieren die Druckersteuerzeichen-Tabelle über den
Profilparameter Anmerkung: |
CODEPAGE operand2 |
Name der Codepage:
Mit
|
Bei den im Folgenden aufgeführten Klauseln können Werte für Parameter
des Spooling-Systems vom TP-Monitor angegeben werden. Den Standardwert dieser
Klauseln können Sie mit den entsprechenden Subparametern des Profilparameters
PRINT
setzen (siehe
PRINT
Schlüsselwortparameter für DEFINE PRINTER-Statement).
Wird ein Drucker geschlossen, werden alle Optionen auf ihre
Standardwerte zurückgesetzt. Wenn die Definitionen in einer Natural-Umgebung
nicht eindeutig sind, empfiehlt die Software AG, sie in jedem Modul mittels des
DEFINE PRINTER
-Statements zu setzen.
FORMS operand2 |
Formular:
Maximale Länge des Operanden: 8 Bytes. Der Standardwert dieser Klausel kann mit dem Subparameter
|
---|---|
NAME operand2 |
Listname:
Maximale Länge des Operanden: 8 Bytes. Der Standardwert dieser Klausel kann mit dem Subparameter
|
DISP operand2 |
Disposition:
Maximale Länge des Operanden: 4 Bytes. Für die |
CLASS operand2 |
Spool-Klasse:
Maximale Länge des Operanden: 1 Byte. Der Standardwert dieser Klausel kann mit dem Subparameter
|
COPIES operand3 |
Anzahl der Kopien:
operand3 muss ein Ganzzahlwert sein.
Der Standardwert dieser Klausel kann mit dem Subparameter
|
PRTY operand4 |
Listing-Priorität:
Mögliche Werte: 1 − 255. operand4 muss ein Ganzzahlwert sein. Der Standardwert dieser Klausel kann mit dem Subparameter
|
Dieses Abschnitt behandelt folgende Themen:
Für eine mit der Zugriffsmethode
AM=STD
definierte Druckernummer können Sie operand1
benutzen, um einen logischen oder physischen Dataset-Namen anzugeben, der
dieser Druckernummer zugewiesen werden soll.
In diesem Fall kann operand1 1 bis 253 Stellen lang sein und folgenden Wert annehmen:
ein logischer Dataset-Name (DD-Name, 1 bis 8 Stellen);
ein physischer Dataset-Name eines katalogisierten Datasets (1 bis 44 Stellen) oder ein physischer Dataset-Member-Name (1 bis 44 Stellen für den Dataset-Namen plus 1 bis 8 Stellen in Klammern für den Member-Namen);
ein Pfad- und Member-Name einer HFS-Datei (1 bis 253 Stellen) in einer MVS-UNIX-Services-Umgebung;
eine JES-Spoolfile-Klasse
NULLFILE
(bezeichnet ein Dummy-Dataset).
Beispiel:
DEFINE PRINTER (21) OUTPUT 'SYSPRINT'
Das angegebene Dataset mit dem DD-Namen SYSPRINT
muss
zugewiesen worden sein, bevor das DEFINE PRINTER
-Statement
ausgeführt wird. Weitere Informationen entnehmen Sie dem Abschnitt
Zuweisung
und Freigabe von Datasets weiter unten.
Die Zuweisung kann über JCL, CLIST (TSO) oder dynamische Zuweisung (SVC
99) erfolgen. Für dynamische Zuweisung können Sie die Programmier-Schnittstelle
(API) USR2021N
in der Library
SYSEXT
verwenden.
Der in dem DEFINE PRINTER
-Statement angegebene
Dataset-Name überschreibt den in dem Subparameter
DEST
des
Profilparameters PRINT
angegebenen
Namen.
Optional kann dem Dataset-Namen DDN=
vorangestellt werden,
um anzuzeigen, dass es sich um einen DD-Namen handelt, und um Namenskonflikte
mit zusätzlichen Reports zu vermeiden. Zum Beispiel:
DEFINE PRINTER (22) OUTPUT 'DDN=SOURCE'
Beispiel:
DEFINE PRINTER (23) OUTPUT 'TEST.PRINT.FILE'
Das angegebene Dataset muss in katalogisierter Form vorhanden sein.
Wenn das DEFINE PRINTER
-Statement ausgeführt wird, wird das
Dataset dynamisch über SVC 99 mit dem aktuellen DD-Namen und der Option
DISP=SHR
zugewiesen. Weitere Informationen entnehmen Sie dem Abschnitt
Zuweisung
und Freigabe von Datasets weiter unten.
Wenn der Dataset-Name 8 Stellen oder kürzer ist und keinen Punkt (.)
enthält, könnte er fälschlich als DD-Name interpretiert werden. Um dies zu
vermeiden, stellen Sie ihm DSN=
voran. Zum Beispiel:
DEFINE PRINTER (22) OUTPUT 'DSN=PRINTXYZ'
Falls das Dataset ein PDS-Member ist, geben Sie den PDS-Member-Namen (1 bis 8 Stellen) in Klammern hinter dem Dataset-Namen (1 bis 44 Stellen) an. Zum Beispiel:
DEFINE PRINTER (4) OUTPUT 'TEST.PRINT.PDS(TEST1)'
Falls das angegebene Member nicht existiert, wird ein neues Member unter diesem Namen angelegt.
Beispiel:
DEFINE PRINTER (14) OUTPUT '/u/nat/rec/test.txt'
Der angegebene Pfadname muss existieren. Wenn das DEFINE
PRINTER
-Statement ausgeführt wird, wird die HFS-Datei dynamisch
zugewiesen. Falls das angegebene Member nicht existiert, wird ein neues Member
unter diesem Namen angelegt.
Bei dynamischer Zuweisung des Datasets werden folgende z/OS-Pfadoptionen verwendet:
PATHOPTS=(OCREAT,OTRUNC,ORDWR) PATHMODE=(SIRUSR,SIWUSR,SIRGRP,SIWGRP) FILEDATA=TEXT
Wird eine HFS-Datei geschlossen, wird sie automatisch von z/OS
freigegeben (unabhängig vom Wert des Subparameters
FREE
im
Profilparameter PRINT
).
Um ein JES-Spool-Dataset zu erzeugen, geben Sie
SYSOUT=x
an (wobei
x die gewünschte Spoolfile-Klasse ist). Für die
Standard-Spoolfile-Klasse geben Sie SYSOUT=*
an.
Beispiele:
DEFINE PRINTER (10) OUTPUT 'SYSOUT=A' DEFINE PRINTER (12) OUTPUT 'SYSOUT=*'
Um zusätzliche Parameter für die dynamische Zuweisung anzugeben,
verwenden Sie statt des DEFINE PRINTER
-Statements die
Programmierschnittstelle (API) USR2021N in der Library
SYSEXT
.
Um ein Dummy-Dataset zuzuweisen, geben Sie NULLFILE
als
operand1 an:
DEFINE PRINTER (n) OUTPUT 'NULLFILE'
Dies entspricht der JCL-Definition:
// DD-name DD DUMMY
Wenn das DEFINE PRINTER
-Statement ausgeführt wird und ein
physischer Dataset-Name, eine HFS-Datei, eine Spoolfile-Klasse oder ein
Dummy-Dataset angegeben wurde, wird das entsprechende Dataset dynamisch
zugewiesen. Wenn eine logische Druckdatei bereits geöffnet ist, wird sie
automatisch geschlossen, außer wenn der Subparameter
CLOSE=FIN
des Profilparameters PRINT
angegeben
wurde, wobei dann ein Fehler ausgegeben wird. Außerdem wird ein bestehendes
Dataset mit dem gleichen aktuellen DD-Namen automatisch freigegeben, bevor das
neue Dataset zugewiesen wird.
Um Fehler durch verfrühtes Öffnen von beim Programmstart noch nicht
zugewiesenen Druckdateien zu vermeiden, sollten Druckdateien mit dem
Subparameter OPEN=ACC
(Öffnen bei erstem Zugriff) im Profilparameter
PRINT
definiert werden.
Im Falle einer HFS-Datei oder einer im
PRINT
-Profilparameter
mit Subparameter FREE=ON
definierten Druckdatei wird die Druckdatei automatisch freigegeben, sobald sie
geschlossen worden ist.
Als Alternative für die dynamische Zuweisung und Freigabe von Datasets
steht Ihnen die Programmierschnittstelle (API)
USR2021N
in
der Library SYSEXT
zur Verfügung. Diese API ermöglicht auch die
Angabe zusätzlicher Parameter für die dynamische Zuweisung.
In Server-Umgebungen kann es zu Fehlern kommen, wenn mehrere
Natural-Sessions versuchen, ein Dataset mit dem gleichen DD-Namen zuzuweisen
oder zu öffnen. Um dies zu vermeiden, geben Sie entweder im Profilparameter
PRINT
den
Subparameter DEST=*
an, oder Sie geben im DEFINE PRINTER
-Statement OUTPUT
'*'
an; Natural generiert dann einen eindeutigen DD-Namen bei der
Zuweisung der physischen Datasets, wenn das erste DEFINE
PRINTER
-Statement für die betreffende Druckdatei ausgeführt wird.
Alle Druckdateien, deren DD-Namen mit CM
anfangen, werden
von allen Sessions in einer Server-Umgebung gemeinsam benutzt. Eine solche
Druckdatei wird von der ersten Session geöffnet, aber erst bei Beendigung des
Servers physisch geschlossen. Weitere Informationen siehe Abschnitt
Natural as a
Server in der
Operations-Dokumentation
Für eine mit der Zugriffsmethode
AM=STD
definierte Druckernummer kann operand1 folgendes
sein:
ein logischer Dataset-Name (DD-Name, 1 bis 7 Zeichen);
NULLFILE
(um auf ein Dummy-Dataset zu verweisen).
Beispiel:
DEFINE PRINTER (2) OUTPUT 'SYSOUT1'
Das angegebene Dataset SYSOUT1
muss in der JCL oder in den
VSE-Standard- oder Partition-Labels zugewiesen worden sein.
Der in dem DEFINE PRINTER
-Statement angegebene
Dataset-Name überschreibt den in dem Subparameter
DEST
des
Profilparameters PRINT
angegebenen Namen.
Optional kann dem Dataset-Namen DDN=
vorangestellt werden,
um anzuzeigen, dass es sich um einen DD-Namen handelt. Zum Beispiel:
DEFINE PRINTER (5) OUTPUT 'DDN=MYPRINT'
Um ein Dummy-Dataset zuzuweisen, geben Sie NULLFILE
als
operand1
an:
DEFINE PRINTER (n) OUTPUT 'NULLFILE'
Für eine mit der Zugriffsmethode AM=STD
definierte
Druckernummer können Sie operand1
benutzen, um einen logischen oder physischen Dataset-Namen anzugeben, der
dieser Druckernummer zugewiesen werden soll.
In diesem Fall gilt dasselbe wie unter z/OS (siehe Abschnitt Drucker unter z/OS Batch, TSO und Server), aber mit folgenden Unterschieden:
Anstatt der dynamischen Zuweisung über MVS SVC 99 wird das
CMS-Kommando FILEDEF
verwendet, um ein Dataset zu
definieren.
HFS-Dateien werden nicht unterstützt.
JES Spool-Klassen werden nicht unterstützt.
Außerdem wird die folgende Syntax verwendet:
DEFINE PRINTER (n) OUTPUT ('fname ftype fmode(options)')
Dies führt zur Generierung des CMS-Kommandos:
FILEDEF ddname-n DISK fname ftype fmode (options)
Weiterhin ist die folgende Syntax zulässig:
DEFINE PRINTER (n) OUTPUT ('FILEDEF=filedef-parameters')
Dies führt zur Generierung des CMS-Kommandos:
FILEDEF ddname-n =filedef-parameters
Für eine mit der Zugriffsmethode
AM=STD
definierte Druckernummer können Sie
operand1
benutzen, um einen Dateinamen, Link-Namen oder eine Systemdatei anzugeben,
der/die dieser Druckernummer zugewiesen werden soll.
In diesem Fall kann operand1 1 bis 253 Stellen lang sein und eins der Folgenden sein:
*DUMMY
Es gelten die folgenden Regeln:
Datei- und Link-Name können als Positions-Parameter oder
Schlüsselwortparameter angegeben werden. Die entsprechenden Schlüsselwörter
sind FILE=
und LINK=
. Das Vertauschen von
positionalen Parametern und Schlüsselwortparametern ist zulässig aber nicht
empfehlenswert.
Eine Zeichenkette mit einer Länge von 1 bis 8 Stellen ohne Kommas wird als ein Link-Name interpretiert. Diese Notation ist mit früheren Versionen von Natural kompatibel. Beispiel:
DEFINE PRINTER (1) OUTPUT 'P01'
Die entsprechende Definition mit einem Schlüsselwortparameter lautet wie folgt:
DEFINE PRINTER (1) OUTPUT 'LINK=P01'
Eine Zeichenkette von 9 bis 54 Stellen ohne Kommas wird als ein Dateiname interpretiert. Beispiel:
DEFINE PRINTER (2) OUTPUT 'NATURAL31.TEST.PRINTER02'
Die entsprechende Definition mit einem Schlüsselwortparameter lautet wie folgt:
DEFINE PRINTER (2) OUTPUT 'FILE=NATURAL31.TEST.PRINTER02'
Die folgende Eingabe wird ohne Berücksichtigung der Länge interpretiert und bildet deshalb eine Ausnahme zu den Regeln 2 und 3:
Eingabe Schlüsselwort: LINK=
, FILE=
*DUMMY
NULLFILE
(entspricht *DUMMY
)
*
*,*
SYSOUT
SYSLST
oder
SYSLST(nn)
Beispiel: DEFINE PRINTER (7) OUTPUT 'FILE=Y'
ist eine
gültige Dateizuweisung und kein Link-Name, obwohl die Zeichenkette weniger als
9 Zeichen enthält.
Generische Dateinamen sehen wie folgt aus:
pnn.userid.tsn.date.time.number
dabei ist
nn | eine Reportnummer |
---|---|
userid | eine Natural User-ID mit 8 Zeichen |
tsn | die BS2000/OSD TSN der aktuellen Task mit 4 Ziffern |
date | DDMMYYYY (Tag, Monat, Jahr)
|
time | HHIISS (Stunde, Minute, Sekunde) |
number | eine Reihenfolgenummer mit 5 Ziffern |
Generische Link-Namen sehen wie folgt aus:
NPFnnnnn
dabei ist nnnnn eine 5-stellige Zahl, die nach jeder Generierung eines dynamischen Link-Namens jeweils um eins erhöht wird.
Das Ändern der Dateizuweisung für eine Druckernummer führt zu einem
impliziten CLOSE
der bis dahin zugewiesenen Druckdatei.
In allen Fällen empfiehlt es sich sehr, mit Schlüsselwortparametern zu
arbeiten, außer wenn Sie nur einen Link-Namen (zum Beispiel: P01
)
angeben. Dies hilft Konflikte mit Namen zusätzlicher Reports zu vermeiden und
ist für Dateinamen mit weniger als 9 Zeichen von Bedeutung.
Beispiele:
DEFINE PRINTER (1) OUTPUT 'LINK=SOURCE' DEFINE PRINTER (1) OUTPUT 'FILE=SOURCE' DEFINE PRINTER (1) OUTPUT 'SOURCE'
Beispiel:
DEFINE PRINTER (1) OUTPUT 'LINKP01'
bedeutet dasselbe wie
DEFINE PRINTER (1) OUTPUT 'LINK=LINKP01'
Eine Datei mit dem Link LINKP01
muss zur Laufzeit
vorhanden sein. Diese kann entweder mittels einer JCL vor dem Start von Natural
oder durch eine dynamische Zuweisung von der aktuellen Anwendung aus erstellt
werden. Für eine dynamische Zuweisung kann die Programmierschnittstelle
USR2029N
in
der Library SYSEXT
verwendet werden. Wenn der Link vor der
Ausführung als ein Ausgabemedium auf eine andere Datei, zum Beispiel
P01
, aktiv war, wird diese freigegeben oder zurückbehalten in
Abhängigkeit vom Wert des Subparameters FREE
des Profilparameters
PRINT
(mögliche Werte sind ON
und OFF
). Die Freigabe
erfolgt dann über einen expliziten RELEASE
-Aufruf an den
BS2000/OSD-Kommando-Prozessor.
Beispiel:
DEFINE PRINTER (2) OUTPUT 'NATURAL31.TEST.PRINTER02'
bedeutet dasselbe wie
DEFINE PRINTER (2) OUTPUT 'FILE=NATURAL31.TEST.PRINTER02'
Die in operand1
angegebene Datei wird mittels eines Datei-Makroaufrufs eingerichtet und erbt
den Link-Namen, der vor der Ausführung des DEFINE
PRINTER
-Statements für die entsprechende Druckdatei gültig war.
Beispiel:
DEFINE PRINTER (21) OUTPUT '*'
bedeutet dasselbe wie
DEFINE PRINTER (21) OUTPUT 'FILE=*'
Eine Datei mit einem nach Regel 4 erstellten Namen wird mittels eines
FILE
-Makroaufrufs eingerichtet und erbt den Link-Namen, der vor
Ausführung des DEFINE PRINTER
-Statements für die entsprechende
Druckdatei gültig war.
DEFINE PRINTER (22) OUTPUT 'FILE=*,LINK=GENFLK22'
Eine Datei mit einem nach Regel 4 erstellten Namen wird mittels eines
FILE
-Makroaufrufs mit angegebenem Link-Namen eingerichtet.
Beispiel:
DEFINE PRINTER (11) OUTPUT 'NATURAL31.TEST.PRINTER11,LNKP11'
bedeutet dasselbe wie
DEFINE PRINTER (11) OUTPUT 'FILE=NATURAL31.TEST.PRINTER11,LINK=LNKP11'
bedeutet dasselbe wie
DEFINE PRINTER (11) OUTPUT 'FILE=NATURAL31.TEST.PRINTER11,LNKP11'
Die in operand1
angegebene Datei wird mittels eines FILE
-Makroaufrufs
mit dem angegebenen Link-Namen eingerichtet und der entsprechenden
Druckernummer zugewiesen.
Beispiel:
DEFINE PRINTER (27) OUTPUT '*,*'
bedeutet dasselbe wie
DEFINE PRINTER (27) OUTPUT 'FILE=*,LINK=*'
Eine Datei mit einem nach Regel 4 und 5 erstellten Dateinamen und
Link-Namen wird mittels eines FILE
-Makroaufrufs eingerichtet und
wird der angegebenen Druckernummer (27) zugewiesen.
Anmerkung:
Wenn Datei- und Link-Name angegeben werden, wird der vorige
Link-Name nicht freigegeben, ungeachtet des Wertes des Subparameters
FREE
im
Profilparameter PRINT
.
Beispiel:
DEFINE PRINTER (14) OUTPUT 'SYSOUT'
Report 14 wird auf SYSOUT geschrieben.
Unter TIAM wird SYSOUT standardmäßig auf dem Bildschirm ausgegeben.
Beispiel:
DEFINE PRINTER (15) OUTPUT 'SYSLST'
Report 15 wird auf die Systemdatei SYSLST
geschrieben.
Beispiel:
DEFINE PRINTER (16) OUTPUT 'SYSLST16'
Report 16 wird auf die Systemdatei SYSLST16 geschrieben..
Beispiele:
DEFINE PRINTER (11) OUTPUT 'SYSLST=LST.PRINTER11'
Die Systemdatei SYSLST
wird der Datei
LST.PRINTER11
zugewiesen; Report 11 wird auf die Systemdatei
SYSLST
geschrieben.
DEFINE PRINTER (13) OUTPUT 'SYSLST13=LST.PRINTER13'
Die Systemdatei SYSLST13
wird der Datei
LST.PRINTER13
zugewiesen; Report 13 wird auf die Systemdatei
SYSLST13
geschrieben.
DEFINE PRINTER (19) OUTPUT 'SYSLST19=*'
Die Systemdatei SYSLST19
wird einer Datei mit einem nach
Regel 4 generierten Namen zugewiesen; Report 19 wird auf die Systemdatei
SYSLST19
geschrieben.
Für eine mit der Zugriffsmethode AM=CICS
definierte Druckernummer kann operand1 in
Abhängigkeit vom Subparameter
TYPE
im Profilparameter PRINT
für den
Drucker ein Übergangsdaten- oder Zwischenspeicher-Warteschlangen-Name (1 bis 8
Zeichen) sein. Für TYPE=TD
(Übergangsdaten) werden nur die ersten
4 Zeichen von operand1 berücksichtigt und das
Ausgabemedium für die Übergangsdaten muss vorher für CICS definiert worden
sein.
Weitere Informationen entnehmen Sie auch dem Abschnitt Natural Print and Work Files under CICS im Natural CICS Interface-Teil der TP Monitor Interfaces-Dokumentation.
Wird AM=COMP
gesetzt, kann eine gültige Druckernummer (TID) oder ein logischer Druckername
zugewiesen werden. Beispiel:
DEFINE PRINTER (1) OUTPUT '11' DEFINE PRINTER (2) OUTPUT 'P102'
Wird AM=SMARTS
gesetzt, können Sie einen nicht definierten Druckernamen angeben. Zum
Beispiel:
DEFINE PRINTER (14) OUTPUT '/nat/path/printer' DEFINE PRINTER (14) OUTPUT '/nat/path/printer/file/' DEFINE PRINTER (14) OUTPUT 'printer'
Es ist vom Parameter MOUNT_FS
von SMARTS
abhängig, ob die Datei auf einem SMARTS Portable File System oder auf dem
Native File System residiert. Das erste Element des Pfades (/nat/
)
legt das Zieldateien-System fest.
Wenn die Zeichenkette mit einem Schrägstrich (/) abgeschlossen wird,
wird das letzte Element als Namen der Druckdatei benutzt. Sonst wird der Name
der Datei aus der Benutzer-ID und einer Reihenfolge-Nummer generiert. Wenn die
Zeichenkette nicht mit einem Schrägstrich anfängt, wird der Pfad der Datei aus
der Umgebungsvariable $NAT_PRINT_ROOT
genommen.
Der angegebene Pfadname muss vorhanden sein. Wenn das Statement
DEFINE PRINTER
ausgeführt wird, wird die Datei dynamisch
zugewiesen. Wenn das angegebene Member nicht vorhanden ist, wird ein neues
Member dieses Namens erstellt.
Benutzer von Natural Advanced Facilities können den logischen Namen
jedes vordefinierten logischen Druckerprofils angeben. Dieses logische
Druckerprofil muss nicht zu dem gerade aktiven Benutzerprofil gehören; es darf
jedes in der NATSPOOL
-Datei definierte logische Druckerprofil
sein. Dieses Profil gilt nur während der Ausführung des Programms, das das
DEFINE PRINTER
-Statement enthält.
Weitere Informationen siehe Natural Advanced Facilities-Dokumentation.
Mit den folgenden Namen können Sie zusätzliche Standard-Reports zuweisen:
Report | Funktion |
---|---|
BROADCST | Ausgabe der Meldungszeile an einen TP-Monitor-Terminal. Gleiche
Funktion wie MESSAGE (siehe unten), außer dass unter Com-plete die
Meldung nicht an den gewünschten Terminal geschickt wird, bis keine
Transaktionen auf diesem Terminal mehr aktiv sind.
|
CCONTROL | CCONTROL ist der Name einer bestimmten
Druckersteuerzeichen-Tabelle, die mit dem Drucker
n-1 in Verbindung steht; sie darf nicht geändert
werden. Weitere Informationen entnehmen Sie dem Abschnitt
Printer-Advance
Control Characters in der
Operations-Dokumentation.
|
CONNECT | Ausgabe in ein Con-nect-Fach.
Anmerkung für die Natural-Installation: das
|
DUMMY | Ausgabe wird gelöscht. |
HARDCOPY | Ausgabe an das aktuelle Hardcopy-Gerät. |
INCORE | Ausgabe an die NSPF Incore-Datenbank. |
INFOLINE | Ausgabe in der Natural-Infoline. Näheres zur Infoline siehe
Terminalkommando %X in
der Terminalkommandos-Dokumentation.
|
MESSAGE | Ausgabe der Meldungszeile an einen TP-Monitor-Terminal. Die
ersten 8 Bytes einer Meldung müssen die Ziel-Terminal-ID enthalten. Für TSO und
CMS ist die User-ID anstatt der Terminal-ID erforderlich. Ein Beispiel-Programm
mit Namen MSGSW ist in der Library SYSEXTP vorhanden.
|
SOURCE | Ausgabe in den Arbeitsbereich des Natural-Editors. |
WORKPOOL | Ausgabe in den Natural-ISPF-Workpool. |
Beispiel 2 — Definition des Druckernamens für Batch-Umgebung
Beispiel 4 — Benutzung einer Session mit vordefiniertem Drucker
/* PRINTER NAME DEFINITION FOR COM-PLETE * DEFINE PRINTER (1) OUTPUT 'TID100' WRITE (1) 'PRINTED ON PRINTER TID100' END
/* OUTPUT ON 'SYSPRINT' (FOR BATCH ENVIRONMENTS) * DEFINE PRINTER (REPORT1 = 1) OUTPUT 'SYSPRINT' WRITE (REPORT1) 'REPORT 1 PRINTED ON PRINTER SYSPRINT' * /* OUTPUT TO DEFAULT PRINTER DESTINATION /* DEFINED WITH PROFILE PARAMETER 'PRINT', SUBPARAMETER 'DEST' * DEFINE PRINTER (REPORT2 = 2) WRITE (REPORT2) 'REPORT PRINTED TO DESTINATION'
** Example 'DPIEX1': DEFINE PRINTER ************************************************************************ * SET CONTROL 'XI+' /* SWITCH INFOLINE MODE ON SET CONTROL 'XT' /* INFOLINE TOP * DEFINE PRINTER (1) OUTPUT 'INFOLINE' WRITE (1) 'EXECUTING' *PROGRAM 'BY' *INIT-USER WRITE 'TEST OUTPUT' EJECT /* FORCE PHYSICAL I/O * SET CONTROL 'X' /* SWITCH BACK TO NORMAL * END
Ausgabe des Programms DPIEX1
:
EXECUTING DPIEX1 BY HTR Page 1 05-01-13 14:54:33 TEST OUTPUT
** Example 'DPREX1': DEFINE PRINTER ************************************************************************ DEFINE DATA LOCAL 1 EMPL-VIEW VIEW OF EMPLOYEES 2 NAME END-DEFINE * * USE SESSION WITH DEFINED PRINTER 1 * DEFINE PRINTER (INVOICE-LIST=1) OUTPUT 'OUTQ1' LIMIT 5 READ EMPL-VIEW BY NAME WRITE (INVOICE-LIST) NAME END-READ * END