Unicode (UTF-8) conversion support in IDMS
search cancel

Unicode (UTF-8) conversion support in IDMS

book

Article ID: 247901

calendar_today

Updated On:

Products

IDMS

Issue/Introduction

As part of the Web-services functionality in IDMS, support for converting EBCDIC data to and from UTF-8 (as opposed to ASCII) was added with PTF LU04786.

This feature is documented under the z/OS Unicode Conversion Services sub-heading on the Web Services Product Requirements, Configuration, and Components page on TechDocs.

The information in this article clarifies some of the points made in that documentation.

Environment

Release : All supported releases.
Component : IDMS/DB

Resolution

The value to use for CCSID

The documentation indicates that when enabling the Unicode conversion support, the WEBC command must be of the form:

WEBC ENCODING=UNICODE,CCSID=xxxxx

where xxxxx is the Coded Character Set Identifier (CCSID) used by the Unicode conversion service. This value should correlate to the code table specified in the installation/assembly of RHDCCODE.

The *.CAGJSRC member that is used as input when RHDCCODE is created during configuration is determined by the VARBLIST parameter RHDCCODE (see the RHDCCODE section of the VARBLIST member in the *.CAISAG.CONFIG library). All of the provided EBCDIC code pages are of the form 114n. RHDCCODE is a two character value. The first character is what should be used in the last character position of the CCSID.

For example, if RHDCCODE was set to 1F during configuration, then member CP1141F was used, and therefore the CCSID value in the WEBC command should be 01141.

WEBC ENCODING=UNICODE,CCSID=01141

However, in some cases, clients have coded their own input source to the RHDCCODE assembly by making changes to the provided #DEFBYTE macros. Historically, clients have done this to support the usage of non-standard hex codes for certain characters in early stages of application development that preceded the more common use of such characters (e.g., the Euro sign, or national characters that used different hex codes under other operating systems such as BS2000).

If there is a suspicion that this has been done, then it is possible that the provided Unicode conversion support will not work as expected. If the Unicode conversion service needs to be utilized (in order to provide full UTF-8 support with the IDMS Web Services facility), then the only solutions to this situation are as follows:-

  1. Convert the underlying data so that one of the provided RHDCCODE source members can be used
  2. Create a user-specific CCSID that conforms to the data as is, and use that in the WEBC command.

The DISPLAY UNI,ALL z/OS console command

The documentation also makes reference to the z/OS console command DISPLAY UNI/ALL.

The combination of 01208 and the value specified in the CCSID clause of the WEBC command must appear in the CONVERSION section of the output of the DISPLAY UNI command in order for the Unicode conversion to function as expected.