Duplicate Detect user exit
The Duplicate Detect user exit is provided to allow the user the opportunity to modify the data being sent to the Duplicate Detect engine before it is sent. By default, the Gateway populates the field data to match the Duplicate Detect reference implementation for payments. The following fields are created in the Duplicate Detect request object and sent to the Duplicate Detect engine.
| Field name | Field value |
|---|---|
| AMOUNT | ICLItemRecord.getAmount() |
| PROCESS_CONTROL | ICLItemRecord.getProcessControl() |
| ACCOUNT | ICLItemRecord.getAccount() |
| FIELD_4 | ICLItemRecord.getField4() |
| ROUTING_TRANSIT | ICLItemRecord.getRoutingNumber() |
| EXT_PROC_CODE | ICLItemRecord.getExtProcCode() |
| AUX_ONUS | ICLItemRecord.getAuxOnUs() |
| CHANNEL | "ICL" |
| SOURCE_COMP | "GWY" |
| COLLECTION_TYPE | ICLCashLetterRecord.getCollectionTypeIndicator() |
| SOURCE | ICLCashLetterRecord.getOriginRoutingNumber() |
| ITEM_SEQ_SORTER | ICLItemRecord.getItemSorter() |
| ITEM_SEQ_NUM | ICLItemRecord.getItemSequenceNum() |
| BUS_DATE | ICLBundleRecord.getBusinessDate() |
The user exit provides the opportunity to change any of the above fields (names or values). The user can add additional fields or delete any of the fields that were populated by the Gateway. The Gateway can be set for a particular item not to be sent to the Duplicate Detect engine.
The Duplicate
Detect user exit is a Java™ class implementing
the com.ibm.icpcs.gatewayserver.user.UserDupDetectInterface class. The interface has several
getter and setter methods, along with the modifyDupRecordForIncomingItem and
modifyDupRecordForOutgoingItem methods. As a convenience to the user, a class that implements
all the getter and setter methods is provided. Users must extend the
com.ibm.icpcs.gatewayserver.user.UserDupDetect class to ensure future compatibility. Users
only have to implement the modifyDupRecordForIncomingItem and
modifyDupRecordForOutgoingItem methods in their class.
During transmission processing, Gateway Server calls methods based on the record type being processed.
setFileHdrRec()setFileCtrRec()
setCashLetterHdrRec()setCashLetterCtrRec()
setBundleHdrRec()setBundleCtrRec()
modifyDupRecordForOutgoingItem method. It has the following parameters: - RecordData
- The Duplicate Detect API data structure that contains the fields that were populated by the Gateway Server. Use the various methods on this object to get a field with a specific name and modify its name or value. The user can add new fields to the record or delete existing fields.
- ICLItemRecord
- The ICLItemRecord is passed so the user has access to all of the item level fields.
- a Vector
- This parameter contains all of the supporting addenda records for the item.
The sample class, which is in the SampleDupDetect.java file in the samples directory, extends the UserDupDetect class. This user exit also requires that the izhapi.jar file be placed in the class path so that it can be found when the user exit is compiled. This class is activated by specifying the Java class name in the duplicateDetectUserClass property in the izxconfig.properties file.