Druckauftrag von virtuellem Drucker anfordern
Komponente: | SPOOL |
Funktionsbereich: | SPOOLOUT-Aufträge steuern |
Anwendungsbereich: | SPOOL-PRINT-SERVICES |
Privilegierung: | STD-PROCESSING |
Funktionsbeschreibung
Das Kommando GET-JOB-FROM-VIRTUAL-DEVICE fordert einen neuen Druckauftrag von dem virtuellen Gerät an. Das Kommando wird nur im Batchmodus ausgeführt.
Standardmäßig wird die ursprüngliche Benutzerdatei in die Benutzerkennung der aufrufenden Task kopiert und eine Beschreibung des Druckauftrags in einer Metadaten-Datei generiert. Beide Dateien werden mit einem Standardnamen angelegt, der als Namensbestandteil die Identifikationsnummer des Druckauftrags enthält, die in der angegebenen S-Variablen abgelegt wird.
Optional kann für beide Dateien auch ein benutzerspezifischer Dateinamenspräfix vereinbart werden. Ebenso kann das Anlegen der Dateien bzw. der S-Variable auch unterdrückt werden.
Das Kommando gehört zu einer Reihe von vier Kommandos, mit deren Hilfe eine Anwendung in Form einer S-Prozedur erstellt werden kann (Beispiel siehe Kommando OPEN-VIRTUAL-DEVICE-DIALOG). Diese Kommandos verwalten den Dialog zwischen einem virtuellen Gerät und der Anwendung, die als S-Prozedur im Batchmodus gestartet wurde:
OPEN-VIRTUAL-DEVICE-DIALOG
GET-JOB-FROM-VIRTUAL-DEVICE
RETURN-JOB-TO-VIRTUAL-DEVICE
CLOSE-VIRTUAL-DEVICE-DIALOG
Format
GET-JOB-FROM-VIRTUAL-DEVICE |
FILE-PREFIX = *STD / *NONE / <partial-filename 1..25> ,METADATA-PREFIX = *STD / *NONE / <partial-filename 1..25> ,OUTPUT-DOC-ID = *STD / *NONE / <structured-name 1..20> |
Operandenbeschreibung
FILE-PREFIX = *STD / *NONE / <partial-filename 1..25>
Gibt an, ob die ursprüngliche Benutzerdatei kopiert werden soll und welchen Präfix der Name der Kopie erhalten soll.
FILE-PREFIX = *STD
Die ursprüngliche Benutzerdatei wird unter dem folgenden Dateinamen kopiert:
$<userid>.S.VIRTUAL.DOC.<document-id>.000
Dabei entspricht <userid> der Benutzerkennung der aufrufenden Task, und <document-id> der Identifikationsnummer des Druckauftrags (siehe Operand OUTPUT-DOC-ID)
FILE-PREFIX = *NONE
Die ursprüngliche Benutzerdatei soll nicht kopiert werden.
FILE-PREFIX = <partial-filename 1..25>
Die ursprüngliche Benutzerdatei wird mit einem Präfix unter dem folgenden Dateinamen kopiert: $<userid>.<file-prefix>.<document-ID>.000
Dabei entspricht <userid> der Benutzerkennung der aufrufenden Task, und <document-id> der Identifikationsnummer des Druckauftrags (siehe Operand OUTPUT-DOC-ID).
METADATA-PREFIX = *STD / *NONE / <partial-filename 1..25>
Gibt an, ob Metadaten des Druckauftrags erstellt werden sollen und welchen Präfix die Metadatendatei erhalten sollen.
METADATA-PREFIX = *STD
Die Metadaten des Druckauftrags sollen in einer Datei mit folgendem Namen erstellt werden: $<userid>.<metadata.prefix>.<document-id>
Dabei entspricht <userid> der Benutzerkennung der aufrufenden Task, und <document-id> der Identifikationsnummer des Druckauftrags (siehe Operand OUTPUT-DOC-ID).
METADATA-PREFIX = *NONE
Es soll keine Datei mit den Metadaten des Druckauftrags erstellt werden.
METADATA-PREFIX = <partial-filename 1..25>
Die Metadaten des Druckauftrags sollen in einer Datei mit dem angegebenen Prefix im Namen erstellt werden: $<userid>.<metadata-prefix>.<document-id>
Dabei entspricht <userid> der Benutzerkennung der aufrufenden Task, und <document-id> der Identifikationsnummer des Druckauftrags (siehe Operand OUTPUT-DOC-ID).
OUTPUT-DOC-ID = *STD / *NONE / <structured-name 1..20>
Gibt an, ob die Identifikationsnummer des Druckauftrags in einer S-Variablen ausgegeben werden soll.
OUTPUT-DOC-ID = *STD
Die Identifikationsnummer des Druckauftrags wird in der Variablen DOC-ID generiert.
OUTPUT-DOC-ID = *NONE
Die Identifikationsnummer des Druckauftrags wird nicht generiert.
OUTPUT-DOC-ID = <structured-name 1..20>
Die Identifikationsnummer des Druckauftrags wird in der angegebenen S-Variablen generiert.
Kommando-Returncodes
(SC2) | SC1 | Maincode | Bedeutung |
---|---|---|---|
0 | CMD0001 | Kein Fehler. Das Kommando wurde erfolgreich ausgeführt. | |
32 | SCP0974 | Unerwartetes Kommando | |
5 | 32 | SCP0974 | Fehler bei Speicheranforderung |
Hinweise
Wenn die ursprüngliche Benutzerdatei kopiert wurde (Angabe im Operanden FILE-PREFIX ungleich *NONE), findet eine Normalisierung dieser Datei in der Zieldatei statt. Das bedeutet, dass die ursprüngliche Benutzerdatei in eine SAM-Datei kopiert wird (Konvertierung, das Bibliothekselement wird extrahiert, ...). Diese Datei wird unter der Benutzerkennung der aufrufenden Task als nicht mehrbenutzbar abgelegt.
Die der Anwendung zugeordnete Benutzerkennung (d.h. die Benutzerkennung, unter der die aufrufende Anwendungs-Task ausgeführt wird) entspricht der für den Datensatz des Geräts (Operand PROGRAM-NAME) angegebenen Benutzerkennung oder $SYSSPOOL.
Die Metadaten-Datei wird als ISAM-Datei mit den Dateiattributen KEY-POS=5, KEY-LEN=64, BUF-LEN=STD(2) und USER-ACC=OWNER-ONLY angelegt. Der ISAM-Schlüssel (64 Zeichen) entspricht dem Attributnamen und das Feld (bestehend aus 1024 Zeichen) entspricht dem Attributwert.
Wenn der Dialog nicht initialisiert werden kann, wird das Kommando zurückgewiesen und ein Kommando-Returncode gesetzt.
Wenn keine Initialisierung durchgeführt wurde (Kommando OPEN-VIRTUAL-DEVICE-DIALOG), wird das Kommando zurückgewiesen und ein Kommando-Returncode gesetzt.
Wenn der Druckauftrag bereits zurückgegeben wurde (Kommando RETURN-JOB-TO-VIRTUAL-DEVICE), wird das Kommando zurückgewiesen und ein Kommando-Returncode gesetzt.
Dieses Kommando kann nur im Batchmodus aufgerufen werden.
Bei Auftreten eines Fehlers wird die Spin-Off-Verarbeitung aktiviert.
Ausgabe in S-Variable
Ausgabe-Information | Name der S-Variablen | T | Inhalt | Bedingung |
---|---|---|---|---|
Identifikationsnummer des zugehörigen Druckauftrags | var(*LIST).DOC-ID | S | <document-id> |