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 » To use propogate inside a loop?

Post new topic  Reply to topic
 To use propogate inside a loop? « View previous topic :: View next topic » 
Author Message
anoobrocks
PostPosted: Mon Oct 04, 2010 8:38 am    Post subject: To use propogate inside a loop? Reply with quote

Newbie

Joined: 28 Sep 2010
Posts: 8

Hi,
set a=1;
while a<=10 do
.
..
...
propagate to terminal 'out1';
set a=a+1;
end while;

Can i know the reason for messages moving to DLQ. As far as i know we can use propagate inside a loop to send multiple messages. Please suggest me a solution if i'm wrong anywhere.

Thank you.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Mon Oct 04, 2010 9:10 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

Nothing you have provided says that this code will cause messages to go to any queue, much less the DLQ.

More information == better answers.
Back to top
View user's profile Send private message
Vitor
PostPosted: Mon Oct 04, 2010 9:13 am    Post subject: Re: To use propogate inside a loop? Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

anoobrocks wrote:
Can i know the reason for messages moving to DLQ.


Because wherever they go after they've been propagated leads to a DLQ. There's nothing in your post that indicates the propagate has anything to do with anything. For example, if the next node down is an MQOutput node that points to a remote queue, and the target of that queue is full, the message will go to that queue manager's DLQ. Nothing to do with propagate or the broker.

anoobrocks wrote:
As far as i know we can use propagate inside a loop to send multiple messages.


It's pretty much the only use.

anoobrocks wrote:
Please suggest me a solution if i'm wrong anywhere.


Well posting some more information (like the reason code on the DLH) would be nice. Also something about the topology (i.e. where the messages go after this) would help.

As well as an assurance you're managing the message headers properly on propagate.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
anoobrocks
PostPosted: Mon Oct 04, 2010 9:17 am    Post subject: Reply with quote

Newbie

Joined: 28 Sep 2010
Posts: 8

Say.. I am trying to fetch around 10 records from table, do some logic and then propogate to the output Q... I need to do the same process again and again for the next ten records.. like wise nearly 10 times i need to do it. all the 10 messages moving to same output Q for 1 transaction.

So i tried using a loop say..

set a=1;
while a<=10 do
.
..
...
propagate to terminal 'out1';
set a=a+1;
end while;

I am just using an existing code for some enhansement work.. which was propagating first 10 records alone as 1 output message. Now i need to use it multiple times..
My flow is like mqinput--compute--mqoutput node.
The reason in DLH - MQFB_APPL_FIRST


Last edited by anoobrocks on Mon Oct 04, 2010 9:26 am; edited 2 times in total
Back to top
View user's profile Send private message
Vitor
PostPosted: Mon Oct 04, 2010 9:21 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

anoobrocks wrote:
Please correct me if i am wrong anywhere...


Where you're wrong is in repeating your original problem rather than giving us any additional information!

As both I & my most worhty associate have said, there's nothing about a queue in that code. So it's impossible to determine how your messages are getting to any queue never mind a dead letter one.

Either answer the questions you're being asked, or accept you're going to get very limited help from us. Unless a psychic turns up.

And I'm psychotic not psychic.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Vitor
PostPosted: Mon Oct 04, 2010 9:50 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

anoobrocks wrote:
My flow is like mqinput--compute--mqoutput node.
The reason in DLH - MQFB_APPL_FIRST


Don't add missing information by editing - make a new post.

If you look up MQFB_APPL_FIRST you'll notice it's reserved for application error. So what it means here is that your ESQL is abending.

Either take a user trace or use the debugger to catch the exception tree. It's a process commonly known as "problem resolution" and is often the result of changing code.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
ajit1981
PostPosted: Mon Oct 04, 2010 9:24 pm    Post subject: Reply with quote

Apprentice

Joined: 09 Apr 2010
Posts: 41
Location: Bangalore, Inida

Are you using two terminal(out and out1) from Compute node ? I think your out1 terminal is not connted to MqOutput node. either connect out1 terminal to MqOutput node or change your esql coding to

propagate to terminal 'out';
Back to top
View user's profile Send private message
zpat
PostPosted: Mon Oct 04, 2010 11:38 pm    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5866
Location: UK

Try using the options DELETE NONE FINALIZE NONE on the propagate.
Back to top
View user's profile Send private message
viswanath
PostPosted: Wed Oct 06, 2010 5:10 pm    Post subject: Reply with quote

Apprentice

Joined: 09 Jun 2005
Posts: 33

Use PROPAGATE with DELETE NONE.Also make sure you have RETURN FALSE at the end of the module.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Wed Oct 06, 2010 6:29 pm    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

There's no direct evidence that DELETE NONE is applicable here.
Back to top
View user's profile Send private message
rekarm01
PostPosted: Wed Oct 06, 2010 9:00 pm    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 1415

mqjeff wrote:
There's no direct evidence that DELETE NONE is applicable here.

There's also no direct evidence that FINALIZE NONE is applicable here ... (or even that RETURN FALSE is applicable here).

By default, OutputRoot (and any other Output trees) are deleted after a PROPAGATE statement, so it's useful to add statements to rebuild them as needed, within the loop.

"RETURN TRUE" implies an additional PROPAGATE statement; "RETURN FALSE" does not.
Back to top
View user's profile Send private message
anoobrocks
PostPosted: Thu Oct 07, 2010 9:10 am    Post subject: Reply with quote

Newbie

Joined: 28 Sep 2010
Posts: 8

zpat wrote:
Try using the options DELETE NONE FINALIZE NONE on the propagate.

Yes it worked when i used Delete none. Thanks a lot. Sorry for the delay in reply.
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 » To use propogate inside a loop?
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.