Statusmeldungen und Fehlerbenachrichtigungen bearbeiten

#### Search Results

Search

# Statusmeldungen und Fehlerbenachrichtigungen bearbeiten

Dieses Kapitel beschreibt mögliche Gründe für die Ablehnung von Objekten während der Funktionsverarbeitung, die nach der Verarbeitung angezeigten Statusmeldungen und die Fehlerbenachrichtigung während der Verarbeitung.

- Ablehnung von Objekten und Ursache

- Status-Meldungen

- SYSMAIN-Fehlerbenachrichtigung

## Ablehnung von Objekten und Ursache

Wenn bei der Ausführung einer SYSMAIN-Funktion ein oder mehrere Objekte gefunden wurden, die den angegebenen Auswahlkriterien entsprechen, aber einige oder alle dieser Objekte zur weiteren Verarbeitung abgelehnt wurden, tritt einer der folgenden Natural-Systemfehler auf:

Nummer | Fehlertext
--- | ---
4867 | `Nothing found for this request.`
Zu dieser Anforderung wurde nichts gefunden.
4810 | `All data rejected by these selection criteria.`
Daten wurden aufgrund dieser Auswahlkriterien abgelehnt.
4893 | `Normal completion, but some data were rejected.`
Normale Erledigung, aber einige Daten wurden abgelehnt.

Sie können das SYSMAIN-Kommando `TOTAL` (siehe An SYSMAIN absetzbare spezielle Kommandos) benutzen, um den individuellen Status einer Anfrage zu überprüfen.

Mögliche Gründe für die Ablehnung von Objekten sind im folgenden Abschnitt beschrieben:

- Ungültige Angaben zu Objekttyp, Datum/Uhrzeit, Benutzer oder Terminal

- Identischer Name in der Zielumgebung

- XREF und User Exits

- Keine kurze oder erweiterte Fehlermeldung

- Library-Einschränkungen

### Ungültige Angaben zu Objekttyp, Datum/Uhrzeit, Benutzer oder Terminal

- Ein Objekt wurde ausgewählt und dann abgelehnt, weil der Objekttyp für die angegebene Art der Verarbeitung nicht gültig war. Bei der Verarbeitung von Programmierobjekten werden beispielsweise alle Maps abgelehnt, wenn die Verarbeitung auf Objekte vom Typ Programm oder Subroutine beschränkt wurde.

- Ein Objekt wurde ausgewählt und dann abgelehnt, weil das Datum oder die Uhrzeit, zu der das angegebene Objekt gespeichert oder katalogisiert wurde, nicht in dem angegebenen Datums- oder Zeitbereich liegt.

- Ein Objekt wurde ausgewählt und dann abgelehnt, weil die Benutzerkennung oder Terminal-Kennung, unter der das angegebene Objekt gespeichert oder katalogisiert wurde, nicht mit der angegebenen Benutzerkennung oder Terminal-Kennung übereinstimmte.

- Ein katalogisiertes Objekt wurde ausgewählt und dann abgelehnt, weil der Profilparameter `RECAT` auf `ON` gesetzt war und es kein gespeichertes (Quellcode-)Objekt gab, das dem katalogisierten Objekt entsprach. Siehe auch Profilparameter RECAT verwenden.

- Es wurde (nur) ein gespeichertes Objekt ausgewählt und dann abgelehnt, weil der Profilparameter `RECAT` auf `ON` gesetzt war und die Zielumgebung bereits ein katalogisiertes Objekt mit demselben Namen enthielt. Siehe auch Profilparameter RECAT verwenden.

### Identischer Name in der Zielumgebung

- Ein Objekt wurde ausgewählt und dann abgelehnt, weil die Zielumgebung bereits ein Objekt mit demselben Namen enthielt und die Ersetzungsoption nicht aktiviert war (Feld Replace auf `N` gesetzt oder Schlüsselwort `REPLACE` nicht angegeben).

- Ein katalogisiertes Programmierobjekt vom Typ `S` (Subprogramm) wurde ausgewählt und dann abgelehnt, weil der Name der externen Subroutine mit dem Namen einer anderen Subroutine in der Ziel-Library identisch war.

- Ein katalogisiertes Programmierobjekt vom Typ `4` (Class) wurde ausgewählt und dann zurückgewiesen, weil der Name der externen Class mit dem Namen einer anderen Class in der Ziel-Library identisch war.

### XREF und User Exits

- Die Option XREF war aktiviert (Feld `XREF` nicht auf `N` gesetzt oder Schlüsselwort `XREF` angegeben) und es waren keine XRef-Daten für das angegebene Programmierobjekt vorhanden.

- Eine User-Exit-Routine war aktiv, und bei der Verarbeitung des Objekts wurde ein Rückgabe-Code ungleich Null zurückgegeben.

### Keine kurze oder erweiterte Fehlermeldung

- Eine erweiterte (lange) Fehlermeldung wurde ausgewählt und dann abgelehnt, weil keine entsprechende kurze Fehlermeldung in der Quell-Library vorhanden war.

- Eine erweiterte (lange) Fehlermeldung wurde ausgewählt, konnte aber nicht verarbeitet werden, weil es in der Zielumgebung keine entsprechende kurze Fehlermeldung gab.

- Eine kurze Fehlermeldung wurde zum Verschieben (Move), Löschen (Delete) oder Umnummerieren (Rename) ausgewählt, konnte aber nicht verarbeitet werden, weil der entsprechende erweiterte Fehlertext nicht in den Auswahlkriterien enthalten war. Zu einer erweiterten Fehlermeldung muss immer eine entsprechende kurze Fehlermeldung vorhanden sein.

### Library-Einschränkungen

- Es wurde eine Library angegeben, die von Predict Application Control/Predict Application Audit kontrolliert wird, und das Objekt kann nicht von SYSMAIN behandelt werden.

## Status-Meldungen

Die folgende Tabelle beschreibt die Statusmeldungen, die in der Spalte Message eines Auswahlbildschirms oder in einem Batch-Report (siehe auch Online Report-Modus) angezeigt werden können, nachdem eine SYSMAIN-Funktion auf einem Objekt ausgeführt wurde. Die erwähnten Zeilenkommandos finden Sie unter Auswahllisten in den objekttypspezifischen Abschnitten dieser Dokumentation.

Meldung | Erläuterung | Funktion abgeschlossen?
--- | --- | ---
`Class Exists` | Gilt nur für Programmierobjekte. Das katalogisierte Objekt einer Class hatte einen externen Class-Namen, der bereits von einem anderen katalogisierten Objekt einer Class in der Zielumgebung verwendet wurde. | Nein
`Copied` | Eines der folgenden Zeilenkommandos wurde von einem Copy/Rename Selection-Bildschirm ausgeführt: `A`, oder `A`, `C` oder `S` für Programmierobjekte, oder `A`, `E` oder `S`für Fehlermeldungen, oder `A`, `D`, `E`, `M` oder `P` für Profile. | Ja
`DB Error: nnn` | Für das Objekt wurde bei der Verarbeitung ein Datenbankfehler zurückgegeben. | Nein
`Deleted` | Eines der folgenden Zeilenkommandos wurde von einem Delete Selection-Bildschirm ausgeführt: `A`, oder `A`, `C` oder `S` für Programmierobjekte, oder `A`, `E` oder `S`für Fehlermeldungen, oder `A`, `D`, `E`, `M` oder `P` für Profile. | Ja
`Dev exists` | Gilt nur für Profile. Device existiert: Die Option Replace (Ersetzen) wurde auf `N` gesetzt und das Zeilenkommando `A` oder `D` wurde von einem Copy/Move/Rename Selection-Bildschirm (Kopieren/Verschieben/Umbenennen) ausgeführt. Das Device-Profil mit demselben Namen in der Zielumgebung wurde nicht ersetzt. | Nein
`Directory` | Verzeichnis: Das Zeilenkommando `I` (Verzeichnis anzeigen) wurde von einem Auswahlbildschirm (Selection) aus ausgeführt. | Ja
`Edt exists` | Gilt nur für Profile. Editorprofil: Die Replace-Option wurde auf `N` gesetzt und das Zeilenkommando `A` oder `E` wurde von einem Copy/Move/Rename Selection-Bildschirm aus ausgeführt. Das gleichnamige Editorprofil in der Zielumgebung wurde nicht ersetzt. | Nein
`Err: NAT2999` | Gilt nur für Programmierobjekte. Ein katalogisiertes Objekt wurde bearbeitet, wobei die Option XREF auf `F` gesetzt war. In der für das Objekt angegebenen FDIC-Systemdatei existiert kein Predict-Eintrag. | Nein
`Err: NAT4852` | Eine Natural Security-Verletzung ist aufgetreten. | Nein
`Exit: nnn` | Eine Benutzer-Exit-Routine war aktiv, und der Exit lieferte einen Rückgabecode ungleich Null (nnn = der Rückgabecode). Siehe auch User-Exit-Routinen. | Nein
`Exported` | Gilt nur für Programmierobjekte und DDMs. Das Zeilenkommando X (PC-Download) wurde für ein Quellcodeobjekt von einem Auswahlbildschirm (Selection) aus ausgeführt. | Ja
`Ext Exists` | Gilt nur für Fehlermeldungen. Es wurde versucht, nur die kurze Fehlermeldung einer Fehlermeldung zu löschen, für die eine lange Fehlermeldung existiert. Dies hätte zu einer erweiterten (langen) Fehlermeldung ohne entsprechende kurze Meldung geführt. Dies ist in Natural nicht zulässig. | Nein
`File Listed` | Gilt nur für Rules. Das Zeilenkommando `F` (DDMs/Felder anzeigen) wurde bei einer automatischen Rule von einem Auswahlbildschirm (Selection) aus ausgeführt. | Ja
`In Use` | In Verwendung: Bei der Natural `UPDATE/READ`-Verarbeitung eines Objekts wurde ein Adabas-Antwortcode 145 zurückgegeben. | Nein
`Invalid` | Gilt nur für Debug-Umgebungen. Für eine der auf einem Auswahlbildschirm (Selection) aufgelisteten Debug-Umgebungen wurde ein ungültiges Zeilenkommando eingegeben. | Nein
`Listed` | Gilt nicht für DDMs und Debug-Umgebungen. Das Zeilenkommando `L` (Quellcode anzeigen) wurde von einem Auswahlbildschirm (Selection) aus ausgeführt. | Ja
`Map exists` | Gilt nur für Profile. Die Option Replace wurde auf `N` gesetzt und das Zeilenkommando `A` oder `M` wurde von einem Auswahlbildschirm (Selection) für Copy/Move/Rename ausgeführt. Das gleichnamige Map-Profil in der Zielumgebung wurde nicht ersetzt. | Nein
`Moved` | Eines der folgenden Zeilenkommandos wurde von einem Move Selection-Bildschirm ausgeführt: `A`, oder `A`, `C` oder `S` für Programmierobjekte, oder `A`, `E` oder `S` für Fehlermeldungen, oder `A`, `D`, `E`, `M` oder `P` für Profile. | Ja
`Must be Auto` | Gilt nur für Rules. Das Zeilenkommando `F` (DDMs/Felder anzeigen) wurde bei einer freien Rule von einem Auswahlbildschirm (Selection) aus ausgeführt. Das Zeilenkommando `F` kann nur bei automatischen Rules ausgeführt werden. | Nein
`Name Erro` | Gilt nur für Debug-Umgebungen. Die Funktion Rename wurde verwendet, aber der angegebene neue Name wurde als ungültig erkannt. Entweder wurde kein neuer Name für die Auswahl angegeben, oder der angegebene Name enthielt entweder ungültige Sonderzeichen oder begann nicht mit einem alphabetischen Zeichen. | Nein
`NBP Deleted` oder `Ignored` | Gilt nur für Programmierobjekte. Das Zeilenkommando `B` (Objekt aus dem Bufferpool löschen) wurde von einem Auswahlbildschirm (Selection) aus ausgeführt. Die nach Abschluss der Verarbeitung zurückgegebene Meldung lautet entweder `NBP Deleted` (NBP Gelöscht) oder `Ignored` (Ignoriert), je nachdem, ob das Löschen aus dem Bufferpool für das/die angegebene(n) Objekt(e) bestätigt wurde oder nicht. | Ja/Nein
`No Lang 1` | Gilt nur für Fehlermeldungen. Für die erweiterten (langen) Natural-System-Fehlermeldungen ist nur der Sprachcode `1` (Englisch) verfügbar. Es wurde versucht, eine erweiterte Natural-System-Fehlermeldung zu kopieren, und Sprachcode `1` wurde nicht als Sprache angegeben. | Nein
`no Short Err` | Gilt nur für Fehlermeldungen. Es wurde eine erweiterte (lange) Fehlermeldung zur Weiterverarbeitung ausgewählt, aber die Zielfehlermeldungsnummer hat keine entsprechende kurze Fehlermeldung. | Nein
`No Xref` | Gilt nur für Programmierobjekte. Ein katalogisiertes Objekt wurde bearbeitet und die Option XREF war auf `Y` oder `F` gesetzt. In der für das Objekt angegebenen FDIC-Systemdatei sind keine XRef-Daten vorhanden. | Nein
`Not Found` | Gilt nur für Fehlermeldungen und Profile. Bei der Verarbeitung ist ein Fehler in der Update-Logik aufgetreten und die angeforderte Fehlermeldung oder das angeforderte Profil konnte nicht gefunden werden. Dies bedeutet, dass die angegebene Fehlermeldung oder das angegebene Profil in der Zeit zwischen Auswahl und Update gelöscht wurde. | Nein
`Not Replaced` oder `Not Repld` | Die Replace-Option wurde auf `N` gesetzt und eines der folgenden Zeilenkommandos wurde von einem Copy/Move/Rename Selection-Bildschirm aus ausgeführt: `A`, oder `A`, `C` oder `S` für Programmierobjekte, oder `A`, `E` oder `S`für Fehlermeldungen, oder `A`, `D`, `E`, `M` oder `P` für Profile. Das Objekt mit dem gleichen Namen in der Zielumgebung wurde nicht ersetzt. | Nein
`Parm exists` | Gilt nur für Profile. Die Replace-Option wurde auf `N` gesetzt und das Zeilenkommando `A` oder `P` wurde von einem Copy/Move/Rename Selection-Bildschirm aus ausgeführt. Das Parameterprofil mit demselben Namen in der Zielumgebung wurde nicht ersetzt. | Nein
`Printed` | Gilt nur für Programmierobjekte und Rules. Das Zeilenkommando H (Hardcopy erzeugen) wurde von einem Auswahlbildschirm (Selection) aus ausgeführt. | Ja
`Renamed` oder `Copied` | Gilt nur für Debug-Umgebungen und Fehlermeldungen. Eines der folgenden Zeilenkommandos wurde von einem Rename Selection-Auswahlbildschirm ausgeführt: `A` für Debug-Umgebungen, oder `A`, `E` oder `S` für Fehlermeldungen. Die Meldung, die nach Abschluss der Verarbeitung zurückgegeben wird, lautet entweder `Renamed` (Umbenannt) oder `Copied` (Kopiert), je nachdem, ob die Option zur Beibehaltung des ursprünglichen Objekts angegeben wurde. | Ja
`Renamed as` oder `Copied as` | Gilt nur für Programmierobjekte. Das Zeilenkommando `A`, `C` oder `S` wurde von einem Rename Selection-Bildschirm aus ausgeführt. Die nach Abschluss der Verarbeitung zurückgegebene Meldung lautet entweder `Renamed as` (Umbenannt in) oder `Copied as` (Kopiert in), je nachdem, ob die Option zur Beibehaltung des ursprünglichen Objekts angegeben wurde. | Ja
`Replaced` | Die Replace-Option wurde auf `Y` gesetzt und einer der folgenden Zeilenbefehle wurde von einem Copy/Move/Rename Selection-Bildschirm aus ausgeführt: `A`, oder `A`, `C` oder `S` für Programmierobjekte, oder `A`, `E` oder `S`für Fehlermeldungen, oder `A`, `D`, `E`, `M` oder `P` für Profile. Das Objekt mit dem gleichen Namen in der Zielumgebung wurde ersetzt. | Ja
`Sized` | Gilt nur für Programmierobjekte. Das Zeilenkommando `Z` (Größe berechnen) wurde von einem Auswahlbildschirm (Selection) aus ausgeführt. | Ja
`Subrtn Exists` | Gilt nur für Programmierobjekte. Das katalogisierte Objekt einer Subroutine hatte einen externen Subroutinenamen, der bereits von einer anderen katalogisierten Subroutine in der Zielumgebung verwendet wurde. | Nein
`Updated` | Gilt nur für Fehlermeldungen. Der Text in der angegebenen Sprache war für die gewählte Fehlermeldung vorher nicht vorhanden, und SYSMAIN hat die Fehlermeldung mit dem neuen Sprachtext aktualisiert. | Ja
`Src locked` | Gilt nur für Programmierobjekte. Das Zeilenkommando `A` oder `S` wurde von einem Copy/Move/Rename/Delete Selection-Bildschirm aus ausgeführt. Das Objekt wurde nicht verarbeitet, weil der Quellcode des betreffenden Objekts gesperrt war. | Nein

## SYSMAIN-Fehlerbenachrichtigung

SYSMAIN versucht im Falle eines Laufzeitfehlers während der Verarbeitung immer eine Wiederherstellung zu erreichen. Diese Funktion wird automatisch aktiviert und verwendet die Systemvariable `*ERROR-TA` (siehe auch *ERROR-TA in der Systemvariablen-Dokumentation). Diese Funktion wird deaktiviert, wenn SYSMAIN normal beendet wird.

Wenn ein Terminalkommando (siehe auch %% und %. — Aktive Operation unterbrechen in der Terminalkommandos-Dokumentation) zum Beenden von SYSMAIN verwendet, wird dies als abnormales Beenden betrachtet, und die Systemvariable `*ERROR-TA` wird nicht zurückgesetzt. Sie kann zurückgesetzt werden, indem SYSMAIN erneut aufgerufen und normal beendet wird. Falls Sie die Systemvariable `*ERROR-TA` gesetzt haben, setzt SYSMAIN sie beim Beenden auf den zuvor zugewiesenen Wert zurück.

Wenn in Bezug auf die Auswahlkriterien ungültige Daten angegeben wurden, wird eine Fehlermeldung in der Meldungszeile ausgegeben. Wenn Sie sich über die Bedeutung der kurzen Fehlermeldung unsicher sind, können Sie mit dem Spezialkommando `DISPLAY` (siehe auch An SYSMAIN absetzbare spezielle Kommandos) eine Anzeige des entsprechenden erweiterten (langen) Fehlermeldungstextes aktivieren.

In diesem Abschnitt werden die folgenden Themen behandelt:

- Fehler bei der Dateneingabe

- Fehler bei der Verarbeitung

### Fehler bei der Dateneingabe

Wenn in Bezug auf die Auswahlkriterien ungültige Daten angegeben wurden, wird in der Meldungszeile eine Fehlermeldung angezeigt. In einigen Fällen wird die Online-Hilfe für bestimmte Einträge aufgerufen. Dadurch erhalten Sie genauere Informationen zu dem Fehler.

Tritt ein Fehler im Batch-Modus auf, wird eine Fehlermeldung und die entsprechende Fehlernummer ausgegeben und das SYSMAIN-Dienstprogramm beendet.

### Fehler bei der Verarbeitung

Wenn Sie eine Anforderung stellen, die einen Verarbeitungsfehler verursacht, gibt SYSMAIN einen Fehlerbericht aus, wie im folgenden Beispiel gezeigt:

    16:51:08           *** SYSMAIN Error Report ***          2005-08-10

    The following internal error occurred while processing the
    SYSMAIN function xxxxxx (cc):

       Error in field specification for IF SELECTION statement.

    Error Number .. eeee
    Program ....... pppppppp
    Status Code ... s          Status ...... tttttttt
    Line .......... llll       Level ....... vv
    Device ........ dddddddd
    User ID ....... uuuuuuuu   User Name ... nn...nn

Die in dem Fenster enthaltenen Informationen sind nützlich, um die Fehlerursache zu analysieren.

Die Werte im obigen Fenster haben die folgenden Bedeutungen:

Feld | Wert | Erläuterung
--- | --- | ---
SYSMAIN function | xxxxxx | Die SYSMAIN-Funktion, die gerade ausgeführt wird.
cc | Ein interner Statuscode, der für den Technischen Support der Software AG nützlich ist. Die folgenden Codes können angezeigt werden:
`A` | Automatisierte Verarbeitung.
`D` | XRef-Daten werden gelöscht.
`E` | Fehler bei der Verarbeitung (Flag für SYSMAIN).
`F` | Statuseinstellung, wenn XRef-Daten verarbeitet werden.
`G` | Statuseinstellung, wenn XRef-Daten verarbeitet werden.
`H` | Verarbeitung der Auswahlliste.
`I` | Option wird gerade verarbeitet.
`S` | Einzelobjektverarbeitung.
`T` | SYSMAIN-Abbruch durch Kommandoprozessor.
`V` | Statuseinstellung, wenn XRef-Daten verarbeitet werden.
`X` | SYSMAIN-Abbruch durch den Kommandoprozessor.
`Y` | Es ist ein Validierungsfehler aufgetreten, eine erneute Anzeige sollte folgen.
`Z` | Es ist ein Validierungsfehler aufgetreten, eine erneute Anzeige sollte folgen.
Error Number | eeee | Entspricht der Systemvariablen `*ERROR-NR` (siehe Systemvariablen -Dokumentation).
Program | pppppppp | Entspricht der Systemvariablen `*PROGRAM` (siehe Systemvariablen -Dokumentation).
Status Code | s | Die Art des Fehlers. Mögliche Codes:
`C` | Fehler bei der Kommandoverarbeitung.
`L` | Anmeldefehler.
`O` | Objektzeitfehler.
`S` | Nicht korrigierbarer Syntaxfehler.
Line | llll | Entspricht der Systemvariablen `*ERROR-LINE` (siehe Systemvariablen -Dokumentation).
Device | dddddddd | Entspricht der Systemvariablen `*DEVICE` (siehe Systemvariablen -Dokumentation).
User ID | uuuuuuuu | Entspricht der Systemvariablen `*USER` (siehe Systemvariablen -Dokumentation).
Status | tttttttt | Entspricht der Systemvariablen `*ERROR-TA` (siehe Systemvariablen -Dokumentation).
Level | vv | Entspricht der Systemvariablen `*LEVEL` (siehe Systemvariablen -Dokumentation).
User Name | nn...nn | Entspricht der Systemvariablen `*USER-NAME` (siehe Systemvariablen -Dokumentation).

Wenn ein Verarbeitungsfehler auftritt, notieren Sie die Informationen im Fenster und drücken Sie ENTER. Das Dienstprogramm SYSMAIN versucht, zum letzten aktiven Menü-Bildschirm zurückzukehren, wobei die Datenwerte der Eingabefelder unverändert bleiben.

Wird in dem Fenster das spezielle Kommando `DISPLAY` eingegeben (siehe auch An SYSMAIN absetzbare spezielle Kommandos), wird der erweiterte (lange) Meldungstext zu dem aufgetretenen Fehler angezeigt.

Tritt während der Batch-Verarbeitung ein Verarbeitungsfehler auf, gibt das Dienstprogramm SYSMAIN die entsprechende Fehlermeldung aus und wird beendet.

Bestimmte Benutzerfehler können ebenfalls zur Anzeige des Fensters führen. Obwohl SYSMAIN versucht, alle Fehler während der Auswertung abzufangen, ist dies nicht immer ganz erfolgreich. Wenn ein Benutzer beispielsweise verlangt, dass ein DDM von einer Umgebung in eine andere kopiert wird, aber eine ungültige Datenbankkennung (DBID) angibt, versucht SYSMAIN, auf diese Datenbank zuzugreifen. Es wird ein Adabas-Antwortcode 148 zurückgegeben, und die Transaktion `SYSMAIN ERROR` wird aufgerufen und das Fenster angezeigt. In ähnlicher Weise kann eine ungültige Datei zu einer Reihe von Fehlern führen, die von der Datenbank gesendet werden.

In Situationen, in denen ein Adabas-Antwortcode `9` zurückgegeben wird, schreibt SYSMAIN eine Nachricht, die Sie über den Fehler informiert, und beginnt die Verarbeitung wieder bei der letzten Funktion oder dem letzten Menü. Wenn eine bestimmte Anforderung nicht erledigt wurde, können Sie davon ausgehen, dass der Antwortcode `9` zu einem `BACKOUT TRANSACTION` zur letzten nicht abgeschlossenen Transaktion führte.

### On this page

- Ablehnung von Objekten und Ursache
- Status-Meldungen
- SYSMAIN-Fehlerbenachrichtigung