View previous topic :: View next topic
|
Author |
Message |
rbrkumaran1
New User
Joined: 12 Mar 2008 Posts: 7 Location: India
|
|
|
|
CICS / DB2 PGM A links to CICS / DB2 PGM B... table1 is updated successfully in PGM B and table 2 update fails in WHEN OTHER condition in PGM B. Here we load err msg in commarea and execute CICS RETURN to go to PGM A. In this situation whether table1 update will be commited or not?
Assumption: both the program plan are not common. They have separate plans.
Please provide me an answer on whether the COMMIT will happen for table 1 update. |
|
Back to top |
|
|
Nic Clouston
Global Moderator
Joined: 10 May 2007 Posts: 2455 Location: Hampshire, UK
|
|
|
|
OK, what bit of the manual did you NOT understand with regards to COMMIT? |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
Back to top |
|
|
rbrkumaran1
New User
Joined: 12 Mar 2008 Posts: 7 Location: India
|
|
|
|
Nic Clouston wrote: |
OK, what bit of the manual did you NOT understand with regards to COMMIT? |
I do understand the concept of COMMIT and Syncpoint. The case I was explaining doesnt have them. I wanted to know how this kind of situation is handled, as my porject program has this kind of coding.
I got to know that the task number is assigned by CICS for the main program and till that task is completed, the commit will NOT be peformed though there were intermediate CICS RETURN stmts. CICS RETURN stmt should return the control to CICS to get the changes COMMITted. If the control is transferred to calling pgm, the COMMIT WILL NOT OCCUR. |
|
Back to top |
|
|
Nic Clouston
Global Moderator
Joined: 10 May 2007 Posts: 2455 Location: Hampshire, UK
|
|
|
|
Commits are always there - even if only by default. |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
the implicit commit performed by cics will not occur until the task has sucessfully completed - has nothing to do with xctls and xlinks.
if the tasks abends then cics will perform a rollback.
if your tasks end normally, then cics will perform a commit.
your situation sounds like you need to do an explict rollback when your second update fails, in order to back out the first updates - if you want to backout the first updates.
you talk about plans and prm xlinks/xctl was useless,
though it did let us know your skill level.
in cics (as in batch) everything is run under a package which includes the different plans. |
|
Back to top |
|
|
|