
Ein wichtiger Aspekt bei der Sicherstellung der Datenqualität im BW ist die Datenkonsistenz. Das BW als Data Warehouse integriert und transformiert Daten und legt diese ab, um sie für Analyse und Interpretation bereitzustellen. Dabei muss Datenkonsistenz zwischen den verschiedenen Prozessschritten sichergestellt werden. Der Datenabgleich für DataSources ermöglicht Ihnen, Dateninkonsistenzen für geladene Daten festzustellen, die in einem BW vorliegen und produktiv genutzt werden. Mit Hilfe der im Folgenden beschriebenen Szenarios können Sie die geladenen Daten validieren. Der Datenabgleich basiert auf dem Vergleich der ins BW geladenen Daten und den Anwendungsdaten im Quellsystem, die per Direktzugriff zum Vergleich herangezogen werden.
Im Folgenden wird der Begriff produktive DataSource für die DataSource verwendet, die in Ihrem produktiven Betrieb des BW zur Datenübertragung genutzt wird. Der Begriff DataSource zum Datenabgleich wird für diejenige DataSource verwendet, die als Referenz verwendet wird, um direkt auf die Anwendungsdaten in der Quelle zuzugreifen, und die somit den Abgleich mit den Quelldaten ermöglicht.
Das Verfahren kann für Bewegungsdaten eingesetzt werden. Für Stammdaten ist das Verfahren nur sehr eingeschränkt anwendbar, da hier beispielsweise eine Summenbildung von Kennzahlen nicht möglich ist.
Modell
Die folgende Grafik veranschaulicht das Datenmodell für den Abgleich von Anwendungsdaten und geladenen Daten im Datenfluss mit Transformation. Das Datenmodell kann auch auf 3.x-Objekten (Datenfluss mit Übertragungsregeln) basieren.

