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 » TDS repeating nested groups not parsing correctly

Post new topic  Reply to topic
 TDS repeating nested groups not parsing correctly « View previous topic :: View next topic » 
Author Message
sbatta-mqnet
PostPosted: Sat Jan 24, 2004 2:13 am    Post subject: TDS repeating nested groups not parsing correctly Reply with quote

Newbie

Joined: 24 Jan 2004
Posts: 6
Location: washington

Hi,
I have a TDS message that has nested repeats e.g.

Claim
ClaimantName
ClaimDate
Coverage Period(35)
DateFrom
DateTo
Adjustments (10)
AdjustmentDate
AdjustmentAmount

I have set this up with a fixed length TDS message, the message gets only partially parsed and I can see all the 35 Repeats of the coverage period, but for each I only get 1 adjustment each and it complains about the length of the bitstream. If I remove the repeat on the Coverage period and make it from 35 to 1 I can see all the 10 Ajustments for that Coverage period.

Is this a bug, something I am missing. Can this even be done with a TDS message format or I have to use CWF. I heard that you can do everything you can do in CWF in TDS and for consistency use TDS in most of the places..

Any help will be appreciated..

Thanks
Sanjeev[/list]
_________________
Thanks
Sanjeev Batta
Coraxis Corporation
Back to top
View user's profile Send private message Yahoo Messenger MSN Messenger
jefflowrey
PostPosted: Sun Jan 25, 2004 6:43 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Yes, you can do this in TDS.

Can you be more specific about the model, particularly the repeating elements?
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
Lisa
PostPosted: Sun Jan 25, 2004 6:06 pm    Post subject: Parsing Reply with quote

Master

Joined: 07 Jun 2002
Posts: 287
Location: NJ

What CSD are you using?

Lisa
Back to top
View user's profile Send private message Send e-mail
kimbert
PostPosted: Mon Jan 26, 2004 2:32 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Quote:
I heard that you can do everything you can do in CWF in TDS and for consistency use TDS in most of the places

Don't use TDS for parsing a binary message. Even if its possible, it will be much slower than using CWF.
TDS is for parsing messages which consist mostly of text. It is very flexible (as you rightly say) but it does not perform as well as CWF on C/COBOL style messages.
If you have a mixture of text and binary within the same message, it may be possible to use TDS to do everything. But even then, I would be tempted to split up the message, and use some ESQL to parse the individual parts using the appropriate parser.
Back to top
View user's profile Send private message
kimbert
PostPosted: Mon Jan 26, 2004 2:46 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Is the number of repeats fixed or variable?
Are there tags on the 'Coverage' and 'Adjustments' fields?
If you have a varying number of repeats in a non-tagged fixed-length environment, that's more difficult to handle. Probably best if you give us an example bitstream to look at.
Back to top
View user's profile Send private message
sbatta-mqnet
PostPosted: Mon Jan 26, 2004 6:47 pm    Post subject: Here are some more details Reply with quote

Newbie

Joined: 24 Jan 2004
Posts: 6
Location: washington

My Message structure is like follows

Claim
--ClaimantName
--ClaimDate
--Coverage Period [Repeats 35 times]
----DateFrom
----DateTo
----Adjustments [Repeats 10 times, for each Coverage period]
------AdjustmentDate
------AdjustmentAmount

I have defined the structure in MRM and using a Physical layer of TDS type.

Its not a binray message, its a fixed length structure coming from an IBM 390 mainframe/natural program. So all the repeating groups are fixed length.

I am using version 2.1 with service fix 3 or higher.
Some other things that I have been able to analyze
1. I can see the first repeating group come back as 35 times in the debugger, but for each of them I get only 1 Adjustment, instead of 10.
2. As soon as I put the Custom Wire format, the message just parsed.
3. If I make the first repeating group repeat only 1 times, i.e in the connections Tab I change the min occurs and max occurs to 1, I can see the nested group come back 10 times.
4. Now the most interesting part, which makes me thing that this a bug..If I create another element right after the repeating group at the level ( repating 35 times) making my structure look like this..

Claim
--ClaimantName
--ClaimDate
--Coverage Period [Repeats 35 times]
----DateFrom
----DateTo
----Adjustments [Repeats 10 times, for each Coverage period]
------AdjustmentDate
------AdjustmentAmount
----dummyFieldForTDS

I get it to work, just right with 35 repeating coverage periods each with 10 adjustments. The bottom line is I the Adjustment repeating group is the first or the last element in the Coverage period repeating group, the whole thing is messed up, including that field and it just works fine.

So I have considered 2 options either go with the CWF or have our mainframe program provide that extra space or a 0 character that I can put into dummyFieldForTDS to get it to work, I have chosen the second option till I can find a better solution or a reply back from IBM support, telling me the TDS can't handle it.

I am still hoping that its something that I am missing and it should be simple.

Thanks
Sanjeev
_________________
Thanks
Sanjeev Batta
Coraxis Corporation
Back to top
View user's profile Send private message Yahoo Messenger MSN Messenger
kimbert
PostPosted: Tue Jan 27, 2004 1:45 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Thanks - really good info there.
I suggest using CWF, since it seems to work. I don't see any advantage in deliberately avoiding CWF if you are parsing fixed-length data. After all, the message tree will look identical whether you use TDS or CWF, so your ESQL will be the same either way.
I'll take a look at your scenario sometime, and see whether I can work out what's going wrong. I don't think it's a bug, but I suppose its just possible...
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » TDS repeating nested groups not parsing correctly
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.