View previous topic :: View next topic
|
Author |
Message |
anshuljain26
New User
Joined: 04 Apr 2010 Posts: 37 Location: Chandigarh
|
|
|
|
Hi,
To fix an issue in our application, we require an MQ rollback. Following is the scenario:
1)Program A puts message on MQ ABC.
2)MQ ABC, has trigger Y, so it invokes a transaction XX which further invokes a program B.
3)Program B is invoked in MQ region which further invokes a program C in ZZ region i.e. in AOR
4)Now, for a condition i want to rollback the changes and put the same message on MQ, that program C recieved via B, and B through MQ so that when Rollback is issued message on MQ ABC is there.
Way I am trying:
I am issuing EXEC CICS ROLLBACK END-EXEC.
This definitely rollback the DB2 changes and CICS changes, but the message from MQ ABC was consumed.
What i dont want to try:
Definitely, we can write the same message back on MQ from prog C, but that's the last option we have kept with us, coz that will require lot of access and permissions.
Could you please help me.
I am sorry for such a long message but thought of describing the situation completely. Please let me know in case any further information is required.
Thanks.
Anshul |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
suggest you look into RRSAF. if your are doing MQS and DB2 within the same transaction,
some analyst at your place did a great job of not doing his/her job. |
|
Back to top |
|
|
anshuljain26
New User
Joined: 04 Apr 2010 Posts: 37 Location: Chandigarh
|
|
|
|
Thanks, Dick.
i will look into RRSAF, between what are the design issues for MQS & DB2 within same transaction.
Could you please help me understand?
Thanks. |
|
Back to top |
|
|
anshuljain26
New User
Joined: 04 Apr 2010 Posts: 37 Location: Chandigarh
|
|
|
|
I was not able to find much information on RRSAF. Could you please help? |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
Read chapter 3 in ABCs of z/OS System Programming: Volume 5
that will provide you with the basics.
This is not something that you can implement without the support of your Sys-programmers, CICS, MQS, (Websphere) and DB2 support people.
Since RRSAF is a paid-for option, your site may have decided to not purchase RRSAF.
which means you are back at the begining dealing with multiple resource backout.
Since DB2 commit/rollback is normally controlled via CICS,
don't understand why your site does not have MQS already tied it.
It may be that instead of a CICS ROLLBACK, you need to do a DB2 RRS Rollback or make use of the MQS RRS Rollback.
the above I leave to you to find in the MQS/Websphere documentation. |
|
Back to top |
|
|
Garry Carroll
Senior Member
Joined: 08 May 2006 Posts: 1193 Location: Dublin, Ireland
|
|
|
|
What are your setting for MQGMO-OPTIONS ? To be able to rollback the MQ message you need to specify MQGMO-SYNCPOINT, otherwise the MQGET will consume the message immediately. Rollback will reinstate the message in the same position on the queue, so be sure to check the BackoutCount to prevent interminable loop.
Garry. |
|
Back to top |
|
|
Marso
REXX Moderator
Joined: 13 Mar 2006 Posts: 1353 Location: Israel
|
|
|
|
anshuljain26 wrote: |
Way I am trying:
I am issuing EXEC CICS ROLLBACK END-EXEC. |
Funny, I cannot find this command in the documentation
I always use EXEC CICS SYNCPOINT ROLLBACK END-EXEC and it backs out all recoverable resources, DB2 and MQ...
Maybe the MQ queue is not part of the recoverable resources |
|
Back to top |
|
|
|