What happens when MAXIMUM TASKS is exceeded? Do the additional tasks wait or abend? If they abend, what messages should we see?
MAXIMUM TASKS (The number of TCE/DCE control blocks allocated for the CV to execute tasks) is calculated by adding together MAXIMUM TASKS and MAXIMUM ERUS from the IDMS SYSGEN SYSTEM statement plus the number of SYSTEM Tasks (MASTER, DBRC, Line Drivers and Service Drivers).
If the CV is currently at the MAX TASKS condition (use the command "DCMT DISPLAY STATISTICS SYSTEM" at the Enter Next Task Code to check for this condition) and a request for a new task is issued, no abend occurs. The LTERM from which the new request was issued is put into a queue to wait for an available TCE/DCE.
There are several conditions that are similar to MAX TASK that will result in error messages:
- MAXIMUM ERUS. This specification determines how many External Request Units (Batch or CICS programs) are allowed in the CV at any one time.
It determines how many ERE control blocks are allocated for the CV.
If the CV is at a MAX ERUS condition and a new BATCH or CICS program attempts to start a new database transaction it will receive error-status 1473.
- If you are using Max Concurrent Thread on the Task (use the command "DISPLAY TASK taskname" in the SYSGEN to check if this parameter is on) and you do not specify optional apar bit 47 (Original optional apar GS18646) then you will receive message DC055010 for tasks that have exceeded Max Concurrent Thread.|
If the 47 bit is on, the tasks are queued internally and run when the Max Concurrent Thread allows.
Informational apar GI76847 contains recommendations for SYSGEN SYSTEM statement settings.
CA IDMS System Generation chapter 5.3.2 SYSTEM Statement syntax; chapter 6.19.2 Task Statement syntax.
CA IDMS Messages and Codes, chapter 11.1.2 Advantage CA-IDMS Minor Codes for abend code 1473
CA IDMS DML Reference - COBOL chapter 5.15.4 Status Codes for 1473.