Previous Topic: Troubleshooting Best PracticesNext Topic: Tracking


Negative Dependencies

Why do jobs with negative dependencies sometimes run when a job they are negatively dependent on abends?

Jobs with negative requirements cannot run together. However, if a job that is a negative requirement is in the request queue in restart status when a job that is negatively dependent on it submits, it does not hold.

When a job with negative dependencies enters the queue, the negative dependencies are initially posted requirements. When a job with negative dependencies is ready to submit, a check is made to see if any of the jobs it is negatively dependent on are submitted or active. If so, the job is requeued back to the request queue and the negative requirement is unposted to make it a job requirement. This result means that the "unposted" job must complete successfully to post this requirement and let the job move to the ready queue for submission. If the negative dependencies are not active at the time the job is to submit, no dependency is set. Consider using Virtual Resource Management (VRM) instead of negative dependencies because with negative dependencies, one of the jobs can abend and others can run. In other words, if you do not want the jobs to execute at the same time and you do not want them to execute when any others have failed, use VRM with an EXC (exclusive) resource. With this process, you can set whether a job must end successfully to free the resource.

Business Value:

Understanding how negative dependencies work helps when troubleshooting an issue with negative dependencies.