Characteristics of the must-complete function

The must-complete function can be used only at the step level, where only the current task in an address space is allowed to execute. All other tasks are made non-dispatchable.

When the must-complete function is requested, the requesting task is marked in “must complete mode” when the resource(s) queued upon are available. All asynchronous exits from the requesting task are deferred. Tasks external to the requesting task are prevented from initiating procedures that will cause termination of the requesting task. Other external events, such as a CANCEL command issued by an operator, or a job step time expiration, are also prevented from terminating the requesting task.

The failure of a task that owns a must-complete resource results in the abnormal termination of the entire job step. The programmer and the operator receive a message stating that the failure occurred while the step was in must-complete mode.