User insert transaction user exit

The user insert transaction user exit allows the user to insert normalized transaction records into incoming work. The user exit inserts the normalized transaction records throughout the incoming transmission or batch (ICL). The Gateway Server does not validate their location or content. Validation is done by the user exit. Gateway calls the user exit after basic batch (ICL) validation, and passes inserted user transactions as other transactions to Business Rules Server or Transaction Server.

The user exit extends abstract class com.ibm.icpcs.gatewayserver.user.UserInsertItem which implements the com.ibm.icpcs.gatewayserver.user.UserInsertItemInterface Java™ interface. The interface contains several methods:
  • The method to insert user transactions before the batch (ICL) control record is shown in the following code example:
    List <UserItemRecordsInterface> getUserRecordBeforeList (
                    PresentmentDetailsInterface presentmentHeader,
                    PresentmentDetailsInterface presentmentControl);
  • The method to insert user transactions before the segment control record is shown in the following code example:
    List <UserItemRecordsInterface> getUserRecordBeforeList (
                    SegmentDetailsInterface segmentHeader,
                    SegmentDetailsInterface segmentControl);
  • The method to insert user transactions before the transaction record is shown in the following code example:
    List <UserItemRecordsInterface> getUserRecordBeforeList (
                    UserItemRecordsInterface itemRecord);
  • The method to insert user transactions after the transaction record is shown in the following code example:
    List <UserItemRecordsInterface> getUserRecordAfterList (
                    UserItemRecordsInterface itemRecord);
  • The method to insert user transactions after the segment header record is shown in the following code example:
    List <UserItemRecordsInterface> getUserRecordAfterList (
                    SegmentDetailsInterface segmentHeader,
                    SegmentDetailsInterface segmentControl);
  • The method to insert user transactions after the batch (ICL) header record is shown in the following code example:
    List <UserItemRecordsInterface> getUserRecordAfterList (
                    PresentmentDetailsInterface presentmentHeader,
                    PresentmentDetailsInterface presentmentControl);
The abstract class UserInsertItem contains the method:
setFileReceivingTimeStamp(String fileReceivingTimeStamp)
Gateway Server uses this method to pass the time stamp of when the transmission was received, if it is available. The sample class can access the time stamp by using the fileReceivingTimeStamp object.

The SampleUserInsertItem.java file in the samples directory is an example of a class that extends the abstract class, UserInsertItemInterface. The class is activated by specifying the Java class name in the userInsertItemClass property in the properties file.

The sample user exit inserts certain types of normalized transaction records (X9.37, X9.100-180, Rcap, and CIFF item records) after the batch (ICL) header, segment header, or transaction records, or before the presentment control, segment control, or transaction records.