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...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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

Preparing the INMOD Program<br />

• In the parms string that <strong>Teradata</strong> T<strong>Pump</strong> passes to the INMOD routine, each comment is<br />

replaced by a single blank character.<br />

• In the parms string that <strong>Teradata</strong> T<strong>Pump</strong> passes to the INMOD routine, each consecutive<br />

sequence of whitespace characters, such as blank, tab, and so on, that appears outside of<br />

delimited strings, is replaced by a single blank character.<br />

• FDLINMOD is used for compatibility by pointing to a data structure that is the same for<br />

FDL INMODs.<br />

Preparing the INMOD Program<br />

This section describes the protocol used between <strong>Teradata</strong> T<strong>Pump</strong> and an INMOD written for<br />

<strong>Teradata</strong> T<strong>Pump</strong>. The protocols are applicable to all client platforms running <strong>Teradata</strong><br />

T<strong>Pump</strong>. Considerations applicable exclusively to UNIX-based clients are contained in<br />

“Programming INMODs for UNIX-based Clients” on page 218.<br />

On entry to an INMOD user exit routine for <strong>Teradata</strong> T<strong>Pump</strong>, the conventional parameter<br />

register points to a parameter list of two 32-bit addresses. The first 32-bit address points to a<br />

data structure containing the following fields:<br />

• Return Code/Function Code, 4-byte integer.<br />

• Length, 4-byte integer, Length of the data record.<br />

• <strong>Data</strong> Record, Input data record buffer. The maximum length is:<br />

• 31K or 31,744 bytes for <strong>Teradata</strong> for Windows<br />

• 62K or 63,488 bytes for <strong>Teradata</strong> <strong>Data</strong>base for UNIX<br />

INMOD Input Values<br />

Table 38 lists valid values of the Return Code/Function Code field and their meanings As<br />

input to the INMOD routine, as input to the INMOD routine.<br />

Table 38: INMOD Input Return Code Values<br />

Code<br />

Description<br />

0 Request for INMOD to initialize and return first record.<br />

1 Request for INMOD to return a record.<br />

2 Request for INMOD to reposition to last checkpoint because of client restart. Repositioning<br />

information, provided by the INMOD after a code 3, is read from the restart logtable and<br />

returned to the INMOD in the buffer normally used for the data record.<br />

3 Request for INMOD to take a checkpoint. In the buffer normally used to return data, the<br />

INMOD should return any information (up to 100 bytes) that it may need to reposition to<br />

this checkpoint. <strong>Teradata</strong> T<strong>Pump</strong> then saves this information in its restart log table.<br />

216 <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!