Real-Time Data Acquisition (RDA) unterstützt die taktische Entscheidungsfindung. Es unterstützt auf der Datenbeschaffungsseite das operationale Reporting durch die Möglichkeit, Daten zeitnah (real-time) in eine Delta-Queue oder PSA-Tabelle zu schicken und von dort aus durch einen RDA-Job regelmäßig in kurzen Abständen an InfoProvider im Operational-Data-Store-Layer zu übergeben. Die Daten werden dabei persistent im BW abgelegt.
Wir empfehlen, Real-Time Data Acquisition zu verwenden, wenn die Daten in kürzeren Zeitabständen als bei eingeplanter Datenübertragung ins BW übertragen werden sollen (einmal in der Stunde bis zu einmal in der Minute), und in Analyse und Reporting die Daten mehrmals am Tag aktualisiert verwendet werden müssen.
Die folgende Übersicht zeigt die Abgrenzung zwischen der Standard-Datenbereitstellung über eingeplante Datenanforderungen und Real-Time Data Acquisition:
Unterstützung von Real-Time Data Acquisition ist eine mögliche Eigenschaft von DataSources, die über Web Service, über das BW Service API (SAPI) oder über das Operational-Provisioning-Framework (ODP) Daten bereitstellen. In der DataSource-Pflege zeigt die Registerkarte Extraktion unter Real-Time diese Eigenschaft an.
DataSources, die über das SAPI oder über ODP mit ODP-Kontext SAPI Daten bereitstellen, können unter folgenden Voraussetzungen für Real-Time Data Acquisition verwendet werden:Für andere ODP-Kontexte wird Real-Time Data Acquisition auf bereits auf Kontext-Ebene unterstützt und nicht auf DataSource-Ebene: Die ODP-Kontexte HANA, BYD und BW unterstützen Real-Time Data Acquisition nicht. Der Kontext SLT~<Queue-Alias> unterstützt Real-Time Data Acquisition, d.h. in der DataSource-Pflege wird die Eigenschaft entsprechend angezeigt.
Real-Time Data Acquisition als Eigenschaft von DataSources, die Daten über das BW Service API bereitstellen, ist technisch grundsätzlich nur unter folgenden Voraussetzungen möglich: Im Quellsystem hat das BW Service API mindestens den Releasestand Plug-In-Basis 2005.1 bzw. für 4.6C-Quellsysteme Plug-In 2004.1 SP10.
Für Real-Time Data Acquisition können nur solche Web-Service-DataSources verwendet werden können, die Sie über die DataSource-Pflege im BW (Transaktion RSDS) definiert haben.
Die Daten sollen in regelmäßigen, kurzen Abständen ins BW geladen werden und in die für das operationale Reporting verfügbaren InfoProvider verbucht werden.
Neben DataStore-Objekten (Standard- und schreiboptimierte DataStore-Objekte) können auch HybridProvider über Real-Time Data Acquisition mit Daten versorgt werden. Ein HybridProvider besteht sowohl aus einem DataStore-Objekt als auch aus einem InfoCube. Die eigentliche Real-Time-Fortschreibung erfolgt in das DataStore-Objekt des HybridProviders. Der InfoCube spielt die Rolle eines Aggregates für das DataStore-Objekt. Er wird durch einen mit dem HybridProvider generierten Standard-DTP beladen, der erfolgreiche, geschlossene RDA-Requests fortschreibt. Eine auf dem HybridProvider definierte Query bezieht ihre Daten aus dem InfoCube (Historie) und aus dem Change Log des DataStore-Objektes (aktuelle Daten). Diese Architektur des HybridProviders ermöglicht einen performanten Zugriff auf die Daten bei Analyse und Reporting. Weitere Informationen finden Sie unterHybridProvider anlegen.
DataStore-Objekte, die Bestandteil eines HybridProviders sind, können unabhängig vom HybridProvider nicht verwendet werden. Ein DataStore-Objekt kann daher entweder ausschließlich das Ziel in einem RDA-Datenmodell sein oder Bestandteil eines HybridProviders in einem RDA-Datenmodell, aber nicht beides gleichzeitig.
Um die Synchronisation von Bewegungsdaten und Stammdaten zu gewährleisten, können Daten mit Real-Time Data Acquisition auch in InfoObjects als InfoProvider übertragen werden. Unterstützt wird dabei die Real-Time-Übertragung von Attributen und Texten.
Im Folgenden wird der Begriff InfoProvider verwendet, wenn sich Informationen sowohl auf HybridProvider, auf unabhängige DataStore-Objekte als auch auf InfoObjects beziehen.
Für Real-Time Data Acquisition werden spezielle InfoPackages und Datentransferprozesse für die Datenübertragung verwendet. Ebenso gibt es spezielle Hintergrundprozesse, so genannte RDA-Jobs, die die Datenübertragung mit Real-Time Data Acquisition steuern und überwachen. Für Web Service und BW Service API heißen diese Jobs Dämonen, für ODP heißen die Jobs Datenpaketjobs. Wenn die Daten erfolgreich in den Stammdatentabellen verbucht sind bzw. im DataStore-Objekt (des HybridProviders) verbucht und aktiviert sind, stehen sie für Analyse und Reporting zur Verfügung. Ein Auffrischen der Queryanzeige genügt, um die aktuellen Daten anzuzeigen. Die Query zeigt den Zeitpunkt der letzten Aktualisierung durch einen Dämonlauf an - auch wenn keine neuen Daten verbucht worden sind.
Für Web Service und BW Service API heißt der RDA-Job, der die Datenübertragung steuert und überwacht, Dämon. Die Daten werden in diesem Fall zuerst in die Persistent Staging Area (PSA) des BW übertragen. Hierfür wird ein InfoPackage benötigt. Vom PSA werden die Daten über einen Datentransferprozess in den InfoProvider fortgeschrieben. Der Ablauf bei der Datenübertragung aus der Quelle ins PSA unterscheidet sich folgendermaßen:
Die Daten der Quelle können durch die Nutzung des Web Service direkt in das PSA geschrieben werden, d.h. die Übertragung der Daten erfolgt von außen gesteuert ohne Anforderung aus dem BW. Ein InfoPackage ist in diesem Fall nur nötig, um bestimmte Parameter für Real-Time Data Acquisition festzulegen.
Die Daten des SAP Quellsystems können auf Anforderung aus der Delta-Queue des Quellsystems mit einem speziell dafür angelegten InfoPackage ins PSA geladen werden. Zuvor muss für die DataSource eine Initialisierung des Deltaverfahrens durchgeführt worden sein.
Hierbei sind zwei Fälle zu unterscheiden:
Hier holt der Dämon die Daten ohne Extraktoraufruf ab.
Bei Extraktoren, die synchron auf Anforderung aus dem BW die Daten an das Service API übergeben, z.B. beim generischen Extraktor, ruft der Dämon den Extraktor auf, der dann die Daten in die Delta-Queue schreibt. Von dort werden sie dann direkt ins BW übertragen.
Für Daten, die per Real-Time Data Acquisition ins PSA übertragen wurden, ist neben der reinen RDA-Fortschreibung und neben der reinen Standard-Fortschreibung folgendes Fortschreibungsverfahren denkbar, bei dem beide Übertragungsmechanismen parallel verwendet werden:
Die Daten werden aus dem PSA per DTP für Real-Time Data Acquisition in einen InfoProvider fortgeschrieben und per Standard-DTP in einen anderen InfoProvider. Die folgende Abbildung veranschaulicht dieses Verfahren:
Real-Time Data Acquisition hält parallel zu jedem DTP-Request einen Aktivierungs-Request offen. In einem DTP-Request für RDA können über einen gewissen Zeitraum verteilt mehrere Datenpakete geladen werden. Jedes Datenpaket wird direkt nach seiner Übertragung im DataStore-Objekt aktiviert. Solange ein Aktivierungs-Request offen ist, kann kein weiterer Datentransferprozess in dasselbe Standard-DataStore-Objekt laden. Verwenden Sie daher bei der Modellierung Ihres Datenflusses Real-Time Data Acquisition nicht, um in ein Standard-DataStore-Objekt zu schreiben, in das sie gleichzeitig noch mit einem weiteren Datentransferprozess Daten laden müssen.
Je nach Anfoderung können Sie dennoch die Daten, die Sie über Real-Time Data Acquisition laden, in einem InfoProvider mit weiteren Datenquellen zusammenführen:
Weitere Informationen:Schreiboptimiertes DataStore-Objekt
Weitere Informationen:
Wenn die Datenübertragung von Daten mit Real-Time Data Acquisition in einen existierenden Datenfluss integriert werden soll, so gibt es zwei Alternativen:
Eine DataSource führt die Standard-Datenübertragung durch, die zweite DataSource überträgt die Daten mit Real-Time Data Acquisition. In einem CompositeProvider werden die Daten anschließend zusammengeführt.
In diesem Fall muss die Standard-Datenübertragung komplett durch ein Real-Time Data Acquisition Szenario ersetzt werden.
Weitere Informationen finden Sie unterReal-Time Data Acquisition.