276 IBM Content Manager OnDemand Guide
In particular, the ARSYSPIN Input Exit (UX03) and Separator Exit (UX06) provide substantially 
more information about the job that produced the spool file that is being processed than what 
is available at the time when APKACIF (or another indexer program) is driven by Content 
Manager OnDemand. In addition, the processing impact of driving ARSYSPIN exit routines is 
lower than the impact that is associated with the indexer exit routines, such as ARSSPVIN. 
ARSSPVIN is a sample APKACIF input exit that is provided with ARSYSPIN to introduce additional 
index values into the data stream, by using a “trailer” record. Trailer records are inserted at 
the end of the JESMSGLG data. They reflect the highest severity condition (a step completion 
code, an ABEND code, or another type of problem, such as a JCL error) that is observed in 
messages that are contained within these spool files.
Special considerations for APKACIF exits that are written in COBOL
The provided sample exit is written as a COBOL main program. To prevent the IBM Language 
Environment® from creating and destroying the COBOL runtime environment each time that 
ARSSPVIN is called, a CEEUOPT CSECT must be assembled and link-edited with the COBOL 
object code.
Constructing a CEEUOPT CSECT is documented in z/OS Language Environment 
Customization, SA22-7564. A sample CEEUOPT CSECT is included in dataset 
CEE.SCEESAMP(CEEUOPT). Y ou can use this sample as a model, but you must ensure that 
the following option is specified:
RTEREUS=(ON)
CEEUOPT CSECT must be assembled and link-edited with the COBOL object code. In 
addition, you must ensure that the resulting module is link-edited as NOT RE-ENTRANT and 
NOT REUSEABLE. This task is required for the local variables within the COBOL exit code to 
retain their values. This exit is invoked several times during an ACIF run. The sample source 
code is in the SARSINST library member ARSSPVIN. Example 11-15 shows a sample 
CEEUOPT CSECT.
Example 11-15   CEEUOPT CSECT
CEEUOPT CSECT ,
CEEUOPT AMODE ANY
CEEUOPT RMODE ANY
CEEXOPT
ABPERC=(NONE), +
ABTERMENC=(ABEND), +
AIXBLD=(OFF), +
ALL31=(ON), +
ANYHEAP=(16K, 8K, ANYWHERE, FREE) +
BELOWHEAP=(8K, 4K, FREE), +
CBLOPTS=(ON), +
CBLPSHPOP=(ON), +
CBLQDA=(OFF), +
CEEDUMP=(60,SYSOUT=*,FREE=END,SPIN=UNALLOC), +
CHECK=(ON), +
COUNTRY=(US), +
DEBUG=(OFF), +
DEPTHCONDLMT=(10), +
DYNDUMP=(*USERID,NODYNAMIC,TDUMP), +
ENVAR=(’’), +
ERRCOUNT=(0), +
ERRUNIT=(6), +
FILEHIST=(ON), +
FILETAG=(NOATOCVT,NOAUTOTAG), +
HEAP=(32K,32K,ANYWHERE,KEEP,8K,4K), +