Chapter 11. Exits 243
In Multiplatforms, ACIF user exits must be written in C. In z/OS, ACIF user exits can be written 
in C, COBOL, or assembler. For more information, see the “Special considerations for 
APKACIF exits written in COBOL ” section in the IBM Content Manager OnDemand for z/OS, 
V9.0, Administration Guide, SC19-3364. ACIF exits do not exist in Content Manager 
OnDemand for IBM i.
For detailed documentation about each exit point, see IBM Content Manager OnDemand for 
Multiplatforms - Indexing Reference, SC19-3354, and IBM Content Manager OnDemand for 
z/OS and OS/390 - Indexing Reference, SC27-1375. 
11.2.1  New macro for user exits
Because the default installation directory changed for Content Manager OnDemand V9, the 
arsload program supports a new macro to make user exits more portable.
For example, instead of specifying the exit as 
INPEXIT=/opt/IBM/ondemand/V9.0/exits/acif/asciinpe, specify the following items in the 
indexing parameters:
INPEXIT=$(OD_ACIF_EXIT_DIR)asciinpe
The arsload program substitutes the correct path for the platforms.
This macro works for all four ACIF user exits. The macro is not supported if ACIF is run 
outside of the arsload program.
11.2.2  Input record exit
ACIF provides the input record exit so that you can add, delete, or modify records in the input 
file before they are processed by ACIF . The primary purpose of this exit is to modify input 
records before ACIF accesses the records. The exit program is started by the ACIF inpexit 
parameter.
The input exit can be used to insert indexing information. More common uses are to remove 
null characters, truncate records, add carriage control, and change code pages. In general, 
indexer parameters need to reflect what the input record looks like after the input exit runs. 
The only exception is the FILEFORMAT indexer parameter, which needs to correspond to the 
input record before it is passed to the input exit. For example, if the file contains ASCII data 
and uses the ASCII stream delimiter x'0A', specify (NEWLINE=x'0A'), not (NEWLINE=x'25'), 
even if you use the apka2e exit to convert ASCII to EBCDIC. Otherwise, ACIF does not pass 
the correct record to the apka2e input exit.
Content Manager OnDemand provides three input record exits:
/SM590000apka2e
/SM590000asciinp
/SM590000asciinpe
Y ou can either use these input record exits as samples to build from, or you can compile them 
and run them as is. These programs are documented in IBM Content Manager OnDemand 
for Multiplatforms - Indexing Reference, SC18-9235, and are described briefly in the following 
sections.
Note: ACIF exits are called for every input, indexing, output, and resource record. ACIF 
exits are not limited to being called only one time for each file.