Customizing the line data transform
InfoPrint 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 InfoPrint Manager: Reference or the line2afp man page. If you are using InfoPrint's sample user exits or your own user exit to convert incoming data streams from one code page to another code page, then the INPCCSID parameter indicates the code page of the incoming data stream. The OUTCCSID parameter indicates the code page of the output from UCONV.
Note: If you have written any user-exit programs that use ICONV, you must alter them to use UCONV instead. See the InfoPrint Manager: Reference for more information.
InfoPrint provides these sample exits:
- Input record exit
- Output record exit
- Resource exit
In addition, InfoPrint provides these user input record exits to translate line-data data streams:
- Converts the ASCII stream data into the EBCDIC stream data.
Note: The default conversion is from code page 805 to code page 037. You can override the defaults with the inpccsid and outccsid parameters.
- 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.
- Converts unformatted ASCII data into a record format as does asciinp.c and then converts the ASCII stream data into EBCDIC1 stream data.
- 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:
- The last byte in the record is a blank (x'40' in EBCIDIC).
- The second to the last byte is not a blank.
- The input record is line data; that is, it is not a structured field.
- 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.
- 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 also provided:
/usr/lpp/psf/acif. You can modify these source files or create your own. In order to compile and build your exit, you must have an C/C++ compiler for the Linux operating system. You can use the
/usr/lpp/psf/bin/Makefileas an example of how to compile the exits.
For more information about compiling user exit programs, see Compiling and installing the user-exit program.