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 » CSV TDS behaving differently from 6.0 to 6.1

Post new topic  Reply to topic
 CSV TDS behaving differently from 6.0 to 6.1 « View previous topic :: View next topic » 
Author Message
ChrisBUK
PostPosted: Wed Aug 26, 2009 5:53 am    Post subject: CSV TDS behaving differently from 6.0 to 6.1 Reply with quote

Newbie

Joined: 25 Mar 2008
Posts: 8

Hi,
We have a simple csv file to MRM parsing flow migrating from 6.0 to 6.1
Supposedly a simple lift and drop but for some reason it is now not working in 6.1.
No code has changed, just the broker versions.
Trace file shows the errors as :-

2009-08-26 11:44:49.999780 217 RecoverableException BIP2230E: Error detected whilst processing a message in node 'IS_MF_CC_MRA_REFORMAT_BLUECREST.DEFINE_FIELDS'.
The message broker detected an error whilst processing a message in node 'IS_MF_CC_MRA_REFORMAT_BLUECREST.DEFINE_FIELDS'. An exception has been thrown to cut short the processing of the message.
See the following messages for details of the error.
2009-08-26 11:44:49.999848 217 RecoverableException BIP2488E: ('.IS_MF_CC_REFORMAT_BLUECREST_DEFINE_FIELDS.Main', '23.4') Error detected whilst executing the SQL statement ''IF TRANSACTION.Entity1 IS NOT NULL THEN... ELSE... END IF;''.
The message broker detected an error whilst executing the given statement. An exception has been thrown to cut short the SQL program.
See the following messages for details of the error.
2009-08-26 11:44:49.999916 217 RecoverableException BIP2498E: ('.IS_MF_CC_REFORMAT_BLUECREST_DEFINE_FIELDS.Main', '23.7') : An error occurred when navigating to path element '2' of the field reference at the given location.
Further messages are generated that provide details of the error.
Correct the syntax of your ESQL expression in node ''.IS_MF_CC_REFORMAT_BLUECREST_DEFINE_FIELDS.Main'', around line and column ''23.7'', then redeploy the message flow.
2009-08-26 11:44:49.999984 217 ParserException BIP5285E: Parsing errors have occurred. Message set name: 'IS_MS_BC' Message format: 'CSV' Message type path: '/BLUECREST_MESSAGE/TRANSACTION/MaturityDate2'
Review other error messages to find the cause of the errors.
2009-08-26 11:44:50.000048 217 ParserException BIP5421S: Tagged/Delimited String Format (TDS) parsing error Current message : ''BLUECREST_MESSAGE'' Path to current element : ''/BLUECREST_MESSAGE/TRANSACTION/MaturityDate'' Offset from start of message : 228
See following errors for more details.
2009-08-26 11:44:50.000112 217 ParserException BIP5604E: Required markup was missing following a complex child or group ''MaturityDate''.
No markup was found following the complex child or group ''MaturityDate''. The parent of this child or group has a Data Element Separation of 'All Elements Delimited' or 'Variable Length Elements Delimited'.
All complex children within a type or group with a Data Element Separation of 'All Elements Delimited' or 'Variable Length Elements Delimited' must be followed by some markup. This markup could be a 'Repeating Element Delimiter', a 'Delimiter', a 'Group Terminator', or some markup from a higher level in the message model.
If the message model is valid correct the incoming message bit stream and parse again. If the incoming message bit stream is correct modify the message model to conform to the message bit stream. Then redeploy the message model to the broker and parse the message bit stream again.



Doing a google search for the error BIP5604E returns 1 entry from 2006
Is there some conversion we would need to do to get this to work again?

Thanks
Chris
Back to top
View user's profile Send private message
zpat
PostPosted: Wed Aug 26, 2009 6:32 am    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5866
Location: UK

Apply maintenance to WMB 6.1 to at least 6.1.03 (and maybe use 6.1.04).
Back to top
View user's profile Send private message
kimbert
PostPosted: Wed Aug 26, 2009 6:42 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Hard to justify the change of behaviour. You could raise a PMR.
Alternatively, you could take a debug-level user trace, look at what the TDS parsing has been doing, and see whether you can fix the model yourself.
Back to top
View user's profile Send private message
ChrisBUK
PostPosted: Wed Aug 26, 2009 6:48 am    Post subject: Reply with quote

Newbie

Joined: 25 Mar 2008
Posts: 8

Ok thanks, i will check the version we are on.
Is this an issue that was resolved in these fix packs?
Back to top
View user's profile Send private message
zpat
PostPosted: Wed Aug 26, 2009 6:52 am    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5866
Location: UK

The fix packs contain the list of APARs closed, there are a lot of them.

No point contacting IBM with a defect until you are on a recent fix pack level.
Back to top
View user's profile Send private message
ChrisBUK
PostPosted: Thu Aug 27, 2009 1:49 am    Post subject: Reply with quote

Newbie

Joined: 25 Mar 2008
Posts: 8

Thanks for the replies.
It now seems we are encoutering this description :-
"In earlier releases, the MRM TDS physical format Data Element Separations Fixed Length, Fixed Length AL3, and Tagged Fixed Length treat an element with a TDS Length of zero as fixed length when parsing, but as variable length when writing. Therefore, any data in the message tree for such an element is written to the bit stream without an exception being thrown.
In Version 6.1, the element is treated as fixed length when parsing and writing. Therefore, any data in the message tree for such an element causes a BIP5436 exception to be thrown, unless you have set the TDS property Truncate on output, in which case nothing is written."

That quote was from http://publib.boulder.ibm.com/infocenter/wmbhelp/v6r1m0/index.jsp?topic=/com.ibm.etools.mft.doc/ah20250_.htm
But with no real solution to the issue.

We had a zero length, space padded on the output and was getting the TDS writing error mentioned above. Using the Truncate on ouput gave us nothing written out (not exactly very handy)
We experimented and changing the message set to 10,000 length (message wont get this big, hopefully) and null padded seems to resolve the issue, but this is an awful solution.
What would be the more "correct" solution to avoid artifically setting a huge length for variable length strings?
On a side note we are running 6.1.0.2 and seems our middleware are reluctant to move to 6.1.0.3 or even 4, even though 3 is 9 months or more old......
Back to top
View user's profile Send private message
zpat
PostPosted: Thu Aug 27, 2009 2:47 am    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5866
Location: UK

You could try out the fixpacks on your own local PC broker to see if it helps.

WMB licenses allows use of WMB on a developers local PC without additional cost.
Back to top
View user's profile Send private message
kimbert
PostPosted: Thu Aug 27, 2009 3:26 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Your problem is not the same as the one which you quoted. Your problem is ocurring when the data is being parsed by the TDS parser. The APAR which you quoted is about the *writing* of TDS data. And the BIP number is different.
Back to top
View user's profile Send private message
ChrisBUK
PostPosted: Thu Aug 27, 2009 4:31 am    Post subject: Reply with quote

Newbie

Joined: 25 Mar 2008
Posts: 8

The first issue seemed to be resolved by making the RCD node "Immediate" rather than "on Demand".
I noticed this after putting a trace node right after it, from which i came to that solution.

This second set of error codes pops up towards the end of the flow when the trasnformed message is attempting to write back out.
The temporary "solution" for this seems to be to change the zero length (variable length) space padded definitions to 20,000 length, null padded......

Its just this doesnt seem a very tidy fix and of course we now hope we dont get anything longer than 20,000
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 » CSV TDS behaving differently from 6.0 to 6.1
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.