PUBBDCOMPAT

The PUBBDCOMPAT configuration parameter identifies whether to publish badly formed data in hexadecimal format or in a format that is compatible with version 9.5 of InfoSphere® Classic Data Event Publisher for z/OS®.

Description

Note: The PUBBDCOMPAT parameter applies to delimited format subscriptions only.

Beginning in version 11.3, any badly formed data that is encountered in a table row is published in hexadecimal format by default.

The PUBBDCOMPAT configuration parameter provides a compatibility option for existing customers to continue handling badly formed data in the same way that it was handled in version 9.5.

Recommendations:
  • New customers should keep the default value (0) to publish badly formed data in hexadecimal format.
  • Existing customers should keep the default value if their consuming applications are not designed to handle the way badly formed data is flagged and published in version 9.5.
  • Existing customers who have consuming applications that are designed to handle badly formed data in the way it is flagged and published in version 9.5 should specify option 1, 2, or 3 to identify which format their applications are designed to work with.
Important: Regardless of the PUBBDCOMPAT setting, badly formed data in non-numeric format is always published as a hexadecimal value preceded by an "X" identifier.

Specifications

Use: Configuration parameter for the capture service.

Service class: CAP

Service task name: CECCAP

Data type: INT

Default: 0

Valid values:
0: Default
Badly formed data is published in hexadecimal format preceded by an "X".
Flag
Insert the invalid data flag IBM-INVALID-COLUMN-n-i into published output.
n
The first column in error. This identifier applies to badly formed data in numeric and non-numeric format.
i
Indicates whether the record contains a before image (B) or an after image (A).
1: Version 9.5, No repair, No flag
The publishing format of badly formed data is compatible with version 9.5 of InfoSphere Classic Data Event Publisher for z/OS. Invalid data is not repaired or flagged.
No repair
Do not replace invalid numeric data with -9's.
Note: If the original numeric value cannot be displayed, an exception occurs and -9's are displayed. However, diagnostic messages in the server log will contain the original value in hexadecimal format.
No flag
Do not insert the invalid data flag into published output.
2: Version 9.5, Repair, No flag
The publishing format of badly formed data is compatible with version 9.5 of InfoSphere Classic Data Event Publisher for z/OS. Invalid data is repaired but not flagged.
Repair
Replace each character of the invalid numeric data with a 9 and make the entire value negative (for example, "-99...99").
No flag
Do not insert the invalid data flag into published output.
3: Version 9.5, Repair, Flag
The publishing format of badly formed data is compatible with version 9.5 of InfoSphere Classic Data Event Publisher for z/OS. Invalid data is repaired and flagged.
Repair
Replace each character of the invalid numeric data with a 9 and make the entire value negative (for example, "-99...99").
Flag
Insert the invalid data flag IBM-INVALID-COLUMN-nnni-HEX or IBM-INVALID-NUMERIC-nnni into published output. If a table row contains badly formed numeric data and non-numeric data, both invalid data flags are shown: IBM-INVALID-COLUMN-nnni-HEX+IBM-INVALID-NUMERIC-nnni.
nnn
Identifies the 3-digit number of the column that contains badly formed data.
i
Indicates whether the record contains a before image (B) or an after image (A).
When the length of the column number is less than 3 digits, the number is prefixed with zeroes. For example, IBM-INVALID-NUMERIC-005A.
Table 1. Data type validation
Data type value SQL data type Data validated Repair value
P DECIMAL Packed decimal data -9 or hexadecimal
V VARCHAR Field length 0: For a negative length value

Maximum length: If the length is greater than the maximum length of the field

UP DECIMAL Packed positive number -9 or hexadecimal
UF INTEGER Value between 0 and X'7FFFFFFF' -9 or hexadecimal
UH SMALLINT Value between 0 and X'7FFF' -9 or hexadecimal