Die produktive DataSource liefert dem BW per Deltaübertragung die Daten, die validiert werden sollen. Die Transformation verbindet über eine direkte Zuordnung die Felder der DataSource mit den InfoObjects eines DataStore-Objekts, das für den Datenabgleich angelegt wurde. Die DataSource zum Datenabgleich ermöglicht den Direktzugriff eines VirtualProviders auf die Anwendungsdaten. In einem MultiProvider werden die Daten aus dem DataStore-Objekt mit den direkt gelesenen Daten zusammengeführt. In einer Query, die auf dem MultiProvider definiert wird, können nun die geladenen Daten mit den Anwendungsdaten im Quellsystem verglichen werden.
Um den Abgleich von Daten zu automatisieren, empfehlen wir, Exceptions in der Query zu definieren, die proaktiv signalisieren können, dass eine Differenz zwischen Produktivdaten im BW und Abgleichsdaten in der Quelle besteht. Mit Hilfe von Information Broadcasting können Sie die Ergebnisse des Datenablgeichs z.B. per E-Mail verteilen.
Aspekte der Modellierung
Mit der Durchführung eines Datenabgleichs für DataSources können Sie zum einen die Vollständigkeit der geladenen Daten überprüfen, indem Sie beispielsweise die Summe einer Kennzahl im DataStore-Objekt mit der entsprechenden Summe vergleichen, auf die der VirtualProvider direkt im Quellsystem zugreift.
Zum anderen können Sie mögliche Fehler in der Verarbeitung der Daten durch den Extraktor oder Fehlinterpretationen des Extraktors feststellen, sofern die DataSoutce zum Datenabgleich einen anderen Extraktionsbaustein verwendet als den der produktiven DataSource.
Das übertragene Datenvolumen sollte möglichst klein gehalten werden, da auf die Daten über die DataSource zum Datenabgleich im Quellsystem direkt zugegriffen wird. Dies ist am ehesten mit einer vom BI Content ausgelieferten DataSource zum Datenabgleich möglich oder mit einer generischen DataSource über Funktionsbaustein, da hier eine Aggregationslogik implementiert werden kann. Für Massendaten ist es in der Regel notwendig, bereits während der Extraktion eine Aggregation der Daten oder geeignete Selektionen vorzunehmen.
Die DataSource zum Datenabgleich muss Selektionsfelder bereitstellen, die es ermöglichen, denselben Datenumfang wie die produktive DataSource zu extrahieren.
Auswahl der DataSource für Datenabgleich
Die Funktion der DataSource zum Datenabgleich kann von unterschiedlichen DataSources übernommen werden. Welche DataSource Sie in Ihrem Szenario für den Datenabgleich verwenden können, wird im Folgenden erläutert.
BI Content-DataSource zum Datenabgleich bzw. Empfehlungen des BI Content für den Datenabgleich
Nutzen Sie dieses Verfahren für die Validierung Ihrer Daten,
wenn in der Dokumentation des BI Content für eine produktive DataSource eine DataSource zum Datenabgleich angegeben ist.
Ob eine solche DataSource mit dem BI Content ausgeliefert wurde, erkennen sie daran, dass die Dokumentation in der Tabelle Technische Daten einen entsprechenden Eintrag in der Zeile Nachprüfbar enthält.
wenn die DataSource-Dokumentation eine Anleitung zum Aufbau eines Datenabgleich-Szenarios enthält.
Die Auslieferung spezieller DataSources zum Datenabgleich ist technisch in Systemen möglich, die mindestens PI-Basis Release 2005.1 bzw. für 4.6C-Quellsysteme PI 2004.1 SP10 enthalten.
Wenn es im BI Content keine Hinweise auf ein ausgeliefertes Datenabgleichs-Szenario gibt, hängt die Entscheidung über die DataSource zum Datenabgleich von den Eigenschaften der abzugleichenden Daten ab.
Generische DataSource für Datenbank-View oder InfoSet
Nutzen Sie dieses Verfahren,
wenn im BI Content keine DataSource zum Datenabgleich ausgeliefert wurde und auch die Dokumentation zur produktiven BI Content-DataSource keine Angaben zum Aufbau eines Datenabgleichsszenarios enthält, und
wenn die Daten, die die produktive DataSource zur Verfügung stellt, in einer Datenbank-Tabelle zur Verfügung stehen oder über ein InfoSet (Sachgebiet) extrahiert werden können, und
wenn sich die zu extrahierenden und zu übertragenden Datenvolumina durch Selektionen wirkungsvoll eingrenzen lassen.
Für berechnete Kennzahlen ist dieses Verfahren beispielsweise nicht geeignet.
Wenn Sie einen geeigneten Datenbank-View oder ein geeignetes InfoSet angelegt haben, legen Sie im Quellsystem in der Transaktion SBIW unter eine entsprechende generische DataSource an.
Generische DataSource für Funktionsbaustein
Nutzen Sie dieses Verfahren,
wenn im BI Content keine DataSource zum Datenabgleich ausgeliefert wurde und auch die Dokumentation zur produktiven BI Content-DataSource keine Angaben zum Aufbau eines Datenabgleichsszenarios enthält, und
wenn die Daten nicht in einer Datenbank-Tabelle zur Verfügung stehen oder nicht über ein InfoSet (Sachgebiet) extrahiert werden können, und
wenn trotz komplexer Extraktionslogik der produktiven DataSource äquivalente Daten für den Datenabgleich aufbereitet werden können.
Mit Hilfe einer generischen DataSource, die über einen kundendefinierten Funktionsbaustein extrahiert, können Sie eine komplexe Extraktionslogik nachbilden. Auf diese Weise können Sie die Daten entsprechend der produktiven DataSource bereitstellen, ohne denselben Extraktionsbaustein wie die produktive DataSource zu verwenden. Zusätzlich können sie das zu übertragende Datenvolumen durch Aggregation verringern.
Beachten Sie, dass bei komplexer Extraktionslogik der produktiven DataSource die Extraktionslogik der Datenabgleichs-DataSource fehleranfällig wird. Fehler in der Extraktionslogik der Datenabgleichs-DataSource führen zu Fehlern im Datenabgleich. Wir empfehlen dieses Szenario daher nur erfahrenen Entwicklern.
Produktive DataSource mit Direktzugriff
Nutzen Sie dieses Verfahren,
wenn keines der zuvor genannten Verfahren möglich ist, und
wenn die produktive DataSource Direktzugriff erlaubt.
Da die Laufzeit wesentlich von der Größe des Datenvolumens abhängt, das von der Datenbank gelesen und übertragen werden muss, ist die Voraussetzung für die Verwendung dieses Verfahrens, dass eine sinnvolle Selektion durchgeführt werden kann, um das zu übertragende Datenvolumen klein zu halten.
Beim Datenabgleich werden dann die per Deltaübertragung ins BW geladenen Daten mit den Daten im Quellsystem verglichen, auf die der Extraktor direkt zugreift. Da beim Laden und beim Direktzugriff derselbe Extraktor verwendet wird, können mit diesem Verfahren keine evtl. vorhandenen systematischen Fehler in der Extraktorlogik festgestellt werden. Es können jedoch Fehler in der Verarbeitung von Deltaanforderungen festgestellt werden.
Der Umfang der zu vergleichenden Daten muss für den Direktzugriff des VirtualProviders über geeignete Selektionen (z.B. Zeitintervalle oder andere geeignete Stichproben) oder Voraggregation eingeschränkt werden können.
Des Weiteren muss darauf geachtet werden, dass die Selektionsbedingungen zur produktiven DataSource und zur Datenabgleichs-DataSource denselben Datenumfang filtern.
Legen Sie entsprechend Ihrem Szenario das Objektmodell für den Datenabgleich an.
Laden Sie mit Hilfe von geeigneten Selektionsbedingungen aus der produktiven DataSource Daten in das DataStore-Objekt.
Stellen Sie sicher, dass zur produktiven DataSource zum Zeitpunkt der Überprüfung keine ungeladenen Daten in der Delta-Queue oder in der Anwendung. Entweder wird daher die Anwendung für die Datenvalidierung gestoppt oder die zu vergleichenden Daten werden mit Hilfe von Selektionen sinnvoll eingeschränkt (z.b. durch das Anlegen und Nutzen von Zeitstempeln für die Datensätze).
Überprüfen Sie die Daten in der Query.
Wenn Sie Dateninkonsistenzen entdecken, gehen Sie folgendermaßen vor:
Überprüfen Sie, ob tatsächlich alle Daten aus dem Quellsystem geladen wurden. Laden Sie ggf. die noch nicht übertragenen Daten ins BW und führen Sie erneut den Vergleich durch.
Wenn die geladenen Daten nicht vollständig sind, starten Sie einen Repair-Request.
Wenn die geladenen Daten vollständig, aber nicht korrekt sind, führen Sie eine Neu-Initialisierung des Delta durch oder wenden Sie sich an SAP.
Informationen über anwendungsspezifische Szenarios zur Durchführung eines Datenabgleich finden Sie im How-To-Guide
How to... Reconcile Data Between SAP Source Systems and SAP NetWeaver BW im SDN unter der Internetadresse
http://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/7a5ee147-0501-0010-0a9d-f7abcba36b14
.