ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » General IBM MQ Support » Message Conversion Issue

Post new topic  Reply to topic
 Message Conversion Issue « View previous topic :: View next topic » 
Author Message
gpklos
PostPosted: Wed Nov 14, 2007 7:56 pm    Post subject: Message Conversion Issue Reply with quote

Centurion

Joined: 24 May 2002
Posts: 108

We have a queue manager running on windows with Version 6.0 of MQ. We have a queue defined to this queue manager. Now we have various other queue managers that send to this queue via Remote queues. Some of the queue managers are windows and ZOS. The problem is the software suite that is GETting the messages off the queue on windows is not capable of specifying the GET w/convert option. This is some type of Oracle software that has a very primitive MQ adapter. This oracle software also is connecting to the windows box via a client connection. The only option the oracle mq adapter can specify is CCSID. So if it specifies CCSID 437, then he can only see the data correctly if it came from a windows queue manager. So when a mainframe send to this queue via remote queue the CCSID is 37. So now the adapter gets the messages, but they are not in a readable format because it was converted. We do not specify Convert (yes) on the channels because it has always been our policy to make sure the application does the get/w convert. At least until this odd application came up. I'm trying to figure the best way to deal with this. We have discussed setting up a second queue that only mainframe sends to and the oracle suite would read from that queue specifying the mainframe CCSID. All the other platforms would send to another queue where the oracle suite would specify a CCSID of 437. This seems kind of annoying doing it this way.

The applications thought about reading the queue with a program that can do the convert to 437 then put it back on another queue that the oracle suite can handle. So basically the oracle suite will only have to handle 437.
How else can this be done? They are connecting via an ServerConn channel which you can't do a convert with like regular channels.

Any ideas would really be appreciated.
Thanks,Gary
Back to top
View user's profile Send private message
zpat
PostPosted: Wed Nov 14, 2007 11:57 pm    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5866
Location: UK

Use the API crossing exit to set the MQGMO_CONVERT option on the MQGET.

Or use a message exit on the channel to convert the data.

Or pass the message through a message broker to convert it.

Or tell the vendor to get their MQ adapter sorted out or else!
Back to top
View user's profile Send private message
gpklos
PostPosted: Thu Nov 15, 2007 5:28 am    Post subject: Reply with quote

Centurion

Joined: 24 May 2002
Posts: 108

<< Use the API crossing exit to set the MQGMO_CONVERT option on the MQGET.
I believe this is only for CICS, at least that is what I read and lots of the messages come from IMS and batch. Maybe I don't understand the whole concept of the API Crossing Exit.

<<Or pass the message through a message broker to convert it.
We don't have Message Broker

<<Or use a message exit on the channel to convert the data.
I didn't think there was an option on an ServerConn channel to add a message exit.

Any way to use a Data Conversion Exit? Forgive me, I have never had to deal with exits before. The topic has never come up or been necessary.

Thanks,
Gary
Back to top
View user's profile Send private message
zpat
PostPosted: Thu Nov 15, 2007 5:39 am    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5866
Location: UK

I formed the impression that the message came from CICS but went to a Windows queue manager.

The MQGET API call would therefore be executed on the Windows queue manager and the exit could intercept and modify the options.

You might as well set up a separate sender channel (from mainframe QM to windows QM) with CONVERT(YES) and use a separate transmit queue for this channel. Then configure the remote queue to use this new transmit queue. That way the convert on the channel is at least constrained to cases where there is no other (easy) choice.
Back to top
View user's profile Send private message
gpklos
PostPosted: Thu Nov 15, 2007 6:53 am    Post subject: Reply with quote

Centurion

Joined: 24 May 2002
Posts: 108

Thanks for the quick response. It is appreciated.
I'm either going to create the separate channel with convert(yes) or have them write an intermediate program to do a get with convert then push it to another queue. I know it is quirky.
Again,
Thanks for your help,
Gary
Back to top
View user's profile Send private message
Nigelg
PostPosted: Thu Nov 15, 2007 7:58 am    Post subject: Reply with quote

Grand Master

Joined: 02 Aug 2004
Posts: 1046

If any of the msgs have a format of MQFMT_CICS, "MQCICS ", these msgs can only be converted on the host system. There is no in-built converter on Windows or any other distributed platform.
_________________
MQSeries.net helps those who help themselves..
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » General IBM MQ Support » Message Conversion Issue
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.