Professional Documents
Culture Documents
WSTE 09-25-08 WMQDataConversionII
WSTE 09-25-08 WMQDataConversionII
Agenda
Terms and Definitions
Customer Scenarios
IBM Technotes
Useful Links
Summary
Code Page
(AKA Code set) A code page can be defined as a table
with a mapping of alphanumeric code and its binary
representation.
Where each character in a character set is assigned a
numerical representation (often used interchangeably
with character set e.g. charset in HTML)
Recap: MQMD
The Message Descriptor is not entirely character data, so
some of it will be converted as character data, some as
numeric, and some is passed unconverted.
Recap: CCSID
The Queue Manager CCSID is important as it
defines the default CCSID for messages being
created using MQPUT and is the default CCSID
which will be used for conversion when messages
are retrieved using MQGET. If the channel option
CONVERT(YES) is set the conversion is attempted
for the receiving Queue Managers CCSID.
Recap: FORMAT
The queue manager built-in formats all have
names beginning with MQFMT. They are listed and
described in the WebSphere MQ Application
Programming Reference under the Format field of
the Message descriptor (MQMD)
MQFMT_NONE (default)
MQFMT_STRING (for character data conversion)
Customer Scenario 2
Windows WMQ Client z/OS /SVRCONN
WMQ Level 6.0.x WMQ Level 6.0
OS Level ??? OS Level ???
Putting Application CCSID 437 QMGR CCSID 500
Channel defined with CONVERT=Y Must have Client attachment
Problem: Messages put to z/OS queue with a CCSID of 437 are not
converted as expected.
Customer Scenario 3
CICS TS 3.2 z/OS
Using CICS Bridge WMQ Level 6.0
OS Level ???
QMGR CCSID 500
Local Fix : As a temporary work around for this issue change the
Sender channel definition to have YES for the CONVERT parameter.
Customer Scenario 4
Linux/SDR iSeries/ RCVR
WMQ Level 6.0.1.1 WMQ Level 6.?.?.?
OS Level ?? OS Level ???
QMGR CCSID 819 QMGR CCSID 932
Customer Scenario 5
Windows Client iSeries/ SVRCN
WMQ Level 6.0.2.4 WMQ Level 6.0.2.4
OS Level ?? OS Level 5.3
QMGR CCSID ??? QMGR CCSID 37
Application CCSID 819 Application CCSID 1208
Problem: Messages put to iSeries queue with a CCSID of 819 are not converted
as expected. Server application has get option of MQGMO_CONVERT specified for
the MQGET api. Application fails with a RC 2190
MQRC_CONVERTED_STRING_TOO_BIG. Messages are not retrieved from the
queue.
Solution : Conversion between 819 (SBCS) and 1208 (MBCS) will fail if
application buffer size is not large enough to handle data. Verify the size of the
receiving buffer length. Remember when converting from a SBCS to MBCS to
double the size of the buffer.
Customer Scenario 6
Windows Client iSeries/ SVRCN
WMQ Level 6.0.2.4 WMQ Level 6.0.2.4
OS Level ?? OS Level 5.3
QMGR CCSID ??? QMGR CCSID 37
Application CCSID 819 Application CCSID 1208
Data Length 25 Bytes Buffer Length 24 Bytes
MQGET options: Convert, Accept
Truncated message
Problem: Messages put to iSeries queue with a CCSID of 819 are not
converted as expected. Server application has get options of
MQGMO_CONVERT and MQGMO_ ACCEPT_TRUNCATED_MSG
specified for the MQGET api, which fails with a RC 2079
MQRC_TRUNCATED_MSG_ACCEPTED. However, the messages are
retrieved successfully, but not all data is converted.
1200
1208
13488
Problem Determination
Complete problem description
WMQ Environment description
WMQ Level, for example WMQ 6.0.2.2
OS level, for example iSeries 5.3.0; Windows XP SP2
QMGR CCSID, for example 37, 437, 5026, 1047
QMGR Sender Channel CONVERT setting
Putting Application MQMD CCSID and Format setting
Getting Application MQMD CCSID setting
Capture the message on the XMITQ.
Verify if it is correct.
Capture the message on the Destination Queue.
Verify if it is correct
WMQ Trace on both sending and receiving servers
IBM WebSphere MQ Data Conversion : Technote 7010477
Useful Links
WebSphere MQ Support
www.ibm.com/software/integration/wmq/support
System i Globalization
http://www.ibm.com/servers/eserver/iseries/software/globali
zation/
Unicode Home Page
http://www.unicode.org/
Character Sets and Code Pages, Encoding
http://www.i18nguy.com/unicode/codepages.html
Language Tools
http://www.google.com/language_tools?hl=en
http://babelfish.altavista.com/
Useful Tools
WebSphere MQ Supportpac
IH03 (IH03: WebSphere Message Broker V6-Message display,
test & performance utilities)
IBM Technote 4000637
RFHUTIL and RFHUTILC allows enduser to place test message
to a queue with a particular CCSID
WebSphere MQ Sample
AMQSBCG (distributed (Windows and Unix))
AMQSBCG4 (iSeries)
These programs are passed the name of a queue and a queue
manager. It then reads each message from the queue and
outputs the following to the stdout
Sample programs do not have MQGMO_CONVERT
specified
Formatted message descriptor fields
Message data (dumped in hex and, where possible,
character format)
CSQ4BCL1 (z/OS)
iconv API
On the i5/OS(qshell), AIX, Linux and z/OS (OMVS)
platforms, enduser can take advantage of the iconv
unix api/command to verify data conversion.
NOTE: On the i5/OS platform, use the DSPF command with F10=Display Hex to
view data in hexdecimal format.
Documentation
The following manuals discuss MQ conversion topics. Just refer to
the index of these manuals for conversion or CCSID
WMQ Commands Manual Reference
WMQ Application Programming Reference
WMQ Application Programming Guide
Sample programs documented in this manual
WMQ Intercommunication
WMQ Conversion document
Summary
Terms and Definitions
IBM Technotes
7010477 Webcast replay: WebSphere MQ Data
Conversion
Useful Links
WebSphere MQ Product Support page
www.ibm.com/software/integration/wmq/support
Search on Data Conversion to review IBM
Technotes regarding this topic