[V9.0.0.0 Jun 2016]

The ccsid_part2.tbl file

From IBM® MQ 9.0, the ccsid_part2.tbl file replaces the existing ccsid.tbl file, used in previous versions of the product, to supply additional CCSID information. Note that the ccsid.tbl file continues to be parsed by IBM MQ and should not be deleted, and that entries in ccsid_part2.tbl take precedence over other entries in ccsid.tbl.

The ccsid_part2.tbl is located in the MQDataRoot/conv/table directory on:
  • Linux® - all versions
  • Solaris
and the MQDataRoot\conv\table directory on Windows
Note that the ccsid_part2.tbl file is not available on any other platforms. The file is used to perform the following actions:
  • Add or modify existing CCSID entries for use in IBM MQ data conversion
  • Specifying default data conversion
You should use ccsid_part2.tbl, as this file:
  • Contains support for the new Unicode encoding values.
  • Allows you to specify the version of CCSID entries, so that the entries are only applicable to selected command levels.

Adding or modifying CCSID entries

An entry in the ccsid_part2.tbl file has the following format:

<CCSID number> <Base CCSID> <DBCS CodePage> <SBCS CodePage> 
<Type> <Encoding> <ACRI> <Name>
An example entry for CCSID 1200 (UTF-16) is:

  1200 1200 1200 1200 3 8 0 UTF-16
Note: For more details on the value for ACRI see the comment in the ccsid_part2.tbl file.
In the ccsid_part2.tbl format:
Type can equal:
1=SBCS
2=DBCS
3=MBCS
Encoding can equal:
1=EBCDIC
2 = ASCII
3 = ISO
4 = UCS-2
5 = UTF-8
6 = Euc
7 = GB18030
8 = UTF-16
9 = UTF-32
When editing the file you:
  • Can specify a comment by using the # symbol at the start of a line. This prevents IBM MQ from attempting to parse the line.
  • Cannot supply in-line comments.
  • Must ensure that you do not create blank lines.
  • Must not add new entries at the end of the file.

    New CCSID entries should be added before the ACRI table information.

Specifying default data conversion

You can define default conversion CCSIDs, which are used to convert between ASCII or similar and EBCDIC CCSIDs, if no conversion is supported between two CCSIDs.

If you enable this function, the default conversion is used for transmission and message headers, and can also be used in user data conversion.

Default conversions are enabled by creating two lines similar to the following:

default       0      500     1     1    0   
default       0      850     1     2    0   
The first line sets the default for EBCDIC CCSIDs to 500 and the second line sets the default for ASCII and similar CCSIDs to 850.

Specifying data for different command levels

To specify CCSID entries for different command levels of IBM MQ you use a colon symbol followed by the command level (or command levels) of IBM MQ that you want the next section to be applicable to.

The number represents the minimum command level that the queue manager or client must be running in. For example, if the current queue manager is command level 900, and it encounters an 800 or 900 command level flag, the CCSIDs are read.

However, a queue manager at level 800 ignores any CCSIDs in the 900 section.

The command level specified is applicable to all CCSID entries encountered after a command level flag, until a new command level flag is found.

If you require to set the command level to all command levels, specify the number zero.

When first parsing ccsid_part2.tbl, IBM MQ treats all CCSIDs encountered as valid for all command levels of IBM MQ.

Versioning starts to be used only when IBM MQ encounters the first command level flag.

The following code snippet shows an example of using Versioning:

# Comment Block
# End of Comment Block
# Because no command level flag is specified and we’re at the start of the file 
# the following CCSIDs will be read on all versions
    819   819       0      819     1    3     0    ISO8859-1
    923   923       0      923     1    3     0    ISO8859-15
   1051  1051       0     1051     1    3     0    IBM-1051
# The colon :900 below shows that the CCSIDs after will only be for MQ cmd level 900 and above
:900
   8629   437       0      437     1    2     0    IBM-437
  12725   437       0      437     1    2     0    IBM-437
  16821   437       0      437     1    2     0    IBM-437
  20917   437       0      437     1    2     0    IBM-437
# The colon :0 below shows that the CCSIDs after will be for all version of MQ
:0
   4946   850       0      850     1    2     0    IBM-850
  33618   850       0      850     1    2     0    IBM-850
  61697   850       0      850     1    2     0    IBM-850
  61698   850       0      850     1    2     0    IBM-850