OK, das ist ein wenig kompizierter.
Da du nicht weißt, wann der Druck denn tatsächlich erfolgt, musst du den obigen Vorschlag SNDNETSPLF aufgreifen.

Hierzu richtest du einen User ein (nicht anmeldefähig) dem du die gewünschte OUTQ zuordnest.
Zusätzlich benötigt dieser eine "Adresse" über WRKDIRE, ausserdem musst du noch SNADS einrichten .

Wenn dein Spool dann fertig erstellt ist, musst du einen SNDNETSPLF an diesen User ausführen. Damit kopierst du den Spool und er gelangt in die OUTQ.

Für SNDNETSPLF muss allerdings der aktuelle User auch einen WRKDIRE-Eintrag haben, sonst darf er nicht senden.
Ggf. funktioniert auch das Programm, wenn es mit *OWNER erstellt ist und der Eigner einen WRKDIRE-Eintrag hat, bin mir aber nicht sicher.
Wenn das nicht funktioniert, musst du allerdings weitere API's bemühen.
Per QSYGETPH/QSYSETPH kann man kurzfristig auf einen anderen User umschalten und dann den SNDNETSPLF durchführen.

Die Alternative ist noch etwas komplizierter.
An eine OUTQ kann man eine DTAQ hängen. Immer wenn ein Eintrag RDY wird, gibts einen Eintrag in der DTAQ.

Ein Batchprogramm (Autostart, Prestart) kann per QRCVDTAQ diese Einträge lesen (Spoolname/Job/Nr sind enthalten) und den SNDNETSPLF ausführen.
Dieser Batchjob sollte dann unter obigem User laufen (man kann auch an sich selber senden).

Vorteil der letzteren Lösung:
Man muss kein Druck erzeugendes Programm anpassen!
Man kann beliebige OUTQ's an die DTAQ hängen. Da der SNDNETSPLF ggf. etwas dauern kann (je nach Größe des Spool), kann man mehrere PJ's zur Überwachung starten, so dass keine Spools verloren gehen (nach RDY wird gedruckt und ohne SAV gelöscht, das kann schon mal schnell gehen).

Dieses Verfahren verwenden wir i.Ü. zur Spoolarchivierung.