Mit Hilfe der Einstellungen zur Fehlerbehandlung auf der Registerkarte Verbuchung im Datentransferprozess (DTP) haben Sie die Möglichkeit, beim Übertragen von Daten aus einer DTP-Quelle in ein DTP-Ziel das Verhalten des Systems beim Auftreten fehlerhafter Datensätze zu steuern.
Einstellungen für die Fehlerbehandlung
Sie können für einen Datentransferprozess (DTP) festlegen, wie das System auf fehlerhafte Datensätze reagieren soll. Wenn Sie die Fehlerbehandlung aktivieren, werden die fehlerhaften Sätze in eine Request-basierte Datenbanktabelle (PSA-Tabelle), den Fehler-Stack geschrieben. Über einen speziellen Datentransferprozess, den Fehler-DTP, können Sie die Sätze in das Ziel verbuchen.
Zwischenspeicher auf Ebene der Verarbeitungsschritte des DTP-Requests ermöglichen Ihnen, festzustellen, in welchem Verarbeitungsschritt der Fehler aufgetreten ist.
Prüfungen auf fehlerhafte Datensätze
Folgende Übersicht zeigt Ihnen, wo Prüfungen auf fehlerhafte Datensätze durchgeführt werden:
Wo wird Prüfung durchgeführt? | Beispiele für fehlerhafte Datensätze |
---|---|
In der Transformation |
Feld enthält unerlaubte Zeichen oder Kleinbuchstaben Fehler bei der Konvertierung Fehler bei der Währungsumrechnung Eine Routine gibt Returncode <>0 aus Beim Stammdatenlesen wird der Merkmalswert nicht gefunden Fehler beim Stammdatenlesen Kundendefinierte Formel erzeugt einen Fehler |
Beim Verbuchen der Daten in die Stammdaten- oder Texttabelle |
Unerlaubte Zeichen in Schlüssel oder im Navigationsattribut Wenn keine SID für den Wert des Navigationsattributs existiert Wenn für Texte kein Sprachfeld definiert ist Unplausible Von- und Bis-Daten Doppelte Datensätze bzgl. des Schlüssels Überlappende und ungültige Zeitintervalle |
Beim Verbuchen der Daten in den InfoCube |
Wenn keine SID für den Merkmalswert existiert |
Bei der Prüfung auf referentielle Integrität eines InfoObjects gegen Stammdatentabellen oder DataStore-Objekte |
Wenn keine SID für den Merkmalswert existiert |
"Reparieren" mittels Fehler-DTP
Sie können einen Fehler-DTP für einen aktivierten Datentransferprozess auf der Registerkarte Verbuchung anlegen und ihn direkt im Hintergrund ausführen oder in eine Prozesskette einbinden, um ihn regelmäßig im Kontext Ihrer Prozesskette einzuplanen. Der Fehler-DTP extrahiert dann per Full-Modus die Daten aus dem Fehler-Stack (in diesem Fall die Quelle des DTPs) in das Ziel, das Sie bereits im ursprünglichen Datentransferprozess definiert haben.
Die Einstellung ist nur für die Übertragung in DataStore-Objekte mit Datenfeldern, die überschrieben werden, relevant. Im Fehlerfall werden neben dem fehlerhaften Datensatz auch die nachfolgenden Datensätze mit demselben hier festgelegten Schlüssel in den Fehler-Stack geschrieben und nicht im Ziel verbucht. Auf diese Weise wird die Serialisierung der Datensätze und somit eine konsistente Verarbeitung der Daten gewährleistet. Für Ziele, die nicht durch Überschreiben fortgeschrieben werden, ist die Serialisierung der Datensätze und damit die explizite Festlegung von Schlüsselfeldern für den Fehler-Stack nicht relevant.
Vorschlag und Eingabebereitschaft für die Schlüsselfelder des Fehler-Stacks für überschreibende DataStore-Objekte:
Vorschlag/Eingabebereitschaft | Welche Felder der Quelle? |
---|---|
Vorschlag für die Schlüsselfelder des Fehler-Stacks (bereits vom System markierte Felder) |
Alle Felder der Quelle, die eindeutig einem Schlüsselfeld des Ziels zugeordnet sind, d.h. alle Felder der Quelle, die in der Transformation direkt einem Schlüsselfeld des DataStore-Objekts zugewiesen sind. |
Felder, die zusätzlich als Schlüsselfeld für den Fehler-Stack markiert werden können |
Diejenigen Felder der Quelle, die zwar Schlüsselfeldern des DataStore-Objekts zugewiesen sind, aber deren Zuweisung nicht eindeutig ist. Eine Zuweisung gilt als nicht eindeutig, wenn es keine direkte Zuweisung ist. Wenn die Zuweisung direkt ist, gilt sie ebenfalls als nicht eindeutig, falls eine Start- oder Endroutine existiert. |
Felder, die nicht als Schlüsselfelder für den Fehler-Stack markiert werden können |
Diejenigen Felder der Quelle, die einem Nicht-Schlüsselfeld des Ziels, also einem Datenfeld des DataStore-Objekts zugewiesen sind. |
Der Schlüssel sollte so detailliert wie möglich sein. Es sind max. 16 Schlüsselfelder möglich. Je weniger Schlüsselfelder definiert sind, desto mehr Sätze werden in den Fehler-Stack verbucht.
Für Ziele, die nicht durch Überschreiben fortgeschrieben werden, legt das System automatisch die Schlüsselfelder des Ziels als Schlüsselfelder des Fehler-Stacks fest (z.B. für InfoCubes oder DataStore-Objekte, die nur Felder besitzen, die kumulativ fortgeschrieben werden). Sie können die Schlüsselfelder des Fehler-Stacks in diesem Fall nicht ändern.
Treten Fehler auf, wird die Verbuchung des gesamten Datenpaketes abgebrochen. Der Request ist nicht zum Reporting freigegeben. Der fehlerhafte Satz wird markiert, so dass eine Zuordnung des Fehlers zum Datensatz möglich ist. Die fehlerhaften Sätze werden nicht in den Fehler-Stack geschrieben, da der Request abgebrochen ist und noch einmal als Ganzes verbucht werden muss.
Diese Einstellung ist die Standardeinstellung im DTP mit folgender Ausnahme: Wenn die Quelle ein DataStore-Objekt (eines semantisch partitionierten Objektes) ist, und das Ziel ein InfoCube, dann ist die Fehlerbehandlung ausgeschaltet.
Diese Option ermöglicht das Verbuchen gültiger Daten, die jedoch erst zum Reporting freigegeben werden, wenn der Administrator die fehlerhaften, nicht verbuchten Sätze überprüft und den Request durch Setzen des Gesamt-Status auf der Registerkarte Status im Monitor (QM-Aktion) manuell freigegeben hat.
Die fehlerhaften Sätze werden in einen separaten Fehler-Stack geschrieben, in dem die Sätze editiert und über einen Fehler-DTP manuell eingebucht werden können.
Die gültigen Sätze stehen sofort für Reporting und Analyse zur Verfügung. Automatische Folgeaktionen wie das Anpassen der Aggregate werden automatisch vorgenommen.
Die fehlerhaften Sätze werden in einen separaten Fehler-Stack geschrieben, in dem die Sätze editiert und über einen Fehler-DTP manuell eingebucht werden können.
Wenn Sie hier nichts eingeben, ist die Behandlung fehlerhafter Datensätze nicht aktiv und die Verbuchung bricht beim ersten Fehler ab.
Weitere Informationen: