Replicat-Fehler während DML-Vorgängen behandeln
Um zu steuern, wie Replicat während einer seiner DML-Anweisungen auf einen Fehler reagiert, verwenden Sie den Parameter REPERROR in der Replicat-Parameterdatei. Sie können REPERROR als globalen Parameter oder als Teil einer MAP-Anweisung verwenden. Sie können die meisten Fehler standardmäßig behandeln (z.B. um die Verarbeitung einzustellen) mit den Optionen DEFAULT und DEFAULT2. Außerdem können Sie andere Fehler auf eine bestimmte Weise behandeln.
Folgendes umfasst den Bereich der REPERROR-Antworten:
-
ABEND: Rollback der Transaktion ausführen und Verarbeitung stoppen. -
DISCARD: Protokollieren Sie den Fehler in der Discard-Datei, und fahren Sie mit der Verarbeitung fort. -
EXCEPTION: Senden Sie den Fehler für die Verarbeitung von Ausnahmen. -
IGNORE: Ignorieren Sie den Fehler, und setzen Sie die Verarbeitung fort. -
RETRYOP [MAXRETRIESn]: Wiederholen Sie den Vorgang, optional bis zu einer bestimmten Häufigkeit. -
TRANSABORT [, MAXRETRIESn] [, DELAY[C]SECSn]: Brechen Sie die Transaktion ab und positionieren Sie sie bis zum Anfang, optional bis zu einer bestimmten Anzahl von Zeiten in bestimmten Intervallen. -
RESET: Entfernen Sie alle vorherigenREPERROR-Regeln, und stellen Sie den Standardwert vonABENDwieder her. -
TRANSDISCARD: Verwerfen Sie die gesamte replizierte Quelltransaktion, wenn ein Vorgang innerhalb dieser Transaktion, einschließlich des Commits, einen Replicat-Fehler verursacht, der in der Fehlerspezifikation aufgeführt ist. Diese Option ist nützlich, wenn die Integritäts-Constraint-Prüfung auf dem Ziel deaktiviert ist. -
TRANSEXCEPTION: Ausnahmenzuordnung für jeden Datensatz in der replizierten Quelltransaktion gemäß der jeweiligen Exception-Mapping-Anweisung ausführen, wenn ein Vorgang innerhalb dieser Transaktion (einschließlich Commit) einen Replicat-Fehler verursacht, der in der Fehlerspezifikation aufgeführt wird.
Die meisten Optionen werden für den einzelnen Datensatz ausgeführt, der einen Fehler generiert hat. Replicat verarbeitet die anderen erfolgreichen Vorgänge in der Transaktion. Die Ausnahmen sind TRANSDISCARD und TRANSEXCEPTION: Diese Optionen wirken sich auf alle Datensätze in einer Transaktion aus, wenn ein Datensatz in dieser Transaktion einen Fehler generiert. (Die Option ABEND gilt auch für die gesamte Transaktion, wendet jedoch keine Fehlerbehandlung an.)
Syntax und Verwendung finden Sie unter REPERROR.