PDA

View Full Version : Spoolfile duplizieren mit SNDNETSPLF



AK2
30-09-10, 14:43
Hallo,
das duplizieren mit SNDNETSPLF funktioniert. Ich kann zwar die Spoolfile die erstellt wurde vom User A für den User B duplizieren. Eine andere Outq für den User B kann ich beim SNDNETSPLF leider als Paramter nicht eingeben. In meinem Fall nimmt er die Outq aus dem Userprofil.

Wie kann ich eine Outq (PRWFZV13) bei
allen B-Usern angeben.

Wer hat einen Tipp?

bussibaer
30-09-10, 14:53
Da hilft dir der Befehl CHGSPLFA weiter:

CHGSPLFA FILE(FILENAME) JOB(JobNr/USER/JOBNAME) OUTQ(OUTQ)

AK2
30-09-10, 15:03
Da hilft dir der Befehl CHGSPLFA weiter:

CHGSPLFA FILE(FILENAME) JOB(JobNr/USER/JOBNAME) OUTQ(OUTQ)

Beim SNDNETSPLF erstellt er die JobNr etc. neu. Ich müsste die mir retten bzw. merken um CHGSPLFA anschließen auszuführen. Wie geht das?

bussibaer
30-09-10, 15:17
Ändert er den die Outq? Wenn nicht, würde ich das vorher machen.

AK2
30-09-10, 15:30
Ändert er den die Outq? Wenn nicht, würde ich das vorher machen.

Die Orginal-Erstellungsoutq und die dazugehören Spoolfiles müssen bestehen bleiben. An dieser Outq ist kein Drucker zugeordnet. Aufgrund von diesen Spooleinträgen erfolgen Versendungen per E-Mail nach Bedarf. bzw erfolgt die Archivierung. Zusätzlich sollen die Spoolfiles für verschiedene Abteilungen gedruckt werden.

Fuerchau
30-09-10, 15:57
Da wird das Ganze ja schon komplizierter.
Per SNDNETSPLF würde ich das an einen speziellen "Verteiluser" senden.
Dieser hat natürlich eine eigene OUTQ im Profil.

An diese OUTQ muss man dann eine DTAQ hängen und ein CLP schreiben, dass per RCVDTAQ diese DTAQ überwacht.
Jedes mal, wenn ein Spool mit Attribut RDY in der OUTQ erscheint, wird ein Eintrag an die DTAQ gesendet.
Im enthaltenen Eintrag sind alle Informationen zum Zugriff auf die Spool-Attribute enthalten.

Nun kann man den Spool an andere User oder ins Archiv weitersenden.

Wenn dir das zu kompliziert wird, hilft dir wirklich nur das API, wobei du um einen User zu ändern per API QSYGETPH/QSYSETPH auf den anderen User umschalten musst (ohne Kennwort des Users gehts nur als QSECOFR).
Was wohl insgesamt etwas schwieriger wird.

RobertMack
01-10-10, 12:05
Alternative:

RTVLSTSPLF (ermittelt den jeweils zuletzt erstellten Spool)
DUPCHGSPLF (kopiert in andere OUTQ auch unter Angabe eines anderen Benutzerprofiles)

Quellen zum Nachbauen:

http://www.i5tools.com/Files/source/RPG/RTVLSTSPL.txt
How to cpy Spool file frm one out Q to other out Q (http://www.code400.com/forum/showthread.php/505-How-to-cpy-Spool-file-frm-one-out-Q-to-other-out-Q)
(Code am Ende des Threads)

Fuerchau
01-10-10, 12:30
Nettes Tool, bedenke aber, dass durch die Verwendung von USRSPC die Größe der Spooldatei auf max. 16MB beschränkt ist.

Ansonsten muss man das Programm so modifizieren, dass häppchenweise kopiert wird.
Dürfte aber kein Problem sein.

ThomasJoachimFuchs
03-10-10, 12:19
Hallo,
das duplizieren mit SNDNETSPLF funktioniert. Ich kann zwar die Spoolfile die erstellt wurde vom User A für den User B duplizieren. Eine andere Outq für den User B kann ich beim SNDNETSPLF leider als Paramter nicht eingeben. In meinem Fall nimmt er die Outq aus dem Userprofil.

Wie kann ich eine Outq (PRWFZV13) bei
allen B-Usern angeben.

Wer hat einen Tipp?

Bis V5R3M0 gab es eine elegante Möglichkeit Spooled Files zu dupilizieren vermittelts der APIs QSPGETF und QSPPUTF.

Ab V5R4M0 hat die IBM diese APIs außer Kraft gesetzt.

Man muss es neuerdings "zu Fuß" machen mit den APIs QSPGETSP und QSPPUTSP und sich den User Space wegspeichern. Das ist mit einer Unmenge von Programmieraufwand verbunden.

Ein SNDNETSPLF mit vorherigem CHGSPLFA ist natürlich viel einfacher.

MfG
Thomas J. Fuchs