Der allgemeine Parameter Verwendung von Batchdateien muss in den Batchserverparametern auf Jastehen.
Der Parameter EXTBATCH muss auf Jastehen. Dieser Parameter gehört zur Gruppe SUPund kann auf Ordner- oder Benutzerebene definiert werden. Auf diese Art kann der Start von Batchabfragen für einen gegebenen Ordner global untersagt werden. Falls notwendig, können bestimmte Benutzer vom Verbot ausgenommen werden.
Batchabfragen können per Ablage einer Datei mit Erweiterung .job im für diese Dateien vorgesehenen Verzeichnis gestartet werden. Bei dieser Datei muss es sich um eine ASCII-Datei handeln, deren Zeilen auf <CR> oder <CR><LF> enden, wobei auf folgende Weise in jeder Zeile ein Parameterwert definiert wird:
PARAMETER = WERT
Bestimmte Parameter sind obligatorisch und legen den Ausführungskontext der Abfrage fest. Andere Parameter richten sich nach der zu startenden Abfrage. Die Namen dieser Parameter entsprechen den in der Maske für den Start der Abfrage festgelegten Parameternamen. In manchen Fällen wird eine Parametertabelle in der Maske definiert. Die Syntax lautet PARAMETER(Index)= Wert, wobei Index numerisch ist.
Um die Anlage von solchen Dateien zu vereinfachen, können Abfragen auch per Aktivierung des Kontrollkästchens Vorlage in der Maske für den Start von Abfragenaus der Software heraus gestartet werden. Bei dieser Vorgehensweise wird im Startverzeichnis eine Datei angelegt, die eine vollständige Liste der Startparameter und ihrer Werte umfasst. Diese Datei wird unter dem Namen der Abfrage mit der Erweiterung .modangelegt.
Die nachstehende Tabelle enthält die Namen der obligatorischen Parameter und ihre Definition.
PARAMETER | DEFINITION |
DOSSIER | Code des Ordners, in dem die Abfrage gestartet wird |
UTIL | Code des Benutzers, der mit dem Ordner verbunden ist |
PASSE | Verschlüsseltes Benutzerpasswort |
GRP | Abfragegruppe (wenn eine Gruppe gestartet wird) |
TACHE | Abfrage (wenn eine Abfrage gestartet wird) |
DATE | Startdatum (im Format JJJJMMTT) |
HEURE | Startuhrzeit (im Format HHMM) |
Die Parameterwerte werden ohne Trennzeichen angegeben. Kommentarzeilen beginnen mit dem Zeichen #. Beispiel für eine Abfragedatei:
# Obligatorische Parameter
DOSSIER=DEMO
DATE=20020614
…
# Zusatzparameter
PARAM(1)=TEST
PARAM(2)=ABC
Der Batchserver sucht in regelmäßigen Abständen den Inhalt des Abfragedateiverzeichnisses ab. Bei dieser Suche werden die im Verzeichnis vorhandenen Dateien in alphabetischer Reihenfolge (ASCII) gelesen. Es wird daher empfohlen, die Dateien mit einer festen Wurzel und einer Sequenznummer mit fester Länge zu benennen. Beispiel: REQ000001.req, REQ0000002.reqetc.
Bei der Verarbeitung der einzelnen Dateien werden sukzessive in den verschiedenen durch die Batchserverparameterdefinierten Verzeichnissen neue Dateien angelegt. Diese Dateien werden nachstehend definiert:
VERARBEITUNGSSCHRITT | AKTUALISIERTE DATEIEN |
Ablage einer Batchverarbeitungsanforderung | Anlage der Datei xxxxx.job durch einen externen Prozess im hierfür vorgesehenen Verzeichnis. |
Der Batchserver berücksichtigt die Anforderung und aktualisiert entsprechend die Tabelle der zu startenden Abfragen | Die Datei xxxxx.job wird in xxxxx.req umbenannt (und verschoben, falls es sich nicht um dasselbe Verzeichnis handelt) |
Der Server findet einen Fehler in der Parameterdatei (fehlerhaftes Passwort, unbekannter Aufgabencode oder Ähnliches) | Die Datei xxxxx.job wird in xxxxx.old umbenannt (und verschoben, falls es sich nicht um dasselbe Verzeichnis handelt). Anlage der Datei xxxxx.sta im hierfür vorgesehenen Verzeichnis. Diese Datei enthält einen Fehlercode, dem zu entnehmen ist, dass die Eingabedatei nicht korrekt war (siehe unten Dateiformat). |
Die Abfrage wird gerade ausgeführt, da sie vom Batchserver gestartet wurde | Die Datei xxxxx.req wird in xxxxx.old umbenannt (und verschoben, falls es sich nicht um dasselbe Verzeichnis handelt). Anlage der Datei xxxxx.runim hierfür vorgesehenen Verzeichnis. |
Die Abfrage ist beendet (korrekt oder mit einem Fehler) | Die Datei xxxxx.run wird gelöscht, eine Datei xxxxx.sta wird im hierfür vorgesehenen Verzeichnis angelegt: Sie enthält einen Rückgabestatus (siehe unten Dateiformat). |
Es wird eine Unterbrechungsanforderung für die Batchabfrage abgelegt (die Batchabfrage ist in der Warteschlange oder wurde bereits gestartet) | Anlage der Datei xxxxx.kil durch einen externen Prozess im hierfür vorgesehenen Verzeichnis |
Berücksichtigung der Unterbrechungsanforderung (wenn die Abfrage nicht bereits gestartet wurde) | Die Datei xxxxx.req (oder die Datei xxxxx.job , sofern diese noch nicht berücksichtigt wurde) wird in xxxxx.oldumbenannt. Anlage der Datei xxxxx.sta im hierfür vorgesehenen Verzeichnis. Diese Datei enthält einen Fehlercode, dem zu entnehmen ist, dass die Abfrage vor dem Start unterbrochen wurde. Die Datei xxxxx.kilwird gelöscht. |
Berücksichtigung der Unterbrechungsanforderung (wenn die Abfrage bereits gestartet wurde, jedoch noch nicht beendet ist) | Die Abfrage wird mit killadxunterbrochen. Dann wird die Datei xxxxx.sta im hierfür vorgesehenen Verzeichnis angelegt. Sie enthält einen Fehlercode, dem zu entnehmen ist, dass die Abfrage unterbrochen wurde. Die Dateien xxxxx.kilund xxxxx.runwerden gelöscht. |
Wegen der Ausführungsprioritäten oder weil der Batchserver angehalten wurde, konnte die Abfrage nicht innerhalb der vorgesehenen Frist gestartet werden (Frist für die Abfrage abgelaufen) | Die Abfrage wird nicht gestartet, aber die Datei xxxxx.req (bzw. ggf. die Datei xxxxx.job ) wird in xxxx.oldumbenannt und falls notwendig verschoben. Anlage der Datei xxxxx.sta im hierfür vorgesehenen Verzeichnis. Diese Datei enthält einen Fehlercode, dem zu entnehmen ist, dass die Abfrage nicht gestartet werden konnte. |
Hinweis: Die Existenz einer Datei xxxxx.run bedeutet nicht notwendigerweise, dass die entsprechende Abfrage auch läuft. Wenn der Batchserver angehalten wurde, ohne die laufenden Abfragen abzubrechen, so bleiben die entsprechenden Dateien xxxxx.run auch dann erhalten, wenn die Abfrage beendet ist. In diesem Fall wird auch die Datei xxxxx.sta nicht angelegt. Beim Neustart des Batchservers wird die Datei xxxxx.run gelöscht. Es wird dann eine Datei xxxxx.staangelegt, die einen Sonderstatus aufweist.
Die Anzahl der in Verarbeitung befindlichen Batchabfragen kann also nicht nur aus der Anzahl der im entsprechenden Verzeichnis vorhandenen xxxxx.run -Dateien abgeleitet werden.
Bei diesen Dateien handelt es sich um 8-Bit-kodierte ASCII-Dateien in verschiedenen Verzeichnissen (je nach Parametrierung):
Die Struktur der einzigen in den Dateien .run und .sta enthaltenen Dateien lautet:
Die genaue Struktur lautet:
Statusnummer | Abfragenummer | Datum und Uhrzeit Start | Datum und Uhrzeit Ende | Ordnercode | Benutzercode | Aufgabencode | Meldung in Klartext | Zeilenende |
NNNNN | NNNNNNNN | JJJJMMTTHHMMSS | JJJJMMTTHHMMSS | DDDDDDDDDD | UUUUU | TTTTTTTTTT | XXXXXXXXXXXXXXXXXX | <CR> |
5 Ziffern | (8 Ziffern) | (14 Ziffern) | (14 Ziffern) | (10 Zeichen) | (5 Zeichen) | (10 Zeichen) | (80 Zeichen) | (1 oder 2 Bytes) |
Im Meldungsbereich kann der Fehlercode angegeben werden, falls notwendig. Der Meldungsbereich weist eine feste Länge von 80 Zeichen auf (die Meldung wird ggf. mit Leerzeichen aufgefüllt).
Die Abfragenummer wird achtstellig gespeichert und ggf. links mit Nullen aufgefüllt. Anhand der Abfragenummer lässt sich der Name der bei der Abfrageausführung angelegten Protokolldatei ermitteln. Diese Datei heißt nämlich RQTNNNNNNNN.tra, wobeiNNNNNNNN die achtstellige Abfragenummer ist. Die Protokolldatei liegt im Unterverzeichnis TRA des Ordners SERVX3. Wenn keine Abfrage gestartet werden konnte, kann die Fehlernummer 0 betragen.
Der Aufgabencode entspricht der Aufgabe oder der Aufgabenverkettung wie sie in der Tabelle der Aufgaben oder der Verkettungen definiert ist.
Anhand des fünfstelligen numerischen Statuscodes lässt sich das Abfrageergebnis ermitteln. Die erste Ziffer beschreibt das Gesamtergebnis der Ausführung, die nachfolgenden Ziffern geben Auskunft über zusätzliche Informationen. Wurde die Abfrage ohne Fehler und ohne Warnung beendet, lautet der Fehlercode 00000. Nachstehend finden Sie eine Auflistung der Codes:
Fünfstelliger Fehlercode | Meldung in Klartext | |||
1. Ziffer | Bedeutung | Zusatz | Bedeutung |
|
0 | Normales Verarbeitungsende | 0000 | Ohne Warnung | ABFRAGE BEENDET |
NNNN | Mit NNNNWarnungen in der Protokolldatei (9999, falls 9999 oder mehr) | ABFRAGE MIT WARNUNGEN BEENDET | ||
1
| Verarbeitung mit Fehler beendet
| 0000 | Nicht spezifizierter Fehler (z. B. GOK = -1 und keine Zusatzdaten) | ABFRAGE MIT UNBEKANNTEM FEHLER BEENDET |
1NNN | Fehler Nr. NNNNder X3-Engine (Meldung M) | MIT X3-FEHLER BEENDET: M | ||
2000 | Fehler beim Sperren (GOK = 0) | FEHLER BEIM SPERREN | ||
3NNN | Logischer Verarbeitungsfehler mit: NNN =Wert der Variable GERRBATCH, | ABFRAGE MIT FEHLER M | ||
BEENDETWichtiger Hinweis
| ||||
Der Wert der Variable GERBATCH wirkt sich auf die weitere Verarbeitung aus, sofern diese in einer Aufgabengruppe eingebunden ist. Ist der Wert der Variable GERBATCH echt kleiner als 100, wird die nachfolgende Aufgabe trotz des Fehlers gestartet. Ist der Wert der Variable GERBATCH hingegen größer oder gleich 100, werden die nachfolgenden Aufgaben der Gruppe nicht gestattet. 2
|
Verarbeitung nicht gestartet
|
| 1000 | Die Aufgabe wurde für eine bestimmte Uhrzeit programmiert, konnte aber nicht innerhalb der vorgesehenen Frist gestartet werden. |
FRIST ÜBERSCHRITTEN | 2000Aufgabe nicht vorhanden | TTTAUFGABE NICHT VORHANDEN | ||
3000 | Berechtigung (nicht spezifiziert) | VERARBEITUNG AUFGRUND EINES NICHT SPEZIFIZIERTEN BERECHTIGUNGSPROBLEMS NICHT GESTARTET | ||
3100 | Berechtigung (Benutzer U unbekannt) | BENUTZER UUNBEKANNT | ||
3200 | Berechtigung (Passwort für Benutzer Unicht korrekt) | PASSWORT FÜR BENUTZER U | ||
NICHT KORREKT | 3300 | Berechtigung (Ablehnung durch Eingabepunkt) | ||
VERARBEITUNG DURCH DEN EINGABEPUNKT ABGELEHNT UND DAHER NICHT GESTARTET | 3400 Berechtigung (Benutzer U verfügt nicht über eine ausreichende Berechtigung für EbeneN | der Aufgabe) BENUTZERU IST NICHT FÜR ZUGRIFFSEBENE | ||
N | BERECHTIGT 3500Berechtigung (Benutzer Uist nicht für Funktion | F berechtigt) BENUTZER | ||
U NICHT FÜR FUNKTION F BERECHTIGT 4NNN | Wechsel in den Single-Modus nicht möglich (NNNBenutzer angemeldet) | WECHSEL IN DEN SINGLE-MODUS NICHT MÖGLICH, DA NNNBENUTZER ANGEMELDET SIND | ||
5000 | Verarbeitung Tnicht vorhanden | VERARBEITUNG TNICHT VORHANDEN | ||
3 | Verarbeitung angehalten | 0000 | Verarbeitung aus unbekanntem Grund angehalten (z. B. wenn die Abfrage von einem Prozess gekillt wurde, der nicht dem Batchserverprozess entspricht) | ABFRAGE AUS UNBEKANNTEM GRUND ABGEBROCHEN |
1000 | Durch die Datei mit Erweiterung .kil, welche die Meldung M | enthält ABFRAGE VON U WEGEN | ||
M | ||||
UNTERBROCHEN | Hinweis: Bei einem Kill durch die Datei kann der Benutzercode leer sein. Das System versucht dann auf Basis der Benutzer-Id desjenigen Benutzers, der die Datei angelegt hat, zu ermitteln, ob es einen entsprechenden X3-Benutzercode gibt. Abhängig vom verwendeten Betriebssystem kann es vorkommen, dass diese Suche kein Ergebnis liefert. 2000Durch die Aufgabenverwaltung und den Benutzer U | : Die erfassten Meldung ist M ABFRAGE VON U | ||
WEGEN | M | UNTERBROCHEN 3000 drch den Batchserver nach einem Time-out. |
Im Rahmen der Mobilisierung der Batchaufgaben (Modell GTRAITE) stehen dem Benutzer in den spezifischen Aufgaben und über Eingabepunkte in den Standardaufgaben folgende Variablen zur Verfügung:
Sofern es sich nicht um einen Kohärenzfehler beim Start handelt, werden sämtliche aufgetretenen Fehler von den Standardbatchaufgaben als harmlos betrachtet. Es wird lediglich GERRTRACE inkrementiert, und die Fehler werden in das Protokoll eingetragen. Die schweren Fehler, die eine Unterbrechung der Verarbeitung nach sich ziehen müssen, sind also über Eingabepunkte zu behandeln, wobei der Wert der Variable GERRBATCH größer als 100 gesetzt werden muss.
Diese Datei liegt im Unterverzeichnis TRA des Verzeichnisses SERVX3 und beinhaltet das Serverprotokoll. Die Zeilenstruktur entspricht derjenigen einer klassischen Protokolldatei (normalisierter Kopf, fünfstelliger numerischer Status). Jede Zeile setzt sich aus einem Text zusammen, dem als Präfix eine Zahl vorgestellt sein kann (diese Zahl folgt wiederum auf das Zeichen "<", wenn es sich um einen Fehler handelt, und auf das Zeichen "=", wenn es sich um eine Warnung handelt).
Die nachfolgenden Statusnummern sind vorhanden (und folgen auf die Zahl 4 oder 5, damit die Nummerierung fortlaufend von den vorhergehenden Status fortgesetzt wird). Hinweis: Mit der Ziffer 4 beginnende Status sind schwerwiegend und dürften bei normalem Betrieb nicht auftreten. Es kann sich entweder um Systemprobleme oder um fehlerhafte Installationen bzw. spezifische Anwendungsfehler handeln (Aktualisierungsprobleme, Fehler bei der Aufgabenverwaltung bzw. beim Sperren des Batchservers). Mit der Ziffer 5 beginnende Status treten bei normaler Batchserveraktivität auf:
SCHWERWIEGENDE SERVERKOHÄRENZFEHLER | ||
Status | Erläuterung | Text |
41000 | Desynchronisation Aufgabe | FEHLER BEI DER DESYNCHRONISATION DER AUFGABE |
42000 | Fehler beim Zugriff auf die Aufgabentabelle | FEHLER BEIM ZUGRIFF AUF DIE AUFGABENTABELLE |
43000 | Abfragenummer nicht vorhanden | ABFRAGENUMMER NICHT VORHANDEN |
44000 | Fehler beim Zugriff auf die Batchparametertabelle |
|
SERVERMELDUNGEN BEI NORMALBETRIEB | ||
50000 | Serverstart | START BATCHSERVER |
51000 | Abfrageaktivierung (Prozess-Id P) | ABFRAGEAKTIVIERUNG PID =P |
52NNN | X3-Fehler NNNbeim Serverstart (Fehlermeldung = M) | FEHLER BEIM SERVERSTARTM |
53000 | Sonstiger Fehler beim Serverstart | UNBESTIMMTER FEHLER BEIM SERVERSTART |
54000 | Der Server wurde gestartet, obwohl er bereits aktiv ist | DER SERVER IST BEREITS AKTIV |
55000 | Deaktivierung Server |
|
Diese Dateien liegen im Unterverzeichnis TRA des Verzeichnisses SERVX3 und beinhalten das Abfrageprotokoll. Die Zeilenstruktur entspricht derjenigen einer klassischen Protokolldatei (normalisierter Kopf, fünfstelliger numerischer Status). Jede Zeile setzt sich aus einem Text zusammen, dem als Präfix eine Zahl vorgestellt sein kann (diese Zahl folgt wiederum auf das Zeichen "<", wenn es sich um einen Fehler oder um eine Warnung handelt). Die Dateien können direkt in der Abfrageverwaltung gelesen werden (Rechtsklick, Protokoll lesen).
Die erste Zeile nach dem Kopf einer solchen Datei weist folgendes Format auf (zum Status Abfrageaktivierungsiehe oben):
=51000 NNNNNNNNTT/MM/JJ hh :mm :ss Abfrageaktivierung (51000)
(NNNNNNNNsteht hier für die Aufgabennummer)
Die klassischen Aufgabenprotokollzeilen richten sich nach dieser ersten Zeile (wenn die fragliche Verarbeitung nicht im Batch aufgerufen wird, werden diese Zeilen in einer klassische Protokolldatei FNNNNN.tra im TRA-Verzeichnis des Startordners geschrieben). Sofern die Aufgabe nicht unerwartet unterbrochen wird (z. B. durch killadx) weist auch die letzte Zeile diese Struktur auf. Die Nummer entspricht einer korrekten Beendigung (00000) oder einer Beendigung mit Fehler (1NNNN) wie oben beschrieben.