Fehlerbehebung für das BigQuery-Toolkit für SAP

In diesem Dokument erfahren SAP-Administratoren, SAP-Entwickler und andere Nutzer, wie sie Probleme mit dem BigQuery Toolkit für SAP beheben.

Allgemeine Probleme

In diesem Abschnitt werden häufige Fehlermeldungen und ihre Behebung für das BigQuery Toolkit for SAP aufgeführt.

Informationen zur allgemeinen Fehlerbehebung beim ABAP SDK for Google Cloud finden Sie unter Fehlerbehebung bei der lokalen oder einer beliebigen Cloud-Version des ABAP SDK for Google Cloud.

/GOOG/BQTR: Mass Transfer Key is required. Use Tcode /GOOG/BQTR_SETTINGS to maintain

Problem: Die Datenübertragung ist mit der Fehlermeldung /GOOG/BQTR: Mass Transfer Key is required. Use Tcode /GOOG/BQTR_SETTINGS to maintain fehlgeschlagen.

Ursache:Der Schlüssel für die Massenübertragung wird beim Aufrufen der Datenladeklasse /GOOG/CL_BQTR_DATA_LOAD nicht im Parameter IV_MASS_TR_KEY angegeben.

Lösung: Um dieses Problem zu beheben, geben Sie einen Schlüssel für die Massenübertragung weiter, der in der Transaktion /GOOG/BQTR_SETTINGS gespeichert ist. Weitere Informationen finden Sie unter Methode zur Datenreplizierung aufrufen.

/GOOG/BQTR: Data Source is required. Pass a dictionary object

Problem: Die Datenübertragung ist mit der Fehlermeldung /GOOG/BQTR: Data Source is required. Pass a dictionary object fehlgeschlagen.

Ursache:Die Datenquelle wird beim Aufrufen der Datenladeklasse /GOOG/CL_BQTR_DATA_LOAD nicht im Parameter IV_DATA_SOURCE angegeben.

Lösung: Geben Sie als Datenquelle den Namen des Wörterbuchobjekts (z. B. CDS-Ansicht oder ‑Tabelle) an. Weitere Informationen finden Sie unter Methode zur Datenreplizierung aufrufen.

/GOOG/BQTR: Mass Transfer Key MASS_TRANSFER_KEY not found. Use Tcode /GOOG/BQTR_SETTINGS to maintain

Problem: Die Datenübertragung ist mit der Fehlermeldung /GOOG/BQTR: Mass Transfer Key MASS_TRANSFER_KEY not found. Use Tcode /GOOG/BQTR_SETTINGS to maintain fehlgeschlagen.

Ursache:Der Schlüssel für die Massenübertragung, der an die Datenladeklasse /GOOG/CL_BQTR_DATA_LOAD übergeben wird, wird im BigQuery Data Transfer-Modul nicht beibehalten.

Lösung: Behalten Sie einen Schlüssel für die Massenübertragung mit dem Transaktionscode /GOOG/BQTR_SETTINGS bei, um dieses Problem zu beheben. Weitere Informationen finden Sie unter BigQuery Data Transfer-Modul konfigurieren.

/GOOG/BQTR: DATA_SOURCE does not exist in data dictionary

Problem: Die Datenübertragung ist mit der Fehlermeldung /GOOG/BQTR: DATA_SOURCE does not exist in data dictionary fehlgeschlagen.

Ursache:Die Datenquelle, die an die Datenladeklasse /GOOG/CL_BQTR_DATA_LOAD übergeben wurde, ist kein gültiges Datenwörterbuchobjekt.

Lösung: Geben Sie den Namen der Datenquelle an, die im Datenwörterbuch vorhanden ist, um dieses Problem zu beheben. Es werden nur Tabellen, Wörterbuchansichten und CDS-Ansichten unterstützt.

/GOOG/BQTR: Nested Tables are not supported

Problem: Sie erhalten die Fehlermeldung /GOOG/BQTR: Nested Tables are not supported.

Ursache:Das Dictionary-Objekt, das als Eingabe an die Datenladeklasse /GOOG/CL_BQTR_DATA_LOAD übergeben wird, ist keine flache Struktur.

Lösung: Verwenden Sie ein Dictionary-Objekt mit einer flachen Struktur, um dieses Problem zu beheben.

/GOOG/BQTR: Error creating target table definition

Problem: Sie erhalten die Fehlermeldung /GOOG/BQTR: Error creating target table definition.

Ursache:Das BigQuery Toolkit for SAP kann die Zieltabellendefinition für die angegebene Datenquelle nicht erstellen.

