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 » Different delimiters in TDS

Post new topic  Reply to topic
 Different delimiters in TDS « View previous topic :: View next topic » 
Author Message
lunobili
PostPosted: Wed Jul 09, 2003 8:09 am    Post subject: Different delimiters in TDS Reply with quote

Novice

Joined: 06 Nov 2001
Posts: 17

Hi everibody, I have the following message in input:
Code:
&&MQIV]003]SASD]P001]001]2003-07-09]10:01:27]IF1CLNT100          ]LIMO                ]                    ]SDIIP001K2                                                  ]000000576]000003]A]                    ]    ]                                        ]      ]                                        ]M;PG;12345     ;1234567;1234567;01;12345678901234567890

as you can see the first part is delimited by ']' while another part is delimited with ';'. How can I handle this situation? I tried using three Compuound Types: one for the part delimited by ']' one for the part delimited by ';' and a main one that contains the previous two. The problem is that it seems to be compulsory to set a delimiter also for the main compuond type, but I don't know what to write.
Can anybody help me please?

Thanks' in advance, Luca.
Back to top
View user's profile Send private message
Craig B
PostPosted: Thu Jul 10, 2003 7:49 am    Post subject: Reply with quote

Partisan

Joined: 18 Jun 2003
Posts: 316
Location: UK

When you say that you have used three compound types, does this mean you have defined the parent compound type as a sequence and nested two compound types directly in the parent structure. Or have you created two compound elements that are based on the two child compound types and this means the parent compound type has two child compound elements??

If it is the former of these two, then in theory should be able to set the parent compound type delimiter to be anything since it will never be used. the parent compound delimiter will be used to separate its children, but if the two compound types are nested directly, then the parent won't have any direct children from a parsing point of view. In these type cases you could set a parent delimiter of N/A as a reminder to yourself that it wont be used.
_________________
Regards
Craig
Back to top
View user's profile Send private message
lunobili
PostPosted: Thu Jul 10, 2003 11:21 pm    Post subject: Reply with quote

Novice

Joined: 06 Nov 2001
Posts: 17

Thank you very much for your answere. Unfortunately I found out that the message is much, much more difficult than I thought initially, but at least your answere is a good hint and I am sure I will use it.
Back to top
View user's profile Send private message
Yanghui
PostPosted: Fri Jul 11, 2003 12:04 am    Post subject: Reply with quote

Disciple

Joined: 08 May 2002
Posts: 151
Location: Dublin, Ireland

Hi,

If I were you, I prefer to use BLOB domain to seperate them into two parts and use different MRMs to parse them.

Or you can use OVERLAY function to replace one delimitor (for example "]") by another one (";") and then change to MRM domain and parse the whole as one.

It shouldn't be too difficult to get it work. Hope it helps.

Regards

-Yanghui
Back to top
View user's profile Send private message Send e-mail
Craig B
PostPosted: Fri Jul 11, 2003 1:33 am    Post subject: Reply with quote

Partisan

Joined: 18 Jun 2003
Posts: 316
Location: UK

The WMQI product does offer the flexibility to do the same task a number of ways, and as the last update correctly states, it is possible to perform BLOB and ESQL processing to replace the second set of delimiters and then parse against one model with one delimiter defined. The choice of implementation is really down to the administration overhead and the execution expectation of the implementation.

When creating development artefacts such as message flows and messageSets, then you have to comfortable with the understanding of what you have implemented such that you can maintain it, and ensure its maintainability in the future. Its true that some MRM models can be extremely complex and difficult to understand exactly what they do. This can make understanding and maintainability difficult in some case. The BLOB and ESQL processing should be easier to understand and offers a readable form in which developers can see what type of processing is being performed.

However, the BLOB and ESQL processing will not perform as well as the parser processing to do the same task. Iteratively searching a message for a certain byte sequence and manually replacing it will take time to process, especially if it is a large message. This is also added to by the fact that ESQL processing has to be performed and means an addition of a compute node to perform this extra processing. This ESQL processing can be simplified in WBIMB V5 which now has an ESQL REPLACE function.

If the performance/throughput of this message flow is not critical, then obviously there will be no problems with this approach. However, if performance is critical, then the use of a parser is usually preferred over ESQL processing. The MRM-TDS usually has the functionality and flexibility to model most messages, but as previously mentioned, some definitions can be complex.

The choice is yours.
_________________
Regards
Craig
Back to top
View user's profile Send private message
lunobili
PostPosted: Fri Jul 11, 2003 7:07 am    Post subject: This is by far beyond my possibility!!!!!!(TDS) Reply with quote

Novice

Joined: 06 Nov 2001
Posts: 17

Hi every body I've got exactly this message to parse with TDS

&&MQIV]003]SASD]P001]001]2003-07-09]10:01:27]IF1CLNT100 ]LIMO ] ]SDIIP001K2 ]000000576]000003]A] ] ] ] ] ]

1234567890;1234567;12345;1234567890123456789;1234567;
<EOR>;+;PG;12345 ;1234567;1234567;01;12345678901234567890;1234567890123456789;
01;12345678901234567890;123456789012;
01;12345678901234567890;1234567890123456789;

<EOR>;+;PG;12345 ;1234567;1234567;01;12345678901234567890;12345678901234;
01;12345678901234567890;9012345678901234567890123456789012345678901234567890;
01;12345678901234567890;1234567890123456;
<EOR>;

The red and the orange part are headers of fixed length and then I've got a repeating structure within another repeating structure. The outer repeating part is delimited by "<EOR>" while the inner one is represented in green. In the green structure there are three fields repeated a certain number of times. Despite my graphical representation all the fields everywhere are actually of fixed length, but with all these delimiters I don’t think that the length is necessary. I tried creating a compound type for each sub structure but I cannot find a way to use "<EOR>" as the delimiter. Should it be considered as a "Repeating Element Delimiter" or as a "Tagged Fixed Length" with 5 as length?
I’ve been hitting my head for the last two days, but I’m still very far from the solution.

Once again thanks’ to anybody who would be kind enough to help me.

Bye Luca.
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 » Different delimiters in TDS
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.