ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Tag Delimited format

Post new topic  Reply to topic Goto page 1, 2  Next
 Tag Delimited format « View previous topic :: View next topic » 
Author Message
nicojvr
PostPosted: Tue Jun 10, 2003 6:36 am    Post subject: Tag Delimited format Reply with quote

Apprentice

Joined: 04 Jun 2003
Posts: 45

hi,

I am writing a flow using the tag/delimited physical format.

my in Message looks like this :

UNH+datadatadatadata'UNG+datadatadata'

i have setup the message set to look as:

tag data seperator: +
delimiter : ' (since the parser converts my ' to ')

when i run it agains my message flow in debugger i get:
field data
UNH datadatadatadatadata'UNG+datadatadatadata

instead of
field data
UNH datadatadatadatadata
UNG datadatadatadatadata


what am i doing wrong ?

thanks

Nico
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Tue Jun 10, 2003 9:29 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Your delimiter needs to be the character that is in the bytestream on the queue.

So if your incoming message has the apostrophe character in it, and not the string of characters "'", then you need to put that into your delimiter.
Back to top
View user's profile Send private message
nicojvr
PostPosted: Wed Jun 11, 2003 12:26 am    Post subject: Reply with quote

Apprentice

Joined: 04 Jun 2003
Posts: 45

Thanks for the reply,but that didn't seem to work. I still got only one entry in the tag field and the rest of the line in the datafield with my apostrophy characters converted to '


Cheers

Nico
Back to top
View user's profile Send private message
Craig B
PostPosted: Wed Jun 18, 2003 2:59 am    Post subject: Reply with quote

Partisan

Joined: 18 Jun 2003
Posts: 316
Location: UK

The last reply to this question was correct in that the bytes in the input message should be examined to see what character is in the input message. When debugging a message flow using the Control Centers visual debugger, then information is exchanged between the message flow and control center using XML. So when you view your parsed tree from the Control Center, this will display ' in the data because the XML parser would have substituted this in when sending the message tree to the debugging window. Therefore I would ignore the ' you are seeing at it is likely that there is an apostrophe in the bitstream.

However, this TDS bitstream will be arriving in a Websphere MQ message that has a CodedCharSetId. It may be possible that the 0xYY bytes you have in the bitstream for the apostrophe do not match the CodedCharSetId in the MQMD. Therefore it may not be seen as the apostrophe character.

It should also be noted that the Delimiter specified in the messageSet is the character as it is in Unicode. When a parser creates a message tree from the bitstream, then this tree is created in Unicode. Therefore it may be possible that the 0xYY bytes that you have for your apostrophe in the bitstream do not map to the Apostophe character in Unicode and therefore this is not being recognised by the parser.

What 0xYY byte do you have in your input bitstream where the apostrophe character is? Viewing the input file in a hex editor should show this, or you could temporarily change you MessageDomain to BLOB and trace ${Root} to see what the hex is. What CodedCharSetId is in the input message? If you are still having trouble then could you post this information in a response.
_________________
Regards
Craig
Back to top
View user's profile Send private message
nicojvr
PostPosted: Thu Jun 19, 2003 7:32 am    Post subject: Reply with quote

Apprentice

Joined: 04 Jun 2003
Posts: 45

Hi Craig,
thanks for your reply.

I checked the incoming message and discovered that the apostophe character is x'2F' in hex. Subsequently i changed my delimited from ' to x'2F' but alas the outcome is still the same:

tag data'tag+data'

Should i use this data, replace all ' with / or something and put it into a resetContentDescriptorNode with another physical format that defines the delimiter as a / ?

Thanks

Nico
Back to top
View user's profile Send private message
nicojvr
PostPosted: Thu Jun 19, 2003 7:44 am    Post subject: Reply with quote

Apprentice

Joined: 04 Jun 2003
Posts: 45

correction:
not x'2F' but x'27'


thanks

Nico
Back to top
View user's profile Send private message
Craig B
PostPosted: Thu Jun 19, 2003 8:10 am    Post subject: Reply with quote

Partisan

Joined: 18 Jun 2003
Posts: 316
Location: UK

What is the MQMD.CodedCharSetId field set to in the input message? This will be important in knowing what x'27' will be translated to when mapping to Unicode within the broker.
_________________
Regards
Craig
Back to top
View user's profile Send private message
nicojvr
PostPosted: Fri Jun 20, 2003 1:17 am    Post subject: Reply with quote

Apprentice

Joined: 04 Jun 2003
Posts: 45

Hi,

Sorry I am new to MQSI, where will i find the value of MQMD.CodedCharSetId ?

