z/OS® JCL statements for running ACIF

Figure 1 contains sample JCL that runs ACIF to process print output from an application.
Figure 1. Sample z/OS JCL to run ACIF
//USERAPPL EXEC PGM=user application
//PRINTOUT DD DSN=print file,DISP=(NEW,CATLG)
//*
//ACIF     EXEC PGM=APKACIF,PARM=[['PARMDD=ddname][,MSGDD=ddname']],REGION=3M
//INPUT  DD DSN=print file
//OUTPUT DD DSN=output file,DISP=(NEW,CATLG),
//            DCB=(LRECL=32756,BLKSIZE=32760,RECFM=VBA,DSORG=PS),
//            SPACE=(32760,(nn,nn)),UNIT=SYSDA
//RESOBJ DD DSN=resource file,DISP=(NEW,CATLG),
//            DCB=(LRECL=32756,BLKSIZE=32760,RECFM=VBA,DSORG=PS),
//            SPACE=(32760,(nn,nn)),UNIT=SYSDA
//INDEX  DD DSN=index file,DISP=(NEW,CATLG),
//            DCB=(LRECL=32756,BLKSIZE=32760,RECFM=VBA,DSORG=PS),
//            SPACE=(32760,(nn,nn)),UNIT=SYSDA
//SYSPRINT DD SYSOUT=*
//SYSIN    DD *
ACIF parameters go here
The JCL statements that are used to run ACIF are described here. For more information about programming JCL, see z/OS MVS JCL Reference.
USERAPPL
Represents the job step to run the application that produces the actual print output. USERAPPL or user application is the name of the program that produces the print data set.
PRINTOUT
Specifies the DD statement that defines the output data set produced from the application. The application output cannot be spooled to the Job Entry Subsystem (JES) because ACIF does not read data from the spool. The print file is the name of the print data set created by the user application.
ACIF
Represents the job step that runs ACIF to process the print data set. You can specify two optional input parameters to ACIF:
PARMDD
Defines the DD name for the data set containing the ACIF processing parameters. If PARMDD is not specified, ACIF uses SYSIN as the default DD name and stops processing if SYSIN is not defined.
MSGDD
Defines the DD name for the message data set. When ACIF processes a print data set, it can issue various informational or error messages. If MSGDD is not specified as an invocation parameter, ACIF uses SYSPRINT as the default DD name and stops processing if SYSPRINT is not defined.

Although Figure 1 shows a specified REGION size of 3 MB, this value can vary, depending on the complexity of the input data and the conversion and indexing options requested.

INPUT
Specifies the DD statement that defines the print data set to be processed by ACIF. In Figure 1, this is the same data set as defined in the PRINTOUT DD statement.
OUTPUT
Specifies the DD statement that defines the name of the print data set that ACIF creates as a result of processing the application's print data set. Figure 1 shows the DCB requirements.
RESOBJ
Specifies the DD statement that defines the name of the resource data set that ACIF creates as a result of processing the print data set. The RESOBJ file must be allocated with variable blocked records. This statement is not required if RESTYPE=NONE is specified in the processing parameter data set. For more information about the RESTYPE parameter, see RESTYPE.
INDEX
Specifies the DD statement that defines the name of the index object file that ACIF creates as a result of processing the application's print data set.
This parameter is not required:
  • Unless indexing is requested or unless the input print data set contains indexing structured fields. If you are not sure whether the print data set contains indexing structured fields, and you do not want an index object file to be created, specify DD DUMMY; no index object file is created.
  • If INDEXOBJ=NONE is specified in the processing parameter data set and no indexing keywords are specified (FIELD, INDEX, or TRIGGER).
SYSPRINT
Specifies the DD statement that defines the system output data set. If you are not writing messages to spool, the data set must have these attributes: LRECL=137,BLKSIZE=multiple of LRECL + 4 RECFM=VBA,DSORG=PS.
SYSIN
Specifies the DD statement that defines the data set containing the ACIF processing parameters. This is the default DD name if PARMDD is not specified as an invocation parameter.
Note: Files that are named by the FDEFLIB, PDEFLIB, PSEGLIB, and OVLYLIB parameters are allocated to system-generated DD names.