|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Different delimiters in TDS |
« View previous topic :: View next topic » |
Author |
Message
|
lunobili |
Posted: Wed Jul 09, 2003 8:09 am Post subject: Different delimiters in TDS |
|
|
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 |
|
 |
Craig B |
Posted: Thu Jul 10, 2003 7:49 am Post subject: |
|
|
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 |
|
 |
lunobili |
Posted: Thu Jul 10, 2003 11:21 pm Post subject: |
|
|
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 |
|
 |
Yanghui |
Posted: Fri Jul 11, 2003 12:04 am Post subject: |
|
|
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 |
|
 |
Craig B |
Posted: Fri Jul 11, 2003 1:33 am Post subject: |
|
|
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 |
|
 |
lunobili |
Posted: Fri Jul 11, 2003 7:07 am Post subject: This is by far beyond my possibility!!!!!!(TDS) |
|
|
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 |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|