PDA

View Full Version : OUTQ und Ausgabeprogramm



Eric
19-01-07, 15:51
Hallo Forum,

wie kann ich ein Ausgabeprogramm in 2 Warteschlangen(OUTQ) verwenden ??

DANKE

DVE
19-01-07, 17:01
Kannst du das Bitte etwas genauer erklären ?

Gruß
DVE :confused: :confused: :confused:

Fuerchau
19-01-07, 19:11
Am besten über 2 PRTF's die per OVRPRTF in die jeweilige OUTQ geleitet wird.
Oder, was ggf. einfacher ist, die PRTF als USROPN (UC) definieren, 2 mal drucken und jeweils vor dem Open einen OVRPRTF für die richtige OUTQ.

DVE
21-01-07, 08:57
Vorausgesetz, Furchau hat mit seinem Ansatz recht.

1. OVRPTF PrinterFileName HOLD(*YES)
2. Aufruf des Printout Programmes
3. CRTPF QTEMP/DATNAM RCDLEN(Breite der Printerfile + 1) size(*NOMAX)
4. CPYSPLF PrinterFileName JOB(*) SPLFNBR(*LAST) TOFILE(QTEMP/DATNAM) CTLCHAR(*FCFC)
5. OVRPRTF PrinterFileName OUTQ(OUTQ1) CTLCHAR(*FCFC) HOLD(*NO)
6. CPYF FROMFILE(QTEMP/DatName)TOFILE(PrinterFileName)
/* Damit druckst du die Spoolfile in die erste OUTQ */
7. OVRPRTF PrinterFileName OUTQ(OUTQ2) CTLCHAR(*FCFC) HOLD(*NO)
8. CPYF FROMFILE(QTEMP/DatName)TOFILE(PrinterFileName)
/* Damit druckst du die Spoolfile in die zweite OUTQ */


Damit hast du ansatzweise ein Listverteilungsprogramm

Gruß
DVE

Fuerchau
21-01-07, 10:01
Und was machst du bei *AFPDS/*IPDS ?

DVE
21-01-07, 10:28
"Dumm aus der Wäsche gucken" :D

Ich weiß noch nicht einmal genau was er machen will. Sollte es sich tatsächlich nur um einfache Druckdateien handeln, hat er eine einfache Alternative, oder ??

Gruß
DVE

PS
Anderseits, könnte er die Datei drucken und vorher mit OVRPRTF SAVE(*YES), nach dem Ducken sichern.
Über die altbekannte Druckapi, könnte er warten bis die Datei im Status SAV ist und über CHGSPLFA/RLSSPLF den Druck in die andere OUTQ starten.
Geht auch mit *AFPDS/*IPDS, oder ??

pwrdwnsys
21-01-07, 17:28
Lösung a)

Wenn das Druckprogramm nicht zu lange braucht, dann einfach 2x den Output erzeugen, jeweils einen spezifisdchen OVRPRTF davor und gut is.

Lösung b)

Den Druck erzeugen, immer mit HOLD(*YES) und SAVE(*YES), dann läuft ein "Druckverteiler" (habe ich selber mal so geschrieben) der über die OUTQ geht, den Druck in die eine OUTQ stellt, dann schaut, ob er gedruckt twurde, anschliessend CHGSPLFA OUTQ(OUTQ2) und RLSSPLF ausführen und damit erneut drucken. Kann bis zum Erbrechen für X Outq's wiederholt werden.
Bei uns wird das ganze dann noch in eine OUTQ für die Archivierung geschaufelt, falls notwendig.