View previous topic :: View next topic
|
Author |
Message |
Marso
REXX Moderator
Joined: 13 Mar 2006 Posts: 1353 Location: Israel
|
|
|
|
Hello
The transactions I am developing are behaving unexpectedly.
Here is what happens:
Transaction LONG is supposed to be a long-running transaction. It listens to an IP socket and starts transaction DOIT whenever a message arrives.
But, instead of running and finishing in a split second, transaction DOIT enters "first dispatch wait" state, and becomes active only if I take LONG down.
Because I am still in an early stage of testing, I start LONG from my terminal, I also have tried CECI START locally and remotely, but the behavior doesn't change.
I checked definitions, nothing stands out and I am out of ideas. What do I miss ? |
|
Back to top |
|
|
Garry Carroll
Senior Member
Joined: 08 May 2006 Posts: 1205 Location: Dublin, Ireland
|
|
|
|
Since "DOIT" is in a wait until you terminate "LONG", it would suggest that "DOIT" may be waiting for the terminal which is hekl by "LONG". Does the "LONG" task issue the EXEC CICS START specifying the termid? (Or perhaps there is another resource which both require?)
Garry |
|
Back to top |
|
|
Marso
REXX Moderator
Joined: 13 Mar 2006 Posts: 1353 Location: Israel
|
|
|
|
After many changes and tests, I thought that I found my mistake here: cics system wait and not getting dispatched
I recompiled the LONG program with the INCLUDE EZACICAL, I bounced the CICS and retried.
Unfortunately, I still have an excessively long "QR TCB elapsed time" in the LONG transaction, and the started DOIT transactions are still delayed.
Now I really start to be out of ideas |
|
Back to top |
|
|
Marso
REXX Moderator
Joined: 13 Mar 2006 Posts: 1353 Location: Israel
|
|
|
|
Never really out of ideas, I realized I was still using the batch version of EZASOKET.
Because, somehow, sometime, I changed all
Code: |
CALL 'EZASOKET' USING... |
to
Code: |
CALL WS-SOCKET-ROUTINE USING... |
That made the call a dynamic one, and that is why I always ended running the wrong EZASOKET program.
Conclusion:
When working with sockets under CICS,
1. you must use static calls in the programs
2. you must include EZACICAL in the binder.
Lesson learned (the hard way). |
|
Back to top |
|
|
|