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 » regarding CCSID's

Post new topic  Reply to topic Goto page 1, 2  Next
 regarding CCSID's « View previous topic :: View next topic » 
Author Message
chris boehnke
PostPosted: Wed Oct 06, 2010 7:46 am    Post subject: regarding CCSID's Reply with quote

Partisan

Joined: 25 Jul 2006
Posts: 369

Hi Guys,

I have my BROKER on AIX system. In Request flow, I need to send a request COBOL message to mainframe application. Later, in Response flow, I receive the response message from Mainframe application.

My questions are
In Request flow, do I need to change the CCSID from ASCII to EBCDIC before dropping the message to Mainframe application?

In response flow, I receive message from Mainframe application, Do I need to change the CCSID from EBCDIC to ASCII?

Pls suggest.
Back to top
View user's profile Send private message
Vitor
PostPosted: Wed Oct 06, 2010 7:58 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

CCSID should always reflect the coding of the message.

Does the mainframe app do a get with convert reading the message?

Does your response flow have convert switched on in the MQInpt node?

Do the channels to or from the mainframe have conversion switched on?
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
chris boehnke
PostPosted: Wed Oct 06, 2010 8:14 am    Post subject: Reply with quote

Partisan

Joined: 25 Jul 2006
Posts: 369

Vitor wrote:
CCSID should always reflect the coding of the message.

Does the mainframe app do a get with convert reading the message?

Does your response flow have convert switched on in the MQInpt node?

Do the channels to or from the mainframe have conversion switched on?


If nothing is done from Mainframe application or MQ

In Request flow, do I just need to change the CCSID and Encdoing on message Properties to EBCDIC and send to Mainframe application while putting the mesage to queue?

In Response flow , Do I need to just change the CCSID to ASCII on message Properties or do I need to do any thing else for processing the message.

Pls suggest.
Back to top
View user's profile Send private message
chris boehnke
PostPosted: Wed Oct 06, 2010 9:41 am    Post subject: Reply with quote

Partisan

Joined: 25 Jul 2006
Posts: 369

Guys,

In my response flow, I am getting message from Mainframe application. This message is received as BLOB on my input queue. Late I would send this message as one input to WTX map.

I would like to know if I need to do any CCSID change from ASCII to EBCDIC?
Pls let me know.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Wed Oct 06, 2010 1:47 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

chris boehnke wrote:
Guys,

In my response flow, I am getting message from Mainframe application. This message is received as BLOB on my input queue. Late I would send this message as one input to WTX map.

I would like to know if I need to do any CCSID change from ASCII to EBCDIC?
Pls let me know.

Don't know about WTX... but
  • It will not hurt on the output to the MF to set the CCSID in the properties to say 37 or 500 depending on what you use on the MF.
  • on the reply, if you need to translate make sure you use CCSID and ENCODING from InputRoot.Properties.... as those will define the ccsid and encoding the received BLOB is in...
  • In short the Properties should always describe the ccsid and encoding your message payload is in.

I would not set the translation flag on the MQInput node.
Now all depends on what CCSID your WTX map is expecting and whether it expects a single byte or multibyte charset. This will effect the way the BLOB is parsed and transformed.

And this was the short version....
Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
chris boehnke
PostPosted: Wed Oct 06, 2010 7:18 pm    Post subject: Reply with quote

Partisan

Joined: 25 Jul 2006
Posts: 369

fjb,

Thanks for your inputs.

If the Mainframe application uses MQGMO_CONVERT , is it ok if we donot change the CCSID and encoding when we drop message to Mainframe queue? Pls clarify.

I would contact the WTX team and find out if they are using CCSID and Encding while doing transformation.


Thanks
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Wed Oct 06, 2010 7:33 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

chris boehnke wrote:
fjb,

Thanks for your inputs.

If the Mainframe application uses MQGMO_CONVERT , is it ok if we donot change the CCSID and encoding when we drop message to Mainframe queue? Pls clarify.

I would contact the WTX team and find out if they are using CCSID and Encding while doing transformation.


Thanks


It might well be. But if you do set it on the broker before putting to the MF it will not matter either way.
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
chris boehnke
PostPosted: Thu Oct 07, 2010 11:42 am    Post subject: Reply with quote

Partisan

Joined: 25 Jul 2006
Posts: 369

