On 21-Dec-2011 15:15 , Monnier, Gary wrote:
Tracking down the Host Print outq can be interesting.  First, it
determines outq from user's job description not the interactive job.
In the jobd the PRTDEV() and OUTQ() parameters come into play in
determining the outq. <<SNIP>>
  Although the issue for the OP was apparently attributed to the 
idiosyncrasy of a TELNET target 5250 session rerouting host print 
request output to a prior [¿the first?] 5250 session, the following 
comments may be of interest to anyone wanting to know more about the 
Host Print processing....
  That describes how those parameter values are set for a job, but as 
for the Host Print request, how those parameters are set for the job may 
be irrelevant.  The host print request resolves spooling different than 
the job.  Which Display File is active is foremost.  That is, the active 
DSPF [with a file-level keyword] may define the printer file to be used 
for Host Print requests issued while that DSPF is open and active; 
PRINT() kwd defining a Printer File instead of the default PRTF QSYSPRT 
in *LIBL.  Then whatever Printer File is defined for that host print 
request, determines the respective spooling parameters such as OUTQ() 
and DEV(), though an override can supersede those.  If the OUTQ() 
parameter on either that printer file or an override does not redirect 
to the *JOB [or *DEV], then what was established for those parameters in 
the job [as set from a *JOBD or CHGJOB], is moot.
So determining the outq being used by Host Print needs to be
established.
  OK.  Although realistically if the output already is not being 
tracked to the job, that may be assuming too much about the 
functionality of the scenario.?  I suggested for example that a SPLF 
entry might not be tracked to the job perhaps for one of SPOOL(*NO), by 
[special] authority a SPLF entry may not be visible to invoker of 
WRKJOB, the printer file name were overridden to a database file 
[optionally with INHWRT(*YES)], or if the data were redirected to a 
stream file.  If no SPLF shows FIN nor any other status in WRKJOB 
OPTION(*SPLF), then any OUTQ specification would seem to be moot; i.e. 
according to the described effect, the output seems never to have found 
its way to any Spool File nor any OUTQ.
Bottom line: Use DSPJOB/WRKJOB option 2 to determine the default
outq.
Then use option 15 to see if the printer file has been overridden to
a different outq.
  But which printer file is that?  As noted above and in a prior reply, 
the DDS that defines the active Display File determines the printer file 
which determines the OUTQ which may or may not come from the *JOB. 
Probably something very similar for use of a UIM display\menu, though I 
do not recall the details.
Maybe the client will allow just those 2 outqs to be held while a
test is performed.
  Without a good understanding of how the non-spooled and spooling 
resolution transpires in the scenario, I do not think some specific "two 
output queues" would sufficiently assist.  Knowing the printer file 
specification in the display active for the Host Print request can 
establish exactly which *one* output queue should be the target of the 
spooled output; having followed the proper "resolution" for the OUTQ() 
from the printer file that should be referenced.
  FWiW: The following script confirms the job setup is moot for the 
given scenario; i.e. the QPRINT2 output queue which supersedes any 
Printer Device specification for the job, is never referenced for the 
Host Print request:
<code>
   chgjob outq(qgpl/qprint2)
   crtprtf *curlib/fred outq(qtemp/barney)
   crtdspf *curlib/mydspf /* //data mydspf */
   //data file(mydspf) filetype(*src) endchar('//')
         A                                      DSPSIZ(24 80 *DS3)
         A                                      PRINT(*LIBL/FRED)
         A          R MYDSPF
         A                                  4  6'Issue Host-Print now'
   crtclpgm usemydspf /* //data usemydspf */
   //data file(usemydspf) filetype(*src) endchar('//')
     dclf mydspf
     sndrcvf
   //
</code>
  The host print request results in the message CPD3322 "The output 
queue BARNEY in QTEMP that you specified does not exist. ... The output 
queue to be used was changed to QPRINT in library QGPL." which shows 
that the printer file FRED was used to resolve the OUTQ().
Regards, Chuck
As an Amazon Associate we earn from qualifying purchases.