Dialog mit virtuellem Drucker eröffnen
Komponente: | SPOOL |
Funktionsbereich: | SPOOLOUT-Aufträge steuern |
Anwendungsbereich: | SPOOL-PRINT-SERVICES |
Privilegierung: | STD-PROCESSING |
Funktionsbeschreibung
Das Kommando OPEN-VIRTUAL-DEVICE-DIALOG initalisiert den Dialog zwischen einem virtuellen Gerät und der Anwendungsprozedur, in der der Aufruf erfolgt. Das Kommando wird nur im Batchmodus ausgeführt.
Das Kommando gehört zu einer Reihe von vier Kommandos, mit deren Hilfe eine Anwendung in Form einer S-Prozedur erstellt werden kann (siehe „Beispiel einer Anwendungsprozedur"). 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
OPEN-VIRTUAL-DEVICE-DIALOG |
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
- Der Dialog mit dem virtuellen Gerät muss nur einmal zu Beginn der Prozedur initialisiert werden.
- Wenn der Dialog nicht initialisiert werden kann, wird das Kommando zurückgewiesen und ein Kommando-Returncode gesetzt.
- Wenn die Initialisierung bereits durchgeführt wurde, 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.
Beispiel einer Anwendungsprozedur
/SET-PROC-OPTIONS DATA-ESCAPE-CHAR=*STD,LOGGING-ALLOWED=*YES / " *************************************************************** " / " * PARAMETERS DECLARATION * " / " *************************************************************** " /BEGIN-PARAMETER-DECLARATION /END-PARAMETER-DECLARATION / " *************************************************************** " / " * END PARAMETERS DECLARATION * " / " *************************************************************** " /MODIFY-PROC-TEST-OPTIONS LOGGING=*PARAMETERS(CMD=*YES,DATA=*YES) /MODIFY-JOB-OPTIONS LOGGING=*PARAMETERS(LISTING=*YES,/ HARDCOPY=*YES) /MOD-TERMINAL-OPTION OVERFLOW-CONTROL=NO-CONTROL /STEP /DECL-VAR VAR-NA=JOB-ID,TYP=*STRING,SCOPE=*TASK /DECL-VAR TSN,TYP=*STRING /DECL-VAR ACTION(TYP=*STRING,INIT-VAL='*INIT') /DECL-VAR CONDITION,TYP=*BOOLEAN /DECL-VAR ERROR-LIST(INIT='(0,0,CMD0001)',TYP=*STRING) /STEP /OPEN-VIRTUAL-DEVICE-DIALOG / IF-CMD-ERROR / END-IF /STEP /WHILE CONDITION=(ACTION<>'*LAST') /STEP /GET-JOB-FROM-VIRTUAL-DEVICE FILE-PREFIX=*NONE, - / METADAT-PREFIX=*NONE, - / OUTPUT-DOC-ID=JOB-ID / IF-CMD-ERROR / ERROR-LIST='(&SUBCODE1,&SUBCODE2,&MAINCODE)' / SH-VAR ERROR-LIST / END-IF /STEP /IF ('&(SUBSTRING(JOB-ID,1,5))' == '*NONE') /CLOSE-VIRTUAL-DEVICE-DIALOG / IF-CMD-ERROR / ERROR-LIST='(&SUBCODE1,&SUBCODE2,&MAINCODE)' / SH-VAR ERROR-LIST / END-IF /EXIT-PROC /END-IF /STEP /TSN=SUBSTRING(JOB-ID,1,4) /STEP . . *** Benutzerspezifischer Prozedurteil *** . . /RETURN-JOB-TO-VIRTUAL-DEVICE POST-ACTION=*WAIT /END-WHILE