PSF/AIX and SAP R/3: What is the best way to include an overlay

ITEM: RTA000106873



Q:                                                                              
ABSTRACT:     What is the best way to include an overlay in a file              
              that is generated by sap2afp on AIX??                             
SEARCH ARG:   aix rs6000 psf overlays                                           
TOPIC THREAD: IX                                                                
              RISCSYSTEM_SOFTWARE                                               
              OTHER_SUPT_RISCSYSTEM_LPPS                                        
..                                                                              
We are using PSF/AIX (sap2afp transform) to generate a print file and           
then upload it to MVS to print on a 3900 printer.  What is the best way         
to include an Overlay into the AFP file on the AIX side before we ship          
it to MVS to print?  Most of our overlays are done on the MVS side so           
we can continue to use the JES JCL to include the overlays there;               
however, if we generate an overlay using ISIS or some type of package           
on a workstation, what is the best way to include it into the AFPDS            
file to print on MVS?  Keep in mind the sap2afp transform is running on         
AIX.                                                                            
                                                                                
A:                                                                              
Most of the time, overlays (like fonts and page segments) are external          
AFP resources, meaning that their name is called in the AFP data stream         
but the resource itself is not imbedded.  This means that you generally         
only have one or fewer copies of the resource in your organization,             
thereby simplifying resource management, and it means that network              
utilization is reduced because smaller files (with only the pointers)           
are shipped around the network.                                                 
                                                                                
Assuming you'll be using the AFP Upload for AIX feature of PSF/MVS for          
automatic upload and print of the data from the sap2afp transform on            
AIX, the easiest way to implement the utilization of an overlay in the         
situation you describe is to create the overlay on the workstation,             
then upload it in binary format to the MVS system, reblock it into              
the variable length structured fields using the AFRREBLK CLIST, and             
store it in the PSF/MVS PDS for overlays. You would also need a formdef         
to call out the overlay.  Then when the job comes up through AFP Upload,        
the formdef name is uploaded along with the job and automatically used          
for job submission on the MVS side by AFP Upload.  Then at print time,          
the formdef will call the overlay that has been stored in the MVS PDS.          
                                                                                
Or is there some reason your customer would prefer to send the overlay          
inline with the AFP data from the sap2afp transform?                            
                                                                                
Q:                                                                              
The customer would prefer to send the overlay inline with the AFP code,         
if this is possible?  This would alleviate multiple file transfers and         
possible loss of data and other problems.  Also the customer feels like         
they have more control in the AIX environment then in the MVS                   
environment, so they would like to package as much as they could under          
AIX PSF and then ship it to MVS to print.                                       
                                                                                
A:                                                                              
In the PSF/AIX environment, you can use ACIF to create an output                
file from your data and a resource file from your resources (like the           
formdef and overlay, plus page segment if any). You can then concatenate        
those files (resource file plus output file, in that order) to create           
a single file that contains both your resources and your data, thus             
creating inline resources.  (You could also include fonts, but all the          
experts in Boulder that I talked to *strongly* discourage that.  Since          
fonts are generally static resources, installing them on the MVS host           
is the best way to go instead of sending them all inline.)                     
                                                                                
As an alternative, if you know by name all the resources that are going         
to be needed for a job, it is possible to write a small script or               
program to copy those resources, wrap them in the appropriate structured        
fields, and then prepend them to the AFPDS data file that comes out of          
sap2afp, and send that combined file MVS for printing.  One of the              
developers I spoke to in Boulder has a sample REXX exec that you could          
use with REXX for AIX or rewrite as a shell script.  If you want more           
information on this approach, please reopen the item.                           
                                                                                
The advantage of using ACIF is that you merely tell it the types of             
resources to put inline and it will automatically include all those             
needed for the job.  The potential downside of using ACIF is that it            
will add overhead; how much it will add is customer- and job-dependent.         
You might try the ACIF approach first; then if you determine the               
overhead is too much, you could try the structured field approach (as           
long as you know all the resources by name that will be required for            
the job).                                                                       
                                                                                
Customization of the AIXAFP (for SAPscript/OTF) and/or AIXLD (for ABAP)         
shell scripts will be required to do something along the lines of:              
                                                                                
1) invoke ACIF with the right parameters such as cc=yes, cctype=a,              
   formdef, outputdd, resobjdd, and restype, to create the output               
   file (outputdd) and the resource file (resobjdd). (I'm not going into        
   a great deal of explanation; I refer you the ACIF (AFP Conversion and        
   Indexing Facility) User's Guide (S544-5825) to the chapters relating         
   to the AIX platform.)                                                        
                                                                                
2) (where \\ is left square bracket and // is right square bracket):           
                                                                                
if  \\ -z $7 //; then                                                           
    cat resobjdd outputdd | enq -P$1-ocopies=$4 -ouserid=$5 -onodeid=$6 $3      
else                                                                            
    cat resobjdd outputdd | enq -P$1-ocopies=$4 -ouserid=$5 -onodeid=$7         
    -oformdef=$6 $3  (Note that this should all be on a single line.)           
                                                                                
3) rm resobjdd                                                                  
                                                                                
4) rm outputdd                                                                  
                                                                                
I am not a programmer, and no doubt this could be made more elegant and         
robust.  But I hope this gives you enough ideas to get started.  You            
may wish to contact Printing Systems Company Services if you'd like             
to contract out the actual coding.                                             
                                                                                
You might want to have a separate shell script or set of shell scripts          
(other than AIXAFP, AIXQUE, and AIXLD) to do this if not all of your            
sap2afp jobs require this approach.  To do so, you can edit                     
/usr/lpp/psf/sap2afp/printer.tab to add another line that has a unique          
three-character System value.  For example, say your current entry reads        
something like, where System=AIX:                                               
                                                                                
  Dest=AIX1 System=AIX Queue=psf12 Node=0.0.0.0                                 
                                                                                
The sap2afp transform looks at the three-character value for System             
and uses the shell scripts that begin with AIX, e.g., AIXAFP, AIXLD, or         
AIXQUE.  You can create a new line with a different three-character             
value for System, for example, UPL:                                             
                                                                               
  Dest=MVS1 System=UPL Queue=psf12 Node=0.0.0.0                                 
                                                                                
For jobs sent to the SAP R/3 AFP printer called MVS1, the sap2afp               
transform will look for UPLAFP, UPLLD or UPLQUE, so you can create              
your own customized scripts there.                                              
                                                                                
You'll also need to build a formdef to call the overlay and ensure that         
the correct formdef name (which will call the overlay) is invoked               
through the SAP R/3 paper type and page format (as described in the             
document, "Print Services Facility for AIX: Printing AFP Data from              
SAP R/3" available only from the PENPUBS disk as SAP2AFP LIST3820.              
                                                                                
I hope this helps.  Thanks for using WWQ&A.                                     
                                                                                
S e a r c h - k e y w o r d s:                                                 
PSF/6000 PSF/AIX PSF AIX inline overlay font pseg page segment MVS              
resource ACIF line2afp upload AIXLD AIXAFP AIXQUE print sap2afp OTF             
SAPscript ABAP R/3 SAP                                                          
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                               


WWQA: ITEM: RTA000106873 ITEM: RTA000106873
Dated: 01/1999 Category: XPSF6000
This HTML file was generated 99/06/24~12:43:34
Comments or suggestions? Contact us