Customizing the line data transform

InfoPrint Manager provides several sample programming exits to assist you in customizing the line-data transform. Use of the programming exits is optional. You specify the names of the exit programs with the inpexit, outexit, and resexit keywords. Each of these keywords is described in the InfoPrint Manager: Reference.

InfoPrint Manager provides these sample exits:

Input record exit
install_path\exits\acif\apkinp.c
Output record exit
install_path\exits\acif\apkout.c
Resource exit
install_path\exits\acif\apkres.c

In addition, InfoPrint Manager provides these user input record exits to translate line-data data streams:

install_path\exits\acif\apka2e.c

Converts the ASCII stream data into the EBCDIC stream data. The default conversion is from code page 850 to code page 037. You can override the defaults with the inpccsid and outccsid parameters.

install_path\exits\acif\asciinp.c

Converts unformatted ASCII data that contains carriage returns and form feeds into a record format that contains ANSI carriage control characters. This exit encodes the ANSI carriage control character in byte 0 of every record.

install_path\exits\acif\asciinpe.c

Converts unformatted ASCII data into a record format as does asciinp.c, and then converts the ASCII stream data into EBCDIC stream data. The default conversion is from code page 850 to code page 037. You can override the defaults with the inpccsid and outccsid parameters.

install_path\exits\acif\dbblank

Processes EBCDIC double-byte line data downloaded from the z/OS spool by adding an extra blank to the end of the input record if:

  1. The last byte in the record is a blank (x'40' in EBCIDIC).
  2. The second to the last byte is not a blank.
  3. The input record is line data; that is, it is not a structured field.
This exit also updates the record length by 1 if the blank is added. The exit has no way of determining if the data is DBCS or not, so this will happen to every input record that ends in a single blank. The exit assumes that the input data is EBCIDIC, and that the output data is also EBCIDIC. In other words, the exit does not do any code page translation, but it simply adds an extra blank if needed.
    Note:
  1. This exit is only intended to be used if the spool file consists of double-byte or mixed single- or double-byte data that has blank truncation. Adding a blank to other types of data files could cause formatting errors, depending on how the page definition is coded.
  2. This exit only checks for a single trailing blank, so if a different number of odd blanks is present in the data, it is up to the user to make sure the data is formatted with the correct font.

The C language header file for all line-data transform exit programs is provided in the install_path\exits\acif\apkexits.h directory, and the build rules for the line-data transform user exits reside in install_path\exits\acif\exit_program.

The source code for the sample exits is provided in install_path\exits\acif. You can modify these source files or create your own. You must have the Microsoft Visual Studio 2017, installed on your InfoPrint Windows server to compile and build user-exit programs. Be sure to apply the latest service available. Sample project files for Microsoft Visual for each exit program are also installed in the same directory.

For more information about compiling user exit programs, see Configuring custom steps (transforms).