Xerox Printer Access Facility XPAF Migration Guide

Revision Date: October 12, 2011
Page 2
Installation
This section includes information about installing the XPAF software which includes the XPAF Forms Generator (XFG).

Existing XPAF customers

XFG uses the currently installed XPAF Font, Form and Logo libraries. The compiled form (.FRM) is stored in the XPAF CFORMLIB.
An XFG License String is required for the XFG compiler to function.

Customers migrating from HFDL

Customers migrating from HFDL will need to review the XPAF installation procedures as documented in the XPAF User Guide to install the XPAF software product and resource libraries.
The version of HFDL being used is irrelevant. HFDL 3.2 and HFDL 3.1 are functionally the same. Any valid Forms Source Language (FSL) including FSL compiled by HFDL 2.0D will compile with the XFG compiler.
Page 3
Page 4

1. Migrating HFDL resources

//JOBCD$XX JOB (D498,340),'XPRM2XPF UTILITY',MSGCLASS=Y, // REGION=0M,NOTIFY=&SYSUID,CLASS=S //* //* UTILITY FOR EXTRACTING RESOURCES FROM XPRM //* DATABASE AND LOADING THEM INTO XPAF LIBS //* //* DELETE TEMP PDS, IF PRESENT //DELPDS EXEC PGM=IEFBR14 //DELFNT DD DSN=TEMP.FNTLIB,DISP=(MOD,DELETE,DELETE), // SPACE=(TRK,(1,1),RLSE),UNIT=SYSALLDA //DELFRM DD DSN=TEMP.FRMLIB,DISP=(MOD,DELETE,DELETE), // SPACE=(TRK,(1,1),RLSE),UNIT=SYSALLDA //DELLGO DD DSN=TEMP.LGOLIB,DISP=(MOD,DELETE,DELETE), // SPACE=(TRK,(1,1),RLSE),UNIT=SYSALLDA //* //* ALLOCATE TEMP FILES //ALLPDS EXEC PGM=IEFBR14 //ALLFNT DD DSN=TEMP.FNTLIB,DISP=(NEW,CATLG), // SPACE=(TRK,(30,10,30)),UNIT=SYSALLDA, // DCB=(RECFM=FB,LRECL=128,BLKSIZE=8192) //ALLFRM DD DSN=TEMP.FRMLIB,DISP=(NEW,CATLG), // SPACE=(TRK,(30,10,30)),UNIT=SYSALLDA, // DCB=(RECFM=FB,LRECL=128,BLKSIZE=8192) //ALLLGO DD DSN=TEMP.LGOLIB,DISP=(NEW,CATLG), // SPACE=(TRK,(30,10,30)),UNIT=SYSALLDA, // DCB=(RECFM=FB,LRECL=128,BLKSIZE=8192)

Fonts and Logos

