04 - System Administration (EN)04g - System Admin miscellanea

Print spoolfiles via pdf streaming

This operative system’s function is not so popular but you can save some money printing AFPDS spool files to non-IPDS printers: all you need is a printer who can print pdf in streaming (pdf direct).

Here are the steps:

  • spooled by a program is generated
  • it is released to a virtual printer
  • the latter converts it to pdf on the fly using the QSYSPRT system prtf
  • at the same time, the qsysprt spool in the format of “USERASCII” is turned to a second print queue
  • it turns it over to the physical printer

Here are the steps you need to take to implement the configuration

First, you need to create the printing device that points to the physical printer

CRTDEVPRT DEVD (PRTFISICA)             
 DEVCLS(-LAN)    
 TYPE(3812)    
 MODEL(1)    
 LANATTACH(-IP)                   
 PORT(9100) //to be inserted based on physical printer mark/model            
 FONT(11 -NONE)                       
 FORMFEED('AUTOCUT')                   
 INACTTMR(-SEC15)                     
 MFRTYPMDL(-HP4) //to be inserted based on physical printer brand/model           
 PPRSRC1(-A4)                         
 PPRSRC2(-A4)                         
 RMTLOCNAME('192.168.10.1') //printer ip address           
 SYSDRVPGM(-HPPJLDRV) //to be inserted based on physical printer brand/model           
 TEXT('HP Logistics Office Printer') 

After that, it switches to generating an object of type “PSFCFG” that will take care of the transformation from spool to pdf

CRTPSFCFG PSFCFG(QGPL/PRTPDF)                 
 USRRSCLIBL(JOBLIBL)                     
 RLSTMR(SEC15)                          
 PRTRSPTMR(NOMAX)                        
 PDFGEN(SPLF)                           
 PDFDEVTYPE(IP40300)                     
 PDFPPRDWR1(A4)                         
 PDFPPRDWR2(A4)                          
 PDFSENDER(SPLFOWN)                     
 PDFOUTQ(QUSRSYS/PRTFISICA)             
 TEXT('PSFCFG for PRTFISICA') 

And finally, you create the device that will trigger the transformation using the object “PSFCFG” and send the print out to the physical printer

CRTDEVPRT DEVD (PRTPDF)                                 
 PORT(12501) //choose a free port on your "i" with NETSTAT OPTION(-CNN) command                                      
 FONT(011 "NONE")                                  
 FORMFEED('AUTOCUT')                              
 RMTLOCNAME('127.0.0.1')                          
 USRDFNOBJ(QGPL/PRTPDF )PSFCFG)               
 TEXT('Virtual printer pdf') 

At this point, you just have to release the spool to the PRTPDF printer and verify that the spool is printed correctly on paper.

NB: Be careful that if the QSYSPRT has the HOLD parameter set to “YES” the release on the second output queue must be done manually: the system will wait for the user to release it to send the stream to the physical printer.

About author

Head of Application development & Systems integration I have always worked on "i". Programmer, analyst, project manager, computer systems analyst, ... lots of hats but a single preferred platform. I collaborate with the FAQ400 community because I firmly believe in teamworking and I hope for a continuous and constant growth of the ecosystem of which I feel part.

Leave a Reply

%d bloggers like this: