Allgemeines
Anwendungsgebiet: | Jobscheduler (Systemverwaltermakro); siehe "Jobscheduler" |
Makrotyp: | 24-Bit-Schnittstelle, S-Typ: MF-Format 1 (Standardform/E-Form/L-Form); 31-Bit-Schnittstelle, S-Typ: MF-Format 2 (Standardform); siehe "S-Typ-Makroaufrufe" |
Der Makro JSEXPCT kann nur unter der Kennung TSOS (Systemverwaltung) aufgerufen werden.
Der Makro DJSIPL erzeugt für die 31-Bit-Schnittstelle eine Beschreibung (DSECT/Datenabschnitt) des Datenbereichs und aller JSS-Ereignisse, sowie Equates für den Returncode; der Makro DJSI für die 24-Bit-Schnittstelle.
JMS = Job Management System; JSS = Job Scheduling Supports.
JSS ist Bestandteil des Job Management Systems.
Makrobeschreibung
Mit dem Makroaufruf JSEXPCT wird von JMS das nächste vorliegende Ereignis für den Jobscheduler angefordert. Die Ereignisse beziehen sich auf einen von dem Jobscheduler verwalteten Job (Jobannahme, Jobbeendigung, Job-RELEASE, Job-CANCEL, ...), auf die Jobklasse (Jobklasse im HOLD-Status, Rücksetzen, Wiederannahme von Jobs) oder auf den Jobscheduler (Jobscheduler im HOLD-Status, Rücksetzen, geänderte STREAM-PA-RAMETER, ...).
Hinweis
Der Jobscheduler wird in einen Wartezustand versetzt, wenn kein Ereignis zur Verarbeitung vorliegt. Beim Eintreffen eines Ereignisses wird er aus dem Wartezustand herausgenommen.
Makroaufrufformat und Operandenbeschreibung
JSEXPCT |
{ EVENT={adr / (r)} [,PARMOD=24] [,MF={L / (E,..)}] / [PARMOD=31] ,PARLIST={adr / (r)} } |
EVENT=
beschreibt die Adresse eines Bereiches, in den das Ereignis eingetragen wird. Der Bereich muss auf Wortgrenze ausgerichtet sein.
adr
symbolische Adresse (Name) des Bereiches
(r)
r = Register mit dem Wert der Adresse adr
MF=
Zur allgemeinen Beschreibung des Operanden MF, der dazugehörenden Operandenwerte und der evtl. nachfolgenden Operanden siehe Abschnitt „S-Typ-Makroaufrufe“.
Die gültigen MF-Werte und Voreinstellungen für diesen Makro sind zu Beginn der Makrobeschreibung dargestellt.
PARMOD=
steuert die Makroauflösung. Es wird entweder die 24-Bit- oder die 31-Bit-Schnittstelle generiert.
Wenn PARMOD nicht spezifiziert wird, erfolgt die Makroauflösung entsprechend der Angabe für den Makro GPARMOD oder der Voreinstellung für den Assembler (= 24-Bit-Schnittstelle).
24
Die 24-Bit-Schnittstelle wird generiert. Datenlisten und Befehle benutzen 24-Bit-Adressen (Adressraum <= 16 MB).
31
Die 31-Bit-Schnittstelle wird generiert. Datenlisten und Befehle benutzen 31-Bit-Adressen (Adressraum <= 2 GB). Datenlisten beginnen mit dem Standardheader.
PARLIST=
bezeichnet die Adresse des Datenbereichs. Die Liste ist auf Wortgrenze auszurichten und muss mit dem Standardheader beginnen. Der Makro DJSIPL erzeugt eine Beschreibung (DSECT/ Datenabschnitt) des Datenbereichs mit initialisiertem Standardheader.
adr
symbolische Adresse (Name) des Datenbereichs
(r)
r = Register mit dem Adresswert adr
Beschreibung der Ereignisse (24-Bit-Schnittstelle/31-Bit-Schnittstelle)
JSIEJINT/JSEXJINT: Annahme eines Jobs
Der Job Scheduler ist aufgefordert, den Job in die Menge der von ihm verwalteten Jobs aufzunehmen. Folgende Informationen über den Job werden dem Scheduler zur Verfügung gestellt:
Auftragsnummer (TSN)
Name der Jobklasse
CPU-Zeit
Job Priorität
Ankunftzeit
Starttyp (SOON, IMMEDIATE, ... )
Startzeit
Hold Status
Job Parameter (J-PAR)
JSIEJTER/JSEXJTER: Beendigung des Laufs eines vom Job Scheduler gestarteten Jobs.
JSIEJHLD/JSEXJHLD: Setzen eines auf den Start wartenden Jobs in den Hold Status.
Der Job Scheduler ist aufgefordert, den Job beim Scheduling nicht mehr zu berücksichtigen. Ein im Hold Status befindlicher Job ist auch im Job Pool (Datei EQUISAMQ) als solcher gekennzeichnet.
JSIEJREL/JSEXJREL: Rücksetzen eines im Hold Status befindlichen Jobs. Der Job
Scheduler ist aufgefordert, den Job beim Scheduling wieder zu berücksichtigen.
JSIEJCAN/JSEXJCAN: Löschen eines vom Job Scheduler noch nicht gestarteten Jobs.
Der Job Scheduler ist aufgefordert, den Job zu streichen.
JSIEJEXP/JSEXJEXP: Annahme eines Jobs, der sobald wie möglich gestartet werden soll.
JSIEJRES/JSEXJRES: Änderung von Attributen für einen noch nicht gestarteten Job
auf Grund des Kommandos MODIFY-JOB.
JSIECHLD/JSEXCHLD: Setzen der angegebenen Jobklasse in den Hold Status.
Wie bei JSIEJHLD/JSEXJHLD ist der Job Scheduler aufgefordert, Jobs dieser Klasse nicht weiter zu berücksichtigen. Alle Jobs einer im Hold Status befindlichen Jobklasse sind auch im Job Pool (Datei EQUISAMQ) als solche gekennzeichnet.
JSIECREL/JSEXCREL: Rücksetzen der im Hold Status befindlichen Jobklasse.
Der Job Scheduler ist aufgefordert, Jobs dieser Klasse beim Scheduling wieder zu berücksichtigen.
JSIECAVA/JSEXCAVA: Für die angegebene Jobklasse ist CLASS-LIMIT unterschritten
worden. Dies erfolgt entweder durch Beendigung eines in der Klasse laufenden Jobs oder durch Erhöhen von CLASS-LIMIT mit dem Kommando MODIFY-JOB-CLASS.
JSIESHLD/JSEXSHLD: Der angegebene Stream ist in den Hold Status versetzt worden.
Der Job Scheduler ist aufgefordert, keine weiteren Jobs zu starten.
JSIESREL/JSEXSREL: Rücksetzen des Hold Status für den Stream.
Der Job Scheduler ist aufgefordert, wieder Jobs zu starten.
JSIESCLQ/JSEXSCLQ: Anzeige, dass sich das Betriebssystem im Zustand 'Shutdown' befindet.
Dieses Ereignis hat die gleiche Wirkung wie JSIESHLD/JSEXSHLD, d.h. es werden keine weiteren Jobs gestartet.
JSIESCLI/JSEXSCLI: soll den Scheduler veranlassen, sich sofort zu beenden
(Programmbeendigung). Dieses Ereignis wird mit dem STOP-JOB-STREAM-Kommando ausgelöst. Nach diesem Ereignis werden keine weiteren Ereignisse an den Stream gesendet.
JSIESCHA/JSEXSCHA: Information über geänderte STREAM-PARAMETER.
JSIETIM/JSEXTIM: Periodisches, jede Minute eintretendes Ereignis, welches dem Scheduler die Ausführung von Zeitfunktionen (z.B. Unterstützung des Operanden START im SET-LOGON-PARAMETERS-Kommando und des Operanden REPEAT-JOB im ENTER-JOB-Kommando) ermöglicht.
Rückinformation und Fehleranzeigen
Während der Makrobearbeitung enthält Register R1 die Adresse der Operandenliste.
R15:
+---------------+ | | | | | |0|0|a|a|a|a|a|a| +---------------+
Über die Ausführung des Makros JSEXPCT wird im Register R15 ein Returncode übergeben.
X'aaaaaa' | Erläuterung |
X'000000' | Normale Ausführung |
X'000008' | Operandenfehler |
X'00000C' | Systemfehler |
X'000010' | Unberechtigter Aufrufer (nicht TSOS) |
X'000018' | Aufruf erfolgte vor einem JSATTCH-Aufruf oder nach einem JSDETCH-Aufruf |
Weitere Returncodes, deren Bedeutung durch Konvention makroübergreifend festgelegt ist, können der Tabelle „Standard-Returncodes“ (Standardheader) entnommen werden.