Author |
Message
|
martinrydman |
Posted: Mon May 24, 2004 1:07 am Post subject: Processing EBCDIC in the TDS physical format |
|
|
 Centurion
Joined: 30 Jan 2004 Posts: 139 Location: Gothenburg, Sweden
|
Hi all!
I'm receiving a message in the broker running on WIN 2000 from an AS/400 structured as follows:
MQMD
MQRFH2
CodedCharSetId = 37
Data in EBCDIC code page 37
I've got an MQInput node that specifies a simple MRM in the TDS layer that basically chops up the bitsrtream in records of 440 bytes.
Then I've got a trace-node that dumps Root.
No, what I'd like is to be able to read the dump, i.e. have the data converted from EBCDIC to something readable (and process-able), like code page 437.
I've tried in vain to check the Convert checkbox in the MQInput Advance properties sheet, and set Converted character set ID to 437, but the tree stubbornly stays EBCDIC.
Now, I know I can wriggle my way thru this by using CAST in ESQL, but that is an awkward solution at best.
Any hints greatly appreciated!
/Martin |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon May 24, 2004 2:30 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
I gather that the Format in the MQRFH2 is not set to MQFMT_STRING.
So you'll have to either change that or use CAST. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
martinrydman |
Posted: Mon May 24, 2004 2:45 am Post subject: |
|
|
 Centurion
Joined: 30 Jan 2004 Posts: 139 Location: Gothenburg, Sweden
|
Hi,
this is cut from the trace:
MQRFH2:
Format = 'MQSTR '
/Martin |
|
Back to top |
|
 |
fjcarretero |
Posted: Mon May 24, 2004 3:01 am Post subject: |
|
|
Voyager
Joined: 13 Oct 2003 Posts: 88
|
Hi Martin,
Where are you reading the CCSID from?.
It works like this:
The CCSID in the MQMD defines de charset in the MQRFH2 and the CCSID defines de the charset in the payload.
So the CCSID = 37 should be in the MQRFH2.
Can you post the trace output? (It would be easy to help you)
Cheers
Felipe |
|
Back to top |
|
 |
martinrydman |
Posted: Mon May 24, 2004 3:12 am Post subject: |
|
|
 Centurion
Joined: 30 Jan 2004 Posts: 139 Location: Gothenburg, Sweden
|
Hi!
Here's the raw trace, without the Convert option checked (I've exluded all but two records in the MRM):
(
(0x01000000):Properties = (
(0x03000000):MessageSet = 'JPJ2JN4002001'
(0x03000000):MessageType = 'Msg'
(0x03000000):MessageFormat = 'TDS1'
(0x03000000):Encoding = 273
(0x03000000):CodedCharSetId = 437
(0x03000000):Transactional = TRUE
(0x03000000):Persistence = FALSE
(0x03000000):CreationTime = GMTTIMESTAMP '2004-05-24 11:10:15.320'
(0x03000000):ExpirationTime = -1
(0x03000000):Priority = 0
(0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
(0x03000000):ReplyProtocol = 'MQ'
(0x03000000):Topic = NULL
)
(0x01000000):MQMD = (
(0x03000000):SourceQueue = 'QL.ORDERS_DD_TO_EDI.IN'
(0x03000000):Transactional = TRUE
(0x03000000):Encoding = 785
(0x03000000):CodedCharSetId = 437
(0x03000000):Format = 'MQHRF2 '
(0x03000000):Version = 2
(0x03000000):Report = 0
(0x03000000):MsgType = 8
(0x03000000):Expiry = -1
(0x03000000):Feedback = 0
(0x03000000):Priority = 0
(0x03000000):Persistence = 0
(0x03000000):MsgId = X'414d5120514d5f444556454c4f502020c1a5b14020000f0e'
(0x03000000):CorrelId = X'000000000000000000000000000000000000000000000000'
(0x03000000):BackoutCount = 0
(0x03000000):ReplyToQ = ' '
(0x03000000):ReplyToQMgr = 'QM_DEVELOP '
(0x03000000):UserIdentifier = 'mary '
(0x03000000):AccountingToken = X'16010515000000235f636bcb61395e43170a32ed03000000000000000000000b'
(0x03000000):ApplIdentityData = ' '
(0x03000000):PutApplType = 11
(0x03000000):PutApplName = 'oads\RFHUTIL\3.1\rfhutil.exe'
(0x03000000):PutDate = DATE '2004-05-24'
(0x03000000):PutTime = GMTTIME '11:10:15.320'
(0x03000000):ApplOriginData = ' '
(0x03000000):GroupId = X'000000000000000000000000000000000000000000000000'
(0x03000000):MsgSeqNumber = 1
(0x03000000):Offset = 0
(0x03000000):MsgFlags = 0
(0x03000000):OriginalLength = -1
)
(0x01000000):MQRFH2 = (
(0x03000000):Version = 2
(0x03000000):Format = 'MQSTR '
(0x03000000):Encoding = 273
(0x03000000):CodedCharSetId = 437
(0x03000000):Flags = 0
(0x03000000):NameValueCCSID = 1208
(0x01000000):mcd =
(0x01000000):usr = (
(0x01000000):BASELINE_RtQ_Timestamp = (
(0x02000000): = 'TIMESTAMP '2004-05-14 12:41:13.595''
)
(0x01000000):BASELINE_Adapter_Timestamp = (
(0x02000000): = '2004.05.14 11:39:16.8751'
)
(0x01000000):BASELINE_Adapter_Config =
(0x01000000):BASELINE_XL = (
(0x02000000): = 'No'
)
(0x01000000):BASELINE_Supplier = (
(0x02000000): = 'ESAB_Europa'
)
(0x01000000):BASELINE_Receiver_Location =
(0x01000000):BASELINE_Sender_MsgID = (
(0x02000000): = 'EDIPOO.FILE/EDIPOO.MBR'
)
(0x01000000):BASELINE_Logical_receiver = (
(0x02000000): = 'BROKER'
)
(0x01000000):BASELINE_Logical_sender = (
(0x02000000): = 'RDC'
)
(0x01000000):BASELINE_Tlmp_Timestamp =
(0x01000000):BASELINE_MsgID = (
(0x02000000): = 'ESABEDIPO001'
)
)
)
(0x01000021):MRM = (
(0x01000013):Record = (
(0x0300000B):Rad = '±°±@@@@@@@±ûôå@à ñÆà Ö@@@@@@@@@@@@@@@@@@@°@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@±@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@±±±±'
)
(0x01000013):Record = (
(0x0300000B):Rad = '°@@@±÷°°°@@@@@@@@@@@@@@@@@@@Müâëà Ö]±@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@±±±±'
)
/Martin |
|
Back to top |
|
 |
fjcarretero |
Posted: Mon May 24, 2004 4:38 am Post subject: |
|
|
Voyager
Joined: 13 Oct 2003 Posts: 88
|
Try this:
Code: |
-- Copy entire message
SET OutputRoot.MQRFH2.(MQRFH2.Field)CodedCharSetId = 37;
|
Let me know if it works.
Cheers
Felipe |
|
Back to top |
|
 |
martinrydman |
Posted: Tue May 25, 2004 3:24 am Post subject: |
|
|
 Centurion
Joined: 30 Jan 2004 Posts: 139 Location: Gothenburg, Sweden
|
Hi Felipe,
thanks for your feedback. For now, I've resorted to my ol' CAST, and it works. What I really would like to understand is why the Convert option in MQInput doesn't work. Seems a bit roundabout to have to code anything in ESQL, eh?
/Martin |
|
Back to top |
|
 |
|