Author |
Message
|
cyber104 |
Posted: Mon Jan 05, 2004 4:35 am Post subject: Can't read message from HP3000 to MVS on a 'Z' series IBM |
|
|
Newbie
Joined: 05 Jan 2004 Posts: 2
|
Hi:
I'm new to this forum and hope I am in the right area....
I have a COBOL program that is running on an HP3000. It basically reads a file and does MQPUT's to a queue. The odd thing is that when the message is sent to a queue manager and queue residing on a 'Z' Series MVS machine, the put is successful and the queue depth goes up but the application program on the 'Z' Series machine doesn't recognize the message as even being in the queue. Further, trying to browse that message on the 'Z' gives a bizarre message like 'unable to render the message'...like it thinks it's corrupted junk.
What's interesting is that if the message is sent to an AIX box or a Win2K machine all is well...message is fine.
Contacted IBM and they're making noises like it has something to do with the PMOPTIONS.
Any ideas?
Thanks much!
Chris |
|
Back to top |
|
 |
Michael Dag |
Posted: Mon Jan 05, 2004 6:15 am Post subject: |
|
|
 Jedi Knight
Joined: 13 Jun 2002 Posts: 2607 Location: The Netherlands (Amsterdam)
|
I think it has something to do with the fact that the Z mainframe is an EBCDIC machine and the contents of the data needs to be converted from ASCII to EBCDIC.
Do you set the MQ Format to String on the sending side?
and then do a get with convert is yes?
Michael |
|
Back to top |
|
 |
cyber104 |
Posted: Mon Jan 05, 2004 6:22 am Post subject: ASCII to EBCIDC |
|
|
Newbie
Joined: 05 Jan 2004 Posts: 2
|
Hi:
I was thinking about that same issue. Wouldn't the translation happen automatically?
If not...how would I convert it?
Thoughts are appeciated
Thanks,
Chris |
|
Back to top |
|
 |
Michael Dag |
Posted: Mon Jan 05, 2004 7:55 am Post subject: |
|
|
 Jedi Knight
Joined: 13 Jun 2002 Posts: 2607 Location: The Netherlands (Amsterdam)
|
On the HP3000 side specify MQMD.Format = MQSTR on MQPUT
On the MVS side specify MQGMO_CONVERT on MQGET
Michael |
|
Back to top |
|
 |
EddieA |
Posted: Mon Jan 05, 2004 9:08 am Post subject: |
|
|
 Jedi
Joined: 28 Jun 2001 Posts: 2453 Location: Los Angeles
|
But that wll only work if the message is 100% characters. If there's anything binary, or integer, or packed decimal, etc. then you would have to chose a different Format name, of your own, and write a conversion exit.
Cheers, _________________ Eddie Atherton
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0 |
|
Back to top |
|
 |
Michael Dag |
Posted: Mon Jan 05, 2004 9:25 am Post subject: |
|
|
 Jedi Knight
Joined: 13 Jun 2002 Posts: 2607 Location: The Netherlands (Amsterdam)
|
Eddie,
true! thanks for adding that.
I assumed it was character data as I interpreted 'the data looked' good on AIX and Windows...' as being readable and thus being character...
Michael |
|
Back to top |
|
 |
kman |
Posted: Mon Jan 05, 2004 8:13 pm Post subject: |
|
|
Partisan
Joined: 21 Jan 2003 Posts: 309 Location: Kuala Lumpur, Malaysia
|
Quote: |
the put is successful and the queue depth goes up but the application program on the 'Z' Series machine doesn't recognize the message as even being in the queue. |
Does that returns an error code? Like 2033 mqrc_no_msg_available? or something else?
Quote: |
Contacted IBM and they're making noises like it has something to do with the PMOPTIONS. |
Why was it not recognize as even on the queue?
If is about ASCII to EBCDIC, then you have to follow both Eddie and MichaelDag suggestion. |
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Jan 08, 2004 4:04 pm Post subject: Can't read message from HP3000 to MVS on a 'Z' series IBM |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
To me it looks like the message is not yet committed on the mainframe when you try to look at it.
Read up on transactions and syncpoint. Using JMS I has the same symptoms in debug mode. As long as the message was not committed it was on the queue appeared in the curdepth but could not be retrieved (because it might still be rolled back).
Just my 2 cents
 |
|
Back to top |
|
 |
|