Vitor wrote:
CCSID should always reflect the coding of the message.

Does the mainframe app do a get with convert reading the message?

Does your response flow have convert switched on in the MQInpt node?

Do the channels to or from the mainframe have conversion switched on?



WTX maps take only ASCII data. So, I am thinking to check the convert property on MQINPUT node and use Encoing and CCSID of AIX QMGR.
and convert it to ASCII.

Is only the convert property on MQINPUT node enough for conversion?
Anything else is also required from MQ?
Pls clarify
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Thu Oct 07, 2010 12:29 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

chris boehnke wrote:
WTX maps take only ASCII data. So, I am thinking to check the convert property on MQINPUT node and use Encoing and CCSID of AIX QMGR.
and convert it to ASCII.

Is only the convert property on MQINPUT node enough for conversion?
Anything else is also required from MQ?
Pls clarify


Well the problem I have is the meaning of ASCII in correlation with the WTX map. If you could relate it to a CCSID it would be better.
Some character that can be mapped in ccsid 500 or 37, may have no equivalent in ccsid 437 or 819... but be available in ccsid 1208... also it would be the "odd one out".

Try it the way you suggested. I'm sure it will work 90 to 99% of the time. However if the format of the messages is not MQFMT_STRING you'll still have to convert the CCSID of the message and BLOB in a compute node.
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
chris boehnke
PostPosted: Thu Oct 07, 2010 5:03 pm    Post subject: Reply with quote

Partisan

Joined: 25 Jul 2006
Posts: 369

fjb_saper wrote:
chris boehnke wrote:
WTX maps take only ASCII data. So, I am thinking to check the convert property on MQINPUT node and use Encoing and CCSID of AIX QMGR.
and convert it to ASCII.

Is only the convert property on MQINPUT node enough for conversion?
Anything else is also required from MQ?
Pls clarify


Well the problem I have is the meaning of ASCII in correlation with the WTX map. If you could relate it to a CCSID it would be better.
Some character that can be mapped in ccsid 500 or 37, may have no equivalent in ccsid 437 or 819... but be available in ccsid 1208... also it would be the "odd one out".

Try it the way you suggested. I'm sure it will work 90 to 99% of the time. However if the format of the messages is not MQFMT_STRING you'll still have to convert the CCSID of the message and BLOB in a compute node.



I am getting reply message from Mainframe. My message flow is running on AIX system.
So the CCSID coversion is from 500 to 819.
As you said some characters have no equivalent in 437 or 819, Can I convert CCSID 500 to 1208 instead of 819?
Pls suggest
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Thu Oct 07, 2010 6:38 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Sure you can.
  1. Do not set the convert flag on the MQInput node
  2. Use an MQ compute node for
    1. convert from ccsid 500 to char
      cast (blob as character ccsid InputRoot.Properties.CodedCharSetId);
    2. Convert char to blob ccsid 1208:
      SET OutputRoot.Properties.CodedCharSetId = 1208;
      CAST (charvar AS BLOB CCSID OutputRoot.Properties.CodedCharSetId);


Important: You need to set the outputroot.properties' ccsid before doing the conversion (cast). If you set it after your MQ message will be all messed up and in the wrong ccsid!

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
chris boehnke
PostPosted: Fri Oct 08, 2010 4:51 pm    Post subject: Reply with quote

Partisan

Joined: 25 Jul 2006
Posts: 369

fjb,

I made changes as you have suggested. It is working. Thanks a lot.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Fri Oct 08, 2010 6:57 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

chris boehnke wrote:
fjb,

I made changes as you have suggested. It is working. Thanks a lot.


Bitte Sehr, gern geschehen.
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
zpat
PostPosted: Sun Oct 10, 2010 3:50 am    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5866
Location: UK

It is a basic principle of decoupled design not to code for the target. Today it might be a mainframe, tomorrow it might be Linux.

Convert on receipt. It's always the correct approach to take.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Sun Oct 10, 2010 12:39 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

zpat wrote:
It is a basic principle of decoupled design not to code for the target. Today it might be a mainframe, tomorrow it might be Linux.

Convert on receipt. It's always the correct approach to take.

However reality is sometimes in the way. There still exists some MF centric environments where the programs are not always coded with the convert option... and getting them to change is sometimes more of a battle than it's worth. We've all learned to choose our battles...
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » regarding CCSID's
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.