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