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 » WebSphere Message Broker (ACE) Support » OS/390 to Windows 2000 (Data Conversion)

Post new topic  Reply to topic
 OS/390 to Windows 2000 (Data Conversion) « View previous topic :: View next topic » 
Author Message
kirani
PostPosted: Thu Jan 31, 2002 7:47 pm    Post subject: Reply with quote

Jedi Knight

Joined: 05 Sep 2001
Posts: 3779
Location: Torrance, CA, USA

Hi,

I have an application running on Mainframe (OS/390), which is putting text messages (MQSTR) on remote queue. This remote queue is defined on NT queue manager. MQSI is running on Windows 2000. MQSI will process these message and do the transformation. I would like to know following,

1. What are the values I should set in MQMD header while making MQPUT call in COBOL program.
(Currently I am setting MQMD.CorrelSetId to MQCCSI_Q_MGR).
2. In MQInput node what are the values I should set in 'Convert', 'Convert Encoding' and 'Convert CCS ID'?
(I have set 'Convert' to yes, 'Convert Encoding' to 546, and 'Convert CCS ID' to 437)
3. What HEX values should I be getting for CorrelId (EBCDIC or ASCII)?
(I see currently I am getting HEX values for EBCDIC characters).
4. I will be sending back the transformed data to queue on MF. What are the values in MQMD header should I modify in MQSI?

Thanks in advance.

Regards,
Kiran
Back to top
View user's profile Send private message Visit poster's website
NickB
PostPosted: Fri Feb 01, 2002 2:17 am    Post subject: Reply with quote

Centurion

Joined: 20 May 2001
Posts: 107
Location: Zurich Financial Services

Kiran

MQ will be doing all the conversion for you so you shouldn't need to mess about with CCSID and suchlike, especially as you are sending base character data (format = MQSTR).

You shouldn't need to check any of these boxes on your input node.

It depends what you intend to do with your message once it arrives on MQSI.

If you don't set the convert option on then if your run a message through the flow and manually look at the message which appears on the output queue of your flow it will appear still to be in EBCDIC. If you manually look at the message with your application and that application does a GET_WITH_CONVERT then MQ will do all the necessary code page conversion for you.
Back to top
View user's profile Send private message
kwelch
PostPosted: Fri Feb 01, 2002 8:48 am    Post subject: Reply with quote

Master

Joined: 16 May 2001
Posts: 255

Kiran and Nick,
This isn't really an answer to your prior question. It brings to mind some questions that we have been discussing at my company about ASCII and EBCIDIC data coming into the same messageflow. We are all relatively new to MQSI. We weren't using the convert option on the input node and for data coming in as EBCDIC it was going out as EBCIDIC as you would expect and the receiving app would GET specifying the convert option. What we were wondering though is in our ESQL, if we do queries on data will they work? One of my co-workers tested this and said that it works, but I don't fully understand why. If I do a check for space for example, in EBCIDIC that's x'40' and in ASCII x'20' I believe. Does MQSI do some kind of conversion for us behind the scenes? Would it be wise to use the convert option on the input node is cases where we have both kinds of data coming through? It seems like we should. Any clarification on this would be greatly appreciated.

Karen
Back to top
View user's profile Send private message Send e-mail
EddieA
PostPosted: Fri Feb 01, 2002 12:56 pm    Post subject: Reply with quote

Jedi

Joined: 28 Jun 2001
Posts: 2453
Location: Los Angeles

Karen,

Here's my understanding of what happens 'behind the scenes'. If anyone wishes to correct me, then please feel free.

When a message arrives in MQSI, the first time the message has to be parsed into the 'tree', MQSI will convert the message into UNICODE based on the CCSID/Encoding in the Properies (MQMD ??). This means that if an EBCDIC message comes in to an ASCII box, you don't have to do anything 'special' to be able to read the data.

Now, when the outgoing message is built, it's converted back from UNICODE to the CCSID/Encoding in the Properties (MQMD ??). So, if you haven't changed these, the outgoing message will be in the same form as the incoming.

This also means you can 'alter' the 'normal' flow by using Compute nodes that change the values of CCSID/Encoding.

Cheers,

_________________
Eddie Atherton
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0
Back to top
View user's profile Send private message
kwelch
PostPosted: Fri Feb 01, 2002 3:13 pm    Post subject: Reply with quote

Master

Joined: 16 May 2001
Posts: 255

Eddie,

I thought something had to be going on behind the scenes or my code wouldn't work, but I wasn't sure. Thanks for clarifying this.

Karen
Back to top
View user's profile Send private message Send e-mail
cheungwsj
PostPosted: Sun Feb 03, 2002 1:37 am    Post subject: Reply with quote

Newbie

Joined: 02 Feb 2002
Posts: 4

Hi,

This is my experience and would like to share with you.

To perform the data conversion between EBCDIC and ASCII, we have at least two options,
i. MQGET conversion, I think MQSI input node use this;
ii. Channel conversion, you need to turn on 'Convert' option in your MQ channel;

To use MQSI convert features, you need to make sure the following,
i. Correct CCSID in the inbound message is correctly set, please don't overlook this one, most problem come from this. When other teams tell you that they are using World EBCDIC 500 or US EBCDIC 37, eventually, they may not. In order to double check or prove their correctness, I suggest to ask them what is the hex. value in MF to represent several special character, such as pipe | and caret ^, then go to IBM data conversion web site and find out the exact CCSID. For example, if | is 0x4F and ^ is 0x5F, then they are using 1047, i.e. Latin EBCDIC. All EBCDIC are similar except for a few characters;
ii. MQMD.Format is set to MQSTR

If the above two is set correctly in MF system, then you need to do the following in MQSI Input Node.
i. Turn on the 'Convert' option in advance tab of your input node;
ii. Specify your required CCSID. ASCII is 819;

Hopes this help,
Autorun
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » OS/390 to Windows 2000 (Data Conversion)
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.