Discussion:
Here we go again - ! on the mainframe
Potkay, Peter M (CTO Architecture + Engineering)
2013-08-22 14:12:01 UTC
Permalink
The exclamation point is one of those well known characters that does not get converted correctly in some cases when going from ASCII to EBCIDIC

Sending system is Windows, puts a message with CCSID 437, the ! character is represented in hex in this message as 21.

Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the mainframe app sees not an ! but a |.

Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical bar in CCSID 500 is hexadecimal BB, not 21.

I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is, but to no avail. None of the charts for CCSID 500 go that low. So why does hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after conversion and not some other random character?


Adding to the confusion: When I do the reverse test, using our QPASA Agent on the mainframe to put a message directly to a local queue on the mainframe, the message sits with an MQMD CCSID of 500, and the ! is represented by hexadecimal 4F. If I then browse this message, MQExplorer, QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as the exclamation point?

Peter Potkay




************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

To unsubscribe, write to LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html
Brumbaugh Glen
2013-08-22 14:25:44 UTC
Permalink
Peter,

The reference below will point you to the IBM Code Pages. CCSID 500 should not normally be used for U.S. z/OS systems, but often is because folks take the defaults and don't understand Code Pages. There was a thread in the last couple of days regarding this.


http://www-01.ibm.com/software/globalization/cp/cp_cpgid.html


Regards,

Glen Brumbaugh
Technology Manager

Application Infrastructure Practice
Prolifics
Global Technology Solutions Provider
Post by Potkay, Peter M (CTO Architecture + Engineering)
The exclamation point is one of those well known characters that does not get converted correctly in some cases when going from ASCII to EBCIDIC
Sending system is Windows, puts a message with CCSID 437, the ! character is represented in hex in this message as 21.
Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the mainframe app sees not an ! but a |.
Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical bar in CCSID 500 is hexadecimal BB, not 21.
I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is, but to no avail. None of the charts for CCSID 500 go that low. So why does hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after conversion and not some other random character?
Adding to the confusion: When I do the reverse test, using our QPASA Agent on the mainframe to put a message directly to a local queue on the mainframe, the message sits with an MQMD CCSID of 500, and the ! is represented by hexadecimal 4F. If I then browse this message, MQExplorer, QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as the exclamation point?
Peter Potkay
************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************
List Archive - Manage Your List Settings - Unsubscribe
Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com
To unsubscribe, write to LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html
Johnson, William
2013-08-22 14:29:07 UTC
Permalink
Which would cause me to ask, why is 500 the default even for the z/OS version?

Bill Johnson
Mainframe Tech Support
216-595-4778




<Loading Image...@eee68b38.48b0c3bc]

Visit MedMutual.com<http://www.medmutual.com/>


CONFIDENTIALITY NOTICE:
This message is intended only for the use of the individual or entity to which it is addressed and may contain information that is privileged, confidential or exempt from disclosure by law. If the reader of this message is not the intended recipient, or the employee or agent responsible for delivering the message to the intended recipient, you are hereby notified that you are strictly prohibited from printing, storing, disseminating, distributing or copying this message. If you have received this message in error, please notify us immediately by replying to the message and deleting it from your computer. Neither this information block, the typed name of the sender, nor anything else in this message is intended to constitute an electronic signature, unless a specific statement to the contrary is included in this message.
Thank you, Medical Mutual.

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Brumbaugh Glen
Sent: Thursday, August 22, 2013 10:26 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT
Subject: Re: Here we go again - ! on the mainframe

Peter,

The reference below will point you to the IBM Code Pages. CCSID 500 should not normally be used for U.S. z/OS systems, but often is because folks take the defaults and don't understand Code Pages. There was a thread in the last couple of days regarding this.


http://www-01.ibm.com/software/globalization/cp/cp_cpgid.html


Regards,

Glen Brumbaugh
Technology Manager

Application Infrastructure Practice
Prolifics
Global Technology Solutions Provider



On Aug 22, 2013, at 10:12 AM, "Potkay, Peter M (CTO Architecture + Engineering)" <***@THEHARTFORD.COM<mailto:***@THEHARTFORD.COM>> wrote:


The exclamation point is one of those well known characters that does not get converted correctly in some cases when going from ASCII to EBCIDIC

Sending system is Windows, puts a message with CCSID 437, the ! character is represented in hex in this message as 21.

Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the mainframe app sees not an ! but a |.

Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical bar in CCSID 500 is hexadecimal BB, not 21.

I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is, but to no avail. None of the charts for CCSID 500 go that low. So why does hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after conversion and not some other random character?


Adding to the confusion: When I do the reverse test, using our QPASA Agent on the mainframe to put a message directly to a local queue on the mainframe, the message sits with an MQMD CCSID of 500, and the ! is represented by hexadecimal 4F. If I then browse this message, MQExplorer, QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as the exclamation point?

Peter Potkay




************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>
Meekin, Paul
2013-08-22 14:27:13 UTC
Permalink
0x4F is ! for CCSID 500 and | for 037. Must be using the wrong code page somewhere.

_______________________________________
Paul Meekin
CATE CitiCloud & CitiApp Platform Engineering | Messaging Middleware
33 Canada Square, Canary Wharf, London E14 5LB
* +44 207 500 6318 | * paul.meekin-Q1//***@public.gmane.org<mailto:paul.meekin-Q1//***@public.gmane.org>

Find out more about our Services<https://catecollaboration.citigroup.net/domains/deveng/Pages/default.aspx>

