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, Nutzerausstiegen, Business Add-Ins (BAdIs) und Verbesserungen. Ihre SAP-Anwendung muss die zu replizierenden Daten als Eingabe an die Klasse übergeben.

Methode zur Datenreplikation aufrufen

Sie erstellen eine Instanz der BigQuery-Datenladeklasse /GOOG/CL_BQTR_DATA_LOAD, indem Sie den Schlüssel für die Massenübertragung und den Namen des Wörterbuchobjekts übergeben, das in der BigQuery Data Transfer-Konfiguration konfiguriert ist.

Um die Daten an BigQuery zu senden, 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 Schlüssel für die Massenübertragung, 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 CDC-Framework (Change Data Capture), das vom aufrufenden Programm verwendet wird. Die unterstützten Werte sind ODQ und SLT.

    Das BigQuery Toolkit für SAP enthält eine integrierte Logik, mit der das Vorgangsflag (Einfügen, Aktualisieren und Löschen) basierend auf dem CDC-Framework ermittelt wird. Weitere Informationen finden Sie unter Zusätzliche Felder für Datensatzänderungen und Anzahlabfragen.

    Wenn CDC_FRAMEWORK als ODQ übergeben wird, erhält das BigQuery Toolkit für SAP den Wert der Spalte ODQ_CHANGEMODE in der übergebenen Nutzlast:

    • 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.
    • Bei allen anderen Werten ist operation_flag auf L gesetzt.

    Wenn CDC_FRAMEWORK als SLT übergeben wird, erhält das BigQuery Toolkit für SAP den Wert der Spalte „OPERATION“ aus WA_HEADER:

    • 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.
    • Bei allen anderen Werten ist operation_flag auf L gesetzt.

    Wenn CDC_FRAMEWORK nicht übergeben oder als anderer Wert übergeben wird, wird operation_flag auf L gesetzt.

  • 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 Client-Feld nicht in ihrer Definition haben, aber das Feld BigQuery hinzugefügt werden soll.

  • MANDT_VALUE: Optional. Der Wert des SAP-Kundenfelds, das in BigQuery ausgefüllt werden muss. Diese Option 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 aus, die in die BigQuery-Tabelle repliziert werden müssen.

  • WA_HEADER: Eine flache Struktur, die Headerinformationen zur Replikation enthält. Damit wird operation_flag ermittelt, wenn CDC_FRAMEWORK SLT ist.

Wenn Sie diese Methode aufrufen, führt das BigQuery Data Transfer-Modul die folgenden Aktionen aus:

  • Synchronisieren Sie die BigQuery-Tabellendefinition mit der SAP-Objektdefinition des Wörterbuchs basierend auf den Tabellen- und Feldeinstellungen in der BigQuery Data Transfer-Konfiguration.
  • Daten, die in ITAB_DATA im SAP-Format gespeichert sind, werden basierend auf den Einstellungen auf Feldebene, die in der BigQuery Data Transfer-Konfiguration festgelegt sind, in das BigQuery-Format umgewandelt. Wenn keine Einstellungen auf Feldebene festgelegt werden, 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 waren, gibt der Exportparameter ev_error_code den Wert 0 zurück. Wenn bei einem Schritt ein Fehler aufgetreten ist, gibt ev_error_code einen Wert ungleich 0 zurück und die entsprechende Fehlermeldung wird in et_return eingefügt.

Als Anwendungsentwickler können Sie Fehler behandeln, z. B. sie zur späteren Analyse speichern und das Laden von Einträgen, die bei der Replikation fehlgeschlagen sind, noch einmal versuchen.

Support anfordern

Google Cloud bietet Support bei Problemen und Fragen im Zusammenhang mit der Installation, Konfiguration, Bedienung und Wartung des BigQuery-Toolkits für SAP. Der Support ist jedoch auf das Toolkit selbst beschränkt.

Google Cloud unterstützt keine anderen Umgebungskomponenten wie Netzwerkinfrastruktur, Datenbanken, Betriebssysteme oder Software von Drittanbietern. Bei Problemen mit anderen Umgebungskomponenten als dem BigQuery Toolkit für SAP wenden Sie sich an den entsprechenden Anbieter oder Supportanbieter.

Wenn Sie Hilfe bei von SAP bereitgestellten Funktionen wie Operational Data Provisioning (ODP) und SAP Landscape Transformation (SLT) benötigen, wenden Sie sich bitte an den SAP-Support.

Informationen zur Fehlerbehebung bei Problemen mit dem BigQuery Toolkit für SAP finden Sie unter Fehlerbehebung für das BigQuery Toolkit für SAP.

Wenn Sie Hilfe bei der Behebung von Problemen mit dem ABAP SDK für Google Cloud benötigen, gehen Sie so vor: