View previous topic :: View next topic |
Author |
Message |
S.MADHUMATHI Beginner
Joined: 25 Jun 2004 Posts: 13 Topics: 5
|
Posted: Fri Sep 17, 2004 5:05 am Post subject: Recovery of TSQs created in Main memory when a tran abends |
|
|
I read that it is possible to recover TSQ resource used by the transaction until the time of the transaction failure (abend) but TSQ defined only in auxiliary storage is "recoverable", whereas TSQ in "main" storage is not recoverable.
What concerns me is I wrote a transaction which writes into a TSQ created using "Main" and forcefully caused an "abend" to occur mid-way. The transaction abended as expected. But when I looked into the TSQ using CEBR, I could still find the queue with data intact which contradicts the above theory.
Can any one shed some light on this? |
|
Back to top |
|
 |
kolusu Site Admin

Joined: 26 Nov 2002 Posts: 12380 Topics: 75 Location: San Jose
|
Posted: Fri Sep 17, 2004 5:41 am Post subject: |
|
|
Madhumati,
May be the TSQ is defined in the temporary storage table(TST) as recoverable. You can define using the DFHTST TYPE=RECOVERY macro. When you define your temporary storage queues in a TST, note that the TSAGE parameter influences the recovery characteristics of that temporary storage.
Hope this helps...
Cheers
Kolusu _________________ Kolusu
www.linkedin.com/in/kolusu |
|
Back to top |
|
 |
S.MADHUMATHI Beginner
Joined: 25 Jun 2004 Posts: 13 Topics: 5
|
Posted: Fri Sep 17, 2004 5:49 am Post subject: |
|
|
I checked for the TSQ properties using "cemt" which said the following..it says the queue is non-recoverable
Tsqueue(RTMIK13Q)
Numitems(00003)
Length(0000015552)
Location(Main)
Action( )
Transid(MV65)
Recovstatus(Notrecovable)
Maxitemlen(05184)
Minitemlen(05184)
Lastusedint( 00004215 ) |
|
Back to top |
|
 |
Mike Chantrey Intermediate
Joined: 10 Sep 2003 Posts: 234 Topics: 1 Location: Wansford
|
Posted: Fri Sep 17, 2004 8:59 am Post subject: |
|
|
A transaction abend will not delete your TSQ regardless of how it is defined. Recoverability relates to backing out changes to the TSQ made in the current unit of work. So a non-recoverable TSQ (i.e. any MAIN TSQ) will contain exactly what you have written to it up to the point of the abend; a recoverable one will have any changes made in the current UOW (typically in the current transaction) backed out.
It therefore sounds like you are getting exactly the behaviour you should do.
Kolusu: Just to note that in all currently supported CICS versions you should be using the RDO TSMODEL definitions, not DFHTST macros, to define TSQ characteristics, altough DFHTST still works at present. |
|
Back to top |
|
 |
kolusu Site Admin

Joined: 26 Nov 2002 Posts: 12380 Topics: 75 Location: San Jose
|
Posted: Fri Sep 17, 2004 9:09 am Post subject: |
|
|
Quote: |
Kolusu: Just to note that in all currently supported CICS versions you should be using the RDO TSMODEL definitions, not DFHTST macros, to define TSQ characteristics, altough DFHTST still works at present.
|
Mike,
Thanks for the tip. My CICS knowledge is lil rusty. The last time I worked on a CICS program was way back in 1999. our shop opted for IMS DC screens over CICS screens.
Kolusu _________________ Kolusu
www.linkedin.com/in/kolusu |
|
Back to top |
|
 |
S.MADHUMATHI Beginner
Joined: 25 Jun 2004 Posts: 13 Topics: 5
|
Posted: Mon Sep 20, 2004 12:50 am Post subject: |
|
|
Thanks....
But when I created the TSQ in AUX, even then, the RECOVSTATUS is
NOT-RECOVERABLE (RECOVSTATUS=30). How I will make it as "RECOVERABLE"? |
|
Back to top |
|
 |
S.MADHUMATHI Beginner
Joined: 25 Jun 2004 Posts: 13 Topics: 5
|
Posted: Thu Sep 30, 2004 5:17 am Post subject: |
|
|
It has been defined in cics table that TSqueues with prefix 'ABC' as recoverable. But in my program I created a TSQ starting with "RTM" in "MAIN", When I look for the same TSQ using "cemt", it says it is recoverable and also it is created in "Auxiliary" but not in "MAIN". Is there a reason for it? |
|
Back to top |
|
 |
|
|