Can PSF/AIX be used to print 3270 datastream (LU3) to

ITEM: RTA000144586



Q:                                                                              
ABSTRACT:     Can PSF/6000 be used to print 3270 datastream (LU3) to            
              Postscript or HP-PCL printers?                                    
SEARCH ARG:   psf/6000 hcon 3270                                                
TOPIC THREAD: PRINT                                                             
              PSF/AIX                                                           
..                                                                              
VSE customer has a requirement to print forms from CICS to laser                
printers attached to an RS/6000 (mostly via Ethernet).  This process            
currently uses host controlled printers and IPDS datastreams generated          
by CICS.  New printers are being obtained that will be controlled by            
the RS/6000.  We can change the print datastream to LU3.  We already            
have HCON on the RS/6000 for 3270 terminal and printer support.                 
                                                                                
So, we have a new requirement to capture 3270 print (LU3) in HCON,             
and route this output to Postscript or HP-PCL printers.  The output             
needs to be reformatted into a 'form', with various fonts, boxes, etc.          
                                                                                
I think HCON allows routing of the output to a file.  What I don't              
is: how to then format this output for printing on PCL or PostScript            
printers?  (my background is S/390, not AIX).  Anyway, we think there           
is a filter in PSF/6000 that will read LU3 print datastream from a file         
created by HCON and then send it through PSF/6000 to a PSF/6000                 
controlled printer.  We think PSF/6000 supports BOTH Postscript and             
HP-PCL printers.                                                                
                                                                                
Is this true?  Can you elaborate?                                               
                                                                                
Note that the customer really does not wish to make a bunch of changes          
(system or application) on the host CICS side.  Changing the printer           
definition from SCSPRT and changing the application to use LU3 instead          
of IPDS is about all we can do.                                                 
                                                                                
So, to restate my question.                                                     
                                                                                
Can PSF/6000 format TEXT data, perhaps based on a given queue name,             
using a specified filter, and then use a set of AFP resources                   
(also based on the queue name?), and send this output to a PSF/6000             
supported printer?  HP-PCL would be OK with us, though Postscript               
would be preferable.                                                            
                                                                                
Is the format of the print data in a file created by HCON usable?               
                                                                                
Thanks again.                                                                   
                                                                               
A:                                                                              
PSF/AIX does not directly support LU1 or LU3 data.  However, I have             
worked with a customer who has used HCON across SNA to send data to             
an AIX system and ultimately to PSF/AIX.  There is some additional              
customization required because HCON hardcodes some flags in the JDF             
that PSF/AIX does not support.  The customization I'm about to                  
describe worked for one customer to strip off those flags.  Perhaps             
it will assist your customer as well.  This would allow you to print            
output to any of the printers that PSF/AIX supports, including PCL,             
PPDS and IPDS printers.  PSF/AIX does *not* support PostScript printers,        
but does support PCL printers (PCL4, PCL5 or PCL5C) or PPDS non-impact          
printers.                                                                       
                                                                                
The theory is that you create a local dummy AIX queue that accepts              
the command from the sending program, strips off the flags,                    
and requeues to PSF/AIX.  For example, HCON includes a -x flag,                 
which PSF rejects and thus discards the job.  This solution will                
allow those jobs to be printed through PSF/AIX.                                 
                                                                                
****************************************************************                
                                                                                
Here are the steps I followed on AIX 4.1.4 to create a virtual printer          
with selected attributes modified:                                              
                                                                                
1) At the AIX command prompt, type:                                             
                                                                                
       touch /dev/lpx                                                           
                                                                                
   This creates an empty file (a dummy device driver). I then created           
   a virtual printer that references this file.                                
                                                                                
