Parameters for the column repair exit
Register 1 points to a standard parameter list on entry to a column repair exit. The standard z/OS linkage parameter list contains a single 31-bit address of the column repair exit parameter list area.
The parameter list is included as part of the sample COBOL column repair exit, which is distributed as SCACSAMP(CECCOLVE).
Parameters that are passed to the column repair exit
The column repair exit parameter list consists of multiple fields as described in Table 1. Some of the fields contain the actual parameter value and other entries are pointers to areas that contain the actual value.
| Parameter list field name | Area length | Input or output | Description |
|---|---|---|---|
| Parameter list version | 2 bytes | Input | Informs the exit what version of the exit parameter list it communicates with. This parameter is provided for future extension. The only valid value is 1. |
| Column repair exit parameter list version | 2 bytes | Output | The exit is expected to inform the caller what version of the exit parameter list it communicates with. The only valid value is 1. |
| User double words | 8 bytes | Input/output | The user double word is initialized to binary zeroes before the initialization call. The exit can use this area for any purpose. The value that the exit puts in this area is returned to the exit for each subsequent call for the given subscription until the replication is stopped for the subscription. |
| Function code | 4 bytes | Input | One of the following functions for which the exit is being
invoked: CREX-FUNC-INIT
CREX-FUNC-REPAIR CREX-FUNC-TERM |
| User name | 32 bytes | Input | Left-justified, space-padded user name that is associated with the operation. Spaces will occur in Change Data Capture operations. |
| Subscription name | 64 bytes | Input | Left-justified, space-padded subscription name that is associated with the operation. Spaces will occur in non-Change Data Capture operations. |
| Source system ID | 8 bytes | Input | Left-justified, space-padded, 8-byte unique identifier for the subscription. Spaces will occur in non-Change Data Capture operations. |
| Database type | 8 bytes | Input | Left-justified, space-padded database type that is associated with the operation. Valid values:
|
| Table name | 20 bytes | Input | Left-justified, space-padded table or view name that is associated with the operation. |
| Schema name | 8 bytes | Input | Left-justified, space-padded schema name for the table that is associated with the operation. |
| Column name | 32 bytes | Input | Left-justified, space-padded column name that failed validation or conversion. |
| Native data type | 1 byte | Input | The native data type that failed conversion. Valid values:
|
| Native data signed | 1 byte | Input | Value indicating whether native numeric data is signed:
|
| Native data length | 4 bytes | Input | The length of the native data |
| Native data address | 4 bytes | Input | The address of the native data that failed validation or conversion. The exit cannot modify the contents of this area. |
| SQL data type | 4 bytes | Input | The SQL data type for the data that is pointed to in the SQL data address. Possible
values: SQL-TYPE-SMALLINT
SQL-TYPE-INTEGER SQL-TYPE-DECIMAL |
| SQL data length | 4 bytes | Input | The length of the SQL data type for the data pointed to in the SQL data address. |
| SQL data precision | 4 bytes | Input | The precision of the SQL data type for the data pointed to in the SQL data address. |
| SQL data scale | 4 bytes | Input | The scale of the SQL data type for the data pointed to in the SQL data address. |
| SQL data address | 4 bytes | Input/output | The address of the SQL data that failed validation or conversion. The value contains the
server default repair value of -999s. The exit can modify the contents of this area to change the repair value for the operation. |
| SQL data null indicator | 1 bytes | Input | Value that indicates whether the SQL data supports NULL values:
|
| SQL action | 4 bytes | Input | Data server action that is associated with the
operation: CREX-ACT-NONE
CREX-ACT-DELETE CREX-ACT-INSERT CREX-ACT-UPDATE CREX-ACT-QUERY CREX-ACT-AFTR-DELETE CREX-ACT-BFOR-DELETE CREX-ACT-AFTR-INSERT CREX-ACT-BFOR-INSERT CREX-ACT-AFTR-UPDATE CREX-ACT-AFTR-UPDATE |
| Return code | 4 bytes | Output | One of the following values:
|
| Reason code | 4 bytes | Output | Setting the reason code to zero (CREX-REASON-0) indicates that the exit provided a
replacement value for the invalid numeric data. The CECCREPX sample exit uses a replacement value of
zeros. Setting the reason code to 1 (CREX-REASON-NULL) indicates that the column is NULL. The CECCREPN sample exit uses this option when invalid data is found in a numeric column. |
| Diagnostic string | 80 bytes | Output | This field is always set to low values on entry to the apply exit. The exit can use this area to return a null-terminated diagnostic string. The maximum length of the message is 79 bytes, allowing for the 1-byte null string terminator. |