|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
|
|
How To Define z/OS CICS transaction triggered by MQSeries? |
« View previous topic :: View next topic » |
Author |
Message
|
queuetip |
Posted: Thu Feb 03, 2005 9:00 am Post subject: How To Define z/OS CICS transaction triggered by MQSeries? |
|
|
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 |
|
|
JT |
Posted: Thu Feb 03, 2005 10:14 am Post subject: |
|
|
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 |
|
|
KathyB |
Posted: Thu Feb 03, 2005 11:10 am Post subject: triggering a CICS transaction |
|
|
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 |
|
|
JoePanjang |
Posted: Thu Feb 03, 2005 6:56 pm Post subject: |
|
|
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 |
|
|
curtdan |
Posted: Sun Mar 06, 2005 8:36 am Post subject: |
|
|
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 |
|
|
Cliff |
Posted: Mon Sep 05, 2005 7:09 am Post subject: |
|
|
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 |
|
|
|
|
|
|
Page 1 of 1 |
|
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
|
|
|
|