2) Bring up smit.  The following series of panels will be displayed             
   (I've highlighted the choices to make with arrows, i.e., <=======):          
                                                                                
*********************************************************************           
                                                                                
                               System Management                                
                                                                                
Move cursor to desired item and press Enter.                                    
                                                                                
  Software Installation and Maintenance                                         
  Software License Management                                                   
  Devices                                                                       
  System Storage Management (Physical & Logical Storage)                        
  Security & Users                                                             
  Communications Applications and Services                                      
  Print Spooling  <==============================================               
  PSF for AIX - Printing and Configuration                                      
  Problem Determination                                                         
  Performance & Resource Scheduling                                             
  System Environments                                                           
  Processes & Subsystems                                                        
  Applications                                                                  
  Using SMIT (information only)                                                 
                                                                                
F1=Help             F2=Refresh          F3=Cancel           F8=Image            
F9=Shell            F10=Exit            Enter=Do                                
                                                                                
*********************************************************************           
                                                                               
                                 Print Spooling                                 
                                                                                
Move cursor to desired item and press Enter.                                    
                                                                                
  Start a Print Job                                                             
  Manage Print Jobs                                                             
  List All Print Queues                                                         
  Manage Print Queues                                                           
  Add a Print Queue  <==========================================                
  Add an Additional Printer to an Existing Print Queue                          
  Change / Show Print Queue Characteristics                                     
  Change / Show Printer Connection Characteristics                              
  Remove a Print Queue                                                          
  Manage Print Server                                                           
  Programming Tools                                                            
                                                                                
F1=Help             F2=Refresh          F3=Cancel           F8=Image            
F9=Shell            F10=Exit            Enter=Do                                
                                                                                
********************************************************************            
                                                                                
                               Add a Print Queue                                
                                                                                
   Move cursor to desired item and press Enter. Use arrow keys to               
   scroll.                                                                      
                                                                                
      # ATTACHMENT TYPE      DESCRIPTION                                        
        local                Printer Attached to Local Host                     
        remote               Printer Attached to Remote Host                    
        xstation             Printer Attached to Xstation                      
        ascii                Printer Attached to ASCII Terminal                 
        hpJetDirect          Network Printer (HP JetDirect)                     
        file                 File (in /dev directory)  <===============         
        other                User Defined Backend                               
                                                                                
    F1=Help                 F2=Refresh              F3=Cancel                   
    F8=Image                F10=Exit                Enter=Do                    
    /=Find                  n=Find Next                                         
                                                                                
********************************************************************            
                                                                                
                                  Printer Type                                  
                                                                                
    Move cursor to desired item and press Enter.                                
                                                                               
      Bull                                                                      
      Canon                                                                     
      Dataproducts                                                              
      Hewlett-Packard                                                           
      IBM                                                                       
      Lexmark                                                                   
      OKI                                                                       
      Printronix                                                                
      QMS                                                                       
      Texas Instruments                                                         
===>  Other (Select this if your printer type is not listed above) <====        
                                                                                
    F1=Help                 F2=Refresh              F3=Cancel                   
    F8=Image                F10=Exit                Enter=Do                    
    /=Find                  n=Find Next                                        
                                                                                
************************************************************************        
                                                                                
                                  Printer Type                                  
                                                                                
    Move cursor to desired item and press Enter.                                
                                                                                
      generic  Generic Printer  <======================                         
                                                                                
    F1=Help                 F2=Refresh              F3=Cancel                   
    F8=Image                F10=Exit                Enter=Do                    
    /=Find                  n=Find Next                                         
                                                                                
************************************************************************        
                                                                               
                                   File Name                                    
                                                                                
Type or select a value for the entry field.                                     
Press Enter AFTER making all desired changes.                                   
                                                                                
                                                        (Entry Fields)          
* Name of existing FILE in /dev directory    ======> (/dev/lpx)                 
                                                                                
F1=Help             F2=Refresh          F3=Cancel           F4=List             
F5=Reset            F6=Command          F7=Edit             F8=Image            
F9=Shell            F10=Exit            Enter=Do                                
                                                                                
************************************************************************        
                                                                                
                             Add a Print Queue                                 
                                                                                
Type or select values in entry fields.                                          
Press Enter AFTER making all desired changes.                                   
                                                                                
                                                        (Entry Fields)          
  Description                                         Generic Printer           
  Printer name                       ==========>      lpx                       
                                                                                
  Names of NEW print queues to add                                              
     ASCII                           ==========>     (psfhcon)                  
     GL Emulation                                    ()                         
     PCL Emulation                                   ()                         
     PostScript                                      ()                         
                                                                                
F1=Help             F2=Refresh          F3=Cancel           F4=List            
F5=Reset            F6=Command          F7=Edit             F8=Image            
F9=Shell            F10=Exit            Enter=Do                                
                                                                                
********************************************************************            
                                                                                
                                 COMMAND STATUS                                 
                                                                                
Command: OK            stdout: yes           stderr: no                         
                                                                                
Before command completion, additional instructions may appear below.            
                                                                                
Added print queue 'psfhcon'.                                                    
                                                                                
F1=Help             F2=Refresh          F3=Cancel           F6=Command          
F8=Image            F9=Shell            F10=Exit            /=Find             
n=Find Next                                                                     
                                                                                
********************************************************************            
                                                                                
3) Exit smit, and from the AIX command prompt, type the "lsvirprt"              
   command:                                                                     
                                                                                
          lsvirprt                                                              
                                                                                
 No. Queue             Device   Description                                     
 1   6252              lpx      ibm6252  (ASCII)                                
 2   asc               lp0      ibm4029  (ASCII)                                
 3   pcl               lp0      ibm4029  (PCL Emulation)                        
 4   ps                lp0      ibm4029  (PostScript)                           
 5   psfhcon           lpy      generic  (ASCII)                               
                                                                                