XFG requires any fonts and/or logos referenced in a form to be present in the XPAF Centralized Font or Logo resource libraries. Fonts and Logos may be unloaded from the XPRM (HFDL) database and subsequently loaded into the XPAF resource libraries. Sample JCL to accomplish this is shown below.
Page 5
//* //* UNLOAD FILES FROM XPRM //HFDLUTL EXEC PGM=XPRMUTIL,REGION=0M //STEPLIB DD DISP=SHR,DSN=YOUR.XPRM.LOAD //XSFONTS DD DISP=SHR,DSN=YOUR.XPRM.XSFONTS //XSFNTATT DD DISP=SHR,DSN=YOUR.XPRM.XSFNTATT //XSFORMS DD DISP=SHR,DSN=YOUR.XPRM.XSFORMS //XSFRMATT DD DISP=SHR,DSN=YOUR.XPRM.XSFRMATT //XSCLRATT DD DISP=SHR,DSN=YOUR.XPRM.XSCLRATT //XSSUPTAB DD DISP=SHR,DSN=YOUR.XPRM.XSSUPTAB //FNTLIB DD DISP=SHR,DSN=TEMP.FNTLIB //FRMLIB DD DISP=SHR,DSN=TEMP.FRMLIB //LGOLIB DD DISP=SHR,DSN=TEMP.LGOLIB //XSUACTL DD SYSOUT=X //XSUIN DD *
REPRO FONT WHERE (NAME=??????) OUTLIB=(FNTLIB); REPRO LOGO WHERE (NAME=??????) OUTLIB=(LGOLIB); REPRO FORM WHERE (NAME=??????) OUTLIB=(FRMLIB);
/* //* //* LOAD RESOURCES INTO XPAF LIBRARIES //XOAF50 EXEC PGM=XOASUP00,REGION=2048K,PARM=&SYSUID //STEPLIB DD DISP=SHR,DSN=YOUR.XPAF50.XPFLOAD //XINPARM DD DISP=SHR,DSN=YOUR.XINPARM //TABLELIB DD DISP=SHR,DSN=YOUR.XPAF50.TABLELIB //XOAPRINT DD SYSOUT=X,DCB=(RECFM=FB,LRECL=121,BLKSIZE=6050) //XOAIN DD *
LOAD FONT('TEMP.FNTLIB(*)') TO('YOUR.XPAF50.CFONTLIB') TYPE(9700) LOAD FORM('TEMP.FRMLIB(*)') TO('YOUR.XPAF50.CFORMLIB') CEN LOAD LOGO('TEMP.LGOLIB(*)') TO('YOUR.XPAF50.LOGOLIB')
/* //* //* DELETE TEMP PDS //DELPDS2 EXEC PGM=IEFBR14 //DELFNT DD DSN=TEMP.FNTLIB,DISP=(MOD,DELETE,DELETE), // SPACE=(TRK,(1,1),RLSE),UNIT=SYSALLDA //DELFRM DD DSN=TEMP.FRMLIB,DISP=(MOD,DELETE,DELETE), // SPACE=(TRK,(1,1),RLSE),UNIT=SYSALLDA //DELLGO DD DSN=TEMP.LGOLIB,DISP=(MOD,DELETE,DELETE), // SPACE=(TRK,(1,1),RLSE),UNIT=SYSALLDA //
Use the appropriate REPRO and LOAD commands above as necessary for the resource(s) needed Note that wildcards may be used in the NAME= of the REPRO commands shown above.

Forms

Forms existing in the XPRM database may also be unloaded and re-loaded into the XPAF CFORMLIB resource library using JCL shown above. However, those forms may also be compiled into the XPAF CFORMLIB with XFG if the FSL is available.
Page 6

2. Executing the XFG Forms Generator

Functional parameters

XPAF has several parameters available to customize the way in which it functions. These parameters are stored in a PDS named XINPARM. There are parameters for the printing subsystem XPAF Output Services Facility (XOSF) as well as for the XPAF Output Administrative Facility (XOAF). XFG is an XOAF function and as such has some required parameters for proper execution. XOAF parameters are stored in a member named XINSXOAF. The following parameters are required.
PAPERSIZE Defines the default paper size to be used by XFG when the
paper size is not specified in the FSL. Example
PAPERSIZE=A4
Default: LETTER (USLETTER)
CFONTDSN Defines the dataset name of the XPAF Centralized Font library.
Example
CFONTDSN=MY.XPAF50.CFONTLIB
Default: none
CFORMDSN Defines the dataset name of the XPAF Centralized Form library.
Example
CFORMDSN=MY.XPAF50.CFORMLIB
Default: none
CLOGODSN Defines the dataset name of the XPAF Centralized Logo library.
Example
CLOGODSN=MY.XPAF50.CLOGOLIB
Default: none
Note that these parameters with the correct values are generated for you in the XINSXOAF member if you are installing XPAF 5.0 with the Install jobs created by the standard XPAF installation procedure.
Page 7

Executing the Forms Generator

Xerox Output Administrative Facility Load or Compile Centralized Forms to a Native Library
COMMAND ===>
INPUT Dataset Name: FSLLIB Member Name: Input will be loaded if source is 128-bytes Input will be compiled if source is 80-bytes
OUTPUT Dataset Name: 'XPAF50.TESTING.CFORMLIB' Member Name:
NOTE: OUTPUT Member Name is required if INPUT file is sequential with no tape header label record.
OUTPUT Member Name is ignored if FSL source is being compiled.
(Input source is 80-bytes)

ISPF Panels

If you run the ISPF XOAF interface, you can go to option 1.2, Load or Compile Centralized Forms. This option will show you a panel similar to the one shown below.
You must enter the Input Dataset Name and member as well as the Output Dataset Name.
If the Input dataset has a record length of 128-bytes, the form will be loaded into the Output Dataset.
If the Input dataset has a record length of 80-bytes, the FSL will be compiled and the resultant form (.FRM) will be stored in the Output Dataset. The compiled form member name is always the form name as defined in the FSL. If an output member name is entered, it will be ignored. Compiled forms also have a listing file showing the FSL source and any messages generated by XFG. This listing is written to the DDName of UJLLIST.
Page 8
//JOBCD$XX JOB (D498,340),'XOAF UTILITY',MSGCLASS=Y, // REGION=0M,NOTIFY=&SYSUID,CLASS=S //* //* UTILITY FOR LOADING RESOURCES INTO XPAF //* LIBRARIES. THIS UTILITY WILL ALSO //* COMPILE FSL INTO XEROX FORMS (.FRM) //* //* LOAD RESOURCES INTO XPAF LIBRARIES //XOAF50 EXEC PGM=XOASUP00,REGION=2048K,PARM=&SYSUID //STEPLIB DD DISP=SHR,DSN=YOUR.XPAF50.XPFLOAD //XINPARM DD DISP=SHR,DSN=YOUR.XINPARM //TABLELIB DD DISP=SHR,DSN=YOUR.XPAF50.TABLELIB //XOAPRINT DD SYSOUT=X,DCB=(RECFM=FB,LRECL=121,BLKSIZE=6050) //XOAIN DD *
LOAD FORM('YOUR.FSLLIB(FORM)') TO('YOUR.XPAF50.CFORMLIB') CEN COMPILE FORM('YOUR.FSLLIB(FORM)') TO('YOUR.XPAF50.CFORMLIB')
/* //* Note that the two commands above are equivalent. //

XOAF Batch

XOAF may also be run in a batch mode which will not tie up your terminal while doing administrative tasks.
XOAF Batch is JCL with several commands available to load fonts, forms, logos, etc. An example is shown below. As in the ISPF version, you must enter the Input Dataset Name and member as well as the Output Dataset Name.
The command LOAD FORM is available to load or compile a form. The command COMPILE FORM is also available to compile a form.
If the Input dataset has a record length of 128-bytes, the form will be loaded into the Output Dataset.
If the Input dataset has a record length of 80-bytes, the FSL will be compiled and the resultant form (.FRM) will be stored in the Output Dataset. The compiled form member name is always the form name as defined in the FSL. If an output member name is entered, it will be ignored. Compiled forms also have a listing file showing the FSL source and any messages generated by XFG. This listing is written to the DDName of UJLLIST.
Sample JCL is shown below.
Page 9
//JOBCD$SF JOB (D498,340),'SAMPLE FORM ffffff',CLASS=S,MSGCLASS=Y //* //* SAMPLE FORM ffffff FROM CFORMLIB //* //SAMPFORM EXEC PGM=IEBGENER //* //OUTP OUTPUT LINECT=0, XPAF EXTENDED JCL MUST BE INSTALLED // CLASS=X, FOR XFORM1 AND REVFORM TO BE VALID // XFORM1=ffffff, // REVFORM=ffffff //* //SYSUT2 DD SYSOUT=(,),DCB=(RECFM=FA,BLKSIZE=80),OUTPUT=*.OUTP //SYSPRINT DD SYSOUT=* //SYSIN DD DUMMY //SYSUT1 DD * 1SAMPLE OF FORM ffffff.FRM
/* //

Sampling a compiled form

Using XPAF

A form may be sampled by a simple IEBGENER job if XPAF XOSF is being used to print on Xerox printers. Note that if XPAF is used with IEBGENER any required resources (FONTs, LOGOs or IMAGEs) will also be downloaded to the printer.
Sample JCL is shown below.
Page 10
//user$XF JOB (D498,340),'XFG UTILITY',CLASS=S,MSGCLASS=Y, // REGION=4M,NOTIFY=&SYSUID //* //* THIS JOB EXECUTES THE XFG UTILITY PROGRAM TO DOWNLOAD AND //* SAMPLE A FORM FROM THE CFORMLIB //* //* THE FORM NAME IS GIVEN IN THE PARM= STATEMENT //* THE IDEN PARAMETERS ARE GIVEN IN THE IDEN FILE //* THE OUTPUT IS WRITTEN TO SYSPRINT //* //* THE FORM WILL BE DOWNLOADED WITH THE DELETE OPTION //* IF ,D IS CODED AFTER THE FORM NAME IN THE PARM STATEMENT //* //XFGUTIL EXEC PGM=XFGUTIL,REGION=4M,PARM=(form,D) //STEPLIB DD DISP=SHR,DSN=your.hlq.XPFLOAD //XINPARM DD DISP=SHR,DSN=your.hlq.XINPARM //CFORMLIB DD DISP=SHR,DSN=your.hlq.CFORMLIB //SYSPRINT DD SYSOUT=X //IDEN DD * PREFIX='@@@DJDE' OFFSET=0 SKIP=8 /* //

Using the XFGUTIL program

The XFGUTIL utility program is supplied to facilitate sampling forms when XPAF XOSF is not being used to print on Xerox printers. Sample JCL is shown below.
Note that if XPAF is used to print the XFGUTIL output any required resources (FONTs, LOGOs or IMAGEs) will NOT be downloaded to the printer. This is because the form being sampled is included in the print data stream via a DJDE FILE= command and XOSF does not examine these files for resource requirements.
Page 11
Loading...