thanks

Nico
Back to top
View user's profile Send private message
drajib
PostPosted: Fri Jun 20, 2003 1:43 am    Post subject: Reply with quote

Apprentice

Joined: 25 Mar 2003
Posts: 42
Location: India

Could be seen from Websphere MQ Explorer. For easy identification, just double click on the particular queue.

Best regards
Back to top
View user's profile Send private message
nicojvr
PostPosted: Fri Jun 20, 2003 1:59 am    Post subject: Reply with quote

Apprentice

Joined: 04 Jun 2003
Posts: 45

My CCSID is 437
Back to top
View user's profile Send private message
Craig B
PostPosted: Fri Jun 20, 2003 3:39 am    Post subject: Reply with quote

Partisan

Joined: 18 Jun 2003
Posts: 316
Location: UK

Well x'27' is the apostrophe character in codepage 437 and maps to x'0027' in Unicode which is also the apostrophe character. Therefore it would seem that this should be working for you. It would be nice to take the Visual debugger out of the equation which, as previously mentioned, will be introducing the ' entity reference when communicating with the Control centre in XML. Therefore can you temporarily change your MQInput node to the BLOB domain and insert a trace node straight after the MQInput node that captures ${Root} to a file. Would it be possible to paste into this thread the output captured in this file. From this we should see exactly what the broker has read in and therefore what is passed to the TDS parser. Once I have this then I can try and parse this in the same way you are and see if it is successful.
_________________
Regards
Craig
Back to top
View user's profile Send private message
nicojvr
PostPosted: Fri Jun 20, 2003 5:04 am    Post subject: Reply with quote

Apprentice

Joined: 04 Jun 2003
Posts: 45

output from the trace:

0x1000000)BLOB = (
(0x3000000)UnknownParserName = 'MQSTR'
(0x3000000)BLOB = X'554e422b746573744461746127554e422b7465737464617461322709'


and my input message would be :

UNB+testData'UNB+testdata2'

Seems like everything should be in order..

elp?

Nico
Back to top
View user's profile Send private message
Craig B
PostPosted: Fri Jun 20, 2003 7:52 am    Post subject: Reply with quote

Partisan

Joined: 18 Jun 2003
Posts: 316
Location: UK

I have created a small TDS message that used Tagged Delimited data element separation which users the delimiter of ' (apostrophe) and this successfully parses your sample data. Could you provide details of your messageSet particulary what you have set in the compound type TDS tab, what children this type has and what TDS attributes you have set for each of these elements. Also what CSD level do you have installed?
_________________
Regards
Craig
Back to top
View user's profile Send private message
nicojvr
PostPosted: Mon Jun 23, 2003 1:54 am    Post subject: Reply with quote

Apprentice

Joined: 04 Jun 2003
Posts: 45

okay here it is:

my compoundtype is called EDIClaimInputMessage and has only one element (UNB) the properties on the EDClaimInputMessage are:
1st tab
type Composition: Ordered set
type Content: Closed
identifier : t_EDIClaimInputMessage
Suspend from use: no

2'nd tab
History tab is empty

3rd tab (EDIClaimsInputTDS)
Group Indicator : empty
Group Terminator: empty
Tag Data Seperator: +
Length of tag : Empty
Data Element Seperation : Tagged Delimited
Delimiter : x'27'
the rest is empty

Also where i define the Physical format:
TDSWire format Identifier: TDSTAG
Messaging Standard: Unknown
Default CCSID:437
Trim Fix Len: No Trim
Group Fields are empty
tag Data Seperator:+
tag length : empty
Delimiter : x'27'
Decimal Point : .
Escape and reserved chars: empty
the rest is default.

We are on MQSI CSD 4

Thanks

Nico
Back to top
View user's profile Send private message
Craig B
PostPosted: Mon Jun 23, 2003 3:48 am    Post subject: Reply with quote

Partisan

Joined: 18 Jun 2003
Posts: 316
Location: UK

Well x'27' will not work in your definitions because this will be taken as the string literal of an x followed my an apostrophe followed by the characters 27. There are three formats of delimiters and these are :

1) Character form
2) 0xYY hexadecimal form
3) U+xxxx Unicode mneumonic form.

In this case there should be no problems with any of the formats either entering ' or 0x27 or U+0027, since there should be no problems with conversions. What have you defined as the tags for the elements that are the children of the Tagged Delimited parent?

In the example I created I did not set the TDS settings at the messageset level. These should not affect your scenario since these should only be used when no setting has been made at the lower levels.
_________________
Regards
Craig
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Tag Delimited format
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.