Enter number from list above (press Enter to terminate):  ->  5  <=====         
                                                                                
********************************************************************            
                                                                                
4) You'll be prompted to list or change an attribute; I'll list the             
   steps to change the ones required for this to work.                          
                                                                                
   Note that the value should be an "" or exclamation point; some              
   emulators will display this as another character like a cent sign.           
                                                                                
                                                                                
    psfhcon           lpy      generic  (ASCII)                                 
To LIST attributes, enter AttributeName1 ... (* for all attributes)             
To CHANGE an attribute value, enter AttributeName=NewValue                     
To FORMAT and EDIT an attribute value, enter AttributeName~v                    
To EDIT the attribute file, enter ~v                                            
To terminate, press Enter:   j=   <=========================                   
                                                                                
*****************************************************************               
                                                                                
5) The changed value will be echoed back to the screen, then you'll be          
   prompted to change an attribute or exit.                                     
                                                                                
   Note that the value should be an "" or exclamation point; some              
   emulators will display this as another character like a cent sign.           
                                                                                
*****************************************************************               
                                                                                
Name    Description                                          Value             
_j      INITIALIZE printer?                                                    
                                                                                
   Note that the value should be an "" or exclamation point; some              
   emulators will display this as another character like a cent sign.           
                                                                                
To LIST attributes, enter AttributeName1 ... (* for all attributes)             
To CHANGE an attribute value, enter AttributeName=NewValue                      
To FORMAT and EDIT an attribute value, enter AttributeName~v                    
To EDIT the attribute file, enter ~v                                            
To terminate, press Enter:   J=   ==========================                  
                                                                                
*****************************************************************               
                                                                                
Name    Description                                          Value              
_J      RESTORE printer?                                                      
                                                                                
To LIST attributes, enter AttributeName1 ... (* for all attributes)             
To CHANGE an attribute value, enter AttributeName=NewValue                      
To FORMAT and EDIT an attribute value, enter AttributeName~v                    
To EDIT the attribute file, enter ~v                                            
To terminate, press Enter:   Z=   ==============================              
                                                                                
*****************************************************************               
                                                                                
Name    Description                                          Value              
_Z      Send FORM FEED after each file?                                        
                                                                                
   Note that the value should be an "" or exclamation point; some              
   emulators will display this as another character like a cent sign.           
                                                                               
To LIST attributes, enter AttributeName1 ... (* for all attributes)             
To CHANGE an attribute value, enter AttributeName=NewValue                      
To FORMAT and EDIT an attribute value, enter AttributeName~v                    
To EDIT the attribute file, enter ~v                                            
To terminate, press Enter:  d=p  =================================             
                                                                                
*****************************************************************               
                                                                                
Name    Description                                          Value              
_d      Print file TYPE                                      p                  
                                                                                
