View previous topic :: View next topic |
Author |
Message |
gdenunzio Beginner
Joined: 28 Oct 2003 Posts: 12 Topics: 5
|
Posted: Thu Oct 30, 2003 7:19 am Post subject: How to force dequeuing after a transaction abend? |
|
|
Hi! Me, always...
I still have my transaction abend problem while connecting from an IMS transaction to DB2.
A side question follows.
When my transaction abends, it is not possible to call it again, even if I restart terminals or I do anything else I can imagine: the terminal from which I call it remains "suspended" waiting for a reply; I imagine this depends from the transaction being a RESPONSE one, so that it remains in some way "blocked".
I can of course unlock the terminal by /STOP and /START, but the problem
of continuing the test of the transaction remains.
If I issue:
Code: | /display transaction testt
TRAN CLS ENQCT QCT LCT PLCT CP NP LP SEGSZ SEGNO PARLM RC
TESTT 1 7 3 65535 65535 1 1 1 0 0 NONE 0
PSBNAME: TEST
*97303/121902* |
I see that the queue is full of messages for this transaction (QCT=3). Every time I clear a terminal and I call TESTT, QCT is incremented.
I imagine that something is blocking normal dequeuing.
Here is the queue:
Code: | /display queue transaction
CLS PTY MSG CT TRAN PSBNAME
1 1 3 TESTT TEST
*97303/123439* |
How can I go back to normal working, removing the obstacle that is blocking the dequeueing process?
I have tried *anything* I could imagine, issuing every command I can find in the doc. Well, almost...
Thanks!
Giorgio |
|
Back to top |
|
|
Bithead Advanced
Joined: 03 Jan 2003 Posts: 550 Topics: 23 Location: Michigan, USA
|
Posted: Fri Oct 31, 2003 11:46 am Post subject: |
|
|
This is a tricky one if you don't have the correct tools. I have a program that does a series of GU to the message queues. I rename the current load module for the failing program then compile this new program under that name. Starting the transaction and program will clear the queue. I then stop the program, delete the new load module that I just compiled and rename the original load module back to the correct name.
A little tacky I know but it works. |
|
Back to top |
|
|
gdenunzio Beginner
Joined: 28 Oct 2003 Posts: 12 Topics: 5
|
Posted: Fri Oct 31, 2003 1:21 pm Post subject: |
|
|
Hi again Bithead!
And thanks again for your replies!
I understand how your tool works, nice idea.
Here are two programs I have been (publicly) suggested to use (and I have neither tried nor fully "studied" yet, so nobody should ask me about them, till I try them out!).
More or less they look similar to your idea.
As they were sent to list IMS-L, I think there will be no problem in re-publishing them here.
Ciao!
Giorgio
From: Dougie Lawson
This bit of REXX will dequeue a transaction.
Code: | /* rexx */
address REXXIMS
IO =
"IOPCB"
Do Forever
"GU IO msg"
If RC > 0 then leave
"ISRT IO msg"
End |
From: Dave Cameron
try the following JCL:
Code: | //DDLT0 EXEC PGM=DFSRRC00,
// PARM='BMP,DFSDDLT0,psbname,trancode'
//STEPLIB DD DISP=SHR,DSN=ims.RESLIB
//PROCLIB DD DISP=SHR,DSN=ims.PROCLIB
//SYSPRINT DD SYSOUT=*
//PRINTDD DD SYSOUT=*
//SYSIN DD *
S 1 1 1 1 1 TP 00001
L 0009 GU
// |
where 'psbname' is a batch PSB,
'trancode' is the trx to remove from queue
the '0009' on the 'GU' SYSIN is the number of messages to remove |
|
Back to top |
|
|
Bithead Advanced
Joined: 03 Jan 2003 Posts: 550 Topics: 23 Location: Michigan, USA
|
Posted: Fri Oct 31, 2003 1:51 pm Post subject: |
|
|
I don't have the REXX IMS interface established. I will keep the DLT0 in mind. |
|
Back to top |
|
|
Sreejith Intermediate
Joined: 02 Dec 2002 Posts: 155 Topics: 25 Location: N.Ireland
|
Posted: Tue Dec 16, 2003 8:54 am Post subject: |
|
|
Hi,
Does anyone have any documents/manual relating to the REXXIMS specified above ?
Thanks
Sreejith |
|
Back to top |
|
|
Sreejith Intermediate
Joined: 02 Dec 2002 Posts: 155 Topics: 25 Location: N.Ireland
|
Posted: Tue Dec 16, 2003 9:31 am Post subject: |
|
|
got it from IBM REXX manual. |
|
Back to top |
|
|
gore Beginner
Joined: 10 Dec 2002 Posts: 46 Topics: 20 Location: Providence, RI
|
Posted: Mon Mar 29, 2004 6:13 am Post subject: |
|
|
Hi Iam trying to dequeue msgs by using the JCL given by gdenunzio.
When i try to run the DDLT0 i am getting a message in my jeslog as
Quote: |
DFS690A XPNSTSOA.DDLT0. - CTL PGM NOT ACTIVE, REPLY 'WAIT', 'CANCEL' OR 'ALT-ID' IMST
|
Can anyone give me a solution or a workaround? _________________ Gore |
|
Back to top |
|
|
Bithead Advanced
Joined: 03 Jan 2003 Posts: 550 Topics: 23 Location: Michigan, USA
|
Posted: Mon Mar 29, 2004 10:04 am Post subject: |
|
|
Make sure that the IMST control region is active and that the depndant MPP regions have been started. |
|
Back to top |
|
|
|
|