Job-Netz

Job-Netze sind eine leistungsfähige Möglichkeit des JES3, mehrere Jobs parallel ablaufen zu lassen, die Ausführung aber vom Beenden anderer Jobs abhängig zu machen.

Theoretisches Beispiel

In dem folgenden Beispiel repräsentieren

 
 
 
 
 
PREPARE
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
DINGE1
 
 
 
 
 
 
 
DINGE2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
CLEANUP
 
 
 
 
 

Wenn der Job PREPARE durchgelaufen ist, dürfen die Jobs DINGE1 und DINGE2 gleichzeitig laufen. Aber erst, wenn beide fertig sind, darf der Job CLEANUP gestartet werden.

Wie lässt sich das realisieren? Man gibt diesem Job-Netz einen Namen, zum Beispiel TESTNET. Jeder Job bekommt gleichzeitig einen Hold-Count; ist der Hold-Count auf 0, wird der Job gestartet. Darüber liegende Jobs dekrementieren den Hold-Count des darunter liegenden, d. h., sie releasen ihn.

Für unser Beispiel heißt das:

In der Praxis sehen Job-Netze viel komplizierter aus; es gibt zu diesen seitenlange Diagramme.

Codierung in JCL

Wie sieht dieses Beispiel in der Job Control Language (JCL) aus?

//*NET NETID=TESTNET,RELEASE=(DINGE1,DINGE2)
//*NET NETID=TESTNET,RELEASE=(CLEANUP),NHOLD=1
//*NET NETID=TESTNET,NHOLD=2

Seit geraumer Zeit allerdings werden diese NETs im JES3 kaum noch genutzt, sondern sind weitgehend durch andere Ablauf-Planungs-Systeme, wie z. B. Operation Planning and Control (OPC) ersetzt worden.