View previous topic :: View next topic |
Author |
Message |
edward.samson Beginner
Joined: 08 Mar 2012 Posts: 6 Topics: 2
|
Posted: Thu Mar 08, 2012 5:19 pm Post subject: Cancel Interval control transaction |
|
|
hi,
i have a transaction A which updates status on a DB2 table and does a EXEC CICS START to transaction B without any data. B then reads from this DB2 table and processes the pending rows sequentially.
So if there is an issue with one of the input rows in DB2 table the transaction B abends (1st time) and it is coded so that it can restart itself in 5 mins.
Now the problem is that when B abends (1st time) and is waiting to restart in 5 mins, transaction A updates the status on another row and EXEC CICS STARTs transaction B (2nd time). Because B is always started without data and it tries to read from the DB2 table, this time too it abends (2nd time) and a restart is scheduled for this occurrence of B also in 5 mins (2nd time).
So what happens is after an hour there are 100s of occurrence of transaction B waiting in ICE (Interval control element) list.
Is it possible to check in program A before starting B, if there is already a transaction B on the ICE list.
Hope i made the issue clear. |
|
Back to top |
|
|
kolusu Site Admin
Joined: 26 Nov 2002 Posts: 12367 Topics: 75 Location: San Jose
|
|
Back to top |
|
|
edward.samson Beginner
Joined: 08 Mar 2012 Posts: 6 Topics: 2
|
Posted: Fri Mar 09, 2012 8:19 am Post subject: |
|
|
Dear Kolusu, Thanks for this link. i indeed read the same information from another such link. But this link explains why you may not be able to see the transaction started although EXEC CICS START was issued.
But my issue is that before i do EXEC CICS START transaction B, i would like to know if B is in the Interval control element list. |
|
Back to top |
|
|
dbzTHEdinosauer Supermod
Joined: 20 Oct 2006 Posts: 1411 Topics: 26 Location: germany
|
Posted: Fri Mar 09, 2012 9:09 am Post subject: |
|
|
what kind of errors are you incurring in transaction B
that automatically repair themselves within 5 minutes? _________________ Dick Brenholtz
American living in Varel, Germany |
|
Back to top |
|
|
edward.samson Beginner
Joined: 08 Mar 2012 Posts: 6 Topics: 2
|
Posted: Fri Mar 09, 2012 10:17 am Post subject: |
|
|
hi, the transaction is not abending because of any CICS errors. Transaction B is defined in its own transaction class as single threaded.
As an example, lets say the DB2 table used in transaction B is unavailable, then transaction B begins to abend.
In this case if the DB2 table is unavailable for an hour, there are 100s of interval control waits in omegamon (because transaction A keeps starting transaction B frequently) and the transaction is starting almost every other second and abending. |
|
Back to top |
|
|
dbzTHEdinosauer Supermod
Joined: 20 Oct 2006 Posts: 1411 Topics: 26 Location: germany
|
Posted: Fri Mar 09, 2012 11:22 am Post subject: |
|
|
well all i can say is you are trying to band-aid a bad design.
had you used a queue for ATI you would not have all these STARTED TASKS.
as far as walking thru ICE control blocks (which are attached to the CSA)
i would not suggest it, but it can be done. _________________ Dick Brenholtz
American living in Varel, Germany |
|
Back to top |
|
|
edward.samson Beginner
Joined: 08 Mar 2012 Posts: 6 Topics: 2
|
Posted: Fri Mar 09, 2012 11:42 am Post subject: |
|
|
by "Queue for ATI" do you mean putting them on an MQ and setting them up as "on first message trigger"? If yes then this option is ruled out because this would mean going back to square 1.
How do i do it using the Common area? i have no clue. Can you provide me more details on this? |
|
Back to top |
|
|
dbzTHEdinosauer Supermod
Joined: 20 Oct 2006 Posts: 1411 Topics: 26 Location: germany
|
|
Back to top |
|
|
dbzTHEdinosauer Supermod
Joined: 20 Oct 2006 Posts: 1411 Topics: 26 Location: germany
|
Posted: Fri Mar 09, 2012 1:28 pm Post subject: |
|
|
you could simply remove the START TASK in program B.
worse case is you have to wait a while for another Program A to execute,
at which time, Program B will process the 'trans' that "abended" as well as the new.
or
instead of a START TASK, pgm/b could issue a SUSPEND or DELAY _________________ Dick Brenholtz
American living in Varel, Germany |
|
Back to top |
|
|
|
|