From: MQSeries List [mailto:MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: 22 August 2013 15:12
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Subject: Here we go again - ! on the mainframe

The exclamation point is one of those well known characters that does not get converted correctly in some cases when going from ASCII to EBCIDIC

Sending system is Windows, puts a message with CCSID 437, the ! character is represented in hex in this message as 21.

Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the mainframe app sees not an ! but a |.

Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical bar in CCSID 500 is hexadecimal BB, not 21.

I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is, but to no avail. None of the charts for CCSID 500 go that low. So why does hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after conversion and not some other random character?


Adding to the confusion: When I do the reverse test, using our QPASA Agent on the mainframe to put a message directly to a local queue on the mainframe, the message sits with an MQMD CCSID of 500, and the ! is represented by hexadecimal 4F. If I then browse this message, MQExplorer, QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as the exclamation point?

Peter Potkay




************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

To unsubscribe, write to LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html
Meekin, Paul
2013-08-22 14:32:31 UTC
Permalink
Sorry Peter - I may have confused myself there.

Can you clarify what value the Ascii 0x21 is being converted to on the mainframe? Is it 0xBB or something else. And where are you seeing this - browsing the queue with convert or in the application post-GET?

_______________________________________
Paul Meekin
CATE CitiCloud & CitiApp Platform Engineering | Messaging Middleware
33 Canada Square, Canary Wharf, London E14 5LB
* +44 207 500 6318 | * paul.meekin-Q1//***@public.gmane.org<mailto:paul.meekin-Q1//***@public.gmane.org>

Find out more about our Services<https://catecollaboration.citigroup.net/domains/deveng/Pages/default.aspx>

From: MQSeries List [mailto:MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: 22 August 2013 15:12
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Subject: Here we go again - ! on the mainframe

The exclamation point is one of those well known characters that does not get converted correctly in some cases when going from ASCII to EBCIDIC

Sending system is Windows, puts a message with CCSID 437, the ! character is represented in hex in this message as 21.

Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the mainframe app sees not an ! but a |.

Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical bar in CCSID 500 is hexadecimal BB, not 21.

I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is, but to no avail. None of the charts for CCSID 500 go that low. So why does hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after conversion and not some other random character?


Adding to the confusion: When I do the reverse test, using our QPASA Agent on the mainframe to put a message directly to a local queue on the mainframe, the message sits with an MQMD CCSID of 500, and the ! is represented by hexadecimal 4F. If I then browse this message, MQExplorer, QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as the exclamation point?

Peter Potkay




************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

To unsubscribe, write to LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html
Tom Schneider
2013-08-22 14:34:30 UTC
Permalink
Peter,

Could this also have something to do with the code page used by your
terminal emulator?

-Tom

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Tom Schneider, CISSP
office: (720) 395-4854 or t/l 676-4854
cell: (513) 325-1354
Tom Schneider/Schaumburg/***@IBMUS
tschne1-r/Jw6+rmf7HQT0dZR+***@public.gmane.org
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-



From: "Potkay, Peter M (CTO Architecture + Engineering)"
<Peter.Potkay-***@public.gmane.org>
To: MQSERIES-JX7+OpRa80QeFbOYke1v4oOpTq8/***@public.gmane.org,
Date: 08/22/2013 10:13 AM
Subject: Here we go again - ! on the mainframe
Sent by: MQSeries List <MQSERIES-JX7+OpRa80QeFbOYke1v4oOpTq8/***@public.gmane.org>



The exclamation point is one of those well known characters that does not
get converted correctly in some cases when going from ASCII to EBCIDIC

Sending system is Windows, puts a message with CCSID 437, the ! character
is represented in hex in this message as 21.

Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the
mainframe app sees not an ! but a |.

Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical
bar in CCSID 500 is hexadecimal BB, not 21.

I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is,
but to no avail. None of the charts for CCSID 500 go that low. So why does
hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after
conversion and not some other random character?


Adding to the confusion: When I do the reverse test, using our QPASA Agent
on the mainframe to put a message directly to a local queue on the
mainframe, the message sits with an MQMD CCSID of 500, and the ! is
represented by hexadecimal 4F. If I then browse this message, MQExplorer,
QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F
as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as
MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as
the exclamation point?

Peter Potkay



************************************************************
This communication, including attachments, is for the exclusive use of
addressee and may contain proprietary, confidential and/or privileged
information. If you are not the intended recipient, any use, copying,
disclosure, dissemination or distribution is strictly prohibited. If you
are not the intended recipient, please notify the sender immediately by
return e-mail, delete this communication and destroy all copies.
************************************************************


List Archive - Manage Your List Settings - Unsubscribe
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com

To unsubscribe, write to LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html
Paul S Dennis
2013-08-22 14:42:14 UTC
Permalink
I think you are probably right there Paul... If it is MQ doing the data
conversion from 437 to 500, then it would be converting the x21 into x4F
(which is the correct hex of ! in 500), however, it would then appear that
the converted data is being displayed with CP 37, which has x4F as |.

See
ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00437.pdf
and
ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00500.pdf
.

Thanks
Paul


Paul Dennis
WebSphere MQ for z/OS Development



From: "Meekin, Paul" <paul.meekin-***@public.gmane.org>
To: MQSERIES-JX7+OpRa80QeFbOYke1v4oOpTq8/***@public.gmane.org,
Date: 22/08/2013 15:28
Subject: Re: Here we go again - ! on the mainframe
Sent by: MQSeries List <MQSERIES-JX7+OpRa80QeFbOYke1v4oOpTq8/***@public.gmane.org>



0x4F is ! for CCSID 500 and | for 037. Must be using the wrong code page
somewhere.

_______________________________________
Paul Meekin
CATE CitiCloud & CitiApp Platform Engineering | Messaging Middleware
33 Canada Square, Canary Wharf, London E14 5LB
( +44 207 500 6318 | * paul.meekin-Q1//***@public.gmane.org

Find out more about our Services

From: MQSeries List [mailto:MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org] On Behalf
Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: 22 August 2013 15:12
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Subject: Here we go again - ! on the mainframe

The exclamation point is one of those well known characters that does not
get converted correctly in some cases when going from ASCII to EBCIDIC

Sending system is Windows, puts a message with CCSID 437, the ! character
is represented in hex in this message as 21.

Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the
mainframe app sees not an ! but a |.

Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical
bar in CCSID 500 is hexadecimal BB, not 21.

I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is,
but to no avail. None of the charts for CCSID 500 go that low. So why does
hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after
conversion and not some other random character?


Adding to the confusion: When I do the reverse test, using our QPASA Agent
on the mainframe to put a message directly to a local queue on the
mainframe, the message sits with an MQMD CCSID of 500, and the ! is
represented by hexadecimal 4F. If I then browse this message, MQExplorer,
QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F
as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as
MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as
the exclamation point?

Peter Potkay



************************************************************
This communication, including attachments, is for the exclusive use of
addressee and may contain proprietary, confidential and/or privileged
information. If you are not the intended recipient, any use, copying,
disclosure, dissemination or distribution is strictly prohibited. If you
are not the intended recipient, please notify the sender immediately by
return e-mail, delete this communication and destroy all copies.
************************************************************


List Archive - Manage Your List Settings - Unsubscribe
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com


List Archive - Manage Your List Settings - Unsubscribe
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com

Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU

To unsubscribe, write to LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html
Potkay, Peter M (CTO Architecture + Engineering)
2013-08-22 14:49:23 UTC
Permalink
Sending app puts a !, represented as x21, labeled as MQMD.CCSID 500. 100% correct.

Mainframe QM running as CCSID 500 gets an MQGET with convert call, and the mainframe QM converts the x21 to a x4F, knowing that x4F does represent the explanation point in CCSID 500. Still 100% correct.

The QM gives the message to the app with a x4F. But the app on the mainframe is actually executing in another CCSID, perhaps 037. So that app ingests that x4F character and 'sees' it as the vertical bar, because in its code page x4F is a vertical bar.

Is this a plausible (likely?) scenario?



Peter Potkay


From: MQSeries List [mailto:MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org] On Behalf Of Paul S Dennis
Sent: Thursday, August 22, 2013 10:42 AM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Subject: Re: Here we go again - ! on the mainframe

I think you are probably right there Paul... If it is MQ doing the data conversion from 437 to 500, then it would be converting the x21 into x4F (which is the correct hex of ! in 500), however, it would then appear that the converted data is being displayed with CP 37, which has x4F as |.

See ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00437.pdf and ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00500.pdf .

Thanks
Paul


Paul Dennis
WebSphere MQ for z/OS Development



From: "Meekin, Paul" <paul.meekin-***@public.gmane.org<mailto:***@CITI.COM>>
To: MQSERIES-JX7+OpRa80QeFbOYke1v4oOpTq8/***@public.gmane.org<mailto:MQSERIES-JX7+OpRa80Ties2YCUG/***@public.gmane.orgniwien.ac.at>,
Date: 22/08/2013 15:28
Subject: Re: Here we go again - ! on the mainframe
Sent by: MQSeries List <MQSERIES-JX7+OpRa80QeFbOYke1v4oOpTq8/***@public.gmane.org<mailto:MQSERIES-JX7+OpRa80QeFbOYke1v4oOpTq8/***@public.gmane.org>>
________________________________



0x4F is ! for CCSID 500 and | for 037. Must be using the wrong code page somewhere.

_______________________________________
Paul Meekin
CATE CitiCloud & CitiApp Platform Engineering | Messaging Middleware
33 Canada Square, Canary Wharf, London E14 5LB
* +44 207 500 6318 | * paul.meekin-Q1//***@public.gmane.org<mailto:paul.meekin-Q1//***@public.gmane.org>

Find out more about our Services<https://catecollaboration.citigroup.net/domains/deveng/Pages/default.aspx>

From: MQSeries List [mailto:MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: 22 August 2013 15:12
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org<mailto:MQSERIES-0lvw86wZMd9k/***@public.gmane.orgAC.AT>
Subject: Here we go again - ! on the mainframe

The exclamation point is one of those well known characters that does not get converted correctly in some cases when going from ASCII to EBCIDIC

Sending system is Windows, puts a message with CCSID 437, the ! character is represented in hex in this message as 21.

Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the mainframe app sees not an ! but a |.

Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical bar in CCSID 500 is hexadecimal BB, not 21.

I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is, but to no avail. None of the charts for CCSID 500 go that low. So why does hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after conversion and not some other random character?


Adding to the confusion: When I do the reverse test, using our QPASA Agent on the mainframe to put a message directly to a local queue on the mainframe, the message sits with an MQMD CCSID of 500, and the ! is represented by hexadecimal 4F. If I then browse this message, MQExplorer, QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as the exclamation point?

Peter Potkay




************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************


________________________________

List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>



________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>
************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

To unsubscribe, write to LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html
Meekin, Paul
2013-08-22 14:52:41 UTC
Permalink
Yes, absolutely. Depending upon the language you specify the equivalent of a locale for the program. That's how it does things like string comparisons and sorting etc. Probably the application was compiled specifying 037 which is entirely feasible for a US-based system.

It's a long time since I did this so I can't remember the details but no doubt others can.


From: MQSeries List [mailto:MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: 22 August 2013 15:49
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Subject: Re: Here we go again - ! on the mainframe

Sending app puts a !, represented as x21, labeled as MQMD.CCSID 500. 100% correct.

Mainframe QM running as CCSID 500 gets an MQGET with convert call, and the mainframe QM converts the x21 to a x4F, knowing that x4F does represent the explanation point in CCSID 500. Still 100% correct.

The QM gives the message to the app with a x4F. But the app on the mainframe is actually executing in another CCSID, perhaps 037. So that app ingests that x4F character and 'sees' it as the vertical bar, because in its code page x4F is a vertical bar.

Is this a plausible (likely?) scenario?



Peter Potkay

From: MQSeries List [mailto:MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org] On Behalf Of Paul S Dennis
Sent: Thursday, August 22, 2013 10:42 AM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org<mailto:MQSERIES-0lvw86wZMd9k/***@public.gmane.orgAC.AT>
Subject: Re: Here we go again - ! on the mainframe

I think you are probably right there Paul... If it is MQ doing the data conversion from 437 to 500, then it would be converting the x21 into x4F (which is the correct hex of ! in 500), however, it would then appear that the converted data is being displayed with CP 37, which has x4F as |.

See ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00437.pdf and ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00500.pdf .

Thanks
Paul


Paul Dennis
WebSphere MQ for z/OS Development



From: "Meekin, Paul" <paul.meekin-***@public.gmane.org<mailto:***@CITI.COM>>
To: MQSERIES-JX7+OpRa80QeFbOYke1v4oOpTq8/***@public.gmane.org<mailto:MQSERIES-JX7+OpRa80Ties2YCUG/***@public.gmane.orgniwien.ac.at>,
Date: 22/08/2013 15:28
Subject: Re: Here we go again - ! on the mainframe
Sent by: MQSeries List <MQSERIES-JX7+OpRa80QeFbOYke1v4oOpTq8/***@public.gmane.org<mailto:MQSERIES-JX7+OpRa80QeFbOYke1v4oOpTq8/***@public.gmane.org>>
________________________________



0x4F is ! for CCSID 500 and | for 037. Must be using the wrong code page somewhere.

_______________________________________
Paul Meekin
CATE CitiCloud & CitiApp Platform Engineering | Messaging Middleware
33 Canada Square, Canary Wharf, London E14 5LB
* +44 207 500 6318 | * paul.meekin-Q1//***@public.gmane.org<mailto:paul.meekin-Q1//***@public.gmane.org>

Find out more about our Services<https://catecollaboration.citigroup.net/domains/deveng/Pages/default.aspx>

From: MQSeries List [mailto:MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: 22 August 2013 15:12
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org<mailto:MQSERIES-0lvw86wZMd9k/***@public.gmane.orgAC.AT>
Subject: Here we go again - ! on the mainframe

The exclamation point is one of those well known characters that does not get converted correctly in some cases when going from ASCII to EBCIDIC

Sending system is Windows, puts a message with CCSID 437, the ! character is represented in hex in this message as 21.

Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the mainframe app sees not an ! but a |.

Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical bar in CCSID 500 is hexadecimal BB, not 21.

I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is, but to no avail. None of the charts for CCSID 500 go that low. So why does hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after conversion and not some other random character?


Adding to the confusion: When I do the reverse test, using our QPASA Agent on the mainframe to put a message directly to a local queue on the mainframe, the message sits with an MQMD CCSID of 500, and the ! is represented by hexadecimal 4F. If I then browse this message, MQExplorer, QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as the exclamation point?

Peter Potkay




************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************


________________________________

List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>



________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

To unsubscribe, write to LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html
Paul S Dennis
2013-08-22 14:54:31 UTC
Permalink
Sounds very plausible (and quite likely) to me, based on what you have
said... How are the you seeing the data? In a 3270 emulator? If so, what
CP is that set to?

Thanks
Paul


Paul Dennis
WebSphere MQ for z/OS Development




From: "Potkay, Peter M (CTO Architecture + Engineering)"
<***@THEHARTFORD.COM>
To: ***@listserv.meduniwien.ac.at,
Date: 22/08/2013 15:49
Subject: Re: Here we go again - ! on the mainframe
Sent by: MQSeries List <***@listserv.meduniwien.ac.at>



Sending app puts a !, represented as x21, labeled as MQMD.CCSID 500. 100%
correct.

Mainframe QM running as CCSID 500 gets an MQGET with convert call, and the
mainframe QM converts the x21 to a x4F, knowing that x4F does represent
the explanation point in CCSID 500. Still 100% correct.

The QM gives the message to the app with a x4F. But the app on the
mainframe is actually executing in another CCSID, perhaps 037. So that
app ingests that x4F character and ‘sees’ it as the vertical bar, because
in its code page x4F is a vertical bar.

Is this a plausible (likely?) scenario?



Peter Potkay


From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf
Of Paul S Dennis
Sent: Thursday, August 22, 2013 10:42 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT
Subject: Re: Here we go again - ! on the mainframe

I think you are probably right there Paul... If it is MQ doing the data
conversion from 437 to 500, then it would be converting the x21 into x4F
(which is the correct hex of ! in 500), however, it would then appear that
the converted data is being displayed with CP 37, which has x4F as |.

See
ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00437.pdf
and
ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00500.pdf
.

Thanks
Paul


Paul Dennis
WebSphere MQ for z/OS Development



From: "Meekin, Paul" <***@CITI.COM>
To: ***@listserv.meduniwien.ac.at,
Date: 22/08/2013 15:28
Subject: Re: Here we go again - ! on the mainframe
Sent by: MQSeries List <***@listserv.meduniwien.ac.at>




0x4F is ! for CCSID 500 and | for 037. Must be using the wrong code page
somewhere.

_______________________________________
Paul Meekin
CATE CitiCloud & CitiApp Platform Engineering | Messaging Middleware
33 Canada Square, Canary Wharf, London E14 5LB
( +44 207 500 6318 | * ***@citi.com

Find out more about our Services

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf
Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: 22 August 2013 15:12
To: ***@LISTSERV.MEDUNIWIEN.AC.AT
Subject: Here we go again - ! on the mainframe

The exclamation point is one of those well known characters that does not
get converted correctly in some cases when going from ASCII to EBCIDIC

Sending system is Windows, puts a message with CCSID 437, the ! character
is represented in hex in this message as 21.

Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the
mainframe app sees not an ! but a |.

Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical
bar in CCSID 500 is hexadecimal BB, not 21.

I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is,
but to no avail. None of the charts for CCSID 500 go that low. So why does
hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after
conversion and not some other random character?


Adding to the confusion: When I do the reverse test, using our QPASA Agent
on the mainframe to put a message directly to a local queue on the
mainframe, the message sits with an MQMD CCSID of 500, and the ! is
represented by hexadecimal 4F. If I then browse this message, MQExplorer,
QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F
as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as
MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as
the exclamation point?

Peter Potkay



************************************************************
This communication, including attachments, is for the exclusive use of
addressee and may contain proprietary, confidential and/or privileged
information. If you are not the intended recipient, any use, copying,
disclosure, dissemination or distribution is strictly prohibited. If you
are not the intended recipient, please notify the sender immediately by
return e-mail, delete this communication and destroy all copies.
************************************************************



List Archive - Manage Your List Settings - Unsubscribe
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com


List Archive - Manage Your List Settings - Unsubscribe
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com


Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU

List Archive - Manage Your List Settings - Unsubscribe
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
************************************************************
This communication, including attachments, is for the exclusive use of
addressee and may contain proprietary, confidential and/or privileged
information. If you are not the intended recipient, any use, copying,
disclosure, dissemination or distribution is strictly prohibited. If you
are not the intended recipient, please notify the sender immediately by
return e-mail, delete this communication and destroy all copies.
************************************************************


List Archive - Manage Your List Settings - Unsubscribe
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com

Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
Potkay, Peter M (CTO Architecture + Engineering)
2013-08-22 15:01:37 UTC
Permalink
If I look at the message on the local queue on the mainframe QM with any of my MQ tools, all is well. I see the exclamation point. It’s the app area that is saying they see the vertical bar. I don’t know yet how they are looking at the message.

Changing the mainframe QMs CCSID to 037, while probably technically the correct solution, is not gonna happen. Right or wrong they were set up with CCSID 500 in the 90s and its just to risky to change it now. Who knows how many apps have coded around this issue over the years, perhaps sending the wrong character on purpose to end up with a ! or a ] relying on the ‘wrong’ conversion.

Is a potential solution to just have the mainframe app specify MQMD.CCSID=037 on its MQGET with Convert? Seems too easy
..

I remember years ago we ran into this - back then the solution was the sending app decided it really didn’t need to send an ! after all, and they just put in some front end edits to prevent that char from being entered.




Peter Potkay


From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul S Dennis
Sent: Thursday, August 22, 2013 10:55 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT
Subject: Re: Here we go again - ! on the mainframe

Sounds very plausible (and quite likely) to me, based on what you have said... How are the you seeing the data? In a 3270 emulator? If so, what CP is that set to?

Thanks
Paul


Paul Dennis
WebSphere MQ for z/OS Development




From: "Potkay, Peter M (CTO Architecture + Engineering)" <***@THEHARTFORD.COM<mailto:***@THEHARTFORD.COM>>
To: ***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>,
Date: 22/08/2013 15:49
Subject: Re: Here we go again - ! on the mainframe
Sent by: MQSeries List <***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>>
________________________________



Sending app puts a !, represented as x21, labeled as MQMD.CCSID 500. 100% correct.

Mainframe QM running as CCSID 500 gets an MQGET with convert call, and the mainframe QM converts the x21 to a x4F, knowing that x4F does represent the explanation point in CCSID 500. Still 100% correct.

The QM gives the message to the app with a x4F. But the app on the mainframe is actually executing in another CCSID, perhaps 037. So that app ingests that x4F character and ‘sees’ it as the vertical bar, because in its code page x4F is a vertical bar.

Is this a plausible (likely?) scenario?



Peter Potkay


From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul S Dennis
Sent: Thursday, August 22, 2013 10:42 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

I think you are probably right there Paul... If it is MQ doing the data conversion from 437 to 500, then it would be converting the x21 into x4F (which is the correct hex of ! in 500), however, it would then appear that the converted data is being displayed with CP 37, which has x4F as |.

See ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00437.pdf and ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00500.pdf .

Thanks
Paul


Paul Dennis
WebSphere MQ for z/OS Development



From: "Meekin, Paul" <***@CITI.COM<mailto:***@CITI.COM>>
To: ***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>,
Date: 22/08/2013 15:28
Subject: Re: Here we go again - ! on the mainframe
Sent by: MQSeries List <***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>>
________________________________




0x4F is ! for CCSID 500 and | for 037. Must be using the wrong code page somewhere.

_______________________________________
Paul Meekin
CATE CitiCloud & CitiApp Platform Engineering | Messaging Middleware
33 Canada Square, Canary Wharf, London E14 5LB
• +44 207 500 6318 | • ***@citi.com<mailto:***@citi.com>

Find out more about our Services<https://catecollaboration.citigroup.net/domains/deveng/Pages/default.aspx>

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: 22 August 2013 15:12
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Here we go again - ! on the mainframe

The exclamation point is one of those well known characters that does not get converted correctly in some cases when going from ASCII to EBCIDIC

Sending system is Windows, puts a message with CCSID 437, the ! character is represented in hex in this message as 21.

Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the mainframe app sees not an ! but a |.

Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical bar in CCSID 500 is hexadecimal BB, not 21.

I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is, but to no avail. None of the charts for CCSID 500 go that low. So why does hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after conversion and not some other random character?


Adding to the confusion: When I do the reverse test, using our QPASA Agent on the mainframe to put a message directly to a local queue on the mainframe, the message sits with an MQMD CCSID of 500, and the ! is represented by hexadecimal 4F. If I then browse this message, MQExplorer, QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as the exclamation point?

Peter Potkay




************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************


________________________________


List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>



________________________________

List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>



Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
________________________________

List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************



________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************
Paul Clarke
2013-08-22 15:01:45 UTC
Permalink
Peter,

I am far from a data conversion expert but let me explore the 4F problem with you. My understanding is that 4F is ! in CCSID 500 but | in CCSID 37.

When browsing messages in MO71 you can configure the message display to display the character data. Now, you can do this whether the message is in ASCII or EBCDIC. You can also choose to have conversion switched on or not. Normally I would expect you to browse the messages with conversion switched on and for the messages themselves to be convertible. However, even if you don’t convert it MO71 tries to display what the characters look like. To do so it uses a generic ASCII/EBCDIC conversion table which always has | as the character for 4F.

So, do you have conversion switched on for your browse ? If you do I would expect you to see all the correct characters for the two codepages since MQ will have converted the data. If you don’t, for the sake of efficiency or whatever, then I would expect you to see an approximation and the | would be one of those.

Cheers,
P.

Paul Clarke
www.mqgem.com

From: Potkay, Peter M (CTO Architecture + Engineering)
Sent: Thursday, August 22, 2013 3:12 PM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Subject: Here we go again - ! on the mainframe

The exclamation point is one of those well known characters that does not get converted correctly in some cases when going from ASCII to EBCIDIC

Sending system is Windows, puts a message with CCSID 437, the ! character is represented in hex in this message as 21.

Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the mainframe app sees not an ! but a |.

Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical bar in CCSID 500 is hexadecimal BB, not 21.

I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is, but to no avail. None of the charts for CCSID 500 go that low. So why does hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after conversion and not some other random character?


Adding to the confusion: When I do the reverse test, using our QPASA Agent on the mainframe to put a message directly to a local queue on the mainframe, the message sits with an MQMD CCSID of 500, and the ! is represented by hexadecimal 4F. If I then browse this message, MQExplorer, QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as the exclamation point?

Peter Potkay




************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************



--------------------------------------------------------------------------------

List Archive - Manage Your List Settings - Unsubscribe
Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com

To unsubscribe, write to LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html
Meekin, Paul
2013-08-22 15:07:20 UTC
Permalink
If the application expects its data to be represented by EBCDIC 37 which sound likely then that is exactly the right thing to do. Only the application knows (or should know) what format it wants the data in so it has to tell the QMgr.

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: 22 August 2013 16:02
To: ***@LISTSERV.MEDUNIWIEN.AC.AT
Subject: Re: Here we go again - ! on the mainframe

If I look at the message on the local queue on the mainframe QM with any of my MQ tools, all is well. I see the exclamation point. It’s the app area that is saying they see the vertical bar. I don’t know yet how they are looking at the message.

Changing the mainframe QMs CCSID to 037, while probably technically the correct solution, is not gonna happen. Right or wrong they were set up with CCSID 500 in the 90s and its just to risky to change it now. Who knows how many apps have coded around this issue over the years, perhaps sending the wrong character on purpose to end up with a ! or a ] relying on the ‘wrong’ conversion.

Is a potential solution to just have the mainframe app specify MQMD.CCSID=037 on its MQGET with Convert? Seems too easy
..

I remember years ago we ran into this - back then the solution was the sending app decided it really didn’t need to send an ! after all, and they just put in some front end edits to prevent that char from being entered.




Peter Potkay

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul S Dennis
Sent: Thursday, August 22, 2013 10:55 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

Sounds very plausible (and quite likely) to me, based on what you have said... How are the you seeing the data? In a 3270 emulator? If so, what CP is that set to?

Thanks
Paul


Paul Dennis
WebSphere MQ for z/OS Development




From: "Potkay, Peter M (CTO Architecture + Engineering)" <***@THEHARTFORD.COM<mailto:***@THEHARTFORD.COM>>
To: ***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>,
Date: 22/08/2013 15:49
Subject: Re: Here we go again - ! on the mainframe
Sent by: MQSeries List <***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>>
________________________________



Sending app puts a !, represented as x21, labeled as MQMD.CCSID 500. 100% correct.

Mainframe QM running as CCSID 500 gets an MQGET with convert call, and the mainframe QM converts the x21 to a x4F, knowing that x4F does represent the explanation point in CCSID 500. Still 100% correct.

The QM gives the message to the app with a x4F. But the app on the mainframe is actually executing in another CCSID, perhaps 037. So that app ingests that x4F character and ‘sees’ it as the vertical bar, because in its code page x4F is a vertical bar.

Is this a plausible (likely?) scenario?



Peter Potkay


From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul S Dennis
Sent: Thursday, August 22, 2013 10:42 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

I think you are probably right there Paul... If it is MQ doing the data conversion from 437 to 500, then it would be converting the x21 into x4F (which is the correct hex of ! in 500), however, it would then appear that the converted data is being displayed with CP 37, which has x4F as |.

See ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00437.pdf and ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00500.pdf .

Thanks
Paul


Paul Dennis
WebSphere MQ for z/OS Development



From: "Meekin, Paul" <***@CITI.COM<mailto:***@CITI.COM>>
To: ***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>,
Date: 22/08/2013 15:28
Subject: Re: Here we go again - ! on the mainframe
Sent by: MQSeries List <***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>>
________________________________




0x4F is ! for CCSID 500 and | for 037. Must be using the wrong code page somewhere.

_______________________________________
Paul Meekin
CATE CitiCloud & CitiApp Platform Engineering | Messaging Middleware
33 Canada Square, Canary Wharf, London E14 5LB
• +44 207 500 6318 | • ***@citi.com<mailto:***@citi.com>

Find out more about our Services<https://catecollaboration.citigroup.net/domains/deveng/Pages/default.aspx>

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: 22 August 2013 15:12
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Here we go again - ! on the mainframe

The exclamation point is one of those well known characters that does not get converted correctly in some cases when going from ASCII to EBCIDIC

Sending system is Windows, puts a message with CCSID 437, the ! character is represented in hex in this message as 21.

Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the mainframe app sees not an ! but a |.

Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical bar in CCSID 500 is hexadecimal BB, not 21.

I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is, but to no avail. None of the charts for CCSID 500 go that low. So why does hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after conversion and not some other random character?


Adding to the confusion: When I do the reverse test, using our QPASA Agent on the mainframe to put a message directly to a local queue on the mainframe, the message sits with an MQMD CCSID of 500, and the ! is represented by hexadecimal 4F. If I then browse this message, MQExplorer, QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as the exclamation point?

Peter Potkay




************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************


________________________________


List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>



________________________________

List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>



Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
________________________________

List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************



________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************
Potkay, Peter M (CTO Architecture + Engineering)
2013-08-22 15:12:07 UTC
Permalink
Interesting, are you saying MO71 is using its own built in conversion tables?

I’ve toggled the convert option multiple times and refreshed and rebrowsed, but MO71 insists on showing x4f labeled as MQMD.CCSID 500 as a vertical bar.

I browse the queue and I see the Message List dialogue box pop up
I right click and turn on Convert
I click refresh Message List dialogue box pop up
I double click the message to look at it. I have both char and hexa turned on.
I right click in this pop up box and Convert is still checked
But the x4F is displayed as a vertical bar.
In another message MO71 shows xBB, the vertical bar in CCSID 500, as a closing bracket.


It seems MO71 assumes CCSID 037 is in play somewhere.


MO71 version 7.5.1 on Windows 7 desktop.



Peter Potkay


From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul Clarke
Sent: Thursday, August 22, 2013 11:02 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT
Subject: Re: Here we go again - ! on the mainframe

Peter,

I am far from a data conversion expert but let me explore the 4F problem with you. My understanding is that 4F is ! in CCSID 500 but | in CCSID 37.

When browsing messages in MO71 you can configure the message display to display the character data. Now, you can do this whether the message is in ASCII or EBCDIC. You can also choose to have conversion switched on or not. Normally I would expect you to browse the messages with conversion switched on and for the messages themselves to be convertible. However, even if you don’t convert it MO71 tries to display what the characters look like. To do so it uses a generic ASCII/EBCDIC conversion table which always has | as the character for 4F.

So, do you have conversion switched on for your browse ? If you do I would expect you to see all the correct characters for the two codepages since MQ will have converted the data. If you don’t, for the sake of efficiency or whatever, then I would expect you to see an approximation and the | would be one of those.

Cheers,
P.

Paul Clarke
www.mqgem.com<http://www.mqgem.com>

From: Potkay, Peter M (CTO Architecture + Engineering)<mailto:***@THEHARTFORD.COM>
Sent: Thursday, August 22, 2013 3:12 PM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Here we go again - ! on the mainframe

The exclamation point is one of those well known characters that does not get converted correctly in some cases when going from ASCII to EBCIDIC

Sending system is Windows, puts a message with CCSID 437, the ! character is represented in hex in this message as 21.

Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the mainframe app sees not an ! but a |.

Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical bar in CCSID 500 is hexadecimal BB, not 21.

I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is, but to no avail. None of the charts for CCSID 500 go that low. So why does hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after conversion and not some other random character?


Adding to the confusion: When I do the reverse test, using our QPASA Agent on the mainframe to put a message directly to a local queue on the mainframe, the message sits with an MQMD CCSID of 500, and the ! is represented by hexadecimal 4F. If I then browse this message, MQExplorer, QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as the exclamation point?

Peter Potkay




************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>
************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************
Edenfield, Lee
2013-08-22 15:12:33 UTC
Permalink
“Is a potential solution to just have the mainframe app specify MQMD.CCSID=037 on its MQGET with Convert? Seems too easy
..”

Not only easy, but it is technically the correct solution to your problem. If the application is expecting codepage 037, then it should say so in the MQGET call and MQ will make it happen.

Lee Edenfield, HagemeyerNA (843.745.2477)

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: Thursday, August 22, 2013 11:02 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT
Subject: Re: Here we go again - ! on the mainframe

If I look at the message on the local queue on the mainframe QM with any of my MQ tools, all is well. I see the exclamation point. It’s the app area that is saying they see the vertical bar. I don’t know yet how they are looking at the message.

Changing the mainframe QMs CCSID to 037, while probably technically the correct solution, is not gonna happen. Right or wrong they were set up with CCSID 500 in the 90s and its just to risky to change it now. Who knows how many apps have coded around this issue over the years, perhaps sending the wrong character on purpose to end up with a ! or a ] relying on the ‘wrong’ conversion.

Is a potential solution to just have the mainframe app specify MQMD.CCSID=037 on its MQGET with Convert? Seems too easy
..

I remember years ago we ran into this - back then the solution was the sending app decided it really didn’t need to send an ! after all, and they just put in some front end edits to prevent that char from being entered.




Peter Potkay

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul S Dennis
Sent: Thursday, August 22, 2013 10:55 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

Sounds very plausible (and quite likely) to me, based on what you have said... How are the you seeing the data? In a 3270 emulator? If so, what CP is that set to?

Thanks
Paul


Paul Dennis
WebSphere MQ for z/OS Development




From: "Potkay, Peter M (CTO Architecture + Engineering)" <***@THEHARTFORD.COM<mailto:***@THEHARTFORD.COM>>
To: ***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>,
Date: 22/08/2013 15:49
Subject: Re: Here we go again - ! on the mainframe
Sent by: MQSeries List <***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>>
________________________________



Sending app puts a !, represented as x21, labeled as MQMD.CCSID 500. 100% correct.

Mainframe QM running as CCSID 500 gets an MQGET with convert call, and the mainframe QM converts the x21 to a x4F, knowing that x4F does represent the explanation point in CCSID 500. Still 100% correct.

The QM gives the message to the app with a x4F. But the app on the mainframe is actually executing in another CCSID, perhaps 037. So that app ingests that x4F character and ‘sees’ it as the vertical bar, because in its code page x4F is a vertical bar.

Is this a plausible (likely?) scenario?



Peter Potkay


From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul S Dennis
Sent: Thursday, August 22, 2013 10:42 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

I think you are probably right there Paul... If it is MQ doing the data conversion from 437 to 500, then it would be converting the x21 into x4F (which is the correct hex of ! in 500), however, it would then appear that the converted data is being displayed with CP 37, which has x4F as |.

See ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00437.pdf and ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00500.pdf .

Thanks
Paul


Paul Dennis
WebSphere MQ for z/OS Development



From: "Meekin, Paul" <***@CITI.COM<mailto:***@CITI.COM>>
To: ***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>,
Date: 22/08/2013 15:28
Subject: Re: Here we go again - ! on the mainframe
Sent by: MQSeries List <***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>>
________________________________




0x4F is ! for CCSID 500 and | for 037. Must be using the wrong code page somewhere.

_______________________________________
Paul Meekin
CATE CitiCloud & CitiApp Platform Engineering | Messaging Middleware
33 Canada Square, Canary Wharf, London E14 5LB
• +44 207 500 6318 | • ***@citi.com<mailto:***@citi.com>

Find out more about our Services<https://catecollaboration.citigroup.net/domains/deveng/Pages/default.aspx>

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: 22 August 2013 15:12
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Here we go again - ! on the mainframe

The exclamation point is one of those well known characters that does not get converted correctly in some cases when going from ASCII to EBCIDIC

Sending system is Windows, puts a message with CCSID 437, the ! character is represented in hex in this message as 21.

Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the mainframe app sees not an ! but a |.

Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical bar in CCSID 500 is hexadecimal BB, not 21.

I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is, but to no avail. None of the charts for CCSID 500 go that low. So why does hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after conversion and not some other random character?


Adding to the confusion: When I do the reverse test, using our QPASA Agent on the mainframe to put a message directly to a local queue on the mainframe, the message sits with an MQMD CCSID of 500, and the ! is represented by hexadecimal 4F. If I then browse this message, MQExplorer, QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as the exclamation point?

Peter Potkay




************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************


________________________________


List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>



________________________________

List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>



Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
________________________________

List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************



________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

______________________________________________________________________
CONFIDENTIALITY WARNING: This email may contain confidential or proprietary business information and is for the sole use of the intended recipient(s). Any unauthorized use or disclosure of this communication, including attachments, is strictly prohibited. If you believe that you have received this email in error, please notify the sender immediately and delete it from your system.
______________________________________________________________________
Potkay, Peter M (CTO Architecture + Engineering)
2013-08-22 15:15:04 UTC
Permalink
Bah, I knew it was too easy to be true.

I double checked the queue the app is using - there is an MQ IMS OTMA Bridge involved. Doubt there is a way to have it selectively use 037 on its MQGETs.

Maybe we need to detour the message into WMB or DataPower XI50 and have them convert the message into 037 before forwarding to the mainframe bridge queue?

Peter Potkay


From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Meekin, Paul
Sent: Thursday, August 22, 2013 11:07 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT
Subject: Re: Here we go again - ! on the mainframe

If the application expects its data to be represented by EBCDIC 37 which sound likely then that is exactly the right thing to do. Only the application knows (or should know) what format it wants the data in so it has to tell the QMgr.

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: 22 August 2013 16:02
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

If I look at the message on the local queue on the mainframe QM with any of my MQ tools, all is well. I see the exclamation point. It’s the app area that is saying they see the vertical bar. I don’t know yet how they are looking at the message.

Changing the mainframe QMs CCSID to 037, while probably technically the correct solution, is not gonna happen. Right or wrong they were set up with CCSID 500 in the 90s and its just to risky to change it now. Who knows how many apps have coded around this issue over the years, perhaps sending the wrong character on purpose to end up with a ! or a ] relying on the ‘wrong’ conversion.

Is a potential solution to just have the mainframe app specify MQMD.CCSID=037 on its MQGET with Convert? Seems too easy
..

I remember years ago we ran into this - back then the solution was the sending app decided it really didn’t need to send an ! after all, and they just put in some front end edits to prevent that char from being entered.




Peter Potkay

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul S Dennis
Sent: Thursday, August 22, 2013 10:55 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

Sounds very plausible (and quite likely) to me, based on what you have said... How are the you seeing the data? In a 3270 emulator? If so, what CP is that set to?

Thanks
Paul


Paul Dennis
WebSphere MQ for z/OS Development




From: "Potkay, Peter M (CTO Architecture + Engineering)" <***@THEHARTFORD.COM<mailto:***@THEHARTFORD.COM>>
To: ***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>,
Date: 22/08/2013 15:49
Subject: Re: Here we go again - ! on the mainframe
Sent by: MQSeries List <***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>>
________________________________



Sending app puts a !, represented as x21, labeled as MQMD.CCSID 500. 100% correct.

Mainframe QM running as CCSID 500 gets an MQGET with convert call, and the mainframe QM converts the x21 to a x4F, knowing that x4F does represent the explanation point in CCSID 500. Still 100% correct.

The QM gives the message to the app with a x4F. But the app on the mainframe is actually executing in another CCSID, perhaps 037. So that app ingests that x4F character and ‘sees’ it as the vertical bar, because in its code page x4F is a vertical bar.

Is this a plausible (likely?) scenario?



Peter Potkay


From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul S Dennis
Sent: Thursday, August 22, 2013 10:42 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

I think you are probably right there Paul... If it is MQ doing the data conversion from 437 to 500, then it would be converting the x21 into x4F (which is the correct hex of ! in 500), however, it would then appear that the converted data is being displayed with CP 37, which has x4F as |.

See ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00437.pdf and ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00500.pdf .

Thanks
Paul


Paul Dennis
WebSphere MQ for z/OS Development



From: "Meekin, Paul" <***@CITI.COM<mailto:***@CITI.COM>>
To: ***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>,
Date: 22/08/2013 15:28
Subject: Re: Here we go again - ! on the mainframe
Sent by: MQSeries List <***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>>
________________________________




0x4F is ! for CCSID 500 and | for 037. Must be using the wrong code page somewhere.

_______________________________________
Paul Meekin
CATE CitiCloud & CitiApp Platform Engineering | Messaging Middleware
33 Canada Square, Canary Wharf, London E14 5LB
• +44 207 500 6318 | • ***@citi.com<mailto:***@citi.com>

Find out more about our Services<https://catecollaboration.citigroup.net/domains/deveng/Pages/default.aspx>

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: 22 August 2013 15:12
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Here we go again - ! on the mainframe

The exclamation point is one of those well known characters that does not get converted correctly in some cases when going from ASCII to EBCIDIC

Sending system is Windows, puts a message with CCSID 437, the ! character is represented in hex in this message as 21.

Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the mainframe app sees not an ! but a |.

Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical bar in CCSID 500 is hexadecimal BB, not 21.

I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is, but to no avail. None of the charts for CCSID 500 go that low. So why does hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after conversion and not some other random character?


Adding to the confusion: When I do the reverse test, using our QPASA Agent on the mainframe to put a message directly to a local queue on the mainframe, the message sits with an MQMD CCSID of 500, and the ! is represented by hexadecimal 4F. If I then browse this message, MQExplorer, QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as the exclamation point?

Peter Potkay




************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************


________________________________


List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>



________________________________

List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>



Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
________________________________

List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************



________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************
************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************
Paul Clarke
2013-08-22 15:22:51 UTC
Permalink
Yes, MO71 has it’s own VERY minimalist conversion table. Suppose you browse a queue and don’t specify conversion then it could just display you complete gobbledygook but it tries to show you roughly what is there.

If you are doing conversion and you still don’t see the right data then I am curious what you are converting it to and whether it matches your machine.

If you go to the preferences setting and look at the ‘General’ tab. What have you specified for the Locale and Browse CCSID ? I have English_United Kingdom.1252 and 1208 as my settings. Although, I’ll be honest with you I’m not sure whether these are the correct settings or what I last tested with. However, with these values I can see the character changing from | to ! as I switch convert on and off.

Cheers,
P.

Paul Clarke
www.mqgem.com

From: Potkay, Peter M (CTO Architecture + Engineering)
Sent: Thursday, August 22, 2013 4:12 PM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Subject: Re: Here we go again - ! on the mainframe - the MO71 perspective

Interesting, are you saying MO71 is using its own built in conversion tables?



I’ve toggled the convert option multiple times and refreshed and rebrowsed, but MO71 insists on showing x4f labeled as MQMD.CCSID 500 as a vertical bar.



I browse the queue and I see the Message List dialogue box pop up

I right click and turn on Convert

I click refresh Message List dialogue box pop up

I double click the message to look at it. I have both char and hexa turned on.

I right click in this pop up box and Convert is still checked

But the x4F is displayed as a vertical bar.

In another message MO71 shows xBB, the vertical bar in CCSID 500, as a closing bracket.





It seems MO71 assumes CCSID 037 is in play somewhere.





MO71 version 7.5.1 on Windows 7 desktop.







Peter Potkay





From: MQSeries List [mailto:MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org] On Behalf Of Paul Clarke
Sent: Thursday, August 22, 2013 11:02 AM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Subject: Re: Here we go again - ! on the mainframe



Peter,



I am far from a data conversion expert but let me explore the 4F problem with you. My understanding is that 4F is ! in CCSID 500 but | in CCSID 37.



When browsing messages in MO71 you can configure the message display to display the character data. Now, you can do this whether the message is in ASCII or EBCDIC. You can also choose to have conversion switched on or not. Normally I would expect you to browse the messages with conversion switched on and for the messages themselves to be convertible. However, even if you don’t convert it MO71 tries to display what the characters look like. To do so it uses a generic ASCII/EBCDIC conversion table which always has | as the character for 4F.



So, do you have conversion switched on for your browse ? If you do I would expect you to see all the correct characters for the two codepages since MQ will have converted the data. If you don’t, for the sake of efficiency or whatever, then I would expect you to see an approximation and the | would be one of those.



Cheers,

P.



Paul Clarke
www.mqgem.com



From: Potkay, Peter M (CTO Architecture + Engineering)

Sent: Thursday, August 22, 2013 3:12 PM

To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org

Subject: Here we go again - ! on the mainframe



The exclamation point is one of those well known characters that does not get converted correctly in some cases when going from ASCII to EBCIDIC

Sending system is Windows, puts a message with CCSID 437, the ! character is represented in hex in this message as 21.

Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the mainframe app sees not an ! but a |.

Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical bar in CCSID 500 is hexadecimal BB, not 21.

I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is, but to no avail. None of the charts for CCSID 500 go that low. So why does hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after conversion and not some other random character?


Adding to the confusion: When I do the reverse test, using our QPASA Agent on the mainframe to put a message directly to a local queue on the mainframe, the message sits with an MQMD CCSID of 500, and the ! is represented by hexadecimal 4F. If I then browse this message, MQExplorer, QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as the exclamation point?



Peter Potkay







************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************




--------------------------------------------------------------------------------

List Archive - Manage Your List Settings - Unsubscribe

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com




--------------------------------------------------------------------------------

List Archive - Manage Your List Settings - Unsubscribe

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

To unsubscribe, write to LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html
Potkay, Peter M (CTO Architecture + Engineering)
2013-08-22 15:26:54 UTC
Permalink
As soon as I hit send I realized that would not solve anything. The message would arrive with the ! represented as x5A, labeled as CCSID 037 (correct), but the bridge would still want to convert because its running as CCSID 500. The message would now be in CCSID 500, but the app beyond the bridge is still running as 037 and we’re right back where we started – the app is being handed a message in the wrong CCSID and it includes a character that differs between 037 and 500 at the hexa level. The x5A would get converted correctly to an x4F, and the app would read the x4F assuming CCSID 037 and boom, there’s that |again.

Grrrr




Peter Potkay


From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: Thursday, August 22, 2013 11:15 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT
Subject: Re: Here we go again - ! on the mainframe

Bah, I knew it was too easy to be true.

I double checked the queue the app is using - there is an MQ IMS OTMA Bridge involved. Doubt there is a way to have it selectively use 037 on its MQGETs.

Maybe we need to detour the message into WMB or DataPower XI50 and have them convert the message into 037 before forwarding to the mainframe bridge queue?

Peter Potkay

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Meekin, Paul
Sent: Thursday, August 22, 2013 11:07 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

If the application expects its data to be represented by EBCDIC 37 which sound likely then that is exactly the right thing to do. Only the application knows (or should know) what format it wants the data in so it has to tell the QMgr.

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: 22 August 2013 16:02
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

If I look at the message on the local queue on the mainframe QM with any of my MQ tools, all is well. I see the exclamation point. It’s the app area that is saying they see the vertical bar. I don’t know yet how they are looking at the message.

Changing the mainframe QMs CCSID to 037, while probably technically the correct solution, is not gonna happen. Right or wrong they were set up with CCSID 500 in the 90s and its just to risky to change it now. Who knows how many apps have coded around this issue over the years, perhaps sending the wrong character on purpose to end up with a ! or a ] relying on the ‘wrong’ conversion.

Is a potential solution to just have the mainframe app specify MQMD.CCSID=037 on its MQGET with Convert? Seems too easy
..

I remember years ago we ran into this - back then the solution was the sending app decided it really didn’t need to send an ! after all, and they just put in some front end edits to prevent that char from being entered.




Peter Potkay

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul S Dennis
Sent: Thursday, August 22, 2013 10:55 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

Sounds very plausible (and quite likely) to me, based on what you have said... How are the you seeing the data? In a 3270 emulator? If so, what CP is that set to?

Thanks
Paul


Paul Dennis
WebSphere MQ for z/OS Development




From: "Potkay, Peter M (CTO Architecture + Engineering)" <***@THEHARTFORD.COM<mailto:***@THEHARTFORD.COM>>
To: ***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>,
Date: 22/08/2013 15:49
Subject: Re: Here we go again - ! on the mainframe
Sent by: MQSeries List <***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>>
________________________________



Sending app puts a !, represented as x21, labeled as MQMD.CCSID 500. 100% correct.

Mainframe QM running as CCSID 500 gets an MQGET with convert call, and the mainframe QM converts the x21 to a x4F, knowing that x4F does represent the explanation point in CCSID 500. Still 100% correct.

The QM gives the message to the app with a x4F. But the app on the mainframe is actually executing in another CCSID, perhaps 037. So that app ingests that x4F character and ‘sees’ it as the vertical bar, because in its code page x4F is a vertical bar.

Is this a plausible (likely?) scenario?



Peter Potkay


From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul S Dennis
Sent: Thursday, August 22, 2013 10:42 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

I think you are probably right there Paul... If it is MQ doing the data conversion from 437 to 500, then it would be converting the x21 into x4F (which is the correct hex of ! in 500), however, it would then appear that the converted data is being displayed with CP 37, which has x4F as |.

See ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00437.pdf and ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00500.pdf .

Thanks
Paul


Paul Dennis
WebSphere MQ for z/OS Development



From: "Meekin, Paul" <***@CITI.COM<mailto:***@CITI.COM>>
To: ***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>,
Date: 22/08/2013 15:28
Subject: Re: Here we go again - ! on the mainframe
Sent by: MQSeries List <***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>>
________________________________




0x4F is ! for CCSID 500 and | for 037. Must be using the wrong code page somewhere.

_______________________________________
Paul Meekin
CATE CitiCloud & CitiApp Platform Engineering | Messaging Middleware
33 Canada Square, Canary Wharf, London E14 5LB
• +44 207 500 6318 | • ***@citi.com<mailto:***@citi.com>

Find out more about our Services<https://catecollaboration.citigroup.net/domains/deveng/Pages/default.aspx>

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: 22 August 2013 15:12
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Here we go again - ! on the mainframe

The exclamation point is one of those well known characters that does not get converted correctly in some cases when going from ASCII to EBCIDIC

Sending system is Windows, puts a message with CCSID 437, the ! character is represented in hex in this message as 21.

Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the mainframe app sees not an ! but a |.

Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical bar in CCSID 500 is hexadecimal BB, not 21.

I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is, but to no avail. None of the charts for CCSID 500 go that low. So why does hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after conversion and not some other random character?


Adding to the confusion: When I do the reverse test, using our QPASA Agent on the mainframe to put a message directly to a local queue on the mainframe, the message sits with an MQMD CCSID of 500, and the ! is represented by hexadecimal 4F. If I then browse this message, MQExplorer, QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as the exclamation point?

Peter Potkay




************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************


________________________________


List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>



________________________________

List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>



Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
________________________________

List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************



________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************
************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************
Edenfield, Lee
2013-08-22 15:28:31 UTC
Permalink
I have done this before. I suspect the IMS OTMA bridge should be specifying 037 for everything, but it does not sound like you want to do this.

The catch is, if you convert the message to CCSID 037 and send to the mainframe, it is going to convert again to 500 and you still have the same problem. The issue is that the application is expecting codepage 037, but is getting 500.

There is a way to “trick” the system. If you convert the message to 037 but specify 500 in the MQMD when you write it to the queue, the queue manager on Z/OS will think it is already 500 and will not attempt to convert it.

This will work, but it is not the technically correct solution.

If you are not willing to change the MQ default or the OTMA Bridge default, the technically correct solution would be for the application to convert the data from codepage 500 to 037 after receiving it from the bridge.

Lee Edenfield, HagemeyerNA (843.745.2477)

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: Thursday, August 22, 2013 11:15 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT
Subject: Re: Here we go again - ! on the mainframe

Bah, I knew it was too easy to be true.

I double checked the queue the app is using - there is an MQ IMS OTMA Bridge involved. Doubt there is a way to have it selectively use 037 on its MQGETs.

Maybe we need to detour the message into WMB or DataPower XI50 and have them convert the message into 037 before forwarding to the mainframe bridge queue?

Peter Potkay

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Meekin, Paul
Sent: Thursday, August 22, 2013 11:07 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

If the application expects its data to be represented by EBCDIC 37 which sound likely then that is exactly the right thing to do. Only the application knows (or should know) what format it wants the data in so it has to tell the QMgr.

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: 22 August 2013 16:02
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

If I look at the message on the local queue on the mainframe QM with any of my MQ tools, all is well. I see the exclamation point. It’s the app area that is saying they see the vertical bar. I don’t know yet how they are looking at the message.

Changing the mainframe QMs CCSID to 037, while probably technically the correct solution, is not gonna happen. Right or wrong they were set up with CCSID 500 in the 90s and its just to risky to change it now. Who knows how many apps have coded around this issue over the years, perhaps sending the wrong character on purpose to end up with a ! or a ] relying on the ‘wrong’ conversion.

Is a potential solution to just have the mainframe app specify MQMD.CCSID=037 on its MQGET with Convert? Seems too easy
..

I remember years ago we ran into this - back then the solution was the sending app decided it really didn’t need to send an ! after all, and they just put in some front end edits to prevent that char from being entered.




Peter Potkay

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul S Dennis
Sent: Thursday, August 22, 2013 10:55 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

Sounds very plausible (and quite likely) to me, based on what you have said... How are the you seeing the data? In a 3270 emulator? If so, what CP is that set to?

Thanks
Paul


Paul Dennis
WebSphere MQ for z/OS Development




From: "Potkay, Peter M (CTO Architecture + Engineering)" <***@THEHARTFORD.COM<mailto:***@THEHARTFORD.COM>>
To: ***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>,
Date: 22/08/2013 15:49
Subject: Re: Here we go again - ! on the mainframe
Sent by: MQSeries List <***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>>
________________________________



Sending app puts a !, represented as x21, labeled as MQMD.CCSID 500. 100% correct.

Mainframe QM running as CCSID 500 gets an MQGET with convert call, and the mainframe QM converts the x21 to a x4F, knowing that x4F does represent the explanation point in CCSID 500. Still 100% correct.

The QM gives the message to the app with a x4F. But the app on the mainframe is actually executing in another CCSID, perhaps 037. So that app ingests that x4F character and ‘sees’ it as the vertical bar, because in its code page x4F is a vertical bar.

Is this a plausible (likely?) scenario?



Peter Potkay


From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul S Dennis
Sent: Thursday, August 22, 2013 10:42 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

I think you are probably right there Paul... If it is MQ doing the data conversion from 437 to 500, then it would be converting the x21 into x4F (which is the correct hex of ! in 500), however, it would then appear that the converted data is being displayed with CP 37, which has x4F as |.

See ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00437.pdf and ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00500.pdf .

Thanks
Paul


Paul Dennis
WebSphere MQ for z/OS Development



From: "Meekin, Paul" <***@CITI.COM<mailto:***@CITI.COM>>
To: ***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>,
Date: 22/08/2013 15:28
Subject: Re: Here we go again - ! on the mainframe
Sent by: MQSeries List <***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>>
________________________________




0x4F is ! for CCSID 500 and | for 037. Must be using the wrong code page somewhere.

_______________________________________
Paul Meekin
CATE CitiCloud & CitiApp Platform Engineering | Messaging Middleware
33 Canada Square, Canary Wharf, London E14 5LB
• +44 207 500 6318 | • ***@citi.com<mailto:***@citi.com>

Find out more about our Services<https://catecollaboration.citigroup.net/domains/deveng/Pages/default.aspx>

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: 22 August 2013 15:12
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Here we go again - ! on the mainframe

The exclamation point is one of those well known characters that does not get converted correctly in some cases when going from ASCII to EBCIDIC

Sending system is Windows, puts a message with CCSID 437, the ! character is represented in hex in this message as 21.

Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the mainframe app sees not an ! but a |.

Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical bar in CCSID 500 is hexadecimal BB, not 21.

I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is, but to no avail. None of the charts for CCSID 500 go that low. So why does hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after conversion and not some other random character?


Adding to the confusion: When I do the reverse test, using our QPASA Agent on the mainframe to put a message directly to a local queue on the mainframe, the message sits with an MQMD CCSID of 500, and the ! is represented by hexadecimal 4F. If I then browse this message, MQExplorer, QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as the exclamation point?

Peter Potkay




************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************


________________________________


List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>



________________________________

List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>



Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
________________________________

List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************



________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

______________________________________________________________________
CONFIDENTIALITY WARNING: This email may contain confidential or proprietary business information and is for the sole use of the intended recipient(s). Any unauthorized use or disclosure of this communication, including attachments, is strictly prohibited. If you believe that you have received this email in error, please notify the sender immediately and delete it from your system.
______________________________________________________________________
Meekin, Paul
2013-08-22 15:32:20 UTC
Permalink
It’s a nasty problem. What you’re talking about is putting 037 data on the queue and calling it 500. It’s just wrong wrong wrong


I can’t think of any way that MQ is going to help break the data.

I do recall an app trying to send Greek characters where they basically ran their own translation on the ASCII (well, ISO I guess) data first, completely screwing it up just so the mainframe conversion would work correctly
 I hope you’re not in that territory.

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: 22 August 2013 16:27
To: ***@LISTSERV.MEDUNIWIEN.AC.AT
Subject: Re: Here we go again - ! on the mainframe

As soon as I hit send I realized that would not solve anything. The message would arrive with the ! represented as x5A, labeled as CCSID 037 (correct), but the bridge would still want to convert because its running as CCSID 500. The message would now be in CCSID 500, but the app beyond the bridge is still running as 037 and we’re right back where we started – the app is being handed a message in the wrong CCSID and it includes a character that differs between 037 and 500 at the hexa level. The x5A would get converted correctly to an x4F, and the app would read the x4F assuming CCSID 037 and boom, there’s that |again.

Grrrr




Peter Potkay

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: Thursday, August 22, 2013 11:15 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

Bah, I knew it was too easy to be true.

I double checked the queue the app is using - there is an MQ IMS OTMA Bridge involved. Doubt there is a way to have it selectively use 037 on its MQGETs.

Maybe we need to detour the message into WMB or DataPower XI50 and have them convert the message into 037 before forwarding to the mainframe bridge queue?

Peter Potkay

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Meekin, Paul
Sent: Thursday, August 22, 2013 11:07 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

If the application expects its data to be represented by EBCDIC 37 which sound likely then that is exactly the right thing to do. Only the application knows (or should know) what format it wants the data in so it has to tell the QMgr.

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: 22 August 2013 16:02
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

If I look at the message on the local queue on the mainframe QM with any of my MQ tools, all is well. I see the exclamation point. It’s the app area that is saying they see the vertical bar. I don’t know yet how they are looking at the message.

Changing the mainframe QMs CCSID to 037, while probably technically the correct solution, is not gonna happen. Right or wrong they were set up with CCSID 500 in the 90s and its just to risky to change it now. Who knows how many apps have coded around this issue over the years, perhaps sending the wrong character on purpose to end up with a ! or a ] relying on the ‘wrong’ conversion.

Is a potential solution to just have the mainframe app specify MQMD.CCSID=037 on its MQGET with Convert? Seems too easy
..

I remember years ago we ran into this - back then the solution was the sending app decided it really didn’t need to send an ! after all, and they just put in some front end edits to prevent that char from being entered.




Peter Potkay

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul S Dennis
Sent: Thursday, August 22, 2013 10:55 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

Sounds very plausible (and quite likely) to me, based on what you have said... How are the you seeing the data? In a 3270 emulator? If so, what CP is that set to?

Thanks
Paul


Paul Dennis
WebSphere MQ for z/OS Development




From: "Potkay, Peter M (CTO Architecture + Engineering)" <***@THEHARTFORD.COM<mailto:***@THEHARTFORD.COM>>
To: ***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>,
Date: 22/08/2013 15:49
Subject: Re: Here we go again - ! on the mainframe
Sent by: MQSeries List <***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>>
________________________________



Sending app puts a !, represented as x21, labeled as MQMD.CCSID 500. 100% correct.

Mainframe QM running as CCSID 500 gets an MQGET with convert call, and the mainframe QM converts the x21 to a x4F, knowing that x4F does represent the explanation point in CCSID 500. Still 100% correct.

The QM gives the message to the app with a x4F. But the app on the mainframe is actually executing in another CCSID, perhaps 037. So that app ingests that x4F character and ‘sees’ it as the vertical bar, because in its code page x4F is a vertical bar.

Is this a plausible (likely?) scenario?



Peter Potkay


From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul S Dennis
Sent: Thursday, August 22, 2013 10:42 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

I think you are probably right there Paul... If it is MQ doing the data conversion from 437 to 500, then it would be converting the x21 into x4F (which is the correct hex of ! in 500), however, it would then appear that the converted data is being displayed with CP 37, which has x4F as |.

See ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00437.pdf and ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00500.pdf .

Thanks
Paul


Paul Dennis
WebSphere MQ for z/OS Development



From: "Meekin, Paul" <***@CITI.COM<mailto:***@CITI.COM>>
To: ***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>,
Date: 22/08/2013 15:28
Subject: Re: Here we go again - ! on the mainframe
Sent by: MQSeries List <***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>>
________________________________




0x4F is ! for CCSID 500 and | for 037. Must be using the wrong code page somewhere.

_______________________________________
Paul Meekin
CATE CitiCloud & CitiApp Platform Engineering | Messaging Middleware
33 Canada Square, Canary Wharf, London E14 5LB
• +44 207 500 6318 | • ***@citi.com<mailto:***@citi.com>

Find out more about our Services<https://catecollaboration.citigroup.net/domains/deveng/Pages/default.aspx>

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: 22 August 2013 15:12
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Here we go again - ! on the mainframe

The exclamation point is one of those well known characters that does not get converted correctly in some cases when going from ASCII to EBCIDIC

Sending system is Windows, puts a message with CCSID 437, the ! character is represented in hex in this message as 21.

Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the mainframe app sees not an ! but a |.

Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical bar in CCSID 500 is hexadecimal BB, not 21.

I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is, but to no avail. None of the charts for CCSID 500 go that low. So why does hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after conversion and not some other random character?


Adding to the confusion: When I do the reverse test, using our QPASA Agent on the mainframe to put a message directly to a local queue on the mainframe, the message sits with an MQMD CCSID of 500, and the ! is represented by hexadecimal 4F. If I then browse this message, MQExplorer, QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as the exclamation point?

Peter Potkay




************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************


________________________________


List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>



________________________________

List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>



Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
________________________________

List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************



________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************
Schanz, Arthur
2013-08-22 15:33:39 UTC
Permalink
Peter –

Another OTMA-related ‘challenge’? ;-)

As you know, the receiving ‘application’ for msgs destined for IMS via OTMA is the Bridge. You correctly state that there is no place to configure a different CCSID (or even MQGET w/ Convert) in this flow, as the WMQ MF subsystem is acting as the OTMA client.

What we do (and have done for quite some time) is to have the MCA (channel) handle the conversion for us. While this is not a popular choice for other msg flows where ‘receiver makes good’ is possible, it is a very viable option for msgs destined for IMS via OTMA.

I know we have discussed this previously, although in a slightly different context; however, the conversion choices for msgs headed to IMS are limited. The conversion will cause the chars to ultimately be displayed in the MF defined CCSID, so you need to ‘set-up’ the data on the sending side to allow for that.

As always, Good Luck!

Art
________________________________
[National IT Services]Arthur Schanz
Distributed Computing Spec
Messaging and File Transfer
701 East Byrd Street
Richmond, VA 23219

Phone: 804.697.3889
Cell: 804.640.3132
Email: ***@frit.frb.org<mailto:***@frit.frb.org>



[National IT Green Logo]

[CertWS_color]

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: Thursday, August 22, 2013 11:15 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT
Subject: Re: Here we go again - ! on the mainframe

Bah, I knew it was too easy to be true.

I double checked the queue the app is using - there is an MQ IMS OTMA Bridge involved. Doubt there is a way to have it selectively use 037 on its MQGETs.

Maybe we need to detour the message into WMB or DataPower XI50 and have them convert the message into 037 before forwarding to the mainframe bridge queue?

Peter Potkay

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Meekin, Paul
Sent: Thursday, August 22, 2013 11:07 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

If the application expects its data to be represented by EBCDIC 37 which sound likely then that is exactly the right thing to do. Only the application knows (or should know) what format it wants the data in so it has to tell the QMgr.

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: 22 August 2013 16:02
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

If I look at the message on the local queue on the mainframe QM with any of my MQ tools, all is well. I see the exclamation point. It’s the app area that is saying they see the vertical bar. I don’t know yet how they are looking at the message.

Changing the mainframe QMs CCSID to 037, while probably technically the correct solution, is not gonna happen. Right or wrong they were set up with CCSID 500 in the 90s and its just to risky to change it now. Who knows how many apps have coded around this issue over the years, perhaps sending the wrong character on purpose to end up with a ! or a ] relying on the ‘wrong’ conversion.

Is a potential solution to just have the mainframe app specify MQMD.CCSID=037 on its MQGET with Convert? Seems too easy
..

I remember years ago we ran into this - back then the solution was the sending app decided it really didn’t need to send an ! after all, and they just put in some front end edits to prevent that char from being entered.




Peter Potkay

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul S Dennis
Sent: Thursday, August 22, 2013 10:55 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

Sounds very plausible (and quite likely) to me, based on what you have said... How are the you seeing the data? In a 3270 emulator? If so, what CP is that set to?

Thanks
Paul


Paul Dennis
WebSphere MQ for z/OS Development




From: "Potkay, Peter M (CTO Architecture + Engineering)" <***@THEHARTFORD.COM<mailto:***@THEHARTFORD.COM>>
To: ***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>,
Date: 22/08/2013 15:49
Subject: Re: Here we go again - ! on the mainframe
Sent by: MQSeries List <***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>>
________________________________



Sending app puts a !, represented as x21, labeled as MQMD.CCSID 500. 100% correct.

Mainframe QM running as CCSID 500 gets an MQGET with convert call, and the mainframe QM converts the x21 to a x4F, knowing that x4F does represent the explanation point in CCSID 500. Still 100% correct.

The QM gives the message to the app with a x4F. But the app on the mainframe is actually executing in another CCSID, perhaps 037. So that app ingests that x4F character and ‘sees’ it as the vertical bar, because in its code page x4F is a vertical bar.

Is this a plausible (likely?) scenario?



Peter Potkay


From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul S Dennis
Sent: Thursday, August 22, 2013 10:42 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

I think you are probably right there Paul... If it is MQ doing the data conversion from 437 to 500, then it would be converting the x21 into x4F (which is the correct hex of ! in 500), however, it would then appear that the converted data is being displayed with CP 37, which has x4F as |.

See ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00437.pdf and ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00500.pdf .

Thanks
Paul


Paul Dennis
WebSphere MQ for z/OS Development



From: "Meekin, Paul" <***@CITI.COM<mailto:***@CITI.COM>>
To: ***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>,
Date: 22/08/2013 15:28
Subject: Re: Here we go again - ! on the mainframe
Sent by: MQSeries List <***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>>
________________________________




0x4F is ! for CCSID 500 and | for 037. Must be using the wrong code page somewhere.

_______________________________________
Paul Meekin
CATE CitiCloud & CitiApp Platform Engineering | Messaging Middleware
33 Canada Square, Canary Wharf, London E14 5LB
• +44 207 500 6318 | • ***@citi.com<mailto:***@citi.com>

Find out more about our Services<https://catecollaboration.citigroup.net/domains/deveng/Pages/default.aspx>

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: 22 August 2013 15:12
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Here we go again - ! on the mainframe

The exclamation point is one of those well known characters that does not get converted correctly in some cases when going from ASCII to EBCIDIC

Sending system is Windows, puts a message with CCSID 437, the ! character is represented in hex in this message as 21.

Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the mainframe app sees not an ! but a |.

Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical bar in CCSID 500 is hexadecimal BB, not 21.

I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is, but to no avail. None of the charts for CCSID 500 go that low. So why does hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after conversion and not some other random character?


Adding to the confusion: When I do the reverse test, using our QPASA Agent on the mainframe to put a message directly to a local queue on the mainframe, the message sits with an MQMD CCSID of 500, and the ! is represented by hexadecimal 4F. If I then browse this message, MQExplorer, QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as the exclamation point?

Peter Potkay




************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************


________________________________


List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>



________________________________

List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>



Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
________________________________

List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************



________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************
Edenfield, Lee
2013-08-22 15:49:42 UTC
Permalink
If you are seeing x4F, then the message is not converted. If it were converted, you would see x21.

I created a message in EBCDIC on Z/OS and put it in a queue with CCSID 037

Message is 80 characters plus a CRLF

TEST MESSAGE!|

Using MO71 V7.5.1 (Locale and Browse CCSID set to Default)

without Convert I get:
[ 364 bytes] Message Descriptor (MQMD)
StrucId :'MD '
Version :2
Report :00000000
Message Type :8 (Datagram)
Expiry :-1
Feedback :0 (None)
MQEncoding :0x'311'
CCSID :37
Format :'MQSTR '
Priority :0
Persistence :1 (Persistent)
Message Id :C3E2D840C3E2D8F14040404040404040CBD9B5DD353405C9
'***@....@@@@@@@@....54..'
Correl. Id :000000000000000000000000000000000000000000000000
'........................'
Backout Cnt. :0
ReplyToQ :' '
ReplyToQMgr :'CSQ1 '
UserId :'LEDE005 '
AccountingTkn:0000000000000000000000000000000000000000000000000000000000000000
ApplIdentity :' '
PutApplType :2 (OS/390)
PutApplName :'LEJMQ '
Put Date :'20130822'
Put Time :'15383223'
ApplOriginDat:'LAST'
Group Id :000000000000000000000000000000000000000000000000
Msg Seq No. :1
Offset :0
MsgFlags :00000000
Original Len.:-1
+00000000 E3C5E2E3 40D4C5E2 E2C1C7C5 5A4F4040 40404040 40404040 TEST MESSAGE!|
+00000018 40404040 40404040 40404040 40404040 40404040 40404040
+00000030 40404040 40404040 40404040 40404040 40404040 40404040
+00000048 40404040 40404040 0D25 ..

With Convert I get:

[ 364 bytes] Message Descriptor (MQMD)
StrucId :'MD '
Version :2
Report :00000000
Message Type :8 (Datagram)
Expiry :-1
Feedback :0 (None)
MQEncoding :0x'222'
CCSID :437
Format :'MQSTR '
Priority :0
Persistence :1 (Persistent)
Message Id :C3E2D840C3E2D8F14040404040404040CBD9B5DD353405C9
'***@....@@@@@@@@....54..'
Correl. Id :000000000000000000000000000000000000000000000000
'........................'
Backout Cnt. :0
ReplyToQ :' '
ReplyToQMgr :'CSQ1 '
UserId :'LEDE005 '
AccountingTkn:0000000000000000000000000000000000000000000000000000000000000000
ApplIdentity :' '
PutApplType :2 (OS/390)
PutApplName :'LEJMQ '
Put Date :'20130822'
Put Time :'15383223'
ApplOriginDat:'LAST'
Group Id :000000000000000000000000000000000000000000000000
Msg Seq No. :1
Offset :0
MsgFlags :00000000
Original Len.:-1
+00000000 54455354 204D4553 53414745 217C2020 20202020 20202020 TEST MESSAGE!|
+00000018 20202020 20202020 20202020 20202020 20202020 20202020
+00000030 20202020 20202020 20202020 20202020 20202020 20202020
+00000048 20202020 20202020 0D0A ..

Lee Edenfield, HagemeyerNA (843.745.2477)

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul Clarke
Sent: Thursday, August 22, 2013 11:23 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT
Subject: Re: Here we go again - ! on the mainframe - the MO71 perspective

Yes, MO71 has it’s own VERY minimalist conversion table. Suppose you browse a queue and don’t specify conversion then it could just display you complete gobbledygook but it tries to show you roughly what is there.

If you are doing conversion and you still don’t see the right data then I am curious what you are converting it to and whether it matches your machine.

If you go to the preferences setting and look at the ‘General’ tab. What have you specified for the Locale and Browse CCSID ? I have English_United Kingdom.1252 and 1208 as my settings. Although, I’ll be honest with you I’m not sure whether these are the correct settings or what I last tested with. However, with these values I can see the character changing from | to ! as I switch convert on and off.

Cheers,
P.

Paul Clarke
www.mqgem.com<http://www.mqgem.com>

From: Potkay, Peter M (CTO Architecture + Engineering)<mailto:***@THEHARTFORD.COM>
Sent: Thursday, August 22, 2013 4:12 PM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe - the MO71 perspective

Interesting, are you saying MO71 is using its own built in conversion tables?

I’ve toggled the convert option multiple times and refreshed and rebrowsed, but MO71 insists on showing x4f labeled as MQMD.CCSID 500 as a vertical bar.

I browse the queue and I see the Message List dialogue box pop up
I right click and turn on Convert
I click refresh Message List dialogue box pop up
I double click the message to look at it. I have both char and hexa turned on.
I right click in this pop up box and Convert is still checked
But the x4F is displayed as a vertical bar.
In another message MO71 shows xBB, the vertical bar in CCSID 500, as a closing bracket.


It seems MO71 assumes CCSID 037 is in play somewhere.


MO71 version 7.5.1 on Windows 7 desktop.



Peter Potkay

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul Clarke
Sent: Thursday, August 22, 2013 11:02 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

Peter,

I am far from a data conversion expert but let me explore the 4F problem with you. My understanding is that 4F is ! in CCSID 500 but | in CCSID 37.

When browsing messages in MO71 you can configure the message display to display the character data. Now, you can do this whether the message is in ASCII or EBCDIC. You can also choose to have conversion switched on or not. Normally I would expect you to browse the messages with conversion switched on and for the messages themselves to be convertible. However, even if you don’t convert it MO71 tries to display what the characters look like. To do so it uses a generic ASCII/EBCDIC conversion table which always has | as the character for 4F.

So, do you have conversion switched on for your browse ? If you do I would expect you to see all the correct characters for the two codepages since MQ will have converted the data. If you don’t, for the sake of efficiency or whatever, then I would expect you to see an approximation and the | would be one of those.

Cheers,
P.

Paul Clarke
www.mqgem.com<http://www.mqgem.com>

From: Potkay, Peter M (CTO Architecture + Engineering)<mailto:***@THEHARTFORD.COM>
Sent: Thursday, August 22, 2013 3:12 PM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Here we go again - ! on the mainframe

The exclamation point is one of those well known characters that does not get converted correctly in some cases when going from ASCII to EBCIDIC

Sending system is Windows, puts a message with CCSID 437, the ! character is represented in hex in this message as 21.

Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the mainframe app sees not an ! but a |.

Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical bar in CCSID 500 is hexadecimal BB, not 21.

I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is, but to no avail. None of the charts for CCSID 500 go that low. So why does hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after conversion and not some other random character?


Adding to the confusion: When I do the reverse test, using our QPASA Agent on the mainframe to put a message directly to a local queue on the mainframe, the message sits with an MQMD CCSID of 500, and the ! is represented by hexadecimal 4F. If I then browse this message, MQExplorer, QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as the exclamation point?

Peter Potkay




************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

______________________________________________________________________
CONFIDENTIALITY WARNING: This email may contain confidential or proprietary business information and is for the sole use of the intended recipient(s). Any unauthorized use or disclosure of this communication, including attachments, is strictly prohibited. If you believe that you have received this email in error, please notify the sender immediately and delete it from your system.
______________________________________________________________________
Paul Clarke
2013-08-22 16:14:07 UTC
Permalink
Hi Lee,

Thanks for that although I would imagine that codepage 37 would be fine. What happens if you use codepage 500?. Then I would expect to see a difference depending on whether you have conversion switched on or not.

Cheers,
P.

Paul Clarke
www.mqgem.com

From: Edenfield, Lee
Sent: Thursday, August 22, 2013 4:49 PM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Subject: Re: Here we go again - ! on the mainframe - the MO71 perspective

If you are seeing x4F, then the message is not converted. If it were converted, you would see x21.



I created a message in EBCDIC on Z/OS and put it in a queue with CCSID 037



Message is 80 characters plus a CRLF



TEST MESSAGE!|



Using MO71 V7.5.1 (Locale and Browse CCSID set to Default)



without Convert I get:


[ 364 bytes] Message Descriptor (MQMD)

StrucId :'MD '

Version :2

Report :00000000

Message Type :8 (Datagram)

Expiry :-1

Feedback :0 (None)

MQEncoding :0x'311'

CCSID :37

Format :'MQSTR '

Priority :0

Persistence :1 (Persistent)

Message Id :C3E2D840C3E2D8F14040404040404040CBD9B5DD353405C9

'***@....@@@@@@@@....54..'

Correl. Id :000000000000000000000000000000000000000000000000

'........................'

Backout Cnt. :0

ReplyToQ :' '

ReplyToQMgr :'CSQ1 '

UserId :'LEDE005 '

AccountingTkn:0000000000000000000000000000000000000000000000000000000000000000

ApplIdentity :' '

PutApplType :2 (OS/390)

PutApplName :'LEJMQ '

Put Date :'20130822'

Put Time :'15383223'

ApplOriginDat:'LAST'

Group Id :000000000000000000000000000000000000000000000000

Msg Seq No. :1

Offset :0

MsgFlags :00000000

Original Len.:-1

+00000000 E3C5E2E3 40D4C5E2 E2C1C7C5 5A4F4040 40404040 40404040 TEST MESSAGE!|

+00000018 40404040 40404040 40404040 40404040 40404040 40404040

+00000030 40404040 40404040 40404040 40404040 40404040 40404040

+00000048 40404040 40404040 0D25 ..



With Convert I get:



[ 364 bytes] Message Descriptor (MQMD)

StrucId :'MD '

Version :2

Report :00000000

Message Type :8 (Datagram)

Expiry :-1

Feedback :0 (None)

MQEncoding :0x'222'

CCSID :437

Format :'MQSTR '

Priority :0

Persistence :1 (Persistent)

Message Id :C3E2D840C3E2D8F14040404040404040CBD9B5DD353405C9

'***@....@@@@@@@@....54..'

Correl. Id :000000000000000000000000000000000000000000000000

'........................'

Backout Cnt. :0

ReplyToQ :' '

ReplyToQMgr :'CSQ1 '

UserId :'LEDE005 '

AccountingTkn:0000000000000000000000000000000000000000000000000000000000000000

ApplIdentity :' '

PutApplType :2 (OS/390)

PutApplName :'LEJMQ '

Put Date :'20130822'

Put Time :'15383223'

ApplOriginDat:'LAST'

Group Id :000000000000000000000000000000000000000000000000

Msg Seq No. :1

Offset :0

MsgFlags :00000000

Original Len.:-1

+00000000 54455354 204D4553 53414745 217C2020 20202020 20202020 TEST MESSAGE!|

+00000018 20202020 20202020 20202020 20202020 20202020 20202020

+00000030 20202020 20202020 20202020 20202020 20202020 20202020

+00000048 20202020 20202020 0D0A ..




Lee Edenfield, HagemeyerNA (843.745.2477)



From: MQSeries List [mailto:MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org] On Behalf Of Paul Clarke
Sent: Thursday, August 22, 2013 11:23 AM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Subject: Re: Here we go again - ! on the mainframe - the MO71 perspective



Yes, MO71 has it’s own VERY minimalist conversion table. Suppose you browse a queue and don’t specify conversion then it could just display you complete gobbledygook but it tries to show you roughly what is there.



If you are doing conversion and you still don’t see the right data then I am curious what you are converting it to and whether it matches your machine.



If you go to the preferences setting and look at the ‘General’ tab. What have you specified for the Locale and Browse CCSID ? I have English_United Kingdom.1252 and 1208 as my settings. Although, I’ll be honest with you I’m not sure whether these are the correct settings or what I last tested with. However, with these values I can see the character changing from | to ! as I switch convert on and off.



Cheers,
P.



Paul Clarke
www.mqgem.com



From: Potkay, Peter M (CTO Architecture + Engineering)

Sent: Thursday, August 22, 2013 4:12 PM

To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org

Subject: Re: Here we go again - ! on the mainframe - the MO71 perspective



Interesting, are you saying MO71 is using its own built in conversion tables?



I’ve toggled the convert option multiple times and refreshed and rebrowsed, but MO71 insists on showing x4f labeled as MQMD.CCSID 500 as a vertical bar.



I browse the queue and I see the Message List dialogue box pop up

I right click and turn on Convert

I click refresh Message List dialogue box pop up

I double click the message to look at it. I have both char and hexa turned on.

I right click in this pop up box and Convert is still checked

But the x4F is displayed as a vertical bar.

In another message MO71 shows xBB, the vertical bar in CCSID 500, as a closing bracket.





It seems MO71 assumes CCSID 037 is in play somewhere.





MO71 version 7.5.1 on Windows 7 desktop.







Peter Potkay



From: MQSeries List [mailto:MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org] On Behalf Of Paul Clarke
Sent: Thursday, August 22, 2013 11:02 AM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Subject: Re: Here we go again - ! on the mainframe



Peter,



I am far from a data conversion expert but let me explore the 4F problem with you. My understanding is that 4F is ! in CCSID 500 but | in CCSID 37.



When browsing messages in MO71 you can configure the message display to display the character data. Now, you can do this whether the message is in ASCII or EBCDIC. You can also choose to have conversion switched on or not. Normally I would expect you to browse the messages with conversion switched on and for the messages themselves to be convertible. However, even if you don’t convert it MO71 tries to display what the characters look like. To do so it uses a generic ASCII/EBCDIC conversion table which always has | as the character for 4F.



So, do you have conversion switched on for your browse ? If you do I would expect you to see all the correct characters for the two codepages since MQ will have converted the data. If you don’t, for the sake of efficiency or whatever, then I would expect you to see an approximation and the | would be one of those.



Cheers,

P.



Paul Clarke
www.mqgem.com



From: Potkay, Peter M (CTO Architecture + Engineering)

Sent: Thursday, August 22, 2013 3:12 PM

To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org

Subject: Here we go again - ! on the mainframe



The exclamation point is one of those well known characters that does not get converted correctly in some cases when going from ASCII to EBCIDIC

Sending system is Windows, puts a message with CCSID 437, the ! character is represented in hex in this message as 21.

Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the mainframe app sees not an ! but a |.

Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical bar in CCSID 500 is hexadecimal BB, not 21.

I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is, but to no avail. None of the charts for CCSID 500 go that low. So why does hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after conversion and not some other random character?


Adding to the confusion: When I do the reverse test, using our QPASA Agent on the mainframe to put a message directly to a local queue on the mainframe, the message sits with an MQMD CCSID of 500, and the ! is represented by hexadecimal 4F. If I then browse this message, MQExplorer, QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as the exclamation point?



Peter Potkay







************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************




--------------------------------------------------------------------------------

List Archive - Manage Your List Settings - Unsubscribe

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com




--------------------------------------------------------------------------------

List Archive - Manage Your List Settings - Unsubscribe

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************




--------------------------------------------------------------------------------

List Archive - Manage Your List Settings - Unsubscribe

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com


______________________________________________________________________
CONFIDENTIALITY WARNING: This email may contain confidential or proprietary business information and is for the sole use of the intended recipient(s). Any unauthorized use or disclosure of this communication, including attachments, is strictly prohibited. If you believe that you have received this email in error, please notify the sender immediately and delete it from your system.
______________________________________________________________________

To unsubscribe, write to LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html
Potkay, Peter M (CTO Architecture + Engineering)
2013-08-22 16:31:20 UTC
Permalink
“If you go to the preferences setting and look at the ‘General’ tab. What have you specified for the Locale and Browse CCSID ?”

On the Display tab my Locale and Browse CCSID are both set to Default.

Playing with these fields, clicking apply and then refreshing my Message List pop up box does change the message preview from showing readable character data with a | to unreadable garabge. Looking at an individual message with Hex and Character side by side seems ‘stuck’. No amount of playing with options, preferences or refresh changes what is shown here – The message with an MQMD.CCSID of 500 continues to display the x4F on the left side as a vertical bar on the right side, while other MQ tools show the explanation point for the same message.

The Convert option seems to do nothing in my MO71 when looking at a message. Other options (Show Detail Level for example) work.


Peter Potkay


From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul Clarke
Sent: Thursday, August 22, 2013 11:23 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT
Subject: Re: Here we go again - ! on the mainframe - the MO71 perspective

Yes, MO71 has it’s own VERY minimalist conversion table. Suppose you browse a queue and don’t specify conversion then it could just display you complete gobbledygook but it tries to show you roughly what is there.

If you are doing conversion and you still don’t see the right data then I am curious what you are converting it to and whether it matches your machine.

If you go to the preferences setting and look at the ‘General’ tab. What have you specified for the Locale and Browse CCSID ? I have English_United Kingdom.1252 and 1208 as my settings. Although, I’ll be honest with you I’m not sure whether these are the correct settings or what I last tested with. However, with these values I can see the character changing from | to ! as I switch convert on and off.

Cheers,
P.

Paul Clarke
www.mqgem.com<http://www.mqgem.com>

From: Potkay, Peter M (CTO Architecture + Engineering)<mailto:***@THEHARTFORD.COM>
Sent: Thursday, August 22, 2013 4:12 PM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe - the MO71 perspective

Interesting, are you saying MO71 is using its own built in conversion tables?

I’ve toggled the convert option multiple times and refreshed and rebrowsed, but MO71 insists on showing x4f labeled as MQMD.CCSID 500 as a vertical bar.

I browse the queue and I see the Message List dialogue box pop up
I right click and turn on Convert
I click refresh Message List dialogue box pop up
I double click the message to look at it. I have both char and hexa turned on.
I right click in this pop up box and Convert is still checked
But the x4F is displayed as a vertical bar.
In another message MO71 shows xBB, the vertical bar in CCSID 500, as a closing bracket.


It seems MO71 assumes CCSID 037 is in play somewhere.


MO71 version 7.5.1 on Windows 7 desktop.



Peter Potkay

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul Clarke
Sent: Thursday, August 22, 2013 11:02 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

Peter,

I am far from a data conversion expert but let me explore the 4F problem with you. My understanding is that 4F is ! in CCSID 500 but | in CCSID 37.

When browsing messages in MO71 you can configure the message display to display the character data. Now, you can do this whether the message is in ASCII or EBCDIC. You can also choose to have conversion switched on or not. Normally I would expect you to browse the messages with conversion switched on and for the messages themselves to be convertible. However, even if you don’t convert it MO71 tries to display what the characters look like. To do so it uses a generic ASCII/EBCDIC conversion table which always has | as the character for 4F.

So, do you have conversion switched on for your browse ? If you do I would expect you to see all the correct characters for the two codepages since MQ will have converted the data. If you don’t, for the sake of efficiency or whatever, then I would expect you to see an approximation and the | would be one of those.

Cheers,
P.

Paul Clarke
www.mqgem.com<http://www.mqgem.com>

From: Potkay, Peter M (CTO Architecture + Engineering)<mailto:***@THEHARTFORD.COM>
Sent: Thursday, August 22, 2013 3:12 PM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Here we go again - ! on the mainframe

The exclamation point is one of those well known characters that does not get converted correctly in some cases when going from ASCII to EBCIDIC

Sending system is Windows, puts a message with CCSID 437, the ! character is represented in hex in this message as 21.

Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the mainframe app sees not an ! but a |.

Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical bar in CCSID 500 is hexadecimal BB, not 21.

I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is, but to no avail. None of the charts for CCSID 500 go that low. So why does hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after conversion and not some other random character?


Adding to the confusion: When I do the reverse test, using our QPASA Agent on the mainframe to put a message directly to a local queue on the mainframe, the message sits with an MQMD CCSID of 500, and the ! is represented by hexadecimal 4F. If I then browse this message, MQExplorer, QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as the exclamation point?

Peter Potkay




************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>
************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************
Potkay, Peter M (CTO Architecture + Engineering)
2013-08-22 16:41:06 UTC
Permalink
Art,
Good ol’ OTMA ;-)

Do you think setting up a dedicated SNDR/RCVR channel with Convert yes would help here? I suspect not.

The sending QM (Windows 437) would convert the message to the destination QM (z/OS 500) if the channel had convert on. All that would do is move the conversion from 437 to 500 up in the flow. The message would still be handed to the bridge, but now the bridge would skip conversion because it saw the MQMD CCSID is already in its native 500, so it would pass the message to IMS and we’re back where we started – the app running as 037 would see the x4F as a | and not what we intended, the !

Lee’s devious hack of converting the message to 037 ahead of time in the mid tier (to get an ! represented as x5A) but labeling it as 500 (to trick the OTMA to skip conversion) seems to be the only way to get the ! into the mainframe if we are stuck with a 037 mainframe hosting a QM running as 500.

Other options include getting the app to not send an !.

Or, try to figure out what does convert to x5A in 500 from 437 and place that in the message. Another particularly ugly hack.


Peter Potkay


From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Schanz, Arthur
Sent: Thursday, August 22, 2013 11:34 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT
Subject: Re: Here we go again - ! on the mainframe

Peter –

Another OTMA-related ‘challenge’? ;-)

As you know, the receiving ‘application’ for msgs destined for IMS via OTMA is the Bridge. You correctly state that there is no place to configure a different CCSID (or even MQGET w/ Convert) in this flow, as the WMQ MF subsystem is acting as the OTMA client.

What we do (and have done for quite some time) is to have the MCA (channel) handle the conversion for us. While this is not a popular choice for other msg flows where ‘receiver makes good’ is possible, it is a very viable option for msgs destined for IMS via OTMA.

I know we have discussed this previously, although in a slightly different context; however, the conversion choices for msgs headed to IMS are limited. The conversion will cause the chars to ultimately be displayed in the MF defined CCSID, so you need to ‘set-up’ the data on the sending side to allow for that.

As always, Good Luck!

Art
________________________________
[National IT Services]Arthur Schanz
Distributed Computing Spec
Messaging and File Transfer
701 East Byrd Street
Richmond, VA 23219

Phone: 804.697.3889
Cell: 804.640.3132
Email: ***@frit.frb.org<mailto:***@frit.frb.org>



[National IT Green Logo]

[CertWS_color]

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: Thursday, August 22, 2013 11:15 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

Bah, I knew it was too easy to be true.

I double checked the queue the app is using - there is an MQ IMS OTMA Bridge involved. Doubt there is a way to have it selectively use 037 on its MQGETs.

Maybe we need to detour the message into WMB or DataPower XI50 and have them convert the message into 037 before forwarding to the mainframe bridge queue?

Peter Potkay

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Meekin, Paul
Sent: Thursday, August 22, 2013 11:07 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

If the application expects its data to be represented by EBCDIC 37 which sound likely then that is exactly the right thing to do. Only the application knows (or should know) what format it wants the data in so it has to tell the QMgr.

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: 22 August 2013 16:02
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

If I look at the message on the local queue on the mainframe QM with any of my MQ tools, all is well. I see the exclamation point. It’s the app area that is saying they see the vertical bar. I don’t know yet how they are looking at the message.

Changing the mainframe QMs CCSID to 037, while probably technically the correct solution, is not gonna happen. Right or wrong they were set up with CCSID 500 in the 90s and its just to risky to change it now. Who knows how many apps have coded around this issue over the years, perhaps sending the wrong character on purpose to end up with a ! or a ] relying on the ‘wrong’ conversion.

Is a potential solution to just have the mainframe app specify MQMD.CCSID=037 on its MQGET with Convert? Seems too easy
..

I remember years ago we ran into this - back then the solution was the sending app decided it really didn’t need to send an ! after all, and they just put in some front end edits to prevent that char from being entered.




Peter Potkay

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul S Dennis
Sent: Thursday, August 22, 2013 10:55 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

Sounds very plausible (and quite likely) to me, based on what you have said... How are the you seeing the data? In a 3270 emulator? If so, what CP is that set to?

Thanks
Paul


Paul Dennis
WebSphere MQ for z/OS Development




From: "Potkay, Peter M (CTO Architecture + Engineering)" <***@THEHARTFORD.COM<mailto:***@THEHARTFORD.COM>>
To: ***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>,
Date: 22/08/2013 15:49
Subject: Re: Here we go again - ! on the mainframe
Sent by: MQSeries List <***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>>
________________________________



Sending app puts a !, represented as x21, labeled as MQMD.CCSID 500. 100% correct.

Mainframe QM running as CCSID 500 gets an MQGET with convert call, and the mainframe QM converts the x21 to a x4F, knowing that x4F does represent the explanation point in CCSID 500. Still 100% correct.

The QM gives the message to the app with a x4F. But the app on the mainframe is actually executing in another CCSID, perhaps 037. So that app ingests that x4F character and ‘sees’ it as the vertical bar, because in its code page x4F is a vertical bar.

Is this a plausible (likely?) scenario?



Peter Potkay


From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul S Dennis
Sent: Thursday, August 22, 2013 10:42 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

I think you are probably right there Paul... If it is MQ doing the data conversion from 437 to 500, then it would be converting the x21 into x4F (which is the correct hex of ! in 500), however, it would then appear that the converted data is being displayed with CP 37, which has x4F as |.

See ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00437.pdf and ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00500.pdf .

Thanks
Paul


Paul Dennis
WebSphere MQ for z/OS Development



From: "Meekin, Paul" <***@CITI.COM<mailto:***@CITI.COM>>
To: ***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>,
Date: 22/08/2013 15:28
Subject: Re: Here we go again - ! on the mainframe
Sent by: MQSeries List <***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>>
________________________________




0x4F is ! for CCSID 500 and | for 037. Must be using the wrong code page somewhere.

_______________________________________
Paul Meekin
CATE CitiCloud & CitiApp Platform Engineering | Messaging Middleware
33 Canada Square, Canary Wharf, London E14 5LB
• +44 207 500 6318 | • ***@citi.com<mailto:***@citi.com>

Find out more about our Services<https://catecollaboration.citigroup.net/domains/deveng/Pages/default.aspx>

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: 22 August 2013 15:12
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Here we go again - ! on the mainframe

The exclamation point is one of those well known characters that does not get converted correctly in some cases when going from ASCII to EBCIDIC

Sending system is Windows, puts a message with CCSID 437, the ! character is represented in hex in this message as 21.

Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the mainframe app sees not an ! but a |.

Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical bar in CCSID 500 is hexadecimal BB, not 21.

I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is, but to no avail. None of the charts for CCSID 500 go that low. So why does hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after conversion and not some other random character?


Adding to the confusion: When I do the reverse test, using our QPASA Agent on the mainframe to put a message directly to a local queue on the mainframe, the message sits with an MQMD CCSID of 500, and the ! is represented by hexadecimal 4F. If I then browse this message, MQExplorer, QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as the exclamation point?

Peter Potkay




************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************


________________________________


List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>



________________________________

List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>



Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
________________________________

List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************



________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************
************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************
Paul Clarke
2013-08-22 16:41:05 UTC
Permalink
hmmm.....well this is a little odd.

Are we certain that the message is indeed convertible. For example, is the FORMAT field “MQSTR” or similar.
Perhaps we’ve reach the point where you could send me an MQ trace (from MO71 end would be fine). And possibly a screenshot just to be certain we’re talking about the same dialog.

Cheers,
P.

Paul Clarke
www.mqgem.com

From: Potkay, Peter M (CTO Architecture + Engineering)
Sent: Thursday, August 22, 2013 5:31 PM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Subject: Re: Here we go again - ! on the mainframe - the MO71 perspective

“If you go to the preferences setting and look at the ‘General’ tab. What have you specified for the Locale and Browse CCSID ?”



On the Display tab my Locale and Browse CCSID are both set to Default.



Playing with these fields, clicking apply and then refreshing my Message List pop up box does change the message preview from showing readable character data with a | to unreadable garabge. Looking at an individual message with Hex and Character side by side seems ‘stuck’. No amount of playing with options, preferences or refresh changes what is shown here – The message with an MQMD.CCSID of 500 continues to display the x4F on the left side as a vertical bar on the right side, while other MQ tools show the explanation point for the same message.



The Convert option seems to do nothing in my MO71 when looking at a message. Other options (Show Detail Level for example) work.





Peter Potkay





From: MQSeries List [mailto:MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org] On Behalf Of Paul Clarke
Sent: Thursday, August 22, 2013 11:23 AM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Subject: Re: Here we go again - ! on the mainframe - the MO71 perspective



Yes, MO71 has it’s own VERY minimalist conversion table. Suppose you browse a queue and don’t specify conversion then it could just display you complete gobbledygook but it tries to show you roughly what is there.



If you are doing conversion and you still don’t see the right data then I am curious what you are converting it to and whether it matches your machine.



If you go to the preferences setting and look at the ‘General’ tab. What have you specified for the Locale and Browse CCSID ? I have English_United Kingdom.1252 and 1208 as my settings. Although, I’ll be honest with you I’m not sure whether these are the correct settings or what I last tested with. However, with these values I can see the character changing from | to ! as I switch convert on and off.



Cheers,
P.



Paul Clarke
www.mqgem.com



From: Potkay, Peter M (CTO Architecture + Engineering)

Sent: Thursday, August 22, 2013 4:12 PM

To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org

Subject: Re: Here we go again - ! on the mainframe - the MO71 perspective



Interesting, are you saying MO71 is using its own built in conversion tables?



I’ve toggled the convert option multiple times and refreshed and rebrowsed, but MO71 insists on showing x4f labeled as MQMD.CCSID 500 as a vertical bar.



I browse the queue and I see the Message List dialogue box pop up

I right click and turn on Convert

I click refresh Message List dialogue box pop up

I double click the message to look at it. I have both char and hexa turned on.

I right click in this pop up box and Convert is still checked

But the x4F is displayed as a vertical bar.

In another message MO71 shows xBB, the vertical bar in CCSID 500, as a closing bracket.





It seems MO71 assumes CCSID 037 is in play somewhere.





MO71 version 7.5.1 on Windows 7 desktop.







Peter Potkay



From: MQSeries List [mailto:MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org] On Behalf Of Paul Clarke
Sent: Thursday, August 22, 2013 11:02 AM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Subject: Re: Here we go again - ! on the mainframe



Peter,



I am far from a data conversion expert but let me explore the 4F problem with you. My understanding is that 4F is ! in CCSID 500 but | in CCSID 37.



When browsing messages in MO71 you can configure the message display to display the character data. Now, you can do this whether the message is in ASCII or EBCDIC. You can also choose to have conversion switched on or not. Normally I would expect you to browse the messages with conversion switched on and for the messages themselves to be convertible. However, even if you don’t convert it MO71 tries to display what the characters look like. To do so it uses a generic ASCII/EBCDIC conversion table which always has | as the character for 4F.



So, do you have conversion switched on for your browse ? If you do I would expect you to see all the correct characters for the two codepages since MQ will have converted the data. If you don’t, for the sake of efficiency or whatever, then I would expect you to see an approximation and the | would be one of those.



Cheers,

P.



Paul Clarke
www.mqgem.com



From: Potkay, Peter M (CTO Architecture + Engineering)

Sent: Thursday, August 22, 2013 3:12 PM

To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org

Subject: Here we go again - ! on the mainframe



The exclamation point is one of those well known characters that does not get converted correctly in some cases when going from ASCII to EBCIDIC

Sending system is Windows, puts a message with CCSID 437, the ! character is represented in hex in this message as 21.

Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the mainframe app sees not an ! but a |.

Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical bar in CCSID 500 is hexadecimal BB, not 21.

I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is, but to no avail. None of the charts for CCSID 500 go that low. So why does hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after conversion and not some other random character?


Adding to the confusion: When I do the reverse test, using our QPASA Agent on the mainframe to put a message directly to a local queue on the mainframe, the message sits with an MQMD CCSID of 500, and the ! is represented by hexadecimal 4F. If I then browse this message, MQExplorer, QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as the exclamation point?



Peter Potkay







************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************




--------------------------------------------------------------------------------

List Archive - Manage Your List Settings - Unsubscribe

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com




--------------------------------------------------------------------------------

List Archive - Manage Your List Settings - Unsubscribe

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************




--------------------------------------------------------------------------------

List Archive - Manage Your List Settings - Unsubscribe

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

To unsubscribe, write to LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html
Schanz, Arthur
2013-08-22 17:00:16 UTC
Permalink
Peter –

Is the ultimate consuming appl an IMS PGM/TRAN or a non-IMS batch pgm/STC? I’ve thought of 2 other possible (however somewhat over-engineered) solutions:


· Put a ‘queue in the middle’ into the msg flow. Have the msg from the Win env hit that local queue, have an appl MQGET, edit the data & MQPUT the modified msg to the IMS Bridge queue. Then, the IMS tran will get the ! character it expects.

· Use a Message exit to change the payload on the way into the MF QMGR subsystem.

Neither is ideal or even ‘simple’, but both are viable options in lieu of being able to modify the MF QMGR CCSID.

-Art
________________________________
[National IT Services]Arthur Schanz
Distributed Computing Spec
Messaging and File Transfer
701 East Byrd Street
Richmond, VA 23219

Phone: 804.697.3889
Cell: 804.640.3132
Email: ***@frit.frb.org<mailto:***@frit.frb.org>



[National IT Green Logo]

[CertWS_color]

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: Thursday, August 22, 2013 12:41 PM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT
Subject: Re: Here we go again - ! on the mainframe

Art,
Good ol’ OTMA ;-)

Do you think setting up a dedicated SNDR/RCVR channel with Convert yes would help here? I suspect not.

The sending QM (Windows 437) would convert the message to the destination QM (z/OS 500) if the channel had convert on. All that would do is move the conversion from 437 to 500 up in the flow. The message would still be handed to the bridge, but now the bridge would skip conversion because it saw the MQMD CCSID is already in its native 500, so it would pass the message to IMS and we’re back where we started – the app running as 037 would see the x4F as a | and not what we intended, the !

Lee’s devious hack of converting the message to 037 ahead of time in the mid tier (to get an ! represented as x5A) but labeling it as 500 (to trick the OTMA to skip conversion) seems to be the only way to get the ! into the mainframe if we are stuck with a 037 mainframe hosting a QM running as 500.

Other options include getting the app to not send an !.

Or, try to figure out what does convert to x5A in 500 from 437 and place that in the message. Another particularly ugly hack.


Peter Potkay

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Schanz, Arthur
Sent: Thursday, August 22, 2013 11:34 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

Peter –

Another OTMA-related ‘challenge’? ;-)

As you know, the receiving ‘application’ for msgs destined for IMS via OTMA is the Bridge. You correctly state that there is no place to configure a different CCSID (or even MQGET w/ Convert) in this flow, as the WMQ MF subsystem is acting as the OTMA client.

What we do (and have done for quite some time) is to have the MCA (channel) handle the conversion for us. While this is not a popular choice for other msg flows where ‘receiver makes good’ is possible, it is a very viable option for msgs destined for IMS via OTMA.

I know we have discussed this previously, although in a slightly different context; however, the conversion choices for msgs headed to IMS are limited. The conversion will cause the chars to ultimately be displayed in the MF defined CCSID, so you need to ‘set-up’ the data on the sending side to allow for that.

As always, Good Luck!

Art
________________________________
[National IT Services]Arthur Schanz
Distributed Computing Spec
Messaging and File Transfer
701 East Byrd Street
Richmond, VA 23219

Phone: 804.697.3889
Cell: 804.640.3132
Email: ***@frit.frb.org<mailto:***@frit.frb.org>



[National IT Green Logo]

[CertWS_color]

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: Thursday, August 22, 2013 11:15 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

Bah, I knew it was too easy to be true.

I double checked the queue the app is using - there is an MQ IMS OTMA Bridge involved. Doubt there is a way to have it selectively use 037 on its MQGETs.

Maybe we need to detour the message into WMB or DataPower XI50 and have them convert the message into 037 before forwarding to the mainframe bridge queue?

Peter Potkay

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Meekin, Paul
Sent: Thursday, August 22, 2013 11:07 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

If the application expects its data to be represented by EBCDIC 37 which sound likely then that is exactly the right thing to do. Only the application knows (or should know) what format it wants the data in so it has to tell the QMgr.

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: 22 August 2013 16:02
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

If I look at the message on the local queue on the mainframe QM with any of my MQ tools, all is well. I see the exclamation point. It’s the app area that is saying they see the vertical bar. I don’t know yet how they are looking at the message.

Changing the mainframe QMs CCSID to 037, while probably technically the correct solution, is not gonna happen. Right or wrong they were set up with CCSID 500 in the 90s and its just to risky to change it now. Who knows how many apps have coded around this issue over the years, perhaps sending the wrong character on purpose to end up with a ! or a ] relying on the ‘wrong’ conversion.

Is a potential solution to just have the mainframe app specify MQMD.CCSID=037 on its MQGET with Convert? Seems too easy
..

I remember years ago we ran into this - back then the solution was the sending app decided it really didn’t need to send an ! after all, and they just put in some front end edits to prevent that char from being entered.




Peter Potkay

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul S Dennis
Sent: Thursday, August 22, 2013 10:55 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

Sounds very plausible (and quite likely) to me, based on what you have said... How are the you seeing the data? In a 3270 emulator? If so, what CP is that set to?

Thanks
Paul


Paul Dennis
WebSphere MQ for z/OS Development




From: "Potkay, Peter M (CTO Architecture + Engineering)" <***@THEHARTFORD.COM<mailto:***@THEHARTFORD.COM>>
To: ***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>,
Date: 22/08/2013 15:49
Subject: Re: Here we go again - ! on the mainframe
Sent by: MQSeries List <***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>>
________________________________



Sending app puts a !, represented as x21, labeled as MQMD.CCSID 500. 100% correct.

Mainframe QM running as CCSID 500 gets an MQGET with convert call, and the mainframe QM converts the x21 to a x4F, knowing that x4F does represent the explanation point in CCSID 500. Still 100% correct.

The QM gives the message to the app with a x4F. But the app on the mainframe is actually executing in another CCSID, perhaps 037. So that app ingests that x4F character and ‘sees’ it as the vertical bar, because in its code page x4F is a vertical bar.

Is this a plausible (likely?) scenario?



Peter Potkay


From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul S Dennis
Sent: Thursday, August 22, 2013 10:42 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

I think you are probably right there Paul... If it is MQ doing the data conversion from 437 to 500, then it would be converting the x21 into x4F (which is the correct hex of ! in 500), however, it would then appear that the converted data is being displayed with CP 37, which has x4F as |.

See ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00437.pdf and ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00500.pdf .

Thanks
Paul


Paul Dennis
WebSphere MQ for z/OS Development



From: "Meekin, Paul" <***@CITI.COM<mailto:***@CITI.COM>>
To: ***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>,
Date: 22/08/2013 15:28
Subject: Re: Here we go again - ! on the mainframe
Sent by: MQSeries List <***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>>
________________________________




0x4F is ! for CCSID 500 and | for 037. Must be using the wrong code page somewhere.

_______________________________________
Paul Meekin
CATE CitiCloud & CitiApp Platform Engineering | Messaging Middleware
33 Canada Square, Canary Wharf, London E14 5LB
• +44 207 500 6318 | • ***@citi.com<mailto:***@citi.com>

Find out more about our Services<https://catecollaboration.citigroup.net/domains/deveng/Pages/default.aspx>

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: 22 August 2013 15:12
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Here we go again - ! on the mainframe

The exclamation point is one of those well known characters that does not get converted correctly in some cases when going from ASCII to EBCIDIC

Sending system is Windows, puts a message with CCSID 437, the ! character is represented in hex in this message as 21.

Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the mainframe app sees not an ! but a |.

Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical bar in CCSID 500 is hexadecimal BB, not 21.

I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is, but to no avail. None of the charts for CCSID 500 go that low. So why does hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after conversion and not some other random character?


Adding to the confusion: When I do the reverse test, using our QPASA Agent on the mainframe to put a message directly to a local queue on the mainframe, the message sits with an MQMD CCSID of 500, and the ! is represented by hexadecimal 4F. If I then browse this message, MQExplorer, QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as the exclamation point?

Peter Potkay




************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************


________________________________


List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>



________________________________

List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>



Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
________________________________

List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************



________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************
Tim Zielke
2013-08-22 17:03:09 UTC
Permalink
"Or, try to figure out what does convert to x5A in 500 from 437 and place that in the message. Another particularly ugly hack."

Not that I condone hacking (although, I thoroughly enjoy doing it), but what I found from a previous thread where someone wanted to get x'FF' to appear on z/OS (code page 37, I think) from a Windows app on code page 437 is that the conversion seems to be reverse mapped, at least for that specific use case which was a non-standard character.

So if you take a z/OS application that puts x'FF' in the message and send it to a Windows queue manager and find the hex value it got converted to, that was the value that you needed to specify on Windows to get it to convert back to x'FF' on the mainframe. So the code page conversion was basically reverse mapping these non-standard characters between the two code pages. Not sure if that would apply for x'5A', but it may be worth a shot if the code pages do not document the conversion.

Thanks,
Tim


From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: Thursday, August 22, 2013 11:41 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT
Subject: Re: Here we go again - ! on the mainframe

Art,
Good ol’ OTMA ;-)

Do you think setting up a dedicated SNDR/RCVR channel with Convert yes would help here? I suspect not.

The sending QM (Windows 437) would convert the message to the destination QM (z/OS 500) if the channel had convert on. All that would do is move the conversion from 437 to 500 up in the flow. The message would still be handed to the bridge, but now the bridge would skip conversion because it saw the MQMD CCSID is already in its native 500, so it would pass the message to IMS and we’re back where we started – the app running as 037 would see the x4F as a | and not what we intended, the !

Lee’s devious hack of converting the message to 037 ahead of time in the mid tier (to get an ! represented as x5A) but labeling it as 500 (to trick the OTMA to skip conversion) seems to be the only way to get the ! into the mainframe if we are stuck with a 037 mainframe hosting a QM running as 500.

Other options include getting the app to not send an !.

Or, try to figure out what does convert to x5A in 500 from 437 and place that in the message. Another particularly ugly hack.


Peter Potkay

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Schanz, Arthur
Sent: Thursday, August 22, 2013 11:34 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT
Subject: Re: Here we go again - ! on the mainframe

Peter –

Another OTMA-related ‘challenge’? ;-)

As you know, the receiving ‘application’ for msgs destined for IMS via OTMA is the Bridge. You correctly state that there is no place to configure a different CCSID (or even MQGET w/ Convert) in this flow, as the WMQ MF subsystem is acting as the OTMA client.

What we do (and have done for quite some time) is to have the MCA (channel) handle the conversion for us. While this is not a popular choice for other msg flows where ‘receiver makes good’ is possible, it is a very viable option for msgs destined for IMS via OTMA.

I know we have discussed this previously, although in a slightly different context; however, the conversion choices for msgs headed to IMS are limited. The conversion will cause the chars to ultimately be displayed in the MF defined CCSID, so you need to ‘set-up’ the data on the sending side to allow for that.

As always, Good Luck!

Art
________________________________
[National IT Services]Arthur Schanz
Distributed Computing Spec
Messaging and File Transfer
701 East Byrd Street
Richmond, VA 23219

Phone: 804.697.3889
Cell: 804.640.3132
Email: ***@frit.frb.org<mailto:***@frit.frb.org>



[National IT Green Logo]

[CertWS_color]

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: Thursday, August 22, 2013 11:15 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

Bah, I knew it was too easy to be true.

I double checked the queue the app is using - there is an MQ IMS OTMA Bridge involved. Doubt there is a way to have it selectively use 037 on its MQGETs.

Maybe we need to detour the message into WMB or DataPower XI50 and have them convert the message into 037 before forwarding to the mainframe bridge queue?

Peter Potkay

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Meekin, Paul
Sent: Thursday, August 22, 2013 11:07 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

If the application expects its data to be represented by EBCDIC 37 which sound likely then that is exactly the right thing to do. Only the application knows (or should know) what format it wants the data in so it has to tell the QMgr.

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: 22 August 2013 16:02
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

If I look at the message on the local queue on the mainframe QM with any of my MQ tools, all is well. I see the exclamation point. It’s the app area that is saying they see the vertical bar. I don’t know yet how they are looking at the message.

Changing the mainframe QMs CCSID to 037, while probably technically the correct solution, is not gonna happen. Right or wrong they were set up with CCSID 500 in the 90s and its just to risky to change it now. Who knows how many apps have coded around this issue over the years, perhaps sending the wrong character on purpose to end up with a ! or a ] relying on the ‘wrong’ conversion.

Is a potential solution to just have the mainframe app specify MQMD.CCSID=037 on its MQGET with Convert? Seems too easy
..

I remember years ago we ran into this - back then the solution was the sending app decided it really didn’t need to send an ! after all, and they just put in some front end edits to prevent that char from being entered.




Peter Potkay

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul S Dennis
Sent: Thursday, August 22, 2013 10:55 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

Sounds very plausible (and quite likely) to me, based on what you have said... How are the you seeing the data? In a 3270 emulator? If so, what CP is that set to?

Thanks
Paul


Paul Dennis
WebSphere MQ for z/OS Development




From: "Potkay, Peter M (CTO Architecture + Engineering)" <***@THEHARTFORD.COM<mailto:***@THEHARTFORD.COM>>
To: ***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>,
Date: 22/08/2013 15:49
Subject: Re: Here we go again - ! on the mainframe
Sent by: MQSeries List <***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>>
________________________________



Sending app puts a !, represented as x21, labeled as MQMD.CCSID 500. 100% correct.

Mainframe QM running as CCSID 500 gets an MQGET with convert call, and the mainframe QM converts the x21 to a x4F, knowing that x4F does represent the explanation point in CCSID 500. Still 100% correct.

The QM gives the message to the app with a x4F. But the app on the mainframe is actually executing in another CCSID, perhaps 037. So that app ingests that x4F character and ‘sees’ it as the vertical bar, because in its code page x4F is a vertical bar.

Is this a plausible (likely?) scenario?



Peter Potkay


From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul S Dennis
Sent: Thursday, August 22, 2013 10:42 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

I think you are probably right there Paul... If it is MQ doing the data conversion from 437 to 500, then it would be converting the x21 into x4F (which is the correct hex of ! in 500), however, it would then appear that the converted data is being displayed with CP 37, which has x4F as |.

See ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00437.pdf and ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00500.pdf .

Thanks
Paul


Paul Dennis
WebSphere MQ for z/OS Development



From: "Meekin, Paul" <***@CITI.COM<mailto:***@CITI.COM>>
To: ***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>,
Date: 22/08/2013 15:28
Subject: Re: Here we go again - ! on the mainframe
Sent by: MQSeries List <***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>>
________________________________




0x4F is ! for CCSID 500 and | for 037. Must be using the wrong code page somewhere.

_______________________________________
Paul Meekin
CATE CitiCloud & CitiApp Platform Engineering | Messaging Middleware
33 Canada Square, Canary Wharf, London E14 5LB
• +44 207 500 6318 | • ***@citi.com<mailto:***@citi.com>

Find out more about our Services<https://catecollaboration.citigroup.net/domains/deveng/Pages/default.aspx>

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: 22 August 2013 15:12
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Here we go again - ! on the mainframe

The exclamation point is one of those well known characters that does not get converted correctly in some cases when going from ASCII to EBCIDIC

Sending system is Windows, puts a message with CCSID 437, the ! character is represented in hex in this message as 21.

Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the mainframe app sees not an ! but a |.

Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical bar in CCSID 500 is hexadecimal BB, not 21.

I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is, but to no avail. None of the charts for CCSID 500 go that low. So why does hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after conversion and not some other random character?


Adding to the confusion: When I do the reverse test, using our QPASA Agent on the mainframe to put a message directly to a local queue on the mainframe, the message sits with an MQMD CCSID of 500, and the ! is represented by hexadecimal 4F. If I then browse this message, MQExplorer, QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as the exclamation point?

Peter Potkay




************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************


________________________________


List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>



________________________________

List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>



Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
________________________________

List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************



________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************
Potkay, Peter M (CTO Architecture + Engineering)
2013-08-22 17:03:19 UTC
Permalink
<hanging head in shame>

The test tool I was using to put the message I was looking at with MO71 was leaving MQMD Format blank.


I put a message with ‘MQSTR ‘ onto the queue. The message is tagged with MQMD.CCSID 500.

A. With Convert in MO71 off, I see x4F on the left, and | on the right.

B. With Convert in MO71 on, I see x21 on the left, and ! on the right.

B makes sense. I guess A is confusing. If convert is off I would expect to see pure garbage on the left in my ASCII MO71 looking at an unconverted EBCDIC message.

Now I’m scratching my head wondering how MQExplorer and rfhutilc successfully convert the message with a blank MQMD.Format.



The above only applies to my little play message with MO71. It does not change the conversation / situation in our parallel thread dealing with the real app sending real messages to the OTMA.




Peter Potkay


From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul Clarke
Sent: Thursday, August 22, 2013 12:41 PM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT
Subject: Re: Here we go again - ! on the mainframe - the MO71 perspective

hmmm.....well this is a little odd.

Are we certain that the message is indeed convertible. For example, is the FORMAT field “MQSTR” or similar.
Perhaps we’ve reach the point where you could send me an MQ trace (from MO71 end would be fine). And possibly a screenshot just to be certain we’re talking about the same dialog.

Cheers,
P.

Paul Clarke
www.mqgem.com<http://www.mqgem.com>

From: Potkay, Peter M (CTO Architecture + Engineering)<mailto:***@THEHARTFORD.COM>
Sent: Thursday, August 22, 2013 5:31 PM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe - the MO71 perspective

“If you go to the preferences setting and look at the ‘General’ tab. What have you specified for the Locale and Browse CCSID ?”

On the Display tab my Locale and Browse CCSID are both set to Default.

Playing with these fields, clicking apply and then refreshing my Message List pop up box does change the message preview from showing readable character data with a | to unreadable garabge. Looking at an individual message with Hex and Character side by side seems ‘stuck’. No amount of playing with options, preferences or refresh changes what is shown here – The message with an MQMD.CCSID of 500 continues to display the x4F on the left side as a vertical bar on the right side, while other MQ tools show the explanation point for the same message.

The Convert option seems to do nothing in my MO71 when looking at a message. Other options (Show Detail Level for example) work.


Peter Potkay

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul Clarke
Sent: Thursday, August 22, 2013 11:23 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe - the MO71 perspective

Yes, MO71 has it’s own VERY minimalist conversion table. Suppose you browse a queue and don’t specify conversion then it could just display you complete gobbledygook but it tries to show you roughly what is there.

If you are doing conversion and you still don’t see the right data then I am curious what you are converting it to and whether it matches your machine.

If you go to the preferences setting and look at the ‘General’ tab. What have you specified for the Locale and Browse CCSID ? I have English_United Kingdom.1252 and 1208 as my settings. Although, I’ll be honest with you I’m not sure whether these are the correct settings or what I last tested with. However, with these values I can see the character changing from | to ! as I switch convert on and off.

Cheers,
P.

Paul Clarke
www.mqgem.com<http://www.mqgem.com>

From: Potkay, Peter M (CTO Architecture + Engineering)<mailto:***@THEHARTFORD.COM>
Sent: Thursday, August 22, 2013 4:12 PM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe - the MO71 perspective

Interesting, are you saying MO71 is using its own built in conversion tables?

I’ve toggled the convert option multiple times and refreshed and rebrowsed, but MO71 insists on showing x4f labeled as MQMD.CCSID 500 as a vertical bar.

I browse the queue and I see the Message List dialogue box pop up
I right click and turn on Convert
I click refresh Message List dialogue box pop up
I double click the message to look at it. I have both char and hexa turned on.
I right click in this pop up box and Convert is still checked
But the x4F is displayed as a vertical bar.
In another message MO71 shows xBB, the vertical bar in CCSID 500, as a closing bracket.


It seems MO71 assumes CCSID 037 is in play somewhere.


MO71 version 7.5.1 on Windows 7 desktop.



Peter Potkay

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul Clarke
Sent: Thursday, August 22, 2013 11:02 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

Peter,

I am far from a data conversion expert but let me explore the 4F problem with you. My understanding is that 4F is ! in CCSID 500 but | in CCSID 37.

When browsing messages in MO71 you can configure the message display to display the character data. Now, you can do this whether the message is in ASCII or EBCDIC. You can also choose to have conversion switched on or not. Normally I would expect you to browse the messages with conversion switched on and for the messages themselves to be convertible. However, even if you don’t convert it MO71 tries to display what the characters look like. To do so it uses a generic ASCII/EBCDIC conversion table which always has | as the character for 4F.

So, do you have conversion switched on for your browse ? If you do I would expect you to see all the correct characters for the two codepages since MQ will have converted the data. If you don’t, for the sake of efficiency or whatever, then I would expect you to see an approximation and the | would be one of those.

Cheers,
P.

Paul Clarke
www.mqgem.com<http://www.mqgem.com>

From: Potkay, Peter M (CTO Architecture + Engineering)<mailto:***@THEHARTFORD.COM>
Sent: Thursday, August 22, 2013 3:12 PM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Here we go again - ! on the mainframe

The exclamation point is one of those well known characters that does not get converted correctly in some cases when going from ASCII to EBCIDIC

Sending system is Windows, puts a message with CCSID 437, the ! character is represented in hex in this message as 21.

Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the mainframe app sees not an ! but a |.

Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical bar in CCSID 500 is hexadecimal BB, not 21.

I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is, but to no avail. None of the charts for CCSID 500 go that low. So why does hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after conversion and not some other random character?


Adding to the confusion: When I do the reverse test, using our QPASA Agent on the mainframe to put a message directly to a local queue on the mainframe, the message sits with an MQMD CCSID of 500, and the ! is represented by hexadecimal 4F. If I then browse this message, MQExplorer, QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as the exclamation point?

Peter Potkay




************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>
************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************
Jason Space
2013-08-22 16:47:09 UTC
Permalink
Changing Preferences > Display "tab" & changing LOCALE & BROWSE CCSSID the
! get changed to |
This message was put using AMQSPUT from Windows QMGR to a mainframe z/OS
queue manager.









From: "Potkay, Peter M (CTO Architecture + Engineering)"
<***@THEHARTFORD.COM>
To: ***@LISTSERV.MEDUNIWIEN.AC.AT
Date: 08/22/2013 12:31 PM
Subject: Re: Here we go again - ! on the mainframe - the MO71
perspective
Sent by: MQSeries List <***@LISTSERV.MEDUNIWIEN.AC.AT>



“If you go to the preferences setting and look at the ‘General’ tab. What
have you specified for the Locale and Browse CCSID ?”

On the Display tab my Locale and Browse CCSID are both set to Default.

Playing with these fields, clicking apply and then refreshing my Message
List pop up box does change the message preview from showing readable
character data with a | to unreadable garabge. Looking at an individual
message with Hex and Character side by side seems ‘stuck’. No amount of
playing with options, preferences or refresh changes what is shown here –
The message with an MQMD.CCSID of 500 continues to display the x4F on the
left side as a vertical bar on the right side, while other MQ tools show
the explanation point for the same message.

The Convert option seems to do nothing in my MO71 when looking at a
message. Other options (Show Detail Level for example) work.


Peter Potkay


From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf
Of Paul Clarke
Sent: Thursday, August 22, 2013 11:23 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT
Subject: Re: Here we go again - ! on the mainframe - the MO71 perspective

Yes, MO71 has it’s own VERY minimalist conversion table. Suppose you
browse a queue and don’t specify conversion then it could just display you
complete gobbledygook but it tries to show you roughly what is there.

If you are doing conversion and you still don’t see the right data then I
am curious what you are converting it to and whether it matches your
machine.

If you go to the preferences setting and look at the ‘General’ tab. What
have you specified for the Locale and Browse CCSID ? I have English_United
Kingdom.1252 and 1208 as my settings. Although, I’ll be honest with you
I’m not sure whether these are the correct settings or what I last tested
with. However, with these values I can see the character changing from |
to ! as I switch convert on and off.

Cheers,
P.

Paul Clarke
www.mqgem.com

From: Potkay, Peter M (CTO Architecture + Engineering)
Sent: Thursday, August 22, 2013 4:12 PM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT
Subject: Re: Here we go again - ! on the mainframe - the MO71 perspective

Interesting, are you saying MO71 is using its own built in conversion
tables?

I’ve toggled the convert option multiple times and refreshed and
rebrowsed, but MO71 insists on showing x4f labeled as MQMD.CCSID 500 as a
vertical bar.

I browse the queue and I see the Message List dialogue box pop up
I right click and turn on Convert
I click refresh Message List dialogue box pop up
I double click the message to look at it. I have both char and hexa turned
on.
I right click in this pop up box and Convert is still checked
But the x4F is displayed as a vertical bar.
In another message MO71 shows xBB, the vertical bar in CCSID 500, as a
closing bracket.


It seems MO71 assumes CCSID 037 is in play somewhere.


MO71 version 7.5.1 on Windows 7 desktop.



Peter Potkay

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf
Of Paul Clarke
Sent: Thursday, August 22, 2013 11:02 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT
Subject: Re: Here we go again - ! on the mainframe

Peter,

I am far from a data conversion expert but let me explore the 4F problem
with you. My understanding is that 4F is ! in CCSID 500 but | in CCSID 37.

When browsing messages in MO71 you can configure the message display to
display the character data. Now, you can do this whether the message is in
ASCII or EBCDIC. You can also choose to have conversion switched on or
not. Normally I would expect you to browse the messages with conversion
switched on and for the messages themselves to be convertible. However,
even if you don’t convert it MO71 tries to display what the characters
look like. To do so it uses a generic ASCII/EBCDIC conversion table which
always has | as the character for 4F.

So, do you have conversion switched on for your browse ? If you do I would
expect you to see all the correct characters for the two codepages since
MQ will have converted the data. If you don’t, for the sake of efficiency
or whatever, then I would expect you to see an approximation and the |
would be one of those.

Cheers,
P.

Paul Clarke
www.mqgem.com

From: Potkay, Peter M (CTO Architecture + Engineering)
Sent: Thursday, August 22, 2013 3:12 PM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT
Subject: Here we go again - ! on the mainframe

The exclamation point is one of those well known characters that does not
get converted correctly in some cases when going from ASCII to EBCIDIC

Sending system is Windows, puts a message with CCSID 437, the ! character
is represented in hex in this message as 21.

Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the
mainframe app sees not an ! but a |.

Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical
bar in CCSID 500 is hexadecimal BB, not 21.

I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is,
but to no avail. None of the charts for CCSID 500 go that low. So why does
hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after
conversion and not some other random character?


Adding to the confusion: When I do the reverse test, using our QPASA Agent
on the mainframe to put a message directly to a local queue on the
mainframe, the message sits with an MQMD CCSID of 500, and the ! is
represented by hexadecimal 4F. If I then browse this message, MQExplorer,
QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F
as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as
MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as
the exclamation point?

Peter Potkay



************************************************************
This communication, including attachments, is for the exclusive use of
addressee and may contain proprietary, confidential and/or privileged
information. If you are not the intended recipient, any use, copying,
disclosure, dissemination or distribution is strictly prohibited. If you
are not the intended recipient, please notify the sender immediately by
return e-mail, delete this communication and destroy all copies.
************************************************************


List Archive - Manage Your List Settings - Unsubscribe
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com


List Archive - Manage Your List Settings - Unsubscribe
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
************************************************************
This communication, including attachments, is for the exclusive use of
addressee and may contain proprietary, confidential and/or privileged
information. If you are not the intended recipient, any use, copying,
disclosure, dissemination or distribution is strictly prohibited. If you
are not the intended recipient, please notify the sender immediately by
return e-mail, delete this communication and destroy all copies.
************************************************************


List Archive - Manage Your List Settings - Unsubscribe
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
************************************************************
This communication, including attachments, is for the exclusive use of
addressee and may contain proprietary, confidential and/or privileged
information. If you are not the intended recipient, any use, copying,
disclosure, dissemination or distribution is strictly prohibited. If you
are not the intended recipient, please notify the sender immediately by
return e-mail, delete this communication and destroy all copies.
************************************************************
Paul Clarke
2013-08-22 17:22:28 UTC
Permalink
Hi Peter,

Well, that’s a relief....I was running out of ideas

I agree that case A can appear a little confusing if you don’t know what is going on. However, in my view it is also very useful to be able to see ‘roughly’ what the characters are. If you really want to see garbage then, as you may expect, there is a preference option for that. If you go to the Preference dialog in the General tab you’ll see an option ‘Predict hexadecimal characters’. This option asks MO71 to look at the data and ‘predict’ whether it is ASCII or EBCDIC and display accordingly. If you uncheck this option and refresh your browse I suspect you’ll see the garbage you want.

I too am curious about how MQExplorer and RFHUTILC showed you the data. I know that there are oddities with the way Java does (or did) data conversion. The data conversion being done somehow on the client rather than the server but I don’t know the details or what it supports since I didn’t think it supported Data Conversion exits.

Cheers,
P.

Paul Clarke
www.mqgem.com

From: Potkay, Peter M (CTO Architecture + Engineering)
Sent: Thursday, August 22, 2013 6:03 PM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Subject: Re: Here we go again - ! on the mainframe - the MO71 perspective

<hanging head in shame>



The test tool I was using to put the message I was looking at with MO71 was leaving MQMD Format blank.





I put a message with ‘MQSTR ‘ onto the queue. The message is tagged with MQMD.CCSID 500.

A. With Convert in MO71 off, I see x4F on the left, and | on the right.

B. With Convert in MO71 on, I see x21 on the left, and ! on the right.



B makes sense. I guess A is confusing. If convert is off I would expect to see pure garbage on the left in my ASCII MO71 looking at an unconverted EBCDIC message.



Now I’m scratching my head wondering how MQExplorer and rfhutilc successfully convert the message with a blank MQMD.Format.







The above only applies to my little play message with MO71. It does not change the conversation / situation in our parallel thread dealing with the real app sending real messages to the OTMA.









Peter Potkay





From: MQSeries List [mailto:MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org] On Behalf Of Paul Clarke
Sent: Thursday, August 22, 2013 12:41 PM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Subject: Re: Here we go again - ! on the mainframe - the MO71 perspective



hmmm.....well this is a little odd.



Are we certain that the message is indeed convertible. For example, is the FORMAT field “MQSTR” or similar.

Perhaps we’ve reach the point where you could send me an MQ trace (from MO71 end would be fine). And possibly a screenshot just to be certain we’re talking about the same dialog.



Cheers,

P.



Paul Clarke
www.mqgem.com



From: Potkay, Peter M (CTO Architecture + Engineering)

Sent: Thursday, August 22, 2013 5:31 PM

To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org

Subject: Re: Here we go again - ! on the mainframe - the MO71 perspective



“If you go to the preferences setting and look at the ‘General’ tab. What have you specified for the Locale and Browse CCSID ?”



On the Display tab my Locale and Browse CCSID are both set to Default.



Playing with these fields, clicking apply and then refreshing my Message List pop up box does change the message preview from showing readable character data with a | to unreadable garabge. Looking at an individual message with Hex and Character side by side seems ‘stuck’. No amount of playing with options, preferences or refresh changes what is shown here – The message with an MQMD.CCSID of 500 continues to display the x4F on the left side as a vertical bar on the right side, while other MQ tools show the explanation point for the same message.



The Convert option seems to do nothing in my MO71 when looking at a message. Other options (Show Detail Level for example) work.





Peter Potkay



From: MQSeries List [mailto:MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org] On Behalf Of Paul Clarke
Sent: Thursday, August 22, 2013 11:23 AM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Subject: Re: Here we go again - ! on the mainframe - the MO71 perspective



Yes, MO71 has it’s own VERY minimalist conversion table. Suppose you browse a queue and don’t specify conversion then it could just display you complete gobbledygook but it tries to show you roughly what is there.



If you are doing conversion and you still don’t see the right data then I am curious what you are converting it to and whether it matches your machine.



If you go to the preferences setting and look at the ‘General’ tab. What have you specified for the Locale and Browse CCSID ? I have English_United Kingdom.1252 and 1208 as my settings. Although, I’ll be honest with you I’m not sure whether these are the correct settings or what I last tested with. However, with these values I can see the character changing from | to ! as I switch convert on and off.



Cheers,
P.



Paul Clarke
www.mqgem.com



From: Potkay, Peter M (CTO Architecture + Engineering)

Sent: Thursday, August 22, 2013 4:12 PM

To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org

Subject: Re: Here we go again - ! on the mainframe - the MO71 perspective



Interesting, are you saying MO71 is using its own built in conversion tables?



I’ve toggled the convert option multiple times and refreshed and rebrowsed, but MO71 insists on showing x4f labeled as MQMD.CCSID 500 as a vertical bar.



I browse the queue and I see the Message List dialogue box pop up

I right click and turn on Convert

I click refresh Message List dialogue box pop up

I double click the message to look at it. I have both char and hexa turned on.

I right click in this pop up box and Convert is still checked

But the x4F is displayed as a vertical bar.

In another message MO71 shows xBB, the vertical bar in CCSID 500, as a closing bracket.





It seems MO71 assumes CCSID 037 is in play somewhere.





MO71 version 7.5.1 on Windows 7 desktop.







Peter Potkay



From: MQSeries List [mailto:MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org] On Behalf Of Paul Clarke
Sent: Thursday, August 22, 2013 11:02 AM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Subject: Re: Here we go again - ! on the mainframe



Peter,



I am far from a data conversion expert but let me explore the 4F problem with you. My understanding is that 4F is ! in CCSID 500 but | in CCSID 37.



When browsing messages in MO71 you can configure the message display to display the character data. Now, you can do this whether the message is in ASCII or EBCDIC. You can also choose to have conversion switched on or not. Normally I would expect you to browse the messages with conversion switched on and for the messages themselves to be convertible. However, even if you don’t convert it MO71 tries to display what the characters look like. To do so it uses a generic ASCII/EBCDIC conversion table which always has | as the character for 4F.



So, do you have conversion switched on for your browse ? If you do I would expect you to see all the correct characters for the two codepages since MQ will have converted the data. If you don’t, for the sake of efficiency or whatever, then I would expect you to see an approximation and the | would be one of those.



Cheers,

P.



Paul Clarke
www.mqgem.com



From: Potkay, Peter M (CTO Architecture + Engineering)

Sent: Thursday, August 22, 2013 3:12 PM

To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org

Subject: Here we go again - ! on the mainframe



The exclamation point is one of those well known characters that does not get converted correctly in some cases when going from ASCII to EBCIDIC

Sending system is Windows, puts a message with CCSID 437, the ! character is represented in hex in this message as 21.

Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the mainframe app sees not an ! but a |.

Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical bar in CCSID 500 is hexadecimal BB, not 21.

I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is, but to no avail. None of the charts for CCSID 500 go that low. So why does hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after conversion and not some other random character?


Adding to the confusion: When I do the reverse test, using our QPASA Agent on the mainframe to put a message directly to a local queue on the mainframe, the message sits with an MQMD CCSID of 500, and the ! is represented by hexadecimal 4F. If I then browse this message, MQExplorer, QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as the exclamation point?



Peter Potkay







************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************




--------------------------------------------------------------------------------

List Archive - Manage Your List Settings - Unsubscribe

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com




--------------------------------------------------------------------------------

List Archive - Manage Your List Settings - Unsubscribe

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************




--------------------------------------------------------------------------------

List Archive - Manage Your List Settings - Unsubscribe

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************




--------------------------------------------------------------------------------

List Archive - Manage Your List Settings - Unsubscribe

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

To unsubscribe, write to LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html
Paul Clarke
2013-08-22 17:31:07 UTC
Permalink
Hi,

This isn’t really a valid test of the situation. What you want to do is actually put a message of codepage 500 to a queue (of course it doesn’t have to be MVS). What you have done here is change what you want to convert it to at the display stage. Those values should really match the system you are running MO71 on.

So, how do we get a message of a different codepage to a queue. The way I always do it, of course, is to use MA01.

Put a simple message to a queue.

q –oQ1 –M”Does this work!”

Now, copy the message to a different queue but convert the message to codepage 500 as we do it.

q –iQ1 –oQ2 –c500

Now, we have a message on Q2 that is in codepage 500.

We can then browse it using MO71 (or anything else) and check everything works fine.

Cheers,
P.

Paul Clarke
www.mqgem.com

From: Jason Space
Sent: Thursday, August 22, 2013 5:47 PM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Subject: Re: Here we go again - ! on the mainframe - the MO71 perspective


Changing Preferences > Display "tab" & changing LOCALE & BROWSE CCSSID the ! get changed to |
This message was put using AMQSPUT from Windows QMGR to a mainframe z/OS queue manager.









From: "Potkay, Peter M (CTO Architecture + Engineering)" <Peter.Potkay-***@public.gmane.org>
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Date: 08/22/2013 12:31 PM
Subject: Re: Here we go again - ! on the mainframe - the MO71 perspective
Sent by: MQSeries List <MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org>

--------------------------------------------------------------------------------



“If you go to the preferences setting and look at the ‘General’ tab. What have you specified for the Locale and Browse CCSID ?”

On the Display tab my Locale and Browse CCSID are both set to Default.

Playing with these fields, clicking apply and then refreshing my Message List pop up box does change the message preview from showing readable character data with a | to unreadable garabge. Looking at an individual message with Hex and Character side by side seems ‘stuck’. No amount of playing with options, preferences or refresh changes what is shown here – The message with an MQMD.CCSID of 500 continues to display the x4F on the left side as a vertical bar on the right side, while other MQ tools show the explanation point for the same message.

The Convert option seems to do nothing in my MO71 when looking at a message. Other options (Show Detail Level for example) work.


Peter Potkay


From: MQSeries List [mailto:MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org] On Behalf Of Paul Clarke
Sent: Thursday, August 22, 2013 11:23 AM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Subject: Re: Here we go again - ! on the mainframe - the MO71 perspective

Yes, MO71 has it’s own VERY minimalist conversion table. Suppose you browse a queue and don’t specify conversion then it could just display you complete gobbledygook but it tries to show you roughly what is there.

If you are doing conversion and you still don’t see the right data then I am curious what you are converting it to and whether it matches your machine.

If you go to the preferences setting and look at the ‘General’ tab. What have you specified for the Locale and Browse CCSID ? I have English_United Kingdom.1252 and 1208 as my settings. Although, I’ll be honest with you I’m not sure whether these are the correct settings or what I last tested with. However, with these values I can see the character changing from | to ! as I switch convert on and off.

Cheers,
P.

Paul Clarke
www.mqgem.com

From: Potkay, Peter M (CTO Architecture + Engineering)
Sent: Thursday, August 22, 2013 4:12 PM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Subject: Re: Here we go again - ! on the mainframe - the MO71 perspective

Interesting, are you saying MO71 is using its own built in conversion tables?

I’ve toggled the convert option multiple times and refreshed and rebrowsed, but MO71 insists on showing x4f labeled as MQMD.CCSID 500 as a vertical bar.

I browse the queue and I see the Message List dialogue box pop up
I right click and turn on Convert
I click refresh Message List dialogue box pop up
I double click the message to look at it. I have both char and hexa turned on.
I right click in this pop up box and Convert is still checked
But the x4F is displayed as a vertical bar.
In another message MO71 shows xBB, the vertical bar in CCSID 500, as a closing bracket.


It seems MO71 assumes CCSID 037 is in play somewhere.


MO71 version 7.5.1 on Windows 7 desktop.



Peter Potkay

From: MQSeries List [mailto:MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org] On Behalf Of Paul Clarke
Sent: Thursday, August 22, 2013 11:02 AM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Subject: Re: Here we go again - ! on the mainframe

Peter,

I am far from a data conversion expert but let me explore the 4F problem with you. My understanding is that 4F is ! in CCSID 500 but | in CCSID 37.

When browsing messages in MO71 you can configure the message display to display the character data. Now, you can do this whether the message is in ASCII or EBCDIC. You can also choose to have conversion switched on or not. Normally I would expect you to browse the messages with conversion switched on and for the messages themselves to be convertible. However, even if you don’t convert it MO71 tries to display what the characters look like. To do so it uses a generic ASCII/EBCDIC conversion table which always has | as the character for 4F.

So, do you have conversion switched on for your browse ? If you do I would expect you to see all the correct characters for the two codepages since MQ will have converted the data. If you don’t, for the sake of efficiency or whatever, then I would expect you to see an approximation and the | would be one of those.

Cheers,
P.

Paul Clarke
www.mqgem.com

From: Potkay, Peter M (CTO Architecture + Engineering)
Sent: Thursday, August 22, 2013 3:12 PM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Subject: Here we go again - ! on the mainframe

The exclamation point is one of those well known characters that does not get converted correctly in some cases when going from ASCII to EBCIDIC

Sending system is Windows, puts a message with CCSID 437, the ! character is represented in hex in this message as 21.

Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the mainframe app sees not an ! but a |.

Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical bar in CCSID 500 is hexadecimal BB, not 21.

I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is, but to no avail. None of the charts for CCSID 500 go that low. So why does hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after conversion and not some other random character?


Adding to the confusion: When I do the reverse test, using our QPASA Agent on the mainframe to put a message directly to a local queue on the mainframe, the message sits with an MQMD CCSID of 500, and the ! is represented by hexadecimal 4F. If I then browse this message, MQExplorer, QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as the exclamation point?

Peter Potkay



************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************




--------------------------------------------------------------------------------

List Archive - Manage Your List Settings - Unsubscribe
Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com





--------------------------------------------------------------------------------

List Archive - Manage Your List Settings - Unsubscribe
Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************




--------------------------------------------------------------------------------

List Archive - Manage Your List Settings - Unsubscribe
Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

To unsubscribe, write to LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html
Edenfield, Lee
2013-08-22 17:20:48 UTC
Permalink
If the only thing we can modify here is the receiving application, then a technically correct solution using MQ would be to have the receiving application get the message from the bridge in CCSID 500, put it to a queue as CCSID 500 and format MQSTR, then get it back again with Convert specifying CCSID 37 in the MQMD.

If the only thing we can modify is the sending application, then we are out of luck without some sort of “hack”.

The issue remains that OTMA uses the queue manager default (CCSID 500) but the application is expecting data encoded as CCSID 037.

The only technically sound solutions are:
1-change the queue manager default to 037
2-modify the receiving application to properly handle CCSID 500.


Lee Edenfield, HagemeyerNA (843.745.2477)

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: Thursday, August 22, 2013 12:41 PM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT
Subject: Re: Here we go again - ! on the mainframe

Art,
Good ol’ OTMA ;-)

Do you think setting up a dedicated SNDR/RCVR channel with Convert yes would help here? I suspect not.

The sending QM (Windows 437) would convert the message to the destination QM (z/OS 500) if the channel had convert on. All that would do is move the conversion from 437 to 500 up in the flow. The message would still be handed to the bridge, but now the bridge would skip conversion because it saw the MQMD CCSID is already in its native 500, so it would pass the message to IMS and we’re back where we started – the app running as 037 would see the x4F as a | and not what we intended, the !

Lee’s devious hack of converting the message to 037 ahead of time in the mid tier (to get an ! represented as x5A) but labeling it as 500 (to trick the OTMA to skip conversion) seems to be the only way to get the ! into the mainframe if we are stuck with a 037 mainframe hosting a QM running as 500.

Other options include getting the app to not send an !.

Or, try to figure out what does convert to x5A in 500 from 437 and place that in the message. Another particularly ugly hack.


Peter Potkay

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Schanz, Arthur
Sent: Thursday, August 22, 2013 11:34 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

Peter –

Another OTMA-related ‘challenge’? ;-)

As you know, the receiving ‘application’ for msgs destined for IMS via OTMA is the Bridge. You correctly state that there is no place to configure a different CCSID (or even MQGET w/ Convert) in this flow, as the WMQ MF subsystem is acting as the OTMA client.

What we do (and have done for quite some time) is to have the MCA (channel) handle the conversion for us. While this is not a popular choice for other msg flows where ‘receiver makes good’ is possible, it is a very viable option for msgs destined for IMS via OTMA.

I know we have discussed this previously, although in a slightly different context; however, the conversion choices for msgs headed to IMS are limited. The conversion will cause the chars to ultimately be displayed in the MF defined CCSID, so you need to ‘set-up’ the data on the sending side to allow for that.

As always, Good Luck!

Art
________________________________
[National IT Services]Arthur Schanz
Distributed Computing Spec
Messaging and File Transfer
701 East Byrd Street
Richmond, VA 23219

Phone: 804.697.3889
Cell: 804.640.3132
Email: ***@frit.frb.org<mailto:***@frit.frb.org>



[National IT Green Logo]

[CertWS_color]

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: Thursday, August 22, 2013 11:15 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

Bah, I knew it was too easy to be true.

I double checked the queue the app is using - there is an MQ IMS OTMA Bridge involved. Doubt there is a way to have it selectively use 037 on its MQGETs.

Maybe we need to detour the message into WMB or DataPower XI50 and have them convert the message into 037 before forwarding to the mainframe bridge queue?

Peter Potkay

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Meekin, Paul
Sent: Thursday, August 22, 2013 11:07 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

If the application expects its data to be represented by EBCDIC 37 which sound likely then that is exactly the right thing to do. Only the application knows (or should know) what format it wants the data in so it has to tell the QMgr.

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: 22 August 2013 16:02
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

If I look at the message on the local queue on the mainframe QM with any of my MQ tools, all is well. I see the exclamation point. It’s the app area that is saying they see the vertical bar. I don’t know yet how they are looking at the message.

Changing the mainframe QMs CCSID to 037, while probably technically the correct solution, is not gonna happen. Right or wrong they were set up with CCSID 500 in the 90s and its just to risky to change it now. Who knows how many apps have coded around this issue over the years, perhaps sending the wrong character on purpose to end up with a ! or a ] relying on the ‘wrong’ conversion.

Is a potential solution to just have the mainframe app specify MQMD.CCSID=037 on its MQGET with Convert? Seems too easy
..

I remember years ago we ran into this - back then the solution was the sending app decided it really didn’t need to send an ! after all, and they just put in some front end edits to prevent that char from being entered.




Peter Potkay

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul S Dennis
Sent: Thursday, August 22, 2013 10:55 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

Sounds very plausible (and quite likely) to me, based on what you have said... How are the you seeing the data? In a 3270 emulator? If so, what CP is that set to?

Thanks
Paul


Paul Dennis
WebSphere MQ for z/OS Development




From: "Potkay, Peter M (CTO Architecture + Engineering)" <***@THEHARTFORD.COM<mailto:***@THEHARTFORD.COM>>
To: ***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>,
Date: 22/08/2013 15:49
Subject: Re: Here we go again - ! on the mainframe
Sent by: MQSeries List <***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>>
________________________________



Sending app puts a !, represented as x21, labeled as MQMD.CCSID 500. 100% correct.

Mainframe QM running as CCSID 500 gets an MQGET with convert call, and the mainframe QM converts the x21 to a x4F, knowing that x4F does represent the explanation point in CCSID 500. Still 100% correct.

The QM gives the message to the app with a x4F. But the app on the mainframe is actually executing in another CCSID, perhaps 037. So that app ingests that x4F character and ‘sees’ it as the vertical bar, because in its code page x4F is a vertical bar.

Is this a plausible (likely?) scenario?



Peter Potkay


From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul S Dennis
Sent: Thursday, August 22, 2013 10:42 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

I think you are probably right there Paul... If it is MQ doing the data conversion from 437 to 500, then it would be converting the x21 into x4F (which is the correct hex of ! in 500), however, it would then appear that the converted data is being displayed with CP 37, which has x4F as |.

See ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00437.pdf and ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00500.pdf .

Thanks
Paul


Paul Dennis
WebSphere MQ for z/OS Development



From: "Meekin, Paul" <***@CITI.COM<mailto:***@CITI.COM>>
To: ***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>,
Date: 22/08/2013 15:28
Subject: Re: Here we go again - ! on the mainframe
Sent by: MQSeries List <***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>>
________________________________




0x4F is ! for CCSID 500 and | for 037. Must be using the wrong code page somewhere.

_______________________________________
Paul Meekin
CATE CitiCloud & CitiApp Platform Engineering | Messaging Middleware
33 Canada Square, Canary Wharf, London E14 5LB
• +44 207 500 6318 | • ***@citi.com<mailto:***@citi.com>

Find out more about our Services<https://catecollaboration.citigroup.net/domains/deveng/Pages/default.aspx>

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: 22 August 2013 15:12
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Here we go again - ! on the mainframe

The exclamation point is one of those well known characters that does not get converted correctly in some cases when going from ASCII to EBCIDIC

Sending system is Windows, puts a message with CCSID 437, the ! character is represented in hex in this message as 21.

Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the mainframe app sees not an ! but a |.

Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical bar in CCSID 500 is hexadecimal BB, not 21.

I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is, but to no avail. None of the charts for CCSID 500 go that low. So why does hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after conversion and not some other random character?


Adding to the confusion: When I do the reverse test, using our QPASA Agent on the mainframe to put a message directly to a local queue on the mainframe, the message sits with an MQMD CCSID of 500, and the ! is represented by hexadecimal 4F. If I then browse this message, MQExplorer, QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as the exclamation point?

Peter Potkay




************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************


________________________________


List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>



________________________________

List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>



Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
________________________________

List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************



________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

______________________________________________________________________
CONFIDENTIALITY WARNING: This email may contain confidential or proprietary business information and is for the sole use of the intended recipient(s). Any unauthorized use or disclosure of this communication, including attachments, is strictly prohibited. If you believe that you have received this email in error, please notify the sender immediately and delete it from your system.
______________________________________________________________________
Potkay, Peter M (CTO Architecture + Engineering)
2013-08-22 18:41:47 UTC
Permalink
Thanks Paul, I did turn off that Predict option and now my ASCII based MO71 shows ‘garbage’ when looking at the character representation of an EBCIDIC message. And when I click the Convert button, MO71 converts the data to 437, the character data nicely displays, and the CCSID is changed to 437 in that view ( the actual message remains on the queue in EBCIDIC and with 500).



Peter Potkay


From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul Clarke
Sent: Thursday, August 22, 2013 1:22 PM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT
Subject: Re: Here we go again - ! on the mainframe - the MO71 perspective

Hi Peter,

Well, that’s a relief....I was running out of ideas [Smile]

I agree that case A can appear a little confusing if you don’t know what is going on. However, in my view it is also very useful to be able to see ‘roughly’ what the characters are. If you really want to see garbage then, as you may expect, there is a preference option for that. If you go to the Preference dialog in the General tab you’ll see an option ‘Predict hexadecimal characters’. This option asks MO71 to look at the data and ‘predict’ whether it is ASCII or EBCDIC and display accordingly. If you uncheck this option and refresh your browse I suspect you’ll see the garbage you want.

I too am curious about how MQExplorer and RFHUTILC showed you the data. I know that there are oddities with the way Java does (or did) data conversion. The data conversion being done somehow on the client rather than the server but I don’t know the details or what it supports since I didn’t think it supported Data Conversion exits.

Cheers,
P.

Paul Clarke
www.mqgem.com<http://www.mqgem.com>

From: Potkay, Peter M (CTO Architecture + Engineering)<mailto:***@THEHARTFORD.COM>
Sent: Thursday, August 22, 2013 6:03 PM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe - the MO71 perspective

<hanging head in shame>

The test tool I was using to put the message I was looking at with MO71 was leaving MQMD Format blank.


I put a message with ‘MQSTR ‘ onto the queue. The message is tagged with MQMD.CCSID 500.

A. With Convert in MO71 off, I see x4F on the left, and | on the right.

B. With Convert in MO71 on, I see x21 on the left, and ! on the right.

B makes sense. I guess A is confusing. If convert is off I would expect to see pure garbage on the left in my ASCII MO71 looking at an unconverted EBCDIC message.

Now I’m scratching my head wondering how MQExplorer and rfhutilc successfully convert the message with a blank MQMD.Format.



The above only applies to my little play message with MO71. It does not change the conversation / situation in our parallel thread dealing with the real app sending real messages to the OTMA.




Peter Potkay

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul Clarke
Sent: Thursday, August 22, 2013 12:41 PM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe - the MO71 perspective

hmmm.....well this is a little odd.

Are we certain that the message is indeed convertible. For example, is the FORMAT field “MQSTR” or similar.
Perhaps we’ve reach the point where you could send me an MQ trace (from MO71 end would be fine). And possibly a screenshot just to be certain we’re talking about the same dialog.

Cheers,
P.

Paul Clarke
www.mqgem.com<http://www.mqgem.com>

From: Potkay, Peter M (CTO Architecture + Engineering)<mailto:***@THEHARTFORD.COM>
Sent: Thursday, August 22, 2013 5:31 PM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe - the MO71 perspective

“If you go to the preferences setting and look at the ‘General’ tab. What have you specified for the Locale and Browse CCSID ?”

On the Display tab my Locale and Browse CCSID are both set to Default.

Playing with these fields, clicking apply and then refreshing my Message List pop up box does change the message preview from showing readable character data with a | to unreadable garabge. Looking at an individual message with Hex and Character side by side seems ‘stuck’. No amount of playing with options, preferences or refresh changes what is shown here – The message with an MQMD.CCSID of 500 continues to display the x4F on the left side as a vertical bar on the right side, while other MQ tools show the explanation point for the same message.

The Convert option seems to do nothing in my MO71 when looking at a message. Other options (Show Detail Level for example) work.


Peter Potkay

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul Clarke
Sent: Thursday, August 22, 2013 11:23 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe - the MO71 perspective

Yes, MO71 has it’s own VERY minimalist conversion table. Suppose you browse a queue and don’t specify conversion then it could just display you complete gobbledygook but it tries to show you roughly what is there.

If you are doing conversion and you still don’t see the right data then I am curious what you are converting it to and whether it matches your machine.

If you go to the preferences setting and look at the ‘General’ tab. What have you specified for the Locale and Browse CCSID ? I have English_United Kingdom.1252 and 1208 as my settings. Although, I’ll be honest with you I’m not sure whether these are the correct settings or what I last tested with. However, with these values I can see the character changing from | to ! as I switch convert on and off.

Cheers,
P.

Paul Clarke
www.mqgem.com<http://www.mqgem.com>

From: Potkay, Peter M (CTO Architecture + Engineering)<mailto:***@THEHARTFORD.COM>
Sent: Thursday, August 22, 2013 4:12 PM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe - the MO71 perspective

Interesting, are you saying MO71 is using its own built in conversion tables?

I’ve toggled the convert option multiple times and refreshed and rebrowsed, but MO71 insists on showing x4f labeled as MQMD.CCSID 500 as a vertical bar.

I browse the queue and I see the Message List dialogue box pop up
I right click and turn on Convert
I click refresh Message List dialogue box pop up
I double click the message to look at it. I have both char and hexa turned on.
I right click in this pop up box and Convert is still checked
But the x4F is displayed as a vertical bar.
In another message MO71 shows xBB, the vertical bar in CCSID 500, as a closing bracket.


It seems MO71 assumes CCSID 037 is in play somewhere.


MO71 version 7.5.1 on Windows 7 desktop.



Peter Potkay

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul Clarke
Sent: Thursday, August 22, 2013 11:02 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

Peter,

I am far from a data conversion expert but let me explore the 4F problem with you. My understanding is that 4F is ! in CCSID 500 but | in CCSID 37.

When browsing messages in MO71 you can configure the message display to display the character data. Now, you can do this whether the message is in ASCII or EBCDIC. You can also choose to have conversion switched on or not. Normally I would expect you to browse the messages with conversion switched on and for the messages themselves to be convertible. However, even if you don’t convert it MO71 tries to display what the characters look like. To do so it uses a generic ASCII/EBCDIC conversion table which always has | as the character for 4F.

So, do you have conversion switched on for your browse ? If you do I would expect you to see all the correct characters for the two codepages since MQ will have converted the data. If you don’t, for the sake of efficiency or whatever, then I would expect you to see an approximation and the | would be one of those.

Cheers,
P.

Paul Clarke
www.mqgem.com<http://www.mqgem.com>

From: Potkay, Peter M (CTO Architecture + Engineering)<mailto:***@THEHARTFORD.COM>
Sent: Thursday, August 22, 2013 3:12 PM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Here we go again - ! on the mainframe

The exclamation point is one of those well known characters that does not get converted correctly in some cases when going from ASCII to EBCIDIC

Sending system is Windows, puts a message with CCSID 437, the ! character is represented in hex in this message as 21.

Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the mainframe app sees not an ! but a |.

Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical bar in CCSID 500 is hexadecimal BB, not 21.

I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is, but to no avail. None of the charts for CCSID 500 go that low. So why does hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after conversion and not some other random character?


Adding to the confusion: When I do the reverse test, using our QPASA Agent on the mainframe to put a message directly to a local queue on the mainframe, the message sits with an MQMD CCSID of 500, and the ! is represented by hexadecimal 4F. If I then browse this message, MQExplorer, QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as the exclamation point?

Peter Potkay




************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>
************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************
Potkay, Peter M (CTO Architecture + Engineering)
2013-08-23 11:12:26 UTC
Permalink
In my thread on mqseries.net on this same topic, someone suggested converting the message to 037 before sending it to the mainframe, and leaving the MQIIH.Format field as its default value of MQFMT_NONE. This should cause the OTMA bridge to skip a conversion attempt and the message will be handed to the IMS application in CCSID 037, with the ! represented as x5A. It would involve a detour thru WMB or Datapower before going to the mainframe QM so that the conversion from 437 to 037 can be done by one of them, but if the business case insists on sending an exclamation point, this might be the best option all things considered.



Peter Potkay


From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Edenfield, Lee
Sent: Thursday, August 22, 2013 1:21 PM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT
Subject: Re: Here we go again - ! on the mainframe

If the only thing we can modify here is the receiving application, then a technically correct solution using MQ would be to have the receiving application get the message from the bridge in CCSID 500, put it to a queue as CCSID 500 and format MQSTR, then get it back again with Convert specifying CCSID 37 in the MQMD.

If the only thing we can modify is the sending application, then we are out of luck without some sort of “hack”.

The issue remains that OTMA uses the queue manager default (CCSID 500) but the application is expecting data encoded as CCSID 037.

The only technically sound solutions are:
1-change the queue manager default to 037
2-modify the receiving application to properly handle CCSID 500.


Lee Edenfield, HagemeyerNA (843.745.2477)

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: Thursday, August 22, 2013 12:41 PM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

Art,
Good ol’ OTMA ;-)

Do you think setting up a dedicated SNDR/RCVR channel with Convert yes would help here? I suspect not.

The sending QM (Windows 437) would convert the message to the destination QM (z/OS 500) if the channel had convert on. All that would do is move the conversion from 437 to 500 up in the flow. The message would still be handed to the bridge, but now the bridge would skip conversion because it saw the MQMD CCSID is already in its native 500, so it would pass the message to IMS and we’re back where we started – the app running as 037 would see the x4F as a | and not what we intended, the !

Lee’s devious hack of converting the message to 037 ahead of time in the mid tier (to get an ! represented as x5A) but labeling it as 500 (to trick the OTMA to skip conversion) seems to be the only way to get the ! into the mainframe if we are stuck with a 037 mainframe hosting a QM running as 500.

Other options include getting the app to not send an !.

Or, try to figure out what does convert to x5A in 500 from 437 and place that in the message. Another particularly ugly hack.


Peter Potkay

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Schanz, Arthur
Sent: Thursday, August 22, 2013 11:34 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

Peter –

Another OTMA-related ‘challenge’? ;-)

As you know, the receiving ‘application’ for msgs destined for IMS via OTMA is the Bridge. You correctly state that there is no place to configure a different CCSID (or even MQGET w/ Convert) in this flow, as the WMQ MF subsystem is acting as the OTMA client.

What we do (and have done for quite some time) is to have the MCA (channel) handle the conversion for us. While this is not a popular choice for other msg flows where ‘receiver makes good’ is possible, it is a very viable option for msgs destined for IMS via OTMA.

I know we have discussed this previously, although in a slightly different context; however, the conversion choices for msgs headed to IMS are limited. The conversion will cause the chars to ultimately be displayed in the MF defined CCSID, so you need to ‘set-up’ the data on the sending side to allow for that.

As always, Good Luck!

Art
________________________________
[National IT Services]Arthur Schanz
Distributed Computing Spec
Messaging and File Transfer
701 East Byrd Street
Richmond, VA 23219

Phone: 804.697.3889
Cell: 804.640.3132
Email: ***@frit.frb.org<mailto:***@frit.frb.org>



[National IT Green Logo]

[CertWS_color]

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: Thursday, August 22, 2013 11:15 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

Bah, I knew it was too easy to be true.

I double checked the queue the app is using - there is an MQ IMS OTMA Bridge involved. Doubt there is a way to have it selectively use 037 on its MQGETs.

Maybe we need to detour the message into WMB or DataPower XI50 and have them convert the message into 037 before forwarding to the mainframe bridge queue?

Peter Potkay

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Meekin, Paul
Sent: Thursday, August 22, 2013 11:07 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

If the application expects its data to be represented by EBCDIC 37 which sound likely then that is exactly the right thing to do. Only the application knows (or should know) what format it wants the data in so it has to tell the QMgr.

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: 22 August 2013 16:02
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

If I look at the message on the local queue on the mainframe QM with any of my MQ tools, all is well. I see the exclamation point. It’s the app area that is saying they see the vertical bar. I don’t know yet how they are looking at the message.

Changing the mainframe QMs CCSID to 037, while probably technically the correct solution, is not gonna happen. Right or wrong they were set up with CCSID 500 in the 90s and its just to risky to change it now. Who knows how many apps have coded around this issue over the years, perhaps sending the wrong character on purpose to end up with a ! or a ] relying on the ‘wrong’ conversion.

Is a potential solution to just have the mainframe app specify MQMD.CCSID=037 on its MQGET with Convert? Seems too easy
..

I remember years ago we ran into this - back then the solution was the sending app decided it really didn’t need to send an ! after all, and they just put in some front end edits to prevent that char from being entered.




Peter Potkay

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul S Dennis
Sent: Thursday, August 22, 2013 10:55 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

Sounds very plausible (and quite likely) to me, based on what you have said... How are the you seeing the data? In a 3270 emulator? If so, what CP is that set to?

Thanks
Paul


Paul Dennis
WebSphere MQ for z/OS Development




From: "Potkay, Peter M (CTO Architecture + Engineering)" <***@THEHARTFORD.COM<mailto:***@THEHARTFORD.COM>>
To: ***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>,
Date: 22/08/2013 15:49
Subject: Re: Here we go again - ! on the mainframe
Sent by: MQSeries List <***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>>
________________________________



Sending app puts a !, represented as x21, labeled as MQMD.CCSID 500. 100% correct.

Mainframe QM running as CCSID 500 gets an MQGET with convert call, and the mainframe QM converts the x21 to a x4F, knowing that x4F does represent the explanation point in CCSID 500. Still 100% correct.

The QM gives the message to the app with a x4F. But the app on the mainframe is actually executing in another CCSID, perhaps 037. So that app ingests that x4F character and ‘sees’ it as the vertical bar, because in its code page x4F is a vertical bar.

Is this a plausible (likely?) scenario?



Peter Potkay


From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Paul S Dennis
Sent: Thursday, August 22, 2013 10:42 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: Here we go again - ! on the mainframe

I think you are probably right there Paul... If it is MQ doing the data conversion from 437 to 500, then it would be converting the x21 into x4F (which is the correct hex of ! in 500), however, it would then appear that the converted data is being displayed with CP 37, which has x4F as |.

See ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00437.pdf and ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00500.pdf .

Thanks
Paul


Paul Dennis
WebSphere MQ for z/OS Development



From: "Meekin, Paul" <***@CITI.COM<mailto:***@CITI.COM>>
To: ***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>,
Date: 22/08/2013 15:28
Subject: Re: Here we go again - ! on the mainframe
Sent by: MQSeries List <***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>>
________________________________




0x4F is ! for CCSID 500 and | for 037. Must be using the wrong code page somewhere.

_______________________________________
Paul Meekin
CATE CitiCloud & CitiApp Platform Engineering | Messaging Middleware
33 Canada Square, Canary Wharf, London E14 5LB
• +44 207 500 6318 | • ***@citi.com<mailto:***@citi.com>

Find out more about our Services<https://catecollaboration.citigroup.net/domains/deveng/Pages/default.aspx>

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Potkay, Peter M (CTO Architecture + Engineering)
Sent: 22 August 2013 15:12
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Here we go again - ! on the mainframe

The exclamation point is one of those well known characters that does not get converted correctly in some cases when going from ASCII to EBCIDIC

Sending system is Windows, puts a message with CCSID 437, the ! character is represented in hex in this message as 21.

Receiving system is z/OS, QM CCSID on z/OS is set to 500, and the mainframe app sees not an ! but a |.

Why? Why did hexadecimal 21 get converted to a vertical bar? The vertical bar in CCSID 500 is hexadecimal BB, not 21.

I've been Googling trying to find what CCSID 500 thinks hexadecimal 21 is, but to no avail. None of the charts for CCSID 500 go that low. So why does hexadecimal 21 labeled as MQMD.CCSID 437 get seen as a vertical bar after conversion and not some other random character?


Adding to the confusion: When I do the reverse test, using our QPASA Agent on the mainframe to put a message directly to a local queue on the mainframe, the message sits with an MQMD CCSID of 500, and the ! is represented by hexadecimal 4F. If I then browse this message, MQExplorer, QPASA, and rfhutilc all display that 4F as an !, but MO71 displays that 4F as |. Why is MO71 showing a vertical bar for hexadecimal 4F labeled as MQMD.CCSID 500, but those other tools see 4F labeled as MQMD.CCSID 500 as the exclamation point?

Peter Potkay




************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************


________________________________


List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>



________________________________

List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>



Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
________________________________

List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************



________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

______________________________________________________________________
CONFIDENTIALITY WARNING: This email may contain confidential or proprietary business information and is for the sole use of the intended recipient(s). Any unauthorized use or disclosure of this communication, including attachments, is strictly prohibited. If you believe that you have received this email in error, please notify the sender immediately and delete it from your system.
______________________________________________________________________
************************************************************
This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
************************************************************

Loading...