Author |
Message
|
mqbrk_newbie |
Posted: Thu Jun 23, 2005 6:43 pm Post subject: propagate statement! |
|
|
 Acolyte
Joined: 13 Sep 2004 Posts: 70
|
I need to break a big XML file into 'n' number of xml file. Then perform some transformation for each xml file , convert each xml file into a TDS format and then append it back to a big file in TDS format. Can I achieve it by propagate stament. I can break one file into N number of file using propagate statement. How can I combine everything again together in 1 commit.
Can anyone please help me regarding this...
thanks |
|
Back to top |
|
 |
EddieA |
Posted: Thu Jun 23, 2005 6:50 pm Post subject: |
|
|
 Jedi
Joined: 28 Jun 2001 Posts: 2453 Location: Los Angeles
|
Quote: |
Can I achieve it by propagate stament |
Probably not. When the Propagate is issued, whatever is in the output tree is send down the rest of the flow until it finishes. Then control returns to the next statement after the propagate.
Cheers, _________________ Eddie Atherton
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0 |
|
Back to top |
|
 |
mqbrk_newbie |
Posted: Thu Jun 23, 2005 7:30 pm Post subject: propagate! |
|
|
 Acolyte
Joined: 13 Sep 2004 Posts: 70
|
Thanks for the quick response. In that case how can I append all the messages together. The only way that I Could split the message and apply some transformation is through propagate. How can I put all messages together...
Is there any other way that you could help me out solving this
thanks in advance |
|
Back to top |
|
 |
mqbrk_newbie |
Posted: Thu Jun 23, 2005 7:43 pm Post subject: propagate statement! |
|
|
 Acolyte
Joined: 13 Sep 2004 Posts: 70
|
Is it possible that can we store the output coming after processing through the progate terminal in a environment variable and concatenate and sent everything together in the ouput queue in 1 commit.... |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Jun 24, 2005 3:21 am Post subject: Re: propagate statement! |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
mqbrk_newbie wrote: |
Is it possible that can we store the output coming after processing through the progate terminal in a environment variable and concatenate and sent everything together in the ouput queue in 1 commit.... |
No. Changes to the Environment in one propagate will not be visible in the next.
But if you really had to, you could write a loop using RouteToLabel/Label nodes. Then changes to the Environment would carry through. And you could put loop counters and such in the Environment. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
mgk |
Posted: Fri Jun 24, 2005 4:17 am Post subject: |
|
|
 Padawan
Joined: 31 Jul 2003 Posts: 1642
|
Hi,
That's not quite correct. PROPAGATE only clears the OutputRoot, OutputLocalEnvrionment and OutputExceptionList Tree. The Input* trees and the Environment tree are NOT cleared or altered in any way.
Regards, _________________ MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions. |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Jun 24, 2005 4:27 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
mgk wrote: |
Hi,
That's not quite correct. PROPAGATE only clears the OutputRoot, OutputLocalEnvrionment and OutputExceptionList Tree. The Input* trees and the Environment tree are NOT cleared or altered in any way.
Regards, |
Not my best week, by a long shot.
So mqbrk_newbie can propagate each chunk down, process it, and then do something to notice that the last chunk has been processed and then aggregate from Environment.
But mqbrk_newbie will have to take steps to ensure that each chunk except the final aggregated input doesn't end up at an Output node of some kind. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
mqbrk_newbie |
Posted: Fri Jun 24, 2005 10:22 am Post subject: propagate statement! |
|
|
 Acolyte
Joined: 13 Sep 2004 Posts: 70
|
Is there any possible way to do this . I need to break a large XML and apply some transformation and and then combine together in TDS format in one commit. Any one could please help me regarding this. |
|
Back to top |
|
 |
EddieA |
Posted: Fri Jun 24, 2005 1:32 pm Post subject: |
|
|
 Jedi
Joined: 28 Jun 2001 Posts: 2453 Location: Los Angeles
|
jefflowrey wrote: |
So mqbrk_newbie can propagate each chunk down, process it, and then do something to notice that the last chunk has been processed and then aggregate from Environment.
But mqbrk_newbie will have to take steps to ensure that each chunk except the final aggregated input doesn't end up at an Output node of some kind. |
Cheers, _________________ Eddie Atherton
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0 |
|
Back to top |
|
 |
martinrydman |
Posted: Mon Jun 27, 2005 1:35 am Post subject: |
|
|
 Centurion
Joined: 30 Jan 2004 Posts: 139 Location: Gothenburg, Sweden
|
Hi,
I've done this exact kind of processing a number of times. The basic steps are:
1. In one compute node, PROPAGATE each piece of the message as a separate output root. Also, keep a flag in Environment (like Environment.lastmessage) that is set to true when the last message has been processed.
2. In a compute node downstream, collect each message in a subtree in Environment (preferably in an array, like Environment.Msg[1], Environment.Msg[2] and so on)
3. In this node, when Environment.lastmessage is true, collect all messages to one output root again
Good luck!
/Martin |
|
Back to top |
|
 |
mqbrk_newbie |
Posted: Mon Jun 27, 2005 12:18 pm Post subject: propagate statement! |
|
|
 Acolyte
Joined: 13 Sep 2004 Posts: 70
|
thanks a lot martin, I will try doing your method and will get back to you.. |
|
Back to top |
|
 |
|