Kommandofolge (Prozedur-Datei) als Batchauftrag starten
Komponente: | BS2000 |
Funktionsbereich: | Auftragsverarbeitung |
Anwendungsbereich: | PROCEDURE |
Privilegierung: | STD-PROCESSING |
Funktionsbeschreibung
Mit dem Kommando ENTER-PROCEDURE kann der Benutzer eine Prozedur als Batchauftrag starten. Im Gegensatz zu dem Kommando ENTER-JOB muss der Benutzer keine gesonderte ENTER-Datei erzeugen. Die Prozedurparameter sind somit auch bei jedem asynchronen Prozedurablauf (Hintergrund-Prozedur) variabel. ENTER-Dateien können nur mit dem Kommando ENTER-JOB gestartet werden.
Verfahren
Die Prozedurdatei wird als Kopie unter dem Namen
S.PROC.tsn.date.time
angelegt, wobei date das Format yyyy-mm-dd und time das Format hh.mm.ss besitzen.Es wird eine ENTER-Datei unter dem Namen
S.E.tsn.date.time
mit folgendem Inhalt angelegt:/SET-LOGON-PARAMETERS ... /CALL-PROCEDURE FROM-FILE=S.PROC.tsn.date.time, - / PROCEDURE-PARAMETERS=(parameter) ... /EXIT-JOB SYSTEM-OUTPUT=option
Der Wert von parameter entspricht der Angabe im Operanden PROCEDURE-PARAMETERS. Der Wert von option wird entsprechend der Angabe im Operanden SYSTEM-OUTPUT gesetzt. Die Kopie der Prozedurdatei wird nach Prozedurablauf gelöscht.
Die ENTER-Datei wird mit ENTER-JOB gestartet. Die Angaben für die Operanden PROCESSING-ADMISSION, JOB-CLASS, JOB-NAME, MONJV, JV-PASSWORD, JOB-PRIORITY, RERUN-AFTER-CRASH, FLUSH-AFTER-SHUTDOWN, SCHEDULING-TIME, START, REPEAT-JOB, LIMIT, RESOURCES, LISTING und JOB-PARAMETER werden entsprechend in das ENTER-JOB-Kommando übernommen.
Format
ENTER-PROCEDURE | Kurzname: ENP | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Operandenbeschreibung
FROM-FILE = *LIBRARY-ELEMENT(...) / <filename 1..54 without-gen>
Name der Datei oder des PLAM-Bibliothekelements, die die Prozedur enthalten.
Die Prozedur darf nicht mit dem Kommando SET-LOGON-PARAMETERS bzw. LOGON beginnen, also keine ENTER-Datei sein.
Ist der Auftraggeber nicht Eigentümer der Datei (verschiedene Benutzerkennungen), muss die Datei zugreifbar sein (s. Operand PROTECTION=*PARAMETERS im Kommando CREATE-FILE bzw. MODIFY-FILE-ATTRIBUTES).
Der Auftraggeber muss in jedem Fall mindestens das Recht zum Ausführen besitzen, wenn die Datei mit Basic-ACL bzw. GUARDS geschützt ist.
Ist die Datei mit einem Kennwort gegen Ausführung geschützt, so muss das Kennwort im Operanden PROCEDURE-PASSWORD angegeben werden.
FROM-FILE = *LIBRARY-ELEMENT(...)
Die Prozedur ist in einer PLAM-Bibliothek abgelegt.
LIBRARY = <filename 1..51 without-gen-vers>
Name der Bibliothek, die die Prozedur als Element enthält.
Die Angabe einer Bibliotheksliste (siehe Handbuch „LMS“ [21]) anstelle einer Bibliotheksdatei wird nicht unterstützt.
ELEMENT = <composed-name 1..38>(...)
Name des Elements.
Für die Summe der Längen von Bibliotheks- und Elementname gilt Folgendes:
Ohne Katalog- und Benutzerkennung gerechnet darf die Summe maximal 39 Zeichen betragen.
Bei mehrstelliger Katalogkennung darf die Summe mit vollem Pfadnamen der Bibliothek einschließlich Katalog- und Benutzerkennung maximal 52 Zeichen betragen.
VERSION = *HIGHEST-EXISTING / <composed-name 1..24>
Version des Bibliothekselements. Voreingestellt ist HIGHEST-EXISTING, d.h. die Prozedur wird dem Element mit der höchsten Version entnommen.
TYPE = *STD / *BY-LATEST-MODIFICATION / <alphanum-name 1..8>
Bestimmt den Elementtyp, unter dem die Prozedur in der PLAM-Bibliothek abgelegt ist.
TYPE = *STD
Die Prozedur kann als Element des Typs SYSJ oder J abgelegt sein.
Das angegebene Element wird zuerst unter den Elementen vom Typ SYSJ gesucht. Falls es dort nicht existiert, wird unter den Elementen vom Typ J weitergesucht.
Eine Nicht-S-Prozedur kann nur als Element vom Typ J vorliegen.
Eine S-Prozedur kann sowohl als Text-Prozedur (ursprüngliches Textformat) als auch als Objekt-Prozedur (kompiliertes Zwischenformat) vorliegen. Zur Vereinfachung der Verwaltung beider Formate in einer Bibliothek sollten Text-Prozeduren als Element vom Typ J und Objekt-Prozeduren als Element vom Typ SYSJ ablegt sein. Mit dem Kommando COMPILE-PROCEDURE (Bestandteil des kostenpflichtigen Subsystems SDF-P) wird aus einer Text-Prozedur vom Typ J standardmäßig eine Objekt-Prozedur vom Typ SYSJ erzeugt.
Die Angabe von TYPE=*STD (Default-Wert) stellt sicher, dass bei Einhaltung dieser Konvention Objekt-Prozeduren bevorzugt aufgerufen werden.
TYPE = *BY-LATEST-MODIFICATION
Die Prozedur kann als Element des Typs SYSJ oder J abgelegt sein.
Existiert das angegebene Element sowohl als Typ SYSJ als auch J, wird das zuletzt geänderte Element aufgerufen. Bei gleichem Zeitstempel wird das Element vom Typ SYSJ aufgerufen.
Die Angabe von TYPE=*BY-LATEST-MODIFICATION stellt sicher, dass z.B. während der Testphase bei der Erstellung bzw. Erweiterung einer Prozedur das aktuellste Element aufgerufen wird.
TYPE = <alphanum-name 1..8>
Die Prozedur wird ausschließlich unter den Elementen des angegebenen Typs gesucht.
PROCEDURE-PARAMETERS = *NO / <text 0..1800 with-low>
Parameterwerte, die an Stelle der entsprechenden symbolischen Parameter zu setzen sind. Die Parameterwerte müssen in runde Klammern eingeschlossen werden. Die Eingabe erfolgt wie im Kommando CALL-PROCEDURE beschrieben.
PROCESSING-ADMISSION =
Gibt an, unter welcher Benutzerkennung der Batchauftrag laufen soll.
PROCESSING-ADMISSION = *SAME
Der Batchauftrag soll unter der eigenen Benutzerkennung laufen (d.h. unter der ENTER-PROCEDURE gegeben wurde).
PROCESSING-ADMISSION = *PARAMETERS(...)
Angaben zur LOGON-Berechtigung der Benutzerkennung.
USER-IDENTIFICATION = *NONE / <name 1..8>
Benutzerkennung, unter der der Batchauftrag laufen soll.
ACCOUNT = *NONE / <alphanum-name 1..8>
Abrechnungsnummer der Benutzerkennung.
PASSWORD = *NONE / <c-string 1..8> / <c-string 9..32> / <x-string 1..16> / *SECRET
Kennwort der Benutzerkennung.
Die Eingabe eines „langen“ Kennworts (entspricht <c-string 9..32>) wird unterstützt. Ein Hash-Algorithmus konvertiert das „lange“ Kennwort in die interne 8 Byte lange Darstellung. Zur Vereinbarung „langer“ Kennwörter siehe Kommando MODIFY-USER-PROTECTION.
Der Operand PASSWORD hat folgende Besonderheiten:
Der eingegebene Wert wird nicht protokolliert.
Im geführten Dialog ist das Eingabefeld automatisch dunkelgesteuert.
Bei Angabe von *SECRET oder ^ stellt SDF im ungeführten Dialog und in Vordergrundprozeduren ein dunkelgesteuertes Eingabefeld zur verdeckten Eingabe des Kennwortes zur Verfügung.
PROCEDURE-PASSWORD = *NONE / <c-string 1..4> / <x-string 1..8> /
<integer -2147483648..2147483647> / *SECRET
Kennwort, mit dem die Prozedurdatei gegen Ausführung geschützt ist.
Der Operand PROCEDURE-PASSWORD hat folgende Besonderheiten:
Der eingegebene Wert wird nicht protokolliert.
Im geführten Dialog ist das Eingabefeld automatisch dunkelgesteuert.
Bei Angabe von *SECRET oder ^ stellt SDF im ungeführten Dialog und in Vordergrundprozeduren ein dunkelgesteuertes Eingabefeld zur verdeckten Eingabe des Kennwortes zur Verfügung.
CRYPTO-PASSWORD = *NONE / <c-string 1..8> / <x-string 1..16> / *SECRET
Kennwort, mit dem die Prozedurdatei verschlüsselt ist. Die Kopie der Prozedurdatei (S.PROC-Datei) wird mithilfe des Crypto-Kennworts entschlüsselt.
Der Operand CRYPTO-PASSWORD hat folgende Besonderheiten:
Der eingegebene Wert wird nicht protokolliert.
Im geführten Dialog ist das Eingabefeld automatisch dunkelgesteuert.
Bei Angabe von *SECRET oder ^ stellt SDF im ungeführten Dialog und in Vordergrundprozeduren ein dunkelgesteuertes Eingabefeld zur verdeckten Eingabe des Kennwortes zur Verfügung.
HOST =
Legt den Rechner fest, auf dem der Auftrag ablaufen soll.
Die Operandenwerte ungleich *STD stehen nur dem Anwender mit dem Software-Produkt HIPLEX MSCF zur Verfügung.
HOST = *STD
Der Auftrag soll auf dem lokalen Rechner ablaufen.
HOST = <c-string 1..8>
Host-Name des Rechners, auf dem der ENTER-Auftrag laufen soll.
HOST = *ANY
Die Angabe ist nur innerhalb eines XCS-Rechnerverbundes erlaubt. Näheres siehe Handbuch „HIPLEX MSCF“ [25]).
JOB-CLASS = *STD / <name 1..8>
Jobklasse, in die der Auftrag eingereiht werden soll. Die Berechtigung zu den verschiedenen Jobklassen kann mit dem Kommando SHOW-USER-ATTRIBUTES oder SHOW-JOB-CLASS abgefragt werden.
JOB-NAME = *NO / <name 1..8>
Name für den ENTER-Auftrag. Über diesen Namen kann der ENTER-Auftrag angesprochen werden (z.B. mit SHOW-JOB-STATUS). Er wird auch auf das Deckblatt des Druckerprotokolls gedruckt.
Bei Angabe von *NO erhält der ENTER-Auftrag aus Kompatibilitätsgründen den Namen des kommandogebenden Auftrags. Nur wenn auch dieser keinen Namen hat, erhält der ENTER-Job keinen Namen, was in Ausgaben mit *NONE, (NONE) oder Leerzeichen wiedergegeben wird.
MONJV = *NONE / <filename 1..54 without-gen-vers>
Gibt an, ob der Batchauftrag von einer JV überwacht werden soll.
MONJV = *NONE
Der Batchauftrag wird nicht überwacht.
MONJV = <filename 1..54 without-gen-vers>
nur möglich, wenn das kostenpflichtige Subsystem JV geladen ist (siehe auch Handbuch „Jobvariablen“ [ 20 ]).
Name der Jobvariablen (JV), die den Batchauftrag überwachen soll. Über diese JV kann der Benutzer seinen Batchauftrag ansprechen. Existiert die angegebene JV noch nicht, wird sie - sofern die Berechtigung dazu besteht - erzeugt und für alle Benutzer zugänglich gemacht (ACCESS=*WRITE und USER-ACCESS=*ALL-USERS).
Während der Verarbeitung des Batchauftrags setzt dann das System die JV auf entsprechende Werte:
$S | Auftrag in Warteschlange |
$R | Auftrag läuft |
$T | Auftrag normal beendet |
$A | Auftrag abnormal beendet |
$M | Auftrag wurde mit MOVE-JOBS exportiert |
JV-PASSWORD = *NONE / <c-string 1..4> / <x-string 1..8> / <integer -2147483648..2147483647> /
*SECRET
Kennwort der JV.
Der Operandenwert JV-PASSWORD hat folgende Besonderheiten:
Der eingegebene Wert wird nicht protokolliert.
Im geführten Dialog ist das Eingabefeld automatisch dunkelgesteuert.
Bei Angabe von *SECRET oder ^ stellt SDF im ungeführten Dialog und in Vordergrundprozeduren ein dunkelgesteuertes Eingabefeld zur verdeckten Eingabe des Kennwortes zur Verfügung.
JOB-PRIORITY = *STD / <integer 1..9>
Jobpriorität, die der Batchauftrag erhalten soll.
Je niedriger der Wert, desto höher die Priorität. Der maximal zulässige Wert ist in der Jobklassendefinition festgelegt und kann mit dem Kommando SHOW-JOB-CLASS abgefragt werden.
JOB-PRIORITY = *STD
Es gilt die für die Jobklasse festgelegte Standardpriorität.
RERUN-AFTER-CRASH = *NO / *YES
Gibt an, ob der Batchauftrag im nächsten Systemlauf neu zu starten ist, wenn die Bearbeitung auf Grund eines Systemfehlers oder Systemlaufende abgebrochen wurde.
Hinweis
Der Operand wird nicht ausgewertet, wenn im Operanden REPEAT Auftragswiederholung vereinbart wird.
FLUSH-AFTER-SHUTDOWN = *NO / *YES
Gibt an, ob der Batchauftrag aus der Auftragswarteschlange zu entfernen ist, wenn er bis Systemlaufende nicht bearbeitet wurde.
Hinweis
Der Operand wird nicht ausgewertet, wenn im Operanden REPEAT Auftragswiederholung vereinbart wird.
Für Kalenderjobs wird die Angabe FLUSH-AFTER-SHUTDOWN=*YES mit der Warnung JMS0056 ignoriert.
SCHEDULING-TIME = *STD / *PARAMETERS(...) / *BY-CALENDAR(...)
Bestimmt die Art der Startzeitangabe für den Batchauftrag.
SCHEDULING-TIME = *STD
Es gelten die Standardwerte der Startzeitangaben START und REPEAT-JOB für die gewählte Jobklasse (siehe Operanden bei SCHEDULING-TIME=*PARAMETERS(...)).
SCHEDULING-TIME = *PARAMETERS(...)
Für den Batchauftrag wird ein Startzeitpunkt festgelegt. Zusätzlich können Auftragswiederholungen vereinbart werden (Repeatjob).
START =
Startzeitpunkt des Batchauftrags. Angaben abweichend von *STD werden nur ausgeführt, wenn sie gemäß Jobklassendefinition erlaubt sind (siehe Kommando SHOW-JOB-CLASS).
START = *STD
Es gilt der Standardwert für die gewählte Jobklasse.
START = *SOON
Der Auftrag soll unter Berücksichtigung seiner Priorität so bald wie möglich gestartet werden.
START = *IMMEDIATELY
Der Auftrag soll unmittelbar gestartet werden.
START = *AT-STREAM-STARTUP
Der Auftrag soll nach dem nächsten Startup des Jobschedulers gestartet werden.
START = *WITHIN(...)
Der Auftrag soll innerhalb des nachfolgend angegebenen Zeitraums gestartet werden.
HOURS = 0 / <integer 0..23 hours >
Anzahl Stunden.
MINUTES = 0 / <integer 0..59 minutes >
Anzahl Minuten.
START = *AT(...)
Der Auftrag soll exakt zum nachfolgend angegebenen Zeitpunkt gestartet werden.
DATE = *TODAY / <date>
Datum. Der Benutzer kann das Datum in der Form [yy]yy-mm-dd angeben, wobei jedoch nur die letzten zwei Ziffern der Jahreszahl ausgewertet werden, d.h. bei vierstelligen Jahreszahlen wird die Jahrhundertangabe ignoriert!
Jahreszahlen < 80 werden mit 20, Angaben >= 80 mit 19 ergänzt.
TIME = <time>
Uhrzeit im Format hh:mm, wobei hh = Stunden und mm = Minuten sind. Sekundenangabe wird ignoriert.
START = *EARLIEST(...)
Der Auftrag soll frühestens zum nachfolgend angegebenen Zeitpunkt gestartet werden.
DATE = *TODAY / <date>
Datum. Der Benutzer kann das Datum in der Form [yy]yy-mm-dd angeben, wobei jedoch nur die letzten zwei Ziffern der Jahreszahl ausgewertet werden, d.h. bei vierstelligen Jahreszahlen wird die Jahrhundertangabe ignoriert!
Jahreszahlen < 80 werden mit 20, Angaben >= 80 mit 19 ergänzt.
TIME = <time>
Uhrzeit im Format hh:mm, wobei hh = Stunden und mm = Minuten sind. Sekundenangabe wird ignoriert.
START = *LATEST(...)
Der Auftrag soll spätestens zum nachfolgend angegebenen Zeitpunkt gestartet werden.
DATE = *TODAY / <date>
Datum. Der Benutzer kann das Datum in der Form [yy]yy-mm-dd angeben, wobei jedoch nur die letzten zwei Ziffern der Jahreszahl ausgewertet werden, d.h. bei vierstelligen Jahreszahlen wird die Jahrhundertangabe ignoriert!
Jahreszahlen < 80 werden mit 20, Angaben >= 80 mit 19 ergänzt.
TIME = <time>
Uhrzeit im Format hh:mm, wobei hh = Stunden und mm = Minuten sind. Sekundenangabe wird ignoriert.
REPEAT-JOB =
Zeitintervall, in dem der Batchauftrag wiederholt werden soll. Angaben abweichend von *STD werden nur ausgeführt, wenn sie gemäß Jobklassendefinition erlaubt sind (siehe Kommando SHOW-JOB-CLASS). Die Zeitbasis für die Wiederholungen ist abhängig von der Angabe im Operanden START; siehe dazu den Hinweis „Kombinationen der Operanden START und REPEAT-JOB“. Für die Wiederholungen gilt:
Die i-te Wiederholung (i>=1) eines Auftrages wird nur dann gestartet, wenn die(i-1)-te Ausführung beendet ist.
Abbrechen des gerade laufenden Auftrages (i) hat keine Auswirkung auf den Start von (i+1); (i>=0).
Abbruch des gesamten Auftrages: es muss sowohl der gerade laufende Auftrag (i) als auch der Folgeauftrag (i+1) abgebrochen werden, (i>=0);
(CANCEL-JOB-Kommando oder mit KommandoMODIFY-JOB..., REPEAT-JOB=*NO
den Auftrag (i) zum letzten Auftrag der Folge machen).
REPEAT-JOB = *STD
Es gilt der Standardwert für die gewählte Jobklasse.
REPEAT-JOB = *NO
Der Batchauftrag wird nicht wiederholt.
REPEAT-JOB = *DAILY
Tägliche Wiederholung zu der mit START angegebenen Uhrzeit.
REPEAT-JOB = *WEEKLY
Wöchentliche Wiederholung zu der mit START angegebenen Uhrzeit.
REPEAT-JOB = *AT-STREAM-STARTUP
Wiederholung nach jedem Startup des Jobschedulers.
REPEAT-JOB = *PERIOD(...)
Wiederholung nach dem angegebenen Zeitintervall.
HOURS = 0 / <integer 0..23 hours >
Anzahl Stunden.
MINUTES = 0 / <integer 0..59 minutes >
Anzahl Minuten.
SCHEDULING-TIME = *BY-CALENDAR(...)
Der Startzeitpunkt des Batchauftrags und mögliche Wiederholungen werden durch ein symbolisches Datum, das in einer Kalenderdatei definiert ist, festgelegt (Kalenderjob). Die Einträge einer Kalenderdatei können mit dem Kommando SHOW-CALENDAR ausgegeben werden. Die Erstellung von Kalenderdateien mit dem Dienstprogramm CALENDAR ist im Handbuch „CALENDAR“ [4] beschrieben.
CALENDAR-NAME = <filename 1..54 without-cat-user-gen-vers>
Name der Kalenderdatei.
SYMBOLIC-DATE = <filename 1..20 without-cat-user-vers> / <partial-filename 2..20 without-cat-user>
Symbolisches Datum, das den Startzeitpunkt und ggf. Wiederholungszyklen innerhalb der Kalenderdatei bezeichnet. Das symbolische Datum kann auch teilqualifiziert angegeben werden. Damit können bei entsprechender Definition von SYMDATs mehrere Startzeiten für einen Kalendertag vereinbart werden.
Beispiel: | Definition von SYMDATs in der Kalenderdatei:
Mit |
LIMIT = *STD / <integer 1..32767> / *BY-DATE(...)
Bestimmt die Lebensdauer eines Kalenderjobs. Diese Begrenzung gilt zusätzlich zu den Grenzen, die durch den Kalender gesetzt sind.
LIMIT = *STD
Die Lebensdauer des Kalenderjobs bestimmt sich allein aus dem Eintrag des symbolischen Datums im Kalender.
LIMIT = <integer 1..32767>
Die Angabe ist nur für Kalenderjobs zulässig.
Maximale Anzahl der Auftragswiederholungen des Kalenderjobs.
Nach Beendigung wird geprüft, ob der Ablaufzähler die maximale Anzahl erreicht bzw. überschritten hat. Trifft dies zu, wird der gesamte Kalenderjob beendet. Andernfalls wird der Ablaufzähler um 1 erhöht.
LIMIT = *BY-DATE(...)
Die Angabe ist nur für Kalenderjobs zulässig.
Einträge in der Kalenderdatei werden nur bis zum angegebenen Limit berücksichtigt. Für Kalendereinträge nach dem Limit wird kein Wiederholungsauftrag mehr erzeugt; der Kalenderjob beendet sich.
Die Limitierung bezieht sich ausschließlich auf die Termineinträge in der Datei, nicht auf die reale Laufzeit der Aufträge. Wiederholungsaufträge mit „zulässigem“ Starttermin unterliegen keinen weiteren Beschränkungen und werden z.B. auch nach dem angegebenen Datum noch gestartet, wenn dies vorher wegen Verzögerungen im Job-Scheduler nicht möglich war.
Das Datum wird bestimmt durch Angabe des Tages und der Uhrzeit:
DATE = <date>
Datum. Der Benutzer kann das Datum in der Form [yy]yy-mm-dd angeben, wobei jedoch nur die letzten zwei Ziffern der Jahreszahl ausgewertet werden, d.h. bei vierstelligen Jahreszahlen wird die Jahrhundertangabe ignoriert! Jahreszahlen < 80 werden mit 20, Angaben >= 80 mit 19 ergänzt.
TIME = <time>
Angabe einer Tageszeit.
RESOURCES = *PARAMETERS(...)
Angaben zu Run-Priorität, CPU-Zeit und Maximalanzahl SYSLST-Sätze.
RUN-PRIORITY = *STD / <integer 30..255>
Run-Priorität, die der Batchauftrag erhalten soll. Je niedriger der Wert, desto höher die Priorität.
Der Wert für die maximal zulässige Priorität ist das numerische Minimum der Maximalwerte (also der günstigere Wert) aus dem Benutzerkatalog und aus der Jobklassendefinition.
Ist für die Jobklasse kein Maximalwert definiert, gelten folgende Regeln:
- Ist der explizit angegebene Wert numerisch kleiner als der Wert im Benutzereintrag, wird die Meldung JMS0045 ausgegeben. Der Batchauftrag erhält den numerisch größeren Wert (also den ungünstigeren Wert) aus dem direkten Vergleich zwischen der Run-Priorität im Benutzereintrag und der Standard-Run-Priorität der Jobklasse.
- Ohne Angabe eines Wertes bzw. bei expliziter Angabe von *STD erhält der Batchauftrag die Standard-Run-Priorität der Jobklasse.
Die Werte können mit den Kommandos SHOW-USER-ATTRIBUTES und SHOW-JOB-CLASS abgefragt werden.
RUN-PRIORITY = *STD
Es gilt die für die Jobklasse festgelegte Standardpriorität.
CPU-LIMIT = *STD / *NO / <integer 1..32767 seconds >
Maximale CPU-Zeit in Sekunden, die der Batchauftrag verbrauchen darf. Die maximal erlaubte Zeit hängt von der vereinbarten Jobklasse ab.
Siehe auch Abschnitt „Zeitlimitierungen im BS2000".
CPU-LIMIT = *STD
Es gilt der Standardwert für die gewählte Jobklasse.
CPU-LIMIT = *NO
Der ENTER-Auftrag soll ohne Zeitbegrenzung laufen (NTL = No Time Limit). Der Operandenwert ist nur erlaubt, wenn entweder im Benutzereintrag oder in der Jobklassendefinition eine entsprechende Berechtigung vorliegt.
SYSLST-LIMIT = *STD / *NO / <integer 0..999999>
Bezeichnet die maximale Anzahl von Sätzen, die vom Auftrag in die Systemdateien SYSLST, SYSLST01, SYSLST02, ..., SYSLST99 und SYSOUT ausgegeben werden darf. Die Sätze für SYSOUT werden getrennt von den Sätzen für SYSLST-Dateien gezählt. Bei SYSLST werden SYSOUT-Sätze nicht mitgezählt, selbst dann nicht, wenn sie wegen der Einstellung LISTING=*YES zusätzlich nach SYSLST geschrieben werden.
Die Angabe darf die in der Jobklassendefinition festgelegte Grenze nicht überschreiten. Dies kann mit dem Kommando SHOW-JOB-CLASS abgefragt werden.
SYSLST-LIMIT = *STD
Standardwert der gewählten Jobklasse. Bei Überschreitung der angegebenen Anzahl wird der Batchauftrag abnormal beendet.
SYSLST-LIMIT = *NO
Anzahl der Sätze ist nicht begrenzt.
LISTING = *NO / *YES
Gibt an, ob der Auftragsablauf zusätzlich auf SYSLST zu protokollieren ist.
LOGGING =
Steuert die Protokollierung des Auftragablaufs. Für Nicht-S-Prozeduren wird der Operand LOGGING ignoriert, da die Protokollierung dort im Kommando BEGIN-PROCEDURE festgelegt wird.
LOGGING = *STD
Es wird nur protokolliert, falls die Prozedurdatei nicht lesegeschützt ist.
LOGGING = *YES
Der Auftragsablauf wird protokolliert. Der Ablauf einer kennwortgeschützten Datei kann nur protokolliert werden, wenn das Kennwort für den Lesezugriff in die Kennwort-Tabelle des Auftraggebers eingetragen wurde oder im Operanden PROCEDURE-PASSWORD angegeben ist.
LOGGING = *NO
Der Auftragsablauf wird nicht protokolliert.
JOB-PARAMETER =
Angabe zusätzlicher Attribute für die gewählte Jobklasse, sofern die Systembetreuung solche definiert und bekannt gegeben hat.
JOB-PARAMETER = *NO
Keine zusätzlichen Attribute.
JOB-PARAMETER = <c-string 1..127>
Zeichenfolge = Folge beliebiger Zeichen; wird von der Systembetreuung zur Kennzeichnung weiterer Jobklassenattribute vergeben.
SYSTEM-OUTPUT =
Steuert die Ausgabe der Systemdateien SYSLST und SYSOUT bei Auftragsbeendigung (siehe auch Kommando EXIT-JOB, Operand SYSTEM-OUTPUT).
SYSTEM-OUTPUT = *STD
Gibt bei fehlerhaftem Ablauf die Systemdateien SYSLST und SYSOUT auf Drucker oder in einer E-Mail aus (siehe *STDOUT).
SYSTEM-OUTPUT = *STDOUT
Die Systemdateien SYSLST und SYSOUT werden abhängig von der Einstellung des Systemparameters SSMOUT auf Drucker ausgegeben (siehe *PRINT) oder per E-Mail verschickt (siehe *MAIL). Bei systemübergreifender Kommandobearbeitung wird der Systemparameter des Zielsystems ausgewertet.
SYSTEM-OUTPUT = *PRINT
Gibt die Systemdateien SYSLST und SYSOUT auf Drucker aus.
SYSTEM-OUTPUT = *MAIL
Die Systemdateien SYSLST und SYSOUT werden per E-Mail verschickt. Die Empfängeradresse(n) werden aus dem Benutzereintrag der Benutzerkennung des beendeten Auftrags übernommen. Die Auswahl der Empfängeradresse aus einer Adressliste abhängig vom Jobnamen ist beim Kommando MAIL-FILE beschrieben. Wenn das Verschicken per E-Mail nicht möglich ist (z.B. keine E-Mail-Adresse im Benutzereintrag), werden die Systemdateien auf Drucker ausgegeben.
SYSTEM-OUTPUT = *DELETE
Die Ausgabe der Systemdateien SYSLST und SYSOUT wird unterdrückt.
ASSIGN-SYSTEM-FILES =
Gibt, an welche Zuordnung für die Systemdateien SYSLST und SYSOUT zu Beginn des Batchauftrags gelten soll. Der Operand ermöglicht es, den beiden Systemdateien bei einem asynchronen Prozedurlauf katalogisierte Dateien zuzuweisen. Die Prozedurdatei kann somit z.B. unverändert im Dialog weiterhin nach SYSOUT ausgeben und im Batchbetrieb in eine katalogisierte Datei. Die Zuordnung zu Pseudodateien (*DUMMY) wird ebenfalls unterstützt (siehe auch FILE-NAME=*DUMMY im Kommando ADD-FILE-LINK).
ASSIGN-SYSTEM-FILES = *STD
Voreingestellt ist die Primärzuweisung für SYSLST und SYSOUT, d.h. Ausgabe auf Drucker nach Beendigung der Task (abhängig von SYSTEM-OUTPUT), wenn innerhalb der Prozedur keine Änderung der Zuweisung erfolgt.
ASSIGN-SYSTEM-FILES = *PARAMETERS(...)
Gibt an, welche Zuweisung für SYSLST und SYSOUT bei Beginn des Batchauftrags gelten soll.
SYSLST = *STD / *PRIMARY / *DUMMY / <filename 1..54>
Ausgabeziel, dem die Systemdatei SYSLST zuzuordnen ist. Voreingestellt ist *STD, d.h. die bestehende Zuordnung wird nicht verändert.
SYSOUT = *STD / *PRIMARY / *DUMMY / <filename 1..54>
Ausgabeziel, dem die Systemdatei SYSOUT zuzuordnen ist. Voreingestellt ist *STD, d.h. die bestehende Zuordnung wird nicht verändert.
PROTECTION = *NONE / *CANCEL
Gibt an, ob der Batchauftrag gegen eine versehentliche Beendigung mit dem Kommando CANCEL-JOB geschützt sein soll.
PROTECTION = *NONE
Der Batchauftrag ist nicht gegen eine versehentliche Beendigung geschützt.
PROTECTION = *CANCEL
Der Batchauftrag ist gegen eine versehentliche Beendigung geschützt. In Dialogaufträgen und an Konsolen, die diesen Batchauftrag mit dem Kommando CANCEL-JOB beenden wollen, fordert das System zusätzlich eine Bestätigung an. Ein versehentliches Beenden des Batchauftrags durch fehlerhafte Angabe der Auftragsnummer soll somit verhindert werden.
Kommando-Returncode
(SC2) | SC1 | Maincode | Bedeutung |
---|---|---|---|
0 | CMD0001 | Kommando ausgeführt | |
2 | 0 | CMD0002 | Kommando ausgeführt mit Warnung z.B. DELETE= *YES ignoriert für Repeatjob oder bei Angabe eines Bibliothekelements |
1 | CMD0202 | Syntaxfehler im Kommando | |
32 | CMD0221 | Systemfehler | |
64 | JMS0630 | Semantik- oder Privilegienfehler z.B. Rechner, Katalogkennung, Jobklasse unbekannt; MONJV nicht zugreifbar, Maximalzahl Aufträge erreicht | |
64 | JMS0640 | Fehler bei Zugriff auf die Prozedurdatei z.B. keine SAM- bzw. ISAM-Datei, Datei leer, fehlendes Zugriffsrecht | |
64 | JMS0670 | Fehler bei einem REMOTE-Auftrag | |
130 | JMS0620 | Kein weiterer Speicherplatz oder TSN verfügbar; oder angegebene MONJV überwacht bereits einen Auftrag | |
130 | JMS0650 | MSCF nicht verfügbar oder keine Verbindung zum angegebenen Rechner |
Hinweise
Kombinationen der Operanden START und REPEAT-JOB:
START
REPEAT-JOB
AT-STREAM-STARTUP
DAILY bzw. WEEKLY
PERIOD
IMMEDIATELY bzw. SOON
a)
c)
c)
AT bzw. EARLIEST
a)
d)
f)
LATEST bzw. WITHIN
a)
c)
g)
AT-STREAM-STARTUP
b)
e)
e)
Tabelle 47: Kombination der Operanden START u. REPEAT-JOB im Kommando ENTER-PROCEDUREa) Der erste und alle weiteren Starts des Auftrages erfolgen wie spezifiziert. b) Der erste Start des Auftrages erfolgt mit START=*AT-STREAM-STARTUP. Alle weiteren Starts erfolgen nach dem Startup des Jobschedulers mit START= *SOON. c) Zeitbasis für den Wiederholungszyklus ist der Zeitpunkt der Jobannahme. d) Der angegebene Zeitpunkt (START=...., TIME=....) ist die Zeitbasis für den Wiederholungszyklus. e) Der erste Start des Auftrages erfolgt nach dem Startup des Jobschedulers. Diese Startzeit ist die Zeitbasis für den Wiederholungszyklus. Die weiteren Starts erfolgen mit START=*SOON. f) Der angegebene Zeitpunkt (START=...., TIME=....) ist die Zeitbasis für den Wiederholungszyklus. Der zweite und alle weiteren Starts erfolgen mit START= *SOON. g) Zeitbasis für den Wiederholungszyklus ist der Zeitpunkt der Jobannahme. Alle weiteren Starts erfolgen mit START=*SOON.
Für die Angaben *WITHIN, *AT und *LATEST im Operand START gilt: Nach dem angegebenen Zeitpunkt bzw. Zeitraum werden nicht gestartete Aufträge behandelt wie Aufträge, die mit START=*SOON und höchster Jobpriorität gestartet wurden.
BeispielEin Auftrag mit START=*LATEST(...) konnte bis zum gewünschten Zeitpunkt nicht gestartet werden, da der Jobscheduler nicht aktiv war. Der Start erfolgt dann (innerhalb derselben Session) baldmöglichst nach dem nächsten Startup des Jobschedulers.
Ermittlung des Startzeitpunktes eines Kalenderjobs:
Für die erste Ausprägung des Kalenderjobs wird bei der Auswertung der Jobattribute das im Operanden SYMBOLIC-DATE angegebene symbolische Datum (SYMDAT) an die Komponente CALENDAR übergeben. Diese liefert als konkreten Startzeitpunkt den im Vergleich mit der aktuellen Zeit nächstfolgenden Zeitpunkt (Datum und Uhrzeit) zurück, der durch die in der Kalenderdatei definierten SYMDATs vorgegeben ist.
Bei Angabe eines teilqualifizierten SYMDATs wird für jedes SYMDAT, das mit dieser Zeichenfolge beginnt, ein Startzeitpunkt zurückgeliefert und der Kalenderjob zu jedem dieser Zeitpunkte gestartet.Die Startzeitpunkte der folgenden Ausprägungen werden analog während der Terminierung des Vorgängerjobs ermittelt.
Änderungen in der Kalenderdatei wirken somit nur auf Ausprägungen von Kalenderjobs, deren Startzeitpunkte nach der Aktualisierung der Kalenderdatei ermittelt werden.
Insbesondere kann die Anzahl der Ausprägungen eines Kalenderjobs, der mit teilqualifiziertem SYMDAT gestartet wurde, nachträglich erweitert (Definition neuer SYMDATs) oder reduziert (Löschen von SYMDATs) werden.
Ein Batchauftrag, der auf einem Remote-Rechner ablaufen soll, ist über eine MONJV nur zugreifbar, wenn im MRSCAT der beteiligten Rechner jeweils die Katalogkennung des Home-Pubsets des Partnerrechners eingetragen ist.
Der Zugriff über RFA auf Prozedurdateien ist nicht möglich.
Damit die Verfügbarkeit der Prozedurdatei zum Ausführungszeitpunkt (Start des Batchauftrags) sichergestellt ist, wird immer eine Kopie der Datei mit dem Präfix S.PROC. erstellt.
Im Wesentlichen sind die Operanden identisch mit denen des ENTER-JOB-Kommandos. Nur folgende Operanden des Kommandos ENTER-JOB werden nicht unterstützt:
FILE-PASSWORD
Die erzeugte ENTER-Datei erhält ein Zufallskennwort, mit dem der Operand FILE-PASSWORD versorgt wird.
DELETE
Es gilt immer DELETE=*YES
Die erzeugte ENTER-Datei wird immer mit DELETE=*YES gestartet. Die ENTER-Datei und die Kopie der Prozedurdatei (S.PROC-Datei) wird bei Auftragsende nicht automatisch gelöscht, wenn der Auftrag wiederholt werden soll (Operand REPEAT).
Die Kopie der Prozedurdatei (S.PROC-Datei) ist kennwortgeschützt, kann aber ohne Angabe des Kennwortes vom Eigentümer gelöscht werden. Der Benutzer kann somit S.PROC-Dateien löschen, die wegen Systemfehlers nicht mehr gelöscht wurden. S.PROC-Dateien für Wiederholungsaufträge darf der Benutzer nicht löschen. Das Gleiche gilt für den Kennwortschutz der S.E-Datei.
Die S.PROC- und S.E-Dateien werden abhängig von dem Systemparameter DESTLEV mit DESTROY-BY-DELETE=*YES eingerichtet.
Prozedurdateien können mit Kennwörtern gegen Lesen, Überschreiben und Ausführen geschützt werden. Das Ausführungs-Kennwort oder ein höherwertiges Kennwort muss im Operanden PROCEDURE-PASSWORD angegeben werden.
Ein Lesekennwort muss angegeben werden, wenn der Auftragsablauf protokolliert werden soll.
Die Kennwörter werden bei der Verarbeitung des ENTER-PROCEDURE-Kommandos geprüft. Werden die Kennwörter danach geändert, so gilt die erfolgreiche Prüfung der ENTER-PROCEDURE-Verarbeitung, und die Prozedurdatei kann ausgeführt werden. Ist die auszuführende Prozedur Element einer PLAM-Bibliothek, so wird ein im Operanden PROCEDURE-PASSWORD angegebenes Kennwort nur als Kennwort für den Zugriff auf die PLAM-Bibliothek interpretiert.S.-Dateien sind stets unverschlüsselt. Die Prozedurdatei muss daher bei der Kommandobearbeitung entschlüsselt werden können, d.h. das Crypto-Kennwort muss im Operanden CRYPTO-PASSWORD angegeben werden.
Wenn der Batchauftrag auf einem fernen System gestartet wird (HOST ungleich *STD), müssen alle verwendeten Kennwörter (CRYPTO-PASSWORD, PROCEDURE-PASSWORD und JV-PASSWORD) direkt im ENTER-PROCEDURE-Kommando angegeben werden. Kennwörter, die mit den Kommandos ADD-PASSWORD und ADD-CRYPTO-PASSWORD in die Kennwortliste der Auftraggebertask eingetragen wurden, wirken nur, wenn der Auftrag lokal gestartet wird (HOST = *STD).
Die S.PROC- und S.E-Dateien sind während der Lebensdauer des Batchauftrags durch eine Dateisperre geschützt.
Dabei ist zu beachten: Die Dateisperren werden mit dem Import des Pubsets, auf dem sich die Dateien befinden, gesetzt. Es werden dabei nur solche Dateien berücksichtigt, auf die Batchaufträge aus dem aktuellen Jobpool (auf dem Home-Pubset) Bezug nehmen. Liegen die Dateien auf einem Shared-Pubset, werden die Dateisperren über den Master-Rechner koordiniert.In nichtprivilegierten Jobklassen sind maximal 32767 wartende Aufträge zulässig. Darüber hinausgehende ENTER-Jobs werden abgewiesen.