To LIST attributes, enter AttributeName1 ... (* for all attributes)             
To CHANGE an attribute value, enter AttributeName=NewValue                      
To FORMAT and EDIT an attribute value, enter AttributeName~v                    
To EDIT the attribute file, enter ~v                                           
To terminate, press Enter:  mo=qprt -Ppsf12  =======================           
                                                                                
   ====== Here, use the name of your original PSF/AIX queue.  This             
           command will requeue the job you've sent to the AIX virtual          
           printer (in this case called "psf6hcon") to your PSF/AIX             
           queue (in this case called "psf12").  You can specify                
           other PSF attributes here, like -odatat=line ...                     
                                                                                
*****************************************************************               
                                                                                
Name    Description                                          Value              
mo      Command String to Invoke Device Driver I/F Program   qprt               
-Ppsf12                                                                         
           (end of pipeline)                                                    
                                                                               
To LIST attributes, enter AttributeName1 ... (* for all attributes)             
To CHANGE an attribute value, enter AttributeName=NewValue                      
To FORMAT and EDIT an attribute value, enter AttributeName~v                    
To EDIT the attribute file, enter ~v                                            
To terminate, press Enter:                                                      
                                                                                
*****************************************************************               
                                                                                
4) Press ENTER to exit.  Your queue should now be defined.  Set up              
   HCON to print to the psfhcon queue, rather than the real PSF/AIX             
   queue.                                                                       
                                                                                
****************************************************************                
                                                                                
The information I provided above is one way to print from VSE to a PCL         
printer.  Formatting in PSF/AIX is done through page definitions                
(pagedefs) and electronic forms through overlays.  How you would                
configure this in the HCON implementation I described above would depend        
on how many different forms and formats (or combinations thereof) your          
customer requires.  You may want to look into services from the IBM             
Printing Systems Company for custom resources or services.                      
                                                                                
That's kind of a fuzzy answer, but I'm not sure if your customer would          
use a single form and format all the time, or if you would need some            
customized resources.  PSF has a lot of power to do this kind of                
formatting, so I think it can do what's needed, but I don't really              
have enough information to get more specific.  As an example, though,           
if you have a single overlay and pagedef that would always be used,             
you can specify them on the "mo" attribute I described earlier.  For            
example,                                                                       
                                                                                
   mo=qprt -Ppsf12 -odatat=line -oformdef=F1FORM -opagedef=P1FORMAT             
                                                                                
where the formdef references the overlay.  If you were to need                  
multiples, then we'd have to get more creative.                                 
                                                                                
                                                                                
As an alternative, it is possible to create forms in PCL and store them         
at the printer through a macro and then recall them for printing.  This         
would not involve PSF for AIX.  This really falls outside the realm of          
PSF/AIX and thus my expertise, but I would refer you to an intranet             
web site, http://tesch.aix.dfw.ibm.com/printips/makeover.html, for              
additional information from the AIX printing expert in the Dallas               
Systems Center.  If you want more information on this topic, please             
reopen them item requesting that I transfer it to the AIX queues for           
additional assistance.                                                          
                                                                                
                                                                                
I thought I'd also mention (though you said your customer doesn't want          
to change their application) that if they were willing to change their          
application to write to the POWER spool you would have the choice of            
either PSF Direct across SNA (requires PSF/VSE) or the recently                 
announced TCP/IP for VSE (see announcement letter 297-410, product              
number 5686-A04) from Connectivity Systems.                                     
                                                                                
I'm going to close this for now, but please reopen if you need                  
additional information on anything I've described or if you'd like              
me to transfer this to the AIX queues for further discussion of non-PSF         
solutions.                                                                      
                                                                               
S e a r c h - k e y w o r d s:                                                  
psf/6000 psf/aix psf aix vse sna tcp/ip direct hcon pcl postscript              
print afp overlay form format pagedef LU3 LU1 SCS macro overlay scs             
pod infoprint ipmgr                                                             
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                               


WWQA: ITEM: RTA000144586 ITEM: RTA000144586
Dated: 10/1998 Category: XPSF6000
This HTML file was generated 99/06/24~12:43:36
Comments or suggestions? Contact us