Author |
Message
|
michaelharris |
Posted: Mon Jul 17, 2006 8:41 pm Post subject: EBCDIC to ASCII scenario |
|
|
 Novice
Joined: 09 Jun 2006 Posts: 20
|
Looking for suggestions on handling EBCDIC to ASCII conversion (namely around packed demicals) in the following scenario.
Legacy app is running on z/OS and must be integrated with a new XML app on Windows. Message Broker 6.0 is running on z/Series Linux and will gradually replace all integrations. Currently integrations are implemented using COBOL XML generator and messages are put to the z/Linux queues for retrieval by XML app. The XML app's vendor claims they cannot implement MQGMO_CONVERT at this time (whatever), so our admin set CONVERT = YES on the z/OS to z/Linux channel. Unfortunately, this affected our integrations that flow through broker.
As I see it I have 2 options:
1) Create a separate z/OS to z/Linux channel where CONVERT = NO and use it for messages that are destined for broker.
OR
2) Figure out how to parse the converted message correctly with broker - it is giving me fits right now.
I am leaning towards option 1 even though I'm not fond of the complexity it introduces. Luckily, it will go away when all integrations have been migrated to Message Broker.
Any insights would be appreciated. |
|
Back to top |
|
 |
markt |
Posted: Mon Jul 17, 2006 9:12 pm Post subject: |
|
|
 Knight
Joined: 14 May 2002 Posts: 508
|
or 3) put an API exit on the XML app's qmgr that turns on GMO_CONVERT for that application |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Jul 18, 2006 2:55 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
You have packed decimals in your message. You CANNOT use convert.
Use the cobol copy book to create a message set for the message. Remember to use the right compilation settings(the broker's not the mainframe) and number settings(mainframe).
Retrieve the message without using convert and map it to the copybook using the MRM domain. Now you can map the message tree to XML. Everything should be fine including the packed numbers.
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
michaelharris |
Posted: Tue Jul 18, 2006 4:10 am Post subject: |
|
|
 Novice
Joined: 09 Jun 2006 Posts: 20
|
We are using message sets and MRM mapping already. Let me get this straight though: When we create the message definition files we should use the compilation settings and CCSID for the broker machine, but number settings for the mainframe?
Even before the channel conversion was introduced, the parser was having problems with spaces in packed decimal fields - we were using the defaults for the z/OS profile in the message definition from COBOL wizard. |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Jul 18, 2006 2:08 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
We use broker V6.0 FP x.
Our broker is on AIX platform.
Our mainframe is ZOS.
We download the copy books from Zos and put them as imports in the toolkit.
We generate the xsd with:
compiler = AIX (same as broker)
Number info = Like if compiler were zOS
Decimal stuff EBCDIC
At the bottom of the screen all 3 checkboxes marked (on).(spaces for null values etc...).
Number get by default 0 values if null.
If you need a screenshot let me know.
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
|