IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Started transaction enters "first dispatch wait" state


IBM Mainframe Forums -> CICS
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
Marso

REXX Moderator


Joined: 13 Mar 2006
Posts: 1349
Location: Israel

PostPosted: Sun May 31, 2020 2:14 pm
Reply with quote

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
View user's profile Send private message
Garry Carroll

Senior Member


Joined: 08 May 2006
Posts: 1109
Location: Dublin, Ireland

PostPosted: Tue Jun 02, 2020 12:53 pm
Reply with quote

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
View user's profile Send private message
Marso

REXX Moderator


Joined: 13 Mar 2006
Posts: 1349
Location: Israel

PostPosted: Tue Jun 02, 2020 2:27 pm
Reply with quote

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 icon_sad.gif
Back to top
View user's profile Send private message
Marso

REXX Moderator


Joined: 13 Mar 2006
Posts: 1349
Location: Israel

PostPosted: Tue Jun 02, 2020 6:11 pm
Reply with quote

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
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> CICS

 


Similar Topics
Topic Forum Replies
No new posts "Output" internal table (OD... COBOL Programming 0
No new posts COOLGEN - DB2. -927 error while initi... DB2 8
No new posts problem in select max when executing ... IMS DB/DC 6
No new posts Starting a remote transaction using a... CICS 0
No new posts XML Parsing in COBOL creating "h... COBOL Programming 0
Search our Forums:

Back to Top