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