Considerations for output files and Unicode


When data from the Db2 log contains Unicode characters, BMC AMI Log Master takes different actions depending on the context where the characters occur:

  • When Unicode characters occur in Db2 object names, BMC AMI Log Master translates Unicode to EBCDIC
  • When Unicode characters occur in column data, BMC AMI Log Master translates Unicode to EBCDIC except for the following types of programmatically readable output
    • Data portion (not record header) of records in logical log data files
    • Data portion (not record header) of records in load data files

When BMC AMI Log Master cannot successfully translate one or more characters from Unicode to EBCDIC and must write output that contains those characters, it takes the following actions:

  • Issues a warning message to provide hexadecimal representation of the original Unicode characters (message BMC097411 for Db2 object names or message BMC097231 for column data)
  • Includes substitute characters in the output as defined by the applicable CCSID conversion information (for example, x'3F')

    (In SQL output, BMC AMI Log Master uses hexadecimal representation to include the original Unicode characters.)

  • Continues processing

    The following table describes the additional actions that BMC AMI Log Master can take depending on the form of output.

    Context of untranslatable characters

    Type of output file

    Product action

    Db2 object names

    SQL statements

    Embeds additional comments in SQL output file with hexadecimal representation of the original Unicode characters of the object name, and includes substitute characters (for example, x'3F') in object name.

    Important

    If you execute the generated SQL file without modification, you can encounter -204 or -206 SQL codes, indicating unidentified table or column names. To avoid these conditions, generate logical log output and use High-speed Apply to apply the updates.

    Reports

    Includes substitute characters in object names.

    Logical log files

    In the control file:

    • Updates several control file records by setting 'flag' fields and writing original Unicode object names into designated fields (XTYP , DTSI , DTBI , DCLI , DCL2 , DLCI , or DIXI).
    • Other logical log control file fields include Db2 object name with substitute characters

    In the data file, includes substitute characters in object names within header of data records.

    Load files

    Includes substitute characters in object names.

    DDL statements

    Issues message BMC097426 as a warning, embeds additional comments in output data definition language (DDL) file, and includes substitute characters in object names.

    Important

    If you execute the generated DDL file without modification, you can encounter negative SQL codes or create Db2 objects with names that contain the substitute characters.

    Log record data

    SQL statements

    Uses x'nnnnnnnn' notation to include Unicode characters in data portion of SQL statements (UX'xxxxxxxx' for graphic Unicode characters).

    Important

    Use caution when migrating data from a Unicode table to an EBCDIC table by using migrate SQL.

    Reports

    Writes additional lines in the report to note the presence of untranslated characters in data, including hexadecimal representation of the original Unicode characters.

    Logical log files

    Logical log data file includes original Unicode data (no error or warning).

    Load files

    Load data file includes original Unicode data (no error or warning).

    DDL statements

    Issues message BMC097426 as a warning, embeds additional comments in output data definition language (DDL) file, and includes substitute characters in object names.




 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*