Lösung:Prüfen Sie, ob die Eingabequelle ein gültiges Dictionary-Objekt mit einem oder mehreren Feldern ist.

/GOOG/BQTR: 400 - Table creation failed in BQ. Could not pull the table metadata from BQ

Problem: Sie erhalten die Fehlermeldung /GOOG/BQTR: 400 - Table creation failed in BQ. Could not pull the table metadata from BQ.

Ursache:Dieser Fehler tritt auf, wenn das BigQuery Data Transfer-Modul die Tabellendefinition nicht aus BigQuery abrufen kann. Dies kann auf eine vorübergehende Serverüberlastung in BigQuery zurückzuführen sein.

Lösung:Starten Sie den BigQuery-Datenladevorgang neu, um dieses Problem zu beheben.

/GOOG/BQTR: 400 - Scope must be provided

Problem: Sie erhalten die Fehlermeldung /GOOG/BQTR: 400 - Scope must be provided.

Ursache: In der Konfiguration des Clientschlüssels ist der Google Cloud-Umfang leer.

Lösung:Um dieses Problem zu beheben, geben Sie für die verwendete Clientschlüsselkonfiguration im Feld Google Cloud-Bereich den entsprechenden Bereich an, z. B. https://www.googleapis.com/auth/cloud-platform.

/GOOG/BQTR: 400 - Schema mismatch for table TABLE_NAME

Problem: Sie erhalten die Fehlermeldung /GOOG/BQTR: 400 - Schema mismatch for table TABLE_NAME. Please delete the table from BigQuery and try again..

Ursache: Eine der folgenden Änderungen wurde für eine vorhandene BigQuery-Tabelle eingegeben:

  • Löschen eines Felds
  • Umbenennen eines Felds
  • Ändern des Datentyps eines Felds
  • Ändern des Partitionstyps einer Tabelle

Die vorherigen Änderungen können nicht auf eine vorhandene BigQuery-Tabelle angewendet werden.

Lösung: Wenn Sie eines dieser Feldattribute in einer vorhandenen Tabelle ändern müssen, müssen Sie die vorhandene Tabelle löschen und die Datensätze in eine neue Tabelle laden.

Fehlermeldungen im Zusammenhang mit ungültigen Daten

Problem: In den Anwendungslogs erhalten Sie die Fehlermeldung /GOOG/BQTR/: DESCRIPTION_OF_INVALID_DATA error occurred in FIELD_NAME in record RECORD_KEYS.

Ursache: Diese Fehlermeldung wird von BigQuery ausgegeben, wenn die Datensätze mit ungültigen Daten in die Zieltabelle eingefügt werden. Die Daten können aus einem der folgenden Gründe ungültig sein:

  • Die Daten im Feld eines bestimmten Eintrags sind nicht mit dem Datentyp in BigQuery kompatibel. BigQuery generiert beispielsweise unter diesen Umständen Fehlermeldungen:
    • Ein String wird in einem Feld vom Typ DATE, INTEGER oder BOOLEAN verwaltet.
    • In einem Feld vom Typ DATE wird ein ungültiges Datum (00/00/0000) verwaltet.
  • Ein falscher Zieldatentyp wird in den Feldzuordnungen in Transaktion /GOOG/BQTR_SETTINGS verwaltet.

Für jeden Datensatz, der ein Feld mit ungültigen Daten enthält, wird von BigQuery eine Fehlermeldung ausgegeben.

Lösung: Analysieren Sie die Fehlermeldung DESCRIPTION_OF_INVALID_DATA, um die mögliche Ursache für ungültige Daten zu verstehen. Verwenden Sie RECORD_KEYS zum Identifizieren des Datensatzes mit dem Feld, das die ungültigen Daten enthält. Dieses enthält den Inhalt der ersten fünf Felder des Datensatzes. Wenn die Tabelle maximal fünf Felder hat, ist der Inhalt aller Felder in RECORD_KEYS enthalten.

  • Wenn die Daten im Feld nicht mit dem Datentyp in BigQuery kompatibel sind, korrigieren Sie die Daten in der Quelltabelle.
  • Wenn der Fehler aufgrund einer Abweichung zwischen den Daten und dem Datentyp aufgetreten ist, verwenden Sie die Transaktion /GOOG/BQTR_SETTINGS, um einen entsprechenden Datentyp anzugeben.

/GOOG/BQTR: 403 - Access Denied: Dataset PROJECT_ID:DATASET_NAME: Permission bigquery.tables.created denied on dataset

