A task is invoked from IDMS to communicate with a CICS transaction.
The program in IDMS will perform the following:
1) #TREQ ALLOC
2) #TREQ PUT
The program in CICS will do a RECEIVE and then SEND with the LAST option
The program in CV will perform #TREQ GET.
The following is failing with an ALLOCATE ERROR in IDMS
It fails with a UIOUCOM error code x’20’ & UIOUCM2 secondary error code of x’30’.
UIOALFN EQU X'30' ERR - ALLOCATE FAILED, NO RETRY
Is this caused not having any WINNER sessions available?
Having only a contention LOSER available will not prevent IDMS from allocating a session to a program. A session can be allocated by IDMS to a program on both a contention WINNER or contention LOSER. The contention winner/loser designation determines who will win a contention situation if both nodes attempt to initiate a conversation simultaneously.
This problem occurs because there are no sessions available to be allocated and with OPTNS=(IMM), IDMS will not wait for one to become available.
It could mean there are insufficient PTE/LTEs defined for this LU or sessions are not being released.
A conversation is usually terminated with a #TREQ PUT,OPTNS=LAST.
This will end the conversation and also end the session with the program but the session is not closed, it will remain open to be allocated to the next program that starts a conversation.
The best way to get around this problem is to change the #TREQ ALLOC,OPTNS=(IMM) to #TREQ ALLOC,OPTNS=(ANY), this will cause the program to wait until a session becomes available.
Other possible solutions are: