How to specify AFP resource directories by printer
ITEM: RTA000093273
Q:
ABSTRACT: How to specify AFP resource directories by printer
queue or job script
SEARCH ARG: psf/6000 shell script
TOPIC THREAD: PRINT
AFP
PSF6000
..
Customer is going to use MVS Download to send jobs to PSF/6000 for
printing. Our concerns are with testing AFP resources before moving
them into production. On the MVS host, we can either concatenate
test or production libraries in the printer startup proc, or we can
use USERLIBs to override the startup proc parameters. I read that MVS
Download can create a job script for psfin using some of the MVS JCL
values. Is USERLIB one of these parameters? If not, what is the best
way to ensure that resources are pulled from test datasets? Can two
separate queues be defined for the same printer that point to different
AFP resource directories? Thanks.
A:
MVS Download can indeed pass certain JCL parameters down to PSF/6000.
However, USERLIB is not one of those. (See Table 1 on page 9 and the
text on page 10 of the PSF/MVS: MVS Download Guide, G544-5294-00, for a
list of printing parameters not passed to an AIX system.)
Given that you can't pass the USERLIB value from MVS JCL to PSF for AIX,
what is your best option for differentiating between test and production
resource libraries using MVS Download?
The MVS Download publication recommends either including the resources
inline in the job or making these resources available on the AIX system.
If the former is not practical for your customer, then the resources
will need to be made available to PSF for AIX, either by copying them
to the AIX system or by NFS-mounting the test PDS on the MVS host to
the AIX system.
Once the resources are accessible, then there are a number of ways you
can tell PSF for AIX where they are. And there is a defined hierarchy
for the search order as described in the Print Submission and Print
Administration publications. Here is a summary of the search order
that PSF for AIX uses at print time; PSF will use the first copy of the
specified resource that it finds as it searches directories or paths
according to this hierarchy:
1) -osrchxxxxlib on the enq command (like -osrchfontlib)
2) -orespath on the enq command
3) PSFPATH (environment variable)
4) individual printer profile (through smit psfcfg--Processing Options
5) /usr/lpp/psf/reslib
6) /usr/lpp/psf/afpfonts
7) /usr/lpp/psf/fontlib
The first two (-osrchxxxlib and -orespath) can be used on a print
command when printing a particular *job*. The third, PSFPATH, has
different effects depending on how the environment variable was set,
and can range from taking effect for an individual user to taking
effect for all users, all printers; so if PSFPATH is in place (echo
$PSFPATH), it's important to understand its effect. The fourth means
that you can set different search paths for different PSF for AIX
print queues. The last three are searched if the resources has not been
found in any of the other directories specified in this hierarchy.
Specifically for an MVS Download situation, you could set it up to
point to different search paths as follows:
1) On MVS, define your Routing-Control Data Set so that you have
different routing criteria for your test vs your production jobs.
For example, you could set up test jobs with CLASS=T and production
jobs CLASS=P. Or you could set it up with a DEST=TEST and DEST=PROD,
or some combination of CLASS, DEST, and FORMS. (See PSF/MVS
Download Guide, "Specifying Routing Information", pages 45-51,
especially Figure 12, "Sample Routing-Control Data Set".) This
routing-control data set is referenced in the MVS Download startup
procedure (Figure 10).
2) Download your resources (in binary mode) from MVS to a directory on
the AIX system. For example, you could put your test resources into
/usr/lpp/psf/testlib and your production resources into
/usr/lpp/psf/prodlib.
3) Using /usr/lpp/psf/bin/mvsprs.sh as a model, create two files called
"/usr/lpp/psf/bin/test.sh" and "/usr/lpp/psf/bin/prod.sh". You
would uncomment line 59 and specify the desired search path in place
of the current "/xx/yy:/aa/bb". For example, in my hypothetical
"test.sh", I would change line 59
*FROM*:
# outputstr="$outputstr oa_srchAFP=/xx/yy:/aa/bb"
*TO*:
outputstr="$outputstr oa_srchAFP=/usr/lpp/psf/testlib"
(Note that the leading # was removed so the line is no longer
commented out.)
I'd do likewise in prod.sh to point to /usr/lpp/psf/prodlib.
3) Then you would issue the "mvsprsd" command twice (See "Print
Administration", S544-3817) -- once referring to the test.sh
shell script and the appropriate port number as specified in the
the host Routing-Control Data Set for your test criteria, and once
with the prod.sh script and appropriate port number for the
production criteria. For example, to start the daemon to catch
the test jobs and route them to the PSF/6000 queue called psf3130:
mvsprsd -p5002 -d/files1 -d/files2 -xtest.sh -qpsf3130
Similarly, for the production jobs:
mvsprsd -p7302 -d/files1 -d/files2 -xprod.sh -qpsf3130
4) When jobs are submitted on MVS that meet the routing criteria, the
mvsprsd daemon will build a job script that includes the parameters
that have been passed from the host JCL, as well as the search path
that you specified on line 59 of the shell script and will queue that
job to PSF/6000 on the psf3130 queue.
There are other ways they could accomplish this testing.
For example, they could use the standard MVS LPR with the undocumented
-o flag to pass the appropriate parameters down to PSF/6000.
Or you could set up local AIX queues that front-end a single PSF/6000
queue; each of these local AIX queues could be set up with a backend
program pathname that invokes PSF/6000 as well as any parameters that
can be specified on the enq command. For example, to send jobs to a
PSF/6000 queue called psf3130 with a default respath of "/test", you
would create a local AIX queue called "prttest" using "smit mklque" and
specify a BACKEND PROGRAM pathname of:
/usr/lpp/psf/bin/ainbe psf3130 respath=/test
While you could also define multiple PSF/6000 queues for a single
printer, only one of those queues can have an IPDS conversation with
a printer at a time; you could use the Job Interval Shutdown Timer in
the PSF/6000 Tuning Options to allow the idle queue to release the
printer, but I don't think that's a good solution for a test/production
environment.
Let me know if you need any more information on these alternatives.
I hope that helps.
S e a r c h - k e y w o r d s:
CROSS MVS DOWNLOAD PSF/6000 PSF FOR AIX SHELL SCRIPT TEST USERLIB JCL
WWQA: ITEM: RTA000093273 ITEM: RTA000093273
Dated: 02/1996 Category: XPSF6000
This HTML file was generated 99/06/24~12:43:31
Comments or suggestions?
Contact us