INMOD names should be unique within the system. INMODs are not re-entrant and cannot be shared by two Teradata TPump (or FastLoad, MultiLoad, or FastExport) sessions at the same time.
Some changes have been made to the INMOD utility interface for Teradata TPump because of operational differences between Teradata TPump and the older utilities. For compatibility with INMODs, the FDLINMOD parameter should be used. The use of this parm provides support of existing INMODs, with the following restrictions:
- When the FDLINMOD parm is used, INMODs that are compatible with other utilities may be used. However, if a range of records is requested from an FDL-compatible INMOD (using FROM, FOR, or THRU on the IMPORT command), Teradata TPump bypasses any default record checkpointing. If there is a recovery under these circumstances, Teradata TPump starts over and acquires the records again from the beginning of the range. Under these same circumstances, if checkpointing is requested by specifying the CHECKPOINT parameter on the BEGIN LOAD command, Teradata TPump terminates with an error.
- If a range of records is not requested when using an FDL-compatible INMOD, Teradata TPump performs checkpointing, either by default or by the user’s request. If there is a recovery and the INMOD supports recovery, Teradata TPump continues its data acquisition from the last recorded checkpoint. However, the source sequence numbers generated by Teradata TPump may not correctly identify the sequence in which the INMOD supplied the records. Despite this discrepancy, the data is still applied correctly.
- An FDL-compatible INMOD routine cannot be specified in conjunction with the INFILE specification of a Teradata TPump IMPORT command. If an INMOD is specified together with the INFILE specification, Teradata TPump performs the file read operation and the INMOD acts as a pass-through filter. Since an FDL-compatible INMOD always performs the file read operation, it is not valid with a Teradata TPump INFILE specification.