Migrating to normalized records

The Gateway Server supports many types of transmission formats. All of the input formats that the Gateway Server receives are converted to an IBM® normalized record for processing. See Transmission File Format for an overview of the normalized records. These normalized records are also passed to the user exits.

Any existing user exit that supports only the receipt of X9.37 records must be modified to work with the normalized records. The normalized records that are supplied by Gateway Server are described in the Javadoc information, which is located in the artifacts container for your FTM offering. For more information about getting files from the artifacts container for your offering, see Getting the files from the artifacts container for your FTM offering.

After you get the Javadoc information, open the Javadoc/index.html file to view the documentation. The normalized record information is in the com.ibm.icpcs.utilities.normicl package.

Each X9.37 record type from the Gateway Server that was available to the user exits has a normalized record type that corresponds to it. Each normalized record has similar, or identical, methods that are available to access its fields. The following table shows which normalized record type corresponds to a specific X9.37 record type.
Table 1. User exit changes
X9.37 record type Normalized record type
Type01 ICLFileRecord
Type10 ICLCashLetterRecord
Type20 ICLBundleRecord
Type25 ICLItemRecord
Type26 - 28 ICLAddendumRecord
Type31 ICLItemRecord
Type32 - 35 ICLAddendumRecord
Type54 ICLImageTestRecord
Type70 ICLBundleRecord
Type90 ICLCashLetterRecord
Type99 ICLFileRecord

Refer to the Javadoc information for the specific method names and parameters. Most records have a more specific subclass that reads all of the fields from the X9 standard records. All of these normalized records are subclasses of ICLRecord.

For example, to create a normalized record that adds in an addendum array, use the following static method:
ICLRecord.makeICLRecord (short recordType, short dataFormat, byte [] data)
This method returns a new ICL record. The parameters for this method are:
recordType
The record type, such as ICLDefines.CHECK_ADDENDUM_C_TYPE.
dataFormat
The data format code, such as ICLDefines.FORMAT_X9.37_2003_CODE.
data
The original record data, formatted as an array of bytes.