View previous topic :: View next topic
|
Author |
Message |
koteswara
New User
Joined: 23 Sep 2009 Posts: 22 Location: Bangalore
|
|
|
|
Hi,
Can any one please provide CICS transaction used for clearing/purging the contents of a TDQ
Thanks in Advance!! |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
Did you look in the CICS Supplied Transactions manual?
And you definitely left off some information -- such as intrapartition or extrapartition? |
|
Back to top |
|
|
koteswara
New User
Joined: 23 Sep 2009 Posts: 22 Location: Bangalore
|
|
|
|
I got the below command
CEBR GET tdqname P
CEBR is used to transfer the content of a TSQ into a TDQ or vice versa.
Thanks all... |
|
Back to top |
|
|
Earl Haigh
Active User
Joined: 25 Jul 2006 Posts: 475
|
|
|
|
Quote: |
I got the below command
CEBR GET tdqname P
CEBR is used to transfer the content of a TSQ into a TDQ or vice versa.
|
What manual did you get this from ?
TDQ's behave differently than TSQ's.
There is no way to clear a TDQ unless you close and re-open. If you want to keep your job, you better check with your Systems Programmer before you start clearing TDQ's and even TSQ's. |
|
Back to top |
|
|
koteswara
New User
Joined: 23 Sep 2009 Posts: 22 Location: Bangalore
|
|
|
|
This command has been given by our CICS admin who has cleared the TDQ. |
|
Back to top |
|
|
Bill O'Boyle
CICS Moderator
Joined: 14 Jan 2008 Posts: 2501 Location: Atlanta, Georgia, USA
|
|
|
|
You can issue a DELETEQ TD (Transient Data) to clear a TD Queue (for example, via CECI), but CEBR is only for TS (Temporary Storage) Queues.
Bill |
|
Back to top |
|
|
Earl Haigh
Active User
Joined: 25 Jul 2006 Posts: 475
|
|
|
|
Quote: |
This command has been given by our CICS admin who has cleared the TDQ. |
As I already indicated this is a task for CICS Admin, not programmers..
Bill,
Won't DELTETQ TD delete the TDQ entry from the CICS region ? |
|
Back to top |
|
|
Bill O'Boyle
CICS Moderator
Joined: 14 Jan 2008 Posts: 2501 Location: Atlanta, Georgia, USA
|
|
|
|
Earl,
No, it will clear all TDQ records/items, but it doesn't delete the queue entry itself.
Note that I've only done this with INTRAPARTITION TDQ's and not EXTRAPARTITION, which are normally flat-files, like CSMT, CSSL which can be indirect destinations for EXTRAPARTITION TDQ MSGUSR, which is quite common.
So, the OP is on his own when it comes to EXTRAPARTITION.
What I don't understand is that INTRA TDQ's are supposed to be READ until QZERO is raised (end of records/items) and CICS will guarantee that when a QZERO is raised, you're done.
So, what could happen is that a record could be in the process of being added to the TDQ while a DELETEQ TD is issued nearly simultaneously, possibly resulting in a loss of this in-flight record.
CICS has its own internal locks (similar to an ENQ/DEQ sequence) and this is the guaranteed integrity of the TDQ data.
My opinion, READ it until QZERO is raised and you're done....
Bill |
|
Back to top |
|
|
Earl Haigh
Active User
Joined: 25 Jul 2006 Posts: 475
|
|
|
|
Bill,
My bad , I was thinking of DISCARD TDQ.
Your correct deleteq td is for intrapartition only and you should always
read unitl QZERO condition.
Per Application Reference guide:
DELETEQ TD deletes all the transient data associated with a particular intrapartition destination (queue). All storage associated with the destination is released (deallocated). Note that you cannot use this command to delete an extrapartition transient data queue. An attempt to do so results in an INVREQ condition
Earl |
|
Back to top |
|
|
|