Author |
Message
|
cinzia |
Posted: Wed Feb 06, 2013 5:54 am Post subject: CCSID convertion - required table not available |
|
|
Newbie
Joined: 23 Jul 2007 Posts: 7
|
Hello,
receiving a MQRC 2119 ( MQRC_NOT_CONVERTED ) when a message is hopping from a QM with CCISD of IBM285 (aka UK-EBCDIC) to a QM with CCSID IBM500 (aka INT-EBCDIC) via a QM with CCSID 819.
The message ends up on DLQ on the 819 QM (Linux) with following error in the log:
AMQ6047: Conversion not supported.
EXPLANATION:
WebSphere MQ is unable to convert string data tagged in CCSID 285 to data in CCSID 500.
ACTION:
Check the WebSphere MQ Application Programming Reference Appendix and the appropriate National Language Support publications to see if the CCSIDs are supported by your system.
I have checked the /opt/mqm/lib/iconv on the 819 QM and cannot find a table to convert from 285 to 500. Is one available and if so where can I find it?
Many thanks!
C |
|
Back to top |
|
 |
exerk |
Posted: Wed Feb 06, 2013 6:22 am Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
Seems odd that the message is going to the DLQ unless the app (java usually) is using it as a dump queue. What CCSID is showing in the message header? What does /var/mqm/conv/table/ccsid.tbl show? _________________ It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys. |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Feb 06, 2013 6:45 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
exerk wrote: |
Seems odd that the message is going to the DLQ |
The channel obviously has CONVERT(YES).
exerk wrote: |
What CCSID is showing in the message header? What does /var/mqm/conv/table/ccsid.tbl show? |
I believe both of these were answered.
Presumably cinzia did not install an appropriate language package that covers UK codepages. |
|
Back to top |
|
 |
exerk |
Posted: Wed Feb 06, 2013 6:52 am Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
mqjeff wrote: |
exerk wrote: |
Seems odd that the message is going to the DLQ |
The channel obviously has CONVERT(YES). |
My initial thought though not voiced, but if converted on SEND then why would it end up on a DLQ? As far as I am aware there is no CONVERT(YES) on a RECEIVER, therefore (and happy to be corrected here) the queue manager is just going to put it on the specified?
mqjeff wrote: |
exerk wrote: |
]What CCSID is showing in the message header? What does /var/mqm/conv/table/ccsid.tbl show? |
I believe both of these were answered. |
And yet again I fail to read what's there...  _________________ It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys. |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Feb 06, 2013 6:56 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
exerk wrote: |
mqjeff wrote: |
exerk wrote: |
Seems odd that the message is going to the DLQ |
The channel obviously has CONVERT(YES). |
My initial thought though not voiced, but if converted on SEND then why would it end up on a DLQ? As far as I am aware there is no CONVERT(YES) on a RECEIVER, therefore (and happy to be corrected here) the queue manager is just going to put it on the specified? |
Three queue managers were mentioned.
The DLQ in question was the man in the middle. Presumably it's sender has CONVERT and the original sender does not.
Illustrates part of the problem with setting CONVERT on channels... |
|
Back to top |
|
 |
exerk |
Posted: Wed Feb 06, 2013 6:59 am Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
mqjeff wrote: |
Illustrates part of the problem with setting CONVERT on channels... |
...and me (yet again) not reading what was actually posted - I reallyl must get a job that doesn't leave me brain-dead by lunch time...  _________________ It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys. |
|
Back to top |
|
 |
cinzia |
Posted: Wed Feb 06, 2013 7:38 am Post subject: |
|
|
Newbie
Joined: 23 Jul 2007 Posts: 7
|
the message from 285 going to 500 via 819 by means of a clussdr channel. The 500's clusrcvr has "convert by sender" set.
I should also have added the rest of the error log info:
06/02/13 14:57:55 - Process(29641.1940) User(mqm) Program(amqrmppa)
Host(server_name)
AMQ9544: Messages not put to destination queue.
EXPLANATION:
During the processing of channel 'A_CLUSSDR_CHL' one or more messages could
not be put to the destination queue and attempts were made to put them to a
dead-letter queue. The location of the queue is 1, where 1 is the local
dead-letter queue and 2 is the remote dead-letter queue.
ACTION:
Examine the contents of the dead-letter queue. Each message is contained in a
structure that describes why the message was put to the queue, and to where it
was originally addressed. Also look at previous error messages to see if the
attempt to put messages to a dead-letter queue failed. The program identifier
(PID) of the processing program was '29641'.
Thanks for your input. Anyone knows where I can copy a iconv file (285 to 500) from? |
|
Back to top |
|
 |
exerk |
Posted: Wed Feb 06, 2013 7:41 am Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
What was the rationale for setting convert-on-send and not leaving it to the application to specify convert-on-get? _________________ It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys. |
|
Back to top |
|
 |
cinzia |
Posted: Wed Feb 06, 2013 7:54 am Post subject: |
|
|
Newbie
Joined: 23 Jul 2007 Posts: 7
|
Hi - I appreciate the question and understand the issue of conversion by channels. I am using legacy infrastructure. My pressing question is "can I get the conversion table" ? If not, I will need to go back and revisit the design in order to send data via a non-covert path but for obvious reasons I want to get this working as is. |
|
Back to top |
|
 |
Vitor |
Posted: Wed Feb 06, 2013 8:04 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
cinzia wrote: |
My pressing question is "can I get the conversion table" ? |
Ask whoever administers the box. WMQ uses the OS level CCSID conversion tables. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
rekarm01 |
Posted: Thu Feb 07, 2013 2:30 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 1415
|
What are the underlying platforms for the three queue managers?
cinzia wrote: |
My pressing question is "can I get the conversion table" ? |
Probably not. WMQ does not support conversion between every possible combination of source and target ccsids. WMQ platforms are more likely to support conversions between native ccsids within the same National Language, but are less likely to support conversions otherwise. The details vary from platform to platform. z/OS does support conversion directly from IBM-285 to IBM-500. If the target platform is z/OS, that's yet another reason to disable channel conversion.
Where WMQ does not support a direct conversion from source to target ccsids, it usually does support indirect conversions, using an intermediate ccsid, (such as IBM-285 -> IBM-819 -> IBM-500). Unicode is a common choice for an intermediate conversion, as it tends to cause less problems.
Another option is to use genxlt or similar tool to construct a custom conversion table, and install that. |
|
Back to top |
|
 |
|