Problem: Die Datenübertragung ist mit der Fehlermeldung /GOOG/BQTR: 403 - Access Denied: Dataset PROJECT_ID:DATASET_NAME: Permission bigquery.tables.created denied on dataset fehlgeschlagen.

Ursache: Für Ihre SAP-Arbeitslast, die auf Google Cloudausgeführt wird, hat das angegebene Dienstkonto in der Tabelle /GOOG/CLIENT_KEY nicht die erforderlichen Berechtigungen für den Zugriff auf die BigQuery API.

Lösung: So beheben Sie das Problem:

  1. Geben Sie in der SAP-GUI die Transaktion /GOOG/BQTR_SETTINGS ein, der /n vorangestellt ist:

    /n/GOOG/BQTR_SETTINGS
  2. Notieren Sie sich für die Massenübertragungs-ID, die in der Transaktion LTRC fehlgeschlagen ist, den Wert des Felds Google Cloud-Schlüsselname.

  3. Geben Sie die Transaktion SM30 ein und öffnen Sie dann die Tabelle /GOOG/CLIENT_KEY.

  4. Notieren Sie sich für den Wert Google Cloud-Schlüsselname, den Sie in einem vorherigen Schritt notiert haben, den für das Feld Dienstkontoname angegebenen Wert.

  5. Rufen Sie in der Google Cloud Console die Identity and Access Management-Seite Dienstkonten auf.

    Zur Seite „Dienstkonten“

  6. Wählen Sie das Dienstkonto aus, das Sie in einem vorherigen Schritt notiert haben.

  7. Prüfen Sie, ob das Dienstkonto die IAM-Rollen hat, die BigQuery Toolkit für SAP, wie unter Authentifizierung einrichten beschrieben, für den Zugriff auf BigQuery benötigt.

  8. Führen Sie die Replikation noch einmal aus.

/GOOG/BQTR: 404 - Not Found

Problem: Die Datenübertragung ist mit der Fehlermeldung /GOOG/BQTR: 404 - Not Found fehlgeschlagen.

Ursache: In den RFC-Zielen, die das ABAP SDK for Google Cloud verwendet, um eine Verbindung zu Google Cloud APIs herzustellen, ist das Pfadpräfix nicht korrekt.

Lösung: So beheben Sie das Problem:

  1. Geben Sie in der SAP-GUI die Transaktion /GOOG/BQTR_SETTINGS ein, der /n vorangestellt ist:

    /n/GOOG/BQTR_SETTINGS
  2. Notieren Sie sich für die Massenübertragungs-ID, die in der Transaktion LTRC fehlgeschlagen ist, den Wert des Felds Google Cloud-Schlüsselname.

  3. Geben Sie die Transaktion SM30 ein und öffnen Sie dann die Tabelle /GOOG/SERVIC_MAP.

  4. Notieren Sie sich für den Wert Google Cloud-Schlüsselname, den Sie in einem vorherigen Schritt notiert haben, die RFC-Zielnamen.

  5. Geben Sie die Transaktion SM59 ein und führen Sie die folgenden Schritte aus:

    • Achten Sie darauf, dass für das RFC-Ziel, das eine Verbindung zu BigQuery herstellt, der Feldwert Pfadpräfix /bigquery/v2/ ist.
    • Achten Sie darauf, dass für das RFC-Ziel, das eine Verbindung zu IAM herstellt, der Feldwert Pfadpräfix /v1/ ist.
  6. Führen Sie die Replikation noch einmal aus.

/GOOG/BQTR: 404 - Table PROJECT_ID:DATASET_NAME.TABLE_NAME not found

Problem: Die Datenübertragung ist mit der Fehlermeldung /GOOG/BQTR: 404 - Table PROJECT_ID:DATASET_NAME.TABLE_NAME not found fehlgeschlagen.

Ursache: In den RFC-Zielen, die das ABAP SDK for Google Cloud verwendet, um eine Verbindung zu Google Cloud APIs herzustellen, stimmt der Wert, den Sie für das Feld Zielhost angegeben haben, mit keinem DNS-Namen in Cloud DNS überein.

