25.09.2015 Views

Teradata Parallel Data Pump

Teradata Parallel Data Pump Reference - Teradata Developer ...

Teradata Parallel Data Pump Reference - Teradata Developer ...

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 5: Using INMOD and Notify Exit Routines<br />

Overview<br />

Table 34: NOTIFY EXIT Routine<br />

Notify Exit Routine Language<br />

IBM C on z/OS platforms<br />

z/OS platform<br />

C on UNIX and Windows platforms<br />

Entry Point<br />

_dynamn<br />

DYNAMN<br />

_dynamn<br />

The <strong>Teradata</strong> T<strong>Pump</strong>/INMOD Routine Interface<br />

<strong>Teradata</strong> T<strong>Pump</strong> exchanges information with an INMOD routine by using the conventional<br />

parameter register to point to a parameter list of two 32-bit addresses.<br />

The first 32-bit address points to a three-value structure consisting of status code, length, and<br />

body. The second 32-bit address points to a data structure containing a sequence number and<br />

a parameter list.<br />

Status Code<br />

Status Code is a 32-bit signed binary value that carries information in both directions.<br />

Table 35 lists <strong>Teradata</strong> T<strong>Pump</strong>-to-INMOD interface uses eight status codes, as defined in the<br />

table.<br />

Table 35: <strong>Teradata</strong> T<strong>Pump</strong>-to-INMOD Status Codes<br />

Value<br />

Description<br />

0 <strong>Teradata</strong> T<strong>Pump</strong> is calling for the first time and expects the INMOD routine to return a<br />

record.<br />

At this point, the INMOD routine should perform its initialization tasks before sending a<br />

data record to <strong>Teradata</strong> T<strong>Pump</strong>.<br />

1 <strong>Teradata</strong> T<strong>Pump</strong> is calling, not for the first time and expects the INMOD routine to return<br />

a record.<br />

2 The client system has been restarted, the INMOD routine should reposition to the last<br />

checkpoint, and <strong>Teradata</strong> T<strong>Pump</strong> is not expecting the INMOD routine to return a data<br />

record.<br />

Note: If the client system restarts before the first checkpoint, <strong>Teradata</strong> T<strong>Pump</strong> sends entry<br />

code 0 to re-initialize. Repositioning information, provided by the INMOD after a code 3,<br />

is read from the restart log table and returned in the buffer normally used for the data<br />

record.<br />

3 A checkpoint has been written, the INMOD routine should remember the checkpoint<br />

position, and <strong>Teradata</strong> T<strong>Pump</strong> does not expect the INMOD routine to return a data<br />

record.<br />

In the buffer normally used to return data, the INMOD should return any information<br />

(up to 100 bytes) needed to reposition to this checkpoint. The utility saves this<br />

information in the restart log table.<br />

206 <strong>Teradata</strong> <strong>Parallel</strong> <strong>Data</strong> <strong>Pump</strong> Reference

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!