Für die Replikation von SAP-Daten in BigQuery verwenden Sie die Datenladeklasse /GOOG/CL_BQTR_DATA_LOAD
in Ihren SAP-Anwendungen, z. B. in benutzerdefinierten ABAP-Programmen, User Exits, Business Add-Ins (BAdIs) und Erweiterungen. Ihre SAP-Anwendung muss die zu replizierenden Daten als Eingabe an die Klasse übergeben.
Methode zur Datenreplikation aufrufen
Sie instanziieren die BigQuery-Datenladeklasse /GOOG/CL_BQTR_DATA_LOAD
, indem Sie den Massenübertragungsschlüssel und den Namen des in der BigQuery Data Transfer-Konfiguration konfigurierten Dictionary-Objekts übergeben.
Wenn Sie die Daten an BigQuery senden möchten, rufen Sie die REPLICATE_DATA
-Methode der Klasse /GOOG/CL_BQTR_DATA_LOAD
auf.
DATA(lo_bq_data_load) =
NEW /GOOG/CL_BQTR_DATA_LOAD( IV_MASS_TR_KEY = 'MASS_TRANSFER_KEY'
IV_DATA_SOURCE = 'DATA_SOURCE'
IV_CDC_FRAMEWORK = 'CDC_FRAMEWORK'
IV_FLDNM_MANDT = 'MANDT_FIELDNAME'
IV_MANDT_VALUE = 'MANDT_VALUE'
).
"Write Logic to populate ITAB_DATA, WA_HEADER
"Replicate Data to BigQuery
lo_bq_data_load->replicate_data(
EXPORTING
it_content = ITAB_DATA
IS_HEADER_INFO = WA_HEADER
IMPORTING
ev_error_code = data(lv_error_code)
et_return = data(lt_return) ).
Ersetzen Sie Folgendes:
MASS_TRANSFER_KEY
: Der Massenübertragungsschlüssel, der in der BigQuery Data Transfer-Konfiguration konfiguriert ist.DATA_SOURCE
: Der Name des SAP-Wörterbuchobjekts, z. B. Tabelle, Wörterbuchansicht oder CDS-Ansicht.CDC_FRAMEWORK
: Optional. Das vom aufrufenden Programm verwendete CDC-Framework (Change Data Capture). Die unterstützten Werte sindODQ
undSLT
.Das BigQuery Toolkit for SAP enthält eine integrierte Logik, um das Vorgangsflag (Einfügen, Aktualisieren und Löschen) basierend auf dem CDC-Framework zu bestimmen. Weitere Informationen finden Sie unter Zusätzliche Felder für Datensatzänderungen und Anzahlabfragen.
Wenn
CDC_FRAMEWORK
alsODQ
übergeben wird, ruft das BigQuery Toolkit for SAP den Wert der SpalteODQ_CHANGEMODE
in der Nutzlast ab, die in der Eingabe übergeben wird:- Wenn der Wert =
C
ist, wirdoperation_flag
aufI
gesetzt. - Wenn der Wert =
U
ist, wirdoperation_flag
aufU
gesetzt. - Wenn der Wert =
D
ist, wirdoperation_flag
aufD
gesetzt. - Für alle anderen Werte ist
operation_flag
aufL
festgelegt.
Wenn
CDC_FRAMEWORK
alsSLT
übergeben wird, ruft das BigQuery Toolkit for SAP den Wert der Spalte „OPERATION“ ausWA_HEADER
ab:- Wenn der Wert =
I
ist, wirdoperation_flag
aufI
gesetzt. - Wenn der Wert =
U
ist, wirdoperation_flag
aufU
gesetzt. - Wenn der Wert =
D
ist, wirdoperation_flag
aufD
gesetzt. - Für alle anderen Werte ist
operation_flag
aufL
festgelegt.
Wenn
CDC_FRAMEWORK
nicht oder mit einem anderen Wert übergeben wird, wirdoperation_flag
aufL
festgelegt.- Wenn der Wert =
MANDT_FIELDNAME
: Optional. Der Name des SAP-Clientfelds, das an die BigQuery-Tabellendefinition angehängt werden muss. Dies kann für SAP-Wörterbuchobjekte wie CDS-Entitäten verwendet werden, die das Mandantenfeld nicht in ihrer Definition haben, Sie aber möchten, dass das Feld in BigQuery hinzugefügt wird.MANDT_VALUE
: Optional. Der Wert des SAP-Clientfelds, der in BigQuery eingefügt werden muss. Kann nur verwendet werden, wenn auchIV_FLDNM_MANDT
ausgefüllt ist.ITAB_DATA
: Eine interne Tabelle vom TypDATA_SOURCE
. Sie füllenITAB_DATA
mit den Daten, die in die BigQuery-Tabelle repliziert werden müssen.WA_HEADER
: Eine flache Struktur, die Headerinformationen zur Replikation enthält. Damit wird deroperation_flag
bestimmt, wennCDC_FRAMEWORK
SLT
ist.
Wenn Sie diese Methode aufrufen, führt das BigQuery Data Transfer-Modul die folgenden Aktionen aus:
- Synchronisieren der BigQuery-Tabellendefinition mit der SAP-Wörterbuchobjektdefinition basierend auf den in der BigQuery Data Transfer-Konfiguration festgelegten Tabellen- und Feldeinstellungen.
- Die Daten, die in
ITAB_DATA
enthalten sind, werden basierend auf den Einstellungen auf Feldebene, die in der BigQuery Data Transfer-Konfiguration festgelegt sind, vom SAP-Format ins BigQuery-Format übertragen. Wenn keine Einstellungen auf Feldebene vorhanden sind, werden die Standardregeln für die Datenzuordnung verwendet. - Rufen Sie die BigQuery API-Methode
InsertAllTabledata
auf, um Daten in die BigQuery-Zieltabelle zu laden.
Wenn alle Schritte erfolgreich sind, gibt der Exportparameter ev_error_code
den Wert 0
zurück.
Wenn in einem Schritt ein Fehler aufgetreten ist, gibt ev_error_code
einen Wert ungleich null zurück und die entsprechende Fehlermeldung wird in et_return
eingefügt.
Als Anwendungsentwickler können Sie Fehler beheben, einschließlich des Speicherns für die spätere Analyse und des erneuten Versuchs, Datensätze zu laden, bei denen die Replikation fehlgeschlagen ist.
Support anfordern
Google Cloud bietet Support für Probleme und Fragen im Zusammenhang mit der Installation, Konfiguration, dem Betrieb und der Wartung des BigQuery-Toolkits für SAP.
Bei Problemen, die auf von SAP verwaltete Komponenten wie Operational Data Provisioning (ODP), Data Migration Server (DMIS), Core Data Services (CDS), Internet Communication Manager (ICM) oder Drittanbietersoftware zurückzuführen sind, unternimmt Google Cloud Customer Care alles, um die Ursache zu ermitteln. Wenden Sie sich an den jeweiligen Anbieter oder Support, um diese Probleme zu beheben.
Informationen zur Fehlerbehebung bei Problemen mit dem BigQuery Toolkit for SAP finden Sie unter Fehlerbehebung für das BigQuery Toolkit for SAP.
Wenn Sie Hilfe bei der Behebung von Problemen mit dem ABAP SDK für Google Cloud benötigen, gehen Sie so vor:
Weitere Informationen finden Sie im Leitfaden zur Fehlerbehebung für ABAP SDK für Google Cloud.
In den Cloud-Foren können Sie Ihre Fragen stellen und über die ABAP SDK für Google Cloud mit der Community sprechen.
Erfassen Sie alle verfügbaren Diagnoseinformationen und wenden Sie sich an Cloud Customer Care. Informationen zur Kontaktaufnahme mit Customer Care finden Sie unter Support für SAP auf Google Cloud.