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

Breaking a CICS enqueue?


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

Active User


Joined: 13 Jun 2012
Posts: 178
Location: United States

PostPosted: Thu Oct 11, 2018 12:19 am
Reply with quote

We get DFHSN1129 messages in the CICS log which means a userid is trying to sign in to CICS when they are already signed on at another terminal. It's a virtual terminal and the user has lost session, so there isn't any way to get it back.

When this happens, it means there is an outstanding MVS enqueue for this resource. I would like to know how to find and break this enqueue. All of the commands I know only work for datasets. The enqueue goes away if the CICS region is shutdown and restarted, which is not exactly a desirable fix.
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Thu Oct 11, 2018 2:00 am
Reply with quote

did You try with a set outservice

according to the manual
Quote:
OUTSERVICE
The terminal is not available for use. Setting a terminal OUTSERVICE means that the terminal can no longer be used by transactions. If PURGE or FORCEPURGE is also specified, any transaction using the terminal is terminated abnormally. If PURGE or FORCEPURGE is not specified, the transaction can terminate normally, but no further transactions can use the terminal. For z/OS Communications Server, setting a terminal OUTSERVICE also causes it to be released and the operator to be signed off, either immediately or when the current transaction has terminated.
Back to top
View user's profile Send private message
John Poulakos

Active User


Joined: 13 Jun 2012
Posts: 178
Location: United States

PostPosted: Thu Oct 11, 2018 8:18 pm
Reply with quote

I was going to try it in production, but everybody freaks out when I suggest it. Next time!
Back to top
View user's profile Send private message
John Poulakos

Active User


Joined: 13 Jun 2012
Posts: 178
Location: United States

PostPosted: Fri Nov 30, 2018 10:31 pm
Reply with quote

Here's an update:

Upon further investigation, the problem was not a CICS enqueue. It was faulty code in the CICS transaction that caused a TRU exit to hang because it was in the wrong storage key... it was never going to end. It's an old proprietary package, so I can't change it. I had to figure out how to deal with it. So I wrote a web service provider to handle it.

I coded:
EXEC CICS
INQUIRE TERMINAL(WS-TERM) USERID(WS-USER)
TASKID(WS-TASK) NEXT
To find the terminal the affected user was stuck on.

Then
EXEC CICS
SET TERMINAL (WS-TERM) OUTSERVICE PURGE

Here's where it gets weird:

Remember, these statements are in a web service provider, so CICS doesn't know the user is... the user is CICS.

I signed on to CICS and started a transaction I knew was conversational and doesn't end.

Then I invoked the web service giving it my User ID.

The web service provider abended with AEIP (INVREQ).

But, the transaction my ID was in was reset and I was returned to the sign on screen.

If it was an invalid request, why did it work?
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 Using API Gateway from CICS program CICS 0
No new posts Calling an Open C library function in... CICS 1
No new posts How to 'Ping' a CICS region in JCL CICS 2
No new posts Parallelization in CICS to reduce res... CICS 4
No new posts How to avoid duplicating a CICS Web S... CICS 0
Search our Forums:

Back to Top