Replikation von SAP-Daten in BigQuery mit dem BigQuery Toolkit für SAP

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 sind ODQ und SLT.

    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 als ODQ übergeben wird, ruft das BigQuery Toolkit for SAP den Wert der Spalte ODQ_CHANGEMODE in der Nutzlast ab, die in der Eingabe übergeben wird:

    • Wenn der Wert = C ist, wird operation_flag auf I gesetzt.
    • Wenn der Wert = U ist, wird operation_flag auf U gesetzt.
    • Wenn der Wert = D ist, wird operation_flag auf D gesetzt.
    • Für alle anderen Werte ist operation_flag auf L festgelegt.

    Wenn CDC_FRAMEWORK als SLT übergeben wird, ruft das BigQuery Toolkit for SAP den Wert der Spalte „OPERATION“ aus WA_HEADER ab:

    • Wenn der Wert = I ist, wird operation_flag auf I gesetzt.
    • Wenn der Wert = U ist, wird operation_flag auf U gesetzt.
    • Wenn der Wert = D ist, wird operation_flag auf D gesetzt.
    • Für alle anderen Werte ist operation_flag auf L festgelegt.

    Wenn CDC_FRAMEWORK nicht oder mit einem anderen Wert übergeben wird, wird operation_flag auf L festgelegt.

  • 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 auch IV_FLDNM_MANDT ausgefüllt ist.

  • ITAB_DATA: Eine interne Tabelle vom Typ DATA_SOURCE. Sie füllen ITAB_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 der operation_flag bestimmt, wenn CDC_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: