Description
I am getting a 4407 error status when accessing a queue. The messages and codes manual indicates an I/O error occurred during processing or the queue upper limit has been reached. What else can cause this error and what can I do to diagnose and resolve the problem?
Solution
Check the IDMS joblog and IDMS log for any other error messages that may indicate what the problem is. See technical document 16510 which lists a deadlock situation as a possible reason. The 4407 error status can also occur when the SYSTEM.DDLDCRUN area becomes full.
If a #SENDMSG was issued you may see DC052001 #SENDMSG - QUEUE I/O ERROR.
To determine if the problem is that the queue area is full, you need to run a PRINT SPACE report on the area either in OCF or by running IDMSBCF in batch. The OCF/IDMSBCF command is:
PRINT SPACE FOR AREA SYSTEM.DDLDCRUN;
Look for the heading "Total Space Available (Percent)". If the percentage free is very low then this is the problem.
The easiest way to resolve the problem is to delete any expired queues. This can be done by running task code QUED online.
If this does not free up enough space you will need to delete unexpired queues. There are two ways to do this.
If no expired queues can be deleted then you will need to expand the size of the SYSTEM.DDLDCRUN area.