Lösung: So beheben Sie das Problem:

  1. Geben Sie in der SAP-GUI den Transaktionscode /GOOG/BQTR_SETTINGS ein.

  2. Geben Sie den Massenübertragungsschlüssel ein, für den Sie diesen Fehler erhalten haben.

  3. Klicken Sie auf das Symbol Ausführen. Notieren Sie sich den Wert in der Spalte Google Cloud-Schlüsselname.

  4. Geben Sie die Transaktion SM30 ein und öffnen Sie die Tabelle /GOOG/CLIENT_KEY im Anzeigemodus.

  5. Durchsuchen Sie die Tabelle /GOOG/SERVIC_MAP mit dem Google Cloud-Schlüsselnamen, den Sie in einem vorherigen Schritt notiert haben, und notieren Sie sich die angegebenen RFC-Zielnamen.

  6. Geben Sie den Transaktionscode SM59 ein.

  7. Notieren Sie sich für die RFC-Ziele, die Sie für die Verbindung zi BigQuery und IAM APIs verwenden, den für das Feld Zielhost angegebenen Wert.

  8. Rufen Sie in der Google Cloud Console die Seite Cloud DNS der Netzwerkdienste auf.

    Cloud DNS aufrufen

  9. Klicken Sie auf die private Zone mit den DNS-Einträgen für die Private Service Connect-Endpunkte, die Sie erstellt haben, damit BigQuery Toolkit für SAP eine private Verbindung zu den BigQuery und IAM APIs herstellen kann.

  10. Prüfen Sie, ob für jeden der Zielhostwerte, die Sie in einem vorherigen Schritt notiert haben, ein DNS-Eintrag mit einem übereinstimmenden DNS-Namen vorhanden ist.

  11. Führen Sie die Replikation noch einmal aus.

/GOOG/BQTR: 404 - Not Found Requested entity was not found

Problem: Die Datenübertragung ist mit der Fehlermeldung /GOOG/BQTR: 404 - Not Found Requested entity was not found fehlgeschlagen.

Ursache: Für Ihre Arbeitslast, die auf Google Cloudausgeführt wird, ist das in der Clientschlüsseltabelle /GOOG/CLIENT_KEY verwendete Dienstkonto ungültig.

Lösung: So beheben Sie das Problem:

  1. Geben Sie in der SAP-GUI die Transaktion /GOOG/BQTR_SETTINGS ein, der /n vorangestellt ist:

    /n/GOOG/BQTR_SETTINGS
  2. Geben Sie den Massenübertragungsschlüssel ein, für den Sie diesen Fehler erhalten haben.

  3. Klicken Sie auf das Symbol Ausführen. Notieren Sie sich den Wert in der Spalte Google Cloud-Schlüsselname.

  4. Geben Sie die Transaktion SM30 ein und öffnen Sie dann die Tabelle /GOOG/CLIENT_KEY.

  5. Achten Sie für das Feld Dienstkontoname darauf, dass der angegebene Wert die E-Mail-Adresse des Dienstkontos ist, das für BigQuery Toolkit for SAP erstellt wurde.

  6. Führen Sie die Replikation noch einmal aus.

/GOOG/BQTR: 413 - Request Entity Too Large

Problem: Die Datenübertragung ist mit der Fehlermeldung /GOOG/BQTR: 413 - Request Entity Too Large fehlgeschlagen.

Ursache: Dieses Problem kann auftreten, wenn die Bytegröße des Blocks, der von BigQuery Toolkit für SAP gesendet wird, die maximale Bytegröße für HTTP-Anfragen überschreitet, die BigQuery akzeptiert. Dies kann auftreten, wenn die Größe der Tabellendatensätze oder der Datenmenge, die in den Datensätzen enthalten ist, dazu führt, dass die Bytegröße eines Blocks das BigQuery-Limit überschreitet.

Lösung: Reduzieren Sie die Größe der Blöcke, die von BigQuery Toolkit für SAP für diese Tabelle gesendet werden. Sie können die Blockgröße anpassen, indem Sie die Transaktion /GOOG/BQTR_SETTINGS ausführen oder die dynamische Blockgröße aktivieren, um die Blockgröße automatisch anpassen zu lassen. Weitere Informationen finden Sie unter:

/GOOG/BQTR: 404 - Not found: Dataset DATASET_NAME

Problem: Bei dem Versuch, die Google Cloud Sicherheit zu validieren oder Daten in eine BigQuery-Tabelle zu laden, erhalten Sie die Meldung /GOOG/BQTR: 404 - Not found: Dataset DATASET_NAME.

Ursache: Dieses Problem kann durch folgende Umstände verursacht werden:

  • Das BigQuery-Dataset wurde noch nicht erstellt.
  • Der Dataset-Name ist in der Massenübertragungskonfiguration nicht korrekt angegeben.
  • Die Replikationskonfiguration im BigQuery Data Transfer-Modul muss aktiviert sein.

Lösung: Versuchen Sie Folgendes:

  • Prüfen Sie, ob das Dataset in BigQuery erstellt wurde.
  • Prüfen Sie, ob der Dataset-Name in der Massenübertragungskonfiguration mit dem Dataset-Namen in BigQuery übereinstimmt.

/GOOG/BQTR : Unable to interpret VALUE as a BOOLEAN

Problem: Das Laden oder Replizieren eines Eintrags schlägt mit der Meldung /GOOG/BQTR : Unable to interpret VALUE as a BOOLEAN fehl.

Ursache: Dieses Problem wird durch die Zuordnung eines Felds in der Quelltabelle zum BigQuery-Datentyp BOOLEAN verursacht, aber die Daten im Quellfeld werden nicht in einen booleschen Wert aufgelöst.

Lösung: Verwenden Sie die Transaktion /GOOG/BQTR_SETTINGS, um das Problem zu beheben. Ändern Sie entweder den Datentyp, dem das Quellfeld zugeordnet ist, oder entfernen Sie die Datentypzuordnung und akzeptieren Sie den Standarddatentyp.

/GOOG/BQTR: Failed to convert field SAP_FIELD_NAME value to field BIGQUERY_FIELD_NAME: ERROR_DETAILS

Problem: Das Laden oder Replizieren eines Eintrags schlägt mit der Meldung /GOOG/BQTR: Failed to convert field SAP_FIELD_NAME value to field BIGQUERY_FIELD_NAME: ERROR_DETAILS fehl.

Ursache: Entweder enthält das Quellfeld einen ungültigen Wert oder es wird einem BigQuery-Datentyp zugeordnet, der keine gültige Zuordnung für die im Quellfeld enthaltenen Daten ist.

Lösung: Zum Beheben des Problems verwenden Sie die Transaktion /GOOG/BQTR_SETTINGS, um den Datentyp zu ändern, dem das Quellfeld zugeordnet ist, oder Sie entfernen die Datentypzuordnung und akzeptieren die Standardzuordnung für den Datentyp.

/GOOG/BQTR: DESCRIPTION_OF_ISSUE error occurred in chunk ranging START_INDEX_OF_FAILED_CHUNK - END_INDEX_OF_FAILED_CHUNK

Problem: Die Replikation eines Blocks ist mit der Fehlermeldung /GOOG/BQTR: DESCRIPTION_OF_ISSUE error occurred in chunk ranging START_INDEX_OF_FAILED_CHUNK - END_INDEX_OF_FAILED_CHUNK fehlgeschlagen.

Ursache: Dies kann mehrere Ursachen haben, einschließlich Invalid JSON Payload, Quota Exceeded, Request Entity Too Large und HTTP Communication Failure. Die Fehlermeldung für den Block, der nicht nach BigQuery repliziert werden konnte, wird mit dem Start- und Endindex des Blocks angezeigt.

Diese Fehlermeldung wird angezeigt, wenn Sie das Flag BREAK in Transaktion /GOOG/BQTR_SETTINGS nicht festgelegt haben. Wenn das Flag BREAK nicht festgelegt ist, sendet BigQuery Toolkit für SAP weiterhin Datensätze an BigQuery. Dazu wird der nächste Block gesendet, selbst wenn ein Fehler auftritt.

Lösung: Versuchen Sie Folgendes:

  • Führen Sie bei den Problemen Quota Exceeded, Request Entity Too Large und HTTP Communication Failure die Schritte zur Fehlerbehebung für /GOOG/BQTR: 413 – Anfrageentität zu groß aus.
  • Beenden Sie die aktuelle Last, löschen Sie die Zieltabelle aus BigQuery und starten Sie dann eine neue Last.
  • Wenn Sie das Senden von Daten an BigQuery und den Replikationsjob beenden möchten, wenn ein Block mit einem Fehler auftritt, legen Sie das Flag BREAK fest. Dies wird in Produktionsumgebungen empfohlen.

Informationen zum Konfigurieren des Flags BREAK finden Sie unter Tabellenerstellung und andere allgemeine Attribute angeben.

Support von der Community

In den Cloud-Foren können Sie Ihre Fragen stellen und über das BigQuery Toolkit für SAP mit der Community sprechen.

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.

Wenn Sie Hilfe bei der Behebung von Problemen mit dem BigQuery Toolkit for SAP benötigen, erfassen Sie alle verfügbaren Diagnoseinformationen und wenden Sie sich an Cloud Customer Care.

Weitere Informationen zur Kontaktaufnahme mit Cloud Customer Care finden Sie unter Support für SAP in Google Cloud.