User Control Record User Exit
The user control record user exit is provided to enable users to insert their own user documents in the X9.37 file before it is transmitted to the host. Such documents might include deposit tickets, additional addenda records, or items. The Transaction Server calls the user exit every time it encounters a control or item record. The Transaction Server also calls the user exit for type 68 records that are not item addendum records. If you want one or more records to be inserted at the current location, the user exit passes back a list of byte arrays containing the data to be put in the file. You can specify whether to insert the data before or after the current record. You can also specify whether to give the new record its own unique ISN.
The user control record user exit must implement the
com.ibm.icpcs.gatewayserver.user.UserControlRecordInterface interface. This interface has
several get and set methods, along with the getUserControlRecordList method. For more
information, see getUserControlRecordList method. As a convenience to the user, in addition to
this interface, a class that implements all of the get and set methods is provided. By extending the
com.ibm.icpcs.gatewayserver.user.UserControlRecordList class, only the
getUserControlRecordList method must be implemented in their class. Note: As new
requirements are addressed, the UserControlRecordInterface might be updated in future
releases. By extending the UserControlRecordList class, the user exit is shielded from
having to implement any new methods as these interface changes are released.
When the Transaction Server processes an extraction, it calls the following
method or methods for each record type it encounters:
- File Header Record (Type01)
- setFileHdrRec() and setfileCtrRec()
- Cash Letter Header Record (Type10)
- setCashLetterHdrRec(), setCashLetterCtrRec(), and setPresentment()
- Bundle Header Record (Type20)
- setBundleHdrRec(), setBundleCtrRec(), and setSegment()
- Open Batch Record
- setOpenBatchRec() and setCloseBatchRec()
- Store Transaction Record
- setTransactionRec()
| Methods | The Transaction Server calls this method... |
|---|---|
| setFileHdrRec (ICLFileRecord type01) | When it encounters an ICL file header record (type 01) |
| setFileCtrRec (ICLFileRecord type99) | When it encounters an ICL file control record (type 99) |
| setCashLetterHdrRec (ICLCashLetterRecord type10) | When it encounters an ICL cash letter header record (type 10) |
| setCashLetterCtrRec (ICLCashLetterRecord type90) | When it encounters an ICL cash letter control record (type 90) |
| setPresentment (PresentmentData presentment) | When it begins processing for a cash letter in order to relay the presentment details to the user exit and having a null value when the presentment goes out of context |
| setBundleHdrRec (ICLBundleRecord type20) | When it encounters an ICL bundle header record (type 20) |
| setBundleCtrRec (ICLBundleRecord type70) | When it encounters an ICL bundle control record (type 70) |
| setSegment (SegmentData segment) | When it begins processing for a bundle to relay the segment details to the user exit and with a null value when the segment goes out of context |
| setInsertLocation (int f) | To set the insert location of the current user document |
| setItemDetails (ItemDetailsInterface itemDetails) | To relay the item details to the user exit. The user should extract the necessary information from the received item details interface during this method invocation. Do not save the item details interface instance as it is not guaranteed to be valid after this call completes. There is no corresponding getter method for this information. |
| setOpenBatchRec (RCapBatchRecord openBatch) | With an open batch (ICL) record at the beginning of the batch (ICL) |
| setCloseBatchRec (RCapBatchRecord closeBatch) | With a close batch (ICL) record at the beginning of the batch (ICL) |
| setTransactionRec (RCapTransactionRecord transaction) | With a transaction record at the beginning of the transaction |
| setPayDirRecvTimeStamp (String payDirRecvTimeStamp) | To set the received time stamp |
| getFileHdrRec ( ) | To retrieve the current file header record |
| getFileCtrRec ( ) | To retrieve the current file control record |
| getCycleId ( ) | To retrieve the cycle ID being used for processing of the current file |
| getCycleDate ( ) | To retrieve the cycle date being used for processing of the current file |
| getEntryNum ( ) | To retrieve the entry number being used for processing of the current file |
| getSortType ( ) | To retrieve the sort type being used for processing of the current file |
| getBankNum ( ) | To retrieve the bank number being used for processing of the current file |
| getCashLetterHdrRec ( ) | To retrieve the current cash letter header record |
| getCashLetterCtrRec ( ) | To retrieve the current cash letter control record |
| getPresentment ( ) | To retrieve the current presentment instance. A null value may be received if the presentment is not in context. |
| getBundleHdrRec ( ) | To retrieve the current bundle header record |
| getBundleCtrRec ( ) | To retrieve the current bundle control record |
| getSegment ( ) | To retrieve the current segment instance. A null value may be received if the segment is not in context. |
| getInsertLocation ( ) | To retrieve the current user document insert location |
| getOpenBatchRec ( ) | To retrieve the current open batch (ICL) record |
| getCloseBatchRec ( ) | To retrieve the current close batch (ICL) record |
| getTransactionRec ( ) | To retrieve the current transaction record |
| getPayDirRecvTimeStamp ( ) | To retrieve the file received time stamp |
| getUserControlRecordList (String recordType, Vector records) | During extraction processing to allow the user to insert a user control document either before or after the current record. The user should call setInsertLocation() to set the insertion location before returning. |