CICS program ending up in a loop



Support for MQSeries and Websphere Message Oriented Middleware communication systems for z/OS

CICS program ending up in a loop

Postby mmt_bit » Fri Feb 27, 2009 12:32 pm

We have a CICS transaction which is triggered by a message in MQ.
The CICS program reads all the messages in the queue until the queue becomes empty. The trigger type defined is 'F'.

But when there is an error encountered in the CICS program, it does a ROLLBACK and thus the message is put back into the Queue.
This message (which caused the error) triggers CICS program again and thus ending up in a loop until it is processed successfully.
Ideally this should not happen. CICS program should not get triggered until a new message comes in.

Please advise.
mmt_bit
 
Posts: 7
Joined: Thu Jan 15, 2009 3:44 pm
Has thanked: 0 time
Been thanked: 0 time

Re: CICS program ending up in a loop

Postby dick scherrer » Sat Feb 28, 2009 1:12 am

Hello,

CICS program should not get triggered until a new message comes in
This is a "new message". . .

You might consider capturing the info from the message (so someone could be informed that the message had problems and needed to be corrected/resent - this should be very rare) and deleting the message, rather than the rollback. You would need to ensure that there were no other problems if the code was changed this way.
Hope this helps,
d.sch.
User avatar
dick scherrer
Global moderator
 
Posts: 6268
Joined: Sat Jun 09, 2007 8:58 am
Has thanked: 3 times
Been thanked: 93 times

Re: CICS program ending up in a loop

Postby mmt_bit » Mon Mar 02, 2009 8:28 am

Thanks for the reply.
The error is not caused because the MQ message is incorrect. The error is because of the unavailability of the DB2 resource.

Note: The EOD (End Of Day) job runs in the midnight. This job uses the same DB2 tables. So the DB2 resource is unavailable until this job is complete.

Regards,
Manmohan
mmt_bit
 
Posts: 7
Joined: Thu Jan 15, 2009 3:44 pm
Has thanked: 0 time
Been thanked: 0 time

Re: CICS program ending up in a loop

Postby dick scherrer » Mon Mar 02, 2009 9:28 am

Hello,

You have a scheduling problem rather than a checkpoint/rollback problem. . .

Work with your cics support and/or scheduling people to make the cics transaction unavailable while this eod is running.
Hope this helps,
d.sch.
User avatar
dick scherrer
Global moderator
 
Posts: 6268
Joined: Sat Jun 09, 2007 8:58 am
Has thanked: 3 times
Been thanked: 93 times


Return to WebSphere MQ

 


  • Related topics
    Replies
    Views
    Last post