Rules and Restrictions for Routines
The following sections describe operational rules and restrictions for using INMOD and notify exit routines in Teradata MultiLoad jobs.
INMOD and notify exit routine names must be unique within the system.
A Teradata MultiLoad job can specify one INMOD routine with each IMPORT command. These specifications can be to the same or different INMOD routines.
Each Teradata MultiLoad job can specify an exit routine with the NOTIFY… EXIT option of the BEGIN MLOAD command.
Compiling and Linking Routines
The methods for compiling and linking routines vary with the operating system. The following sections describe the methods for z/OS, UNIX OS, and Windows.
On mainframe-attached z/OS client systems, INMOD and notify exit routines must be compiled under IBM C.
Using UNIX OS
On network-attached UNIX client systems, INMOD and notify exit routines must:
On network-attached Windows client systems, INMOD and notify exit routines must:
For sample programs and procedures that compile and link INMOD and notify exit routines for the operating system environment, see Appendix C: “INMOD and Notify Exit Routine Examples.”
Addressing Mode on z/OS Systems
On Teradata MultiLoad 07.00.00 and later, use either 31-bit or 24-bit addressing for INMOD routines on mainframe-attached systems. The 31-bit mode provides access to more memory, which enhances performance for Teradata MultiLoad jobs with a large number of sessions.
Use the following linkage parameters to specify the addressing mode when building INMOD routines for z/OS systems:
INMOD Routine Compatibility with Other Load Utilities
Use FDL-compatible INMOD routines that were created for FastLoad by including the FDLINMOD parameter as the USING (parms) option of the IMPORT command. Using this parameter provides compatible support operations, except for the way checkpointing is performed:
If Teradata Database experiences a restart/ recovery operation, Teradata MultiLoad starts over and gets the records again from the beginning of the range.
Under these same circumstances, if the BEGIN MLOAD command included a CHECKPOINT rate other than 0, Teradata MultiLoad terminates with an error condition.
If Teradata Database experiences a restart/ recovery operation, and the INMOD routine supports recovery, Teradata MultiLoad continues the data acquisition activity from the last recorded checkpoint.
Note, however, that the source sequence numbers generated by Teradata MultiLoad may not correctly identify the sequence in which the INMOD routine supplied the records. The data is still applied correctly, however, despite this discrepancy.
An FDL-compatible INMOD routine with the INFILE specification of a Teradata MultiLoad IMPORT command cannot be specified.
When an INMOD routine with the INFILE specification is specified:
The combination of an FDL-compatible INMOD routine with a Teradata MultiLoad INFILE specification is not valid because an FDL-compatible INMOD routine must always perform the file read operation.
To support Teradata MultiLoad restart operations, the INMOD routine must support checkpoint operations, as described in “Teradata MultiLoad/INMOD Routine Interface” on page 73.
If an INMOD routine that does not support the checkpoint function is used, a job may encounter problems when Teradata MultiLoad takes a checkpoint.
By default, Teradata MultiLoad takes a checkpoint every 15 minutes. To bypass the Teradata MultiLoad checkpoint function specify a CHECKPOINT rate of zero in the BEGIN MLOAD command; that way, the job completes without taking a checkpoint.
When the CHECKPOINT rate is greater than 60, the specified number refers to the number of records, not the number of minutes. Though this would nullify the Teradata MultiLoad restart/reload capability, it would allow use of an INMOD routine that does not support the checkpoint function.