84 lines
8.1 KiB
Markdown
84 lines
8.1 KiB
Markdown
# Fehlercodes DEX
|
||
|
||
Diese Datei beschreibt die aktuell im Quelltext verwendeten Fehlercodes des DEX-Moduls.
|
||
Stand der Analyse: 24.02.2026.
|
||
|
||
## Aktive Fehlercodes (im SQL-Code gefunden)
|
||
|
||
| Fehlercode | Quelle(n) | Bedeutung / Hinweis |
|
||
|---:|---|---|
|
||
| 50000 | Mehrere Prozeduren (CATCH-Fallback) | Allgemeiner Fallback-Fehler (`CASE ... ELSE 50000`). Details stehen in `ERROR_MESSAGE()` und im Log. |
|
||
| 50001 | `PRDEX_GET_INPUT`, `PRDEX_GET_INPUT_CONTENT`, `PRDEX_WRITE_OUTPUT` | Ungültige Query (z. B. zu kurz, < 15 Zeichen) bzw. fehlerhafte Query-Konfiguration. |
|
||
| 50002 | `PRDEX_GET_INPUT` | Keine verarbeitbaren Daten gefunden (ggf. bereits verarbeitet/exportiert). |
|
||
| 50003 | `PRDEX_CHECK_SYSTEM` | Keine gültige Modul-Lizenz gefunden. |
|
||
| 50004 | `PRDEX_START_PROFILE_EXECUTION` | Ungültige Profil-/Laufzeitkonfiguration (`@PROFILE_NAME`, `@MANDANTOR`, `@EXPORT_TYPE`, `@LANGUAGE`, `@LOG_LEVEL`). |
|
||
| 50005 | `PRDEX_SET_QUERY` | Keine ausreichenden Datenzeilen in `TBDEX_TMP_QUERY` gefunden. |
|
||
| 50006 | `PRDEX_RUN_MAINPROCESSING` | Temporäre Content-Tabelle konnte nicht erstellt werden. |
|
||
| 50007 | `PRDEX_GET_INPUT_CONTENT` | Unzureichende Daten in `TBDEX_TMP_PROCESS_REFERENCES` und/oder `TBDEX_TMP_QUERY`. |
|
||
| 50008 | `PRDEX_REGISTER_PROCESS` | Prozess ist bereits registriert (Duplicate). |
|
||
| 50010 | `PRDEX_RUN_MAINPROCESSING`, `PRDEX_START_PROFILE_EXECUTION` | Inkonsistenter/vermisster Verarbeitungszustand (z. B. fehlende Prozessreferenzen bzw. ungültige TMP-Tabellen-Konfiguration). |
|
||
| 50012 | `PRDEX_CHECK_SYSTEM` | SQL-Server-Version zu alt / Mindestversion nicht erfüllt. |
|
||
| 50013 | `PRDEX_CHECK_SYSTEM` | Fehlende DB-Berechtigung (`CONTROL`) für den ausführenden User. |
|
||
| 50014 | `PRDEX_CHECK_SYSTEM` | Erforderliche DEX-Objekte (Tabellen/Views/Prozeduren/Funktionen) fehlen. |
|
||
| 50015 | `PRDEX_WRITE_LOG` | Logging-Zieltabelle nicht vorhanden oder nicht zugreifbar. |
|
||
| 50016 | `PRDEX_START_PROFILE_EXECUTION` | Profil ist offline oder nicht vorhanden. |
|
||
| 50017 | `PRDEX_RUN_PREPROCESSING` | Fehler in der Preprocessing-Ausführung. |
|
||
| 50018 | `PRDEX_RUN_POSTPROCESSING` | Fehler in der Postprocessing-Ausführung. |
|
||
| 50019 | `PRDEX_SET_EXPORT_NUMBER` | Kein gültiger Nummernkreis gefunden (Erstellversuch wird eingeleitet). |
|
||
| 50020 | `PRDEX_SET_EXPORT_NUMBER` | Nummernkreis konnte nicht gültig ermittelt/angelegt werden. |
|
||
| 50021 | `PRDEX_SET_EXPORT_NUMBER` | Gefundener Nummernkreis ist inaktiv. |
|
||
| 50022 | `PRDEX_RUN_MAINPROCESSING` | Export-Spaltenkonfiguration (`TBDEX_CFG_OUT_STRUCTURE`) unzureichend/ungültig. |
|
||
| 50023 | `PRDEX_START_PROFILE_EXECUTION` | Ungültige `BATCH_ID` (Mindestlänge nicht erreicht). |
|
||
| 50024 | `PRDEX_REGISTER_PROCESS` | Prozess ist bereits in `TBDEX_TMP_PROCESS_REFERENCES` registriert (Duplicate). |
|
||
| 50025 | `PRDEX_SET_EXPORT_NUMBER` | Prozesszeile in `TBDEX_TMP_PROCESS` fehlt. |
|
||
| 50026 | `PRDEX_SET_EXPORT_NUMBER` | Prozessreferenzen in `TBDEX_TMP_PROCESS_REFERENCES` fehlen. |
|
||
| 50027 | `PRDEX_SET_EXPORT_NUMBER` | Nummernkreis-Lock konnte nicht stabil erreicht werden (Retry/Timeout-Szenario). |
|
||
| 50028 | `PRDEX_SET_EXPORT_NUMBER` | Nummernkreis konnte nicht gesperrt werden. |
|
||
| 50029 | `PRDEX_REGISTER_PROCESS` | Nach Insert ist die erwartete Einzelzeile in `TBDEX_TMP_PROCESS` nicht vorhanden. |
|
||
| 50051 | `PRDEX_GET_INPUT` | Unsicherer Query-Inhalt erkannt (unaufgelöste Placeholder oder verbotene SQL-Muster). |
|
||
| 50052 | `PRDEX_SET_QUERY` | Unsicherer Query-Inhalt erkannt (unaufgelöste Placeholder oder verbotene SQL-Muster). |
|
||
| 50054 | `PRDEX_WRITE_OUTPUT` | Unsicherer Query-Inhalt erkannt (unaufgelöste Placeholder oder verbotene SQL-Muster). |
|
||
| 50055 | `PRDEX_RUN_PREPROCESSING` | Unsicherer Query-Inhalt erkannt (unaufgelöste Placeholder oder verbotene SQL-Muster). |
|
||
| 50056 | `PRDEX_RUN_POSTPROCESSING` | Unsicherer Query-Inhalt erkannt (unaufgelöste Placeholder oder verbotene SQL-Muster). |
|
||
| 50057 | `PRDEX_RUN_MAINPROCESSING` | Unsicherer/inkonsistenter dynamischer Query-Inhalt oder Temp-Target-Konfiguration. |
|
||
| 50058 | `PRDEX_WRITE_OUTPUT` | `EXPORT_NUMBER`-Mapping für Output-Referenzen konnte nicht aufgelöst werden. |
|
||
|
||
## Empfohlene Sofortmaßnahme je Fehlercode
|
||
|
||
| Fehlercode | Empfohlene Sofortmaßnahme (erste 5–10 Minuten) |
|
||
|---:|---|
|
||
| 50000 | Letzten `ERROR_MESSAGE()`-Eintrag und `TBDEX_RUN_LOG` für `PROFILE_ID`/`BATCH_ID` prüfen; danach auf den ersten fachlichen Code zurückverfolgen. |
|
||
| 50001 | Verwendete Query (`START`/`MAIN`/`END`) und Platzhalterauflösung prüfen; Konfiguration in `TBDEX_CFG_RESOURCES` und direkte Querylänge validieren. |
|
||
| 50002 | Prüfen, ob Input bereits verarbeitet wurde (`VWDEX_OUT`) oder Startquery keine Daten liefert; Testweise Startquery separat ausführen. |
|
||
| 50003 | Lizenzdaten in `TBDD_MODULES` für DEX (`SHORT_NAME`) und `ACTIVE`/`LICENSE` kontrollieren. |
|
||
| 50004 | Profilstammdaten in `TBDEX_CFG_PROFILE` auf Pflichtfelder und konsistente Werte prüfen. |
|
||
| 50005 | Inhalt in `TBDEX_TMP_QUERY` für aktuellen Batch prüfen (erzeugte Main-Query vorhanden?). |
|
||
| 50006 | Generiertes `CREATE TABLE`-Statement aus `TBDEX_TMP_PROCESS` prüfen und manuell gegen Berechtigungen/Objektnamen testen. |
|
||
| 50007 | Für den Batch prüfen, ob `TBDEX_TMP_PROCESS_REFERENCES` und `TBDEX_TMP_QUERY` befüllt sind und gleiche Batch-/Profile-Filter verwenden. |
|
||
| 50008 | Doppelte Batch-Registrierung in `TBDEX_TMP_PROCESS`/`TBDEX_TMP_PROCESS_REFERENCES` prüfen; ggf. mit `PRDEX_CLEAN_UP` bereinigen. |
|
||
| 50010 | Prozesskette bis Mainprocessing prüfen: fehlen Prozessreferenzen oder TMP-Tabellenmetadaten im aktuellen Batch? |
|
||
| 50012 | SQL-Server-Version gegen Mindestversion abgleichen; ggf. auf unterstützte Instanz wechseln. |
|
||
| 50013 | Ausführenden DB-User prüfen und fehlende `CONTROL`-Rechte auf die Ziel-DB setzen. |
|
||
| 50014 | Fehlende DEX-Objekte gemäß Systemcheck nachdeployen (Tabellen, Views, Prozeduren, Funktionen). |
|
||
| 50015 | Existenz/Zugriff auf `TBDEX_RUN_LOG` prüfen; Rechte und Schema (`dbo`) verifizieren. |
|
||
| 50016 | Profilstatus in `VWDEX_PROFILE`/`TBDEX_CFG_PROFILE` prüfen (`ACTIVE=1`). |
|
||
| 50017 | Preprocessing-Query aus `TBDEX_CFG_RESOURCES` isoliert ausführen und auf SQL-/Placeholder-Fehler prüfen. |
|
||
| 50018 | Postprocessing-Query aus `TBDEX_CFG_RESOURCES` isoliert ausführen und auf SQL-/Placeholder-Fehler prüfen. |
|
||
| 50019 | `TBDEX_RUN_NUMBER_RANGE` auf passenden aktiven Satz für Profil/Schema/Datum prüfen. |
|
||
| 50020 | Anlage-/Ermittlungspfad des Nummernkreises prüfen; Konflikte mit Parallelprozessen ausschließen. |
|
||
| 50021 | Nummernkreis aktivieren (`ACTIVE=1`) oder korrektes `EXPORT_NUMBER_SCHEMA` im Profil setzen. |
|
||
| 50022 | Exportspalten-Setup in `TBDEX_CFG_OUT_STRUCTURE` auf Vollständigkeit (`PATH_OR_COLUMN`, `DATA_TYPE`, `SEQUENCE`) prüfen. |
|
||
| 50023 | Batch-ID-Quelle prüfen (`FNDEX_GET_NEXT_BATCH_ID` bzw. Inputparameter), Mindestlänge sicherstellen. |
|
||
| 50024 | Doppelte Referenzregistrierung im Batch prüfen; alte Restdaten in TMP-Tabellen entfernen. |
|
||
| 50025 | Prüfen, ob `PRDEX_REGISTER_PROCESS` erfolgreich lief und `TBDEX_TMP_PROCESS`-Satz für Batch vorhanden ist. |
|
||
| 50026 | Prüfen, ob `PRDEX_GET_INPUT` Referenzen für den Batch in `TBDEX_TMP_PROCESS_REFERENCES` geschrieben hat. |
|
||
| 50027 | Lock-/Deadlock-Situation im Nummernkreis prüfen; parallele Läufe für gleiches Profil temporär reduzieren. |
|
||
| 50028 | Sperrfehler im Nummernkreis prüfen (offene Transaktionen, Blocker, Deadlocks). |
|
||
| 50029 | Nach Insert die Eindeutigkeit/Filter für `TBDEX_TMP_PROCESS` prüfen (Profil+Batch). |
|
||
| 50051 | Unsichere/ungeklärte Platzhalter in Startquery prüfen und verbotene SQL-Muster entfernen. |
|
||
| 50052 | Unsichere/ungeklärte Platzhalter in Mainquery prüfen und verbotene SQL-Muster entfernen. |
|
||
| 50054 | Unsichere/ungeklärte Platzhalter in Endquery prüfen und verbotene SQL-Muster entfernen. |
|
||
| 50055 | Preprocessing-Statements auf unaufgelöste Tokens und gesperrte SQL-Muster prüfen. |
|
||
| 50056 | Postprocessing-Statements auf unaufgelöste Tokens und gesperrte SQL-Muster prüfen. |
|
||
| 50057 | Dynamische Temp-Statements in Mainprocessing vollständig ausgeben und auf Placeholder-/Targetfehler prüfen. |
|
||
| 50058 | Mapping `TBDEX_OUT` ↔ `TBDEX_TMP_PROCESS_REFERENCES` für den Batch prüfen (Referenzfelder + `EXPORT_NUMBER`). | |