When starting a Ideal session, each terminal gets a block of storage allocated for it's Group Key Table. Because IPC allocates storage based on terminal-id, it doesn't matter what user-id is signing on. This block of storage will hold fifteen group keys. This allows for a user to sign onto IDEAL and initiate asynchronous tasks (Like split screen sessions or IDEAL compiles). The PRDINITI DSF command ties up one of the slots in the table and the slot is not released until a PRDTERMI command is issued. When all the slots for a terminal-id are in use, the next PRDINITI command, issued for that terminal, receives a GKU DSF return code.
GKU mostly happens because the customer is using SET $ACCOUNT-ID with the wrong transaction ID, i.e. one that points to SC00INIT. This causes SCF to make a DSF initialization call at the start of the "new" session without ever releasing the DSF resources for the "old" session. In this case, the SET $ACCOUNT-ID must be corrected.
The same problem can also occur if CICS terminal autoinstall program is re-using terminal-ids and a previous Ideal session, using the same termid, has abnormally terminated (abend, timeout or unresponsive session closed by user), so no PRDTERMI has been issued. In this case, implementing VPUR can avoid the GKU to occur. See Ideal Administration Guide manual for VPUR implementation. A quick solution for this case is CICS recycling.