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 » Mainframe, CICS, TXSeries » How To Define z/OS CICS transaction triggered by MQSeries?

Post new topic  Reply to topic
 How To Define z/OS CICS transaction triggered by MQSeries? « View previous topic :: View next topic » 
Author Message
queuetip
PostPosted: Thu Feb 03, 2005 9:00 am    Post subject: How To Define z/OS CICS transaction triggered by MQSeries? Reply with quote

Acolyte

Joined: 03 Feb 2005
Posts: 67

I have MQSeries defined in CICS for an AOR (application owning region). I want to trigger a CICS transaction (say ABCD) when a message hits a given queue. I believe I have the local queue, process and initiation queue set-up correctly to trigger the CICS transaction because the transaction does get triggered.

However, the when the transaction runs, it appears to loop - but only WHEN triggered by MQSeries. I can even see from the SYSVIEW monitor the application message gets pulled off the queue --- but gets put back as if it was backed out.

This CICS transaction is set-up as "terminal based". I wonder if the CICS transaction should be set-up as non-terminal and if that could be the problem. In other words, when it finishes is it attempting to go back to the terminal and since it's not there, it just recycles?

Are there CICS configuration standards for transactions triggered from MQSeries? Or any special configurations with the CKTI transaction that could prevent the "looping"?

Any help is greatly appreciated. Thanks! Mike
Back to top
View user's profile Send private message
JT
PostPosted: Thu Feb 03, 2005 10:14 am    Post subject: Reply with quote

Padawan

Joined: 27 Mar 2003
Posts: 1564
Location: Hartford, CT.

Although it's been some time since I've worked in the CICS-realm, I thought the CICS trigger monitor (CKTI) issued a 'EXEC CICS START TRANSID' for the value (CICS tranid) specified in the ApplId parameter of the Process definition.

Wouldn't a started CICS tran imply 'non-terminal' based?
Back to top
View user's profile Send private message
KathyB
PostPosted: Thu Feb 03, 2005 11:10 am    Post subject: triggering a CICS transaction Reply with quote

Apprentice

Joined: 02 Feb 2004
Posts: 30

JT is correct. We use mqseries triggering to kick off CICS applications. The CICS programs must be non terminal or background programs.
Back to top
View user's profile Send private message
JoePanjang
PostPosted: Thu Feb 03, 2005 6:56 pm    Post subject: Reply with quote

Voyager

Joined: 10 Jul 2002
Posts: 88
Location: Dengkil MALAYSIA

The last time(many years back) we hit this loop problem is caused by security access(RACF). We also include DLQ to avoid any loop in future so whenever the messages can't be processed, it will divert the msg into DLQ. Hope this help u.
_________________
Every good deed is charity...
Back to top
View user's profile Send private message
curtdan
PostPosted: Sun Mar 06, 2005 8:36 am    Post subject: Reply with quote

Novice

Joined: 15 May 2004
Posts: 15

Is the cics transaction abending?.. If it is and DTB(Dynamic Transaction Backout) is turned on, then your app would get the message from the queue, abend, which would cause everything associated with that transaction to be rolled back, including the message on the queue, thus triggering your app again.. and causing a loop.. This happend to me once. The application was running in the background though.
Back to top
View user's profile Send private message
Cliff
PostPosted: Mon Sep 05, 2005 7:09 am    Post subject: Reply with quote

Centurion

Joined: 27 Jun 2001
Posts: 145
Location: Wiltshire

As curtdan observes this is probably that old 'poison message' chestnut. Your application must look at the backout count and backout threshold in the MQMD each time it gets a message. If the count >= threshold, you know the message has been returned to the queue because of one or more abends, so you need to put it on some application error queue somewhere (and commit that put) before getting the next message. You can use the queue's backout requeue queue name to specify this.

Cheers -
Cliff
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » Mainframe, CICS, TXSeries » How To Define z/OS CICS transaction triggered by MQSeries?
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.