Author |
Message
|
mqmaniac |
Posted: Thu May 25, 2006 7:12 am Post subject: Can Trace Node Count The Number of Items Written to The File |
|
|
 Master
Joined: 27 Dec 2005 Posts: 201
|
Hello Guru's,
I am WMQI 2.1.9
I am using Trace Node to Count The Number of Records processed by A flow.
The Esql pattern I am using is ${Body."D115_PYEE_COD"};
The OutPut is:
324trfr;
2345;
234r;
Which writes all the Records sequentially.
Can I Assign Line Numbers to the Trace File ??
Does Esql has these Options?
Is there any manual which has all the Trace Patterns Listed?
Please Help |
|
Back to top |
|
 |
jefflowrey |
Posted: Thu May 25, 2006 7:22 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
There isn't a way to automatically add line numbers.
There aren't really any "patterns", other than just ${}.
${} evaluates whatever is inside it as an ESQL message tree path. So you can't, for example, include full ESQL code in there - but any valid path will work.
If you just want to count the records, then you could do
Code: |
Set Environment.Variables.RecordCount=CARDINALITY(InputBody."D115_PYEE_COD"); |
and then in your trace add ${Environment.Variables.RecordCount}. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
mqmaniac |
Posted: Thu May 25, 2006 12:09 pm Post subject: |
|
|
 Master
Joined: 27 Dec 2005 Posts: 201
|
Thanks for the Reply..Couldnt Make it work due to..
I have 4000 msg's of 10,000 bye lengh, which need to be sliced into 500byte Mesgs and Transformed to XML.
I have used..
Input-->Compute(Slice The msg's)-->RCD(Transformto MRM)--
-->Compute(TransformtoXml).
The Msg's are Routed to DeadLetterQueue after 2 Msg's being Tranformed.
The total No.of Expected msg's were:4000*20=80,000 XMl's
I have used Environment Variables here..but Did not Work.
Isn't this Possible?
I am unable to get this Anwsered?
I made it work when I Sliced the Messages bytes and Sent to a temporary Queue and then transformed..after reading from this temporary Queue.
I coudn't use the Environment Variable as They have become 2 Different Flows.
Is there any way Out..
Pls help.. |
|
Back to top |
|
 |
wschutz |
Posted: Thu May 25, 2006 12:17 pm Post subject: |
|
|
 Jedi Knight
Joined: 02 Jun 2005 Posts: 3316 Location: IBM (retired)
|
Which problem are you trying to solve ? The fact that your counter isn't working or the fact that messages are going to the dlq? _________________ -wayne |
|
Back to top |
|
 |
mqmaniac |
Posted: Thu May 25, 2006 12:24 pm Post subject: |
|
|
 Master
Joined: 27 Dec 2005 Posts: 201
|
I am Triyng to solve the counter Problem..which wouldnt work If the messages are Routed to DLQ...
If I use 2 Diff. Flows then I cant use the Counter..
I am stuck with WMQI 2.1.9 |
|
Back to top |
|
 |
jefflowrey |
Posted: Thu May 25, 2006 1:02 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
You can put two trace nodes in two different flows that write to the same trace file.
You can use a database table for your counting, instead.
But here's the simple fact. If you are trying to process a message made up of many pieces, and you get an exception trying to process the third piece - then either the problem is with the second piece or the third piece.
And you should debug the exception, not try and count stuff.
A complete trace pattern that I tend to use for debugging in general is as follows.
Code: |
**********************************************
Root
${Root}
Environment
${Environment}
LocalEnvironment
${LocalEnvironment}
ExceptionList
${ExceptionList} |
This will put into the trace file the complete state of all message trees at the point that the trace node gets called. Each message through the flow's state will be separated from the next by the row of *'s. And if I want to look at just the Local Environment, I can do a "find" in say Notepad for the next occurance of "LocalEnvironment". _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
|