Risoluzione dei problemi relativi a BigQuery Toolkit per SAP

Questo documento mostra agli amministratori SAP, agli sviluppatori SAP o ad altri utenti come risolvere i problemi relativi a BigQuery Toolkit for SAP.

Problemi comuni

Questa sezione elenca i messaggi di errore comuni e la relativa risoluzione specifici per BigQuery Toolkit for SAP.

Per informazioni sulla risoluzione dei problemi relativi all'ABAP SDK for Google Cloud in generale, consulta Risoluzione dei problemi della versione on-premise o di qualsiasi versione cloud di ABAP SDK for Google Cloud.

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

Problema:il trasferimento dei dati non è riuscito con il messaggio di errore /GOOG/BQTR: Mass Transfer Key is required. Use Tcode /GOOG/BQTR_SETTINGS to maintain.

Causa: la chiave di trasferimento collettivo non viene fornita nel parametro IV_MASS_TR_KEY quando viene chiamata la classe di caricamento dei dati /GOOG/CL_BQTR_DATA_LOAD.

Soluzione:per risolvere il problema, trasmetti una chiave di trasferimento collettivo salvata nella transazione /GOOG/BQTR_SETTINGS. Per maggiori informazioni, vedi Chiamare il metodo di replica dei dati.

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

Problema:il trasferimento dei dati non è riuscito con il messaggio di errore /GOOG/BQTR: Data Source is required. Pass a dictionary object.

Causa: l'origine dati non viene fornita nel parametro IV_DATA_SOURCE quando viene chiamata la classe di caricamento dei dati /GOOG/CL_BQTR_DATA_LOAD.

Soluzione:per risolvere il problema, passa il nome dell'oggetto dizionario, ad esempio la visualizzazione CDS o la tabella, come origine dati. Per maggiori informazioni, vedi Chiamare il metodo di replica dei dati.

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

Problema:il trasferimento dei dati non è riuscito con il messaggio di errore /GOOG/BQTR: Mass Transfer Key MASS_TRANSFER_KEY not found. Use Tcode /GOOG/BQTR_SETTINGS to maintain.

Causa: la chiave di trasferimento collettivo passata alla classe di caricamento dei dati /GOOG/CL_BQTR_DATA_LOAD non viene gestita nel modulo BigQuery Data Transfer.

Soluzione:per risolvere il problema, mantieni una chiave di trasferimento collettivo utilizzando il codice transazione /GOOG/BQTR_SETTINGS. Per saperne di più, consulta Configurare il modulo BigQuery Data Transfer.

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

Problema:il trasferimento dei dati non è riuscito con il messaggio di errore /GOOG/BQTR: DATA_SOURCE does not exist in data dictionary.

Causa: l'origine dati passata alla classe di caricamento dei dati /GOOG/CL_BQTR_DATA_LOAD non è un oggetto dizionario dati valido.

Soluzione:per risolvere il problema, trasmetti il nome dell'origine dati presente nel dizionario dei dati. Sono supportati solo tabelle, viste dizionario e viste CDS.

/GOOG/BQTR: Nested Tables are not supported

Problema: ricevi il messaggio di errore /GOOG/BQTR: Nested Tables are not supported.

Causa:l'oggetto dizionario passato come input alla classe di caricamento dei dati /GOOG/CL_BQTR_DATA_LOAD non è una struttura piatta.

Soluzione:per risolvere il problema, utilizza un oggetto dizionario con una struttura piatta.

/GOOG/BQTR: Error creating target table definition

Problema: ricevi il messaggio di errore /GOOG/BQTR: Error creating target table definition.

Causa: BigQuery Toolkit for SAP non è in grado di creare la definizione della tabella di destinazione per l'origine dati specificata.

Soluzione:per risolvere il problema, verifica che l'origine di input sia un oggetto dizionario valido con uno o più campi.

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

Problema: ricevi il messaggio di errore /GOOG/BQTR: 400 - Table creation failed in BQ. Could not pull the table metadata from BQ.

Causa: questo errore viene generato se il modulo BigQuery Data Transfer non riesce a ottenere la definizione della tabella da BigQuery. Ciò potrebbe essere causato da un sovraccarico temporaneo del server in BigQuery.

Risoluzione:per risolvere il problema, riavvia l'operazione di caricamento dei dati BigQuery.

/GOOG/BQTR: 400 - Scope must be provided

Problema: ricevi il messaggio di errore /GOOG/BQTR: 400 - Scope must be provided.

Causa: in Ambito Google Cloud nella configurazione della chiave client non è presente alcun valore.

Risoluzione:per risolvere il problema, per la configurazione della chiave client che stai utilizzando, specifica l'ambito corrispondente nel campo Ambito Google Cloud, ad esempio https://www.googleapis.com/auth/cloud-platform.

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

Problema: ricevi il messaggio di errore /GOOG/BQTR: 400 - Schema mismatch for table TABLE_NAME. Please delete the table from BigQuery and try again.

Causa: è stata inserita una delle seguenti modifiche per una tabella BigQuery esistente:

  • Eliminazione di un campo
  • Ridenominazione di un campo
  • Modifica del tipo di dati di un campo
  • Modifica del tipo di partizione di una tabella

Le modifiche precedenti non possono essere applicate a una tabella BigQuery esistente.

Soluzione:se devi modificare uno di questi attributi di campo in una tabella esistente, devi eliminare la tabella esistente e ricaricare i record in una nuova tabella.

Messaggi di errore relativi a dati non validi

Problema: nei log dell'applicazione ricevi il messaggio di errore: /GOOG/BQTR/: DESCRIPTION_OF_INVALID_DATA error occurred in FIELD_NAME in record RECORD_KEYS.

Causa: questo messaggio di errore viene emesso da BigQuery quando vengono inseriti i record con dati non validi nella tabella di destinazione. I dati potrebbero non essere validi per uno dei seguenti motivi:

  • I dati nel campo di un determinato record non sono compatibili con il tipo di dati in BigQuery. Ad esempio, BigQuery genera messaggi di errore quando:
    • Una stringa viene mantenuta in un campo di tipo DATE, INTEGER o BOOLEAN.
    • In un campo di tipo DATE viene mantenuta una data non valida (00/00/0000).
  • Nei mapping dei campi della transazione /GOOG/BQTR_SETTINGS viene mantenuto un tipo di dati di destinazione errato.

BigQuery emette un messaggio di errore per ogni record che contiene un campo con dati non validi.

Soluzione: analizza il messaggio di errore, DESCRIPTION_OF_INVALID_DATA, per comprendere la possibile causa dei dati non validi. Per identificare il record con il campo che contiene i dati non validi, utilizza RECORD_KEYS, che include i contenuti dei primi cinque campi del record. Se la tabella ha cinque campi o meno, i contenuti di tutti i campi sono inclusi in RECORD_KEYS.

  • Se i dati nel campo non sono compatibili con il tipo di dati in BigQuery, correggi i dati nella tabella di origine.
  • Se l'errore si è verificato a causa di una mancata corrispondenza tra i dati e il tipo di dati, utilizza la transazione /GOOG/BQTR_SETTINGS per specificare un tipo di dati appropriato.

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

Problema:il trasferimento dei dati non è riuscito con il messaggio di errore /GOOG/BQTR: 403 - Access Denied: Dataset PROJECT_ID:DATASET_NAME: Permission bigquery.tables.created denied on dataset.

Causa: per il tuo carico di lavoro SAP in esecuzione su Google Cloud, nella tabella /GOOG/CLIENT_KEY, l'account di servizio specificato non dispone delle autorizzazioni necessarie per accedere all'API BigQuery.

Soluzione:per risolvere il problema, completa i seguenti passaggi:

  1. Nella GUI di SAP, inserisci la transazione /GOOG/BQTR_SETTINGS preceduta da /n:

    /n/GOOG/BQTR_SETTINGS
  2. Per l'ID trasferimento collettivo non riuscito nella transazione LTRC, annota il valore del campo Nome chiave Google Cloud.

  3. Inserisci la transazione SM30, quindi apri la tabella /GOOG/CLIENT_KEY.

  4. Per il valore Nome chiave Google Cloud annotato in un passaggio precedente, annotare il valore specificato per il campo Nome service account.

  5. Nella console Google Cloud , vai alla pagina Service account di Identity and Access Management.

    Vai ad Account di servizio

  6. Seleziona il account di servizio che hai annotato in un passaggio precedente.

  7. Assicurati che il account di servizio disponga dei ruoli IAM richiesti da BigQuery Toolkit for SAP per accedere a BigQuery, come indicato in Configurare l'autenticazione.

  8. Esegui nuovamente la replica.

/GOOG/BQTR: 404 - Not Found

Problema:il trasferimento dei dati non è riuscito con il messaggio di errore /GOOG/BQTR: 404 - Not Found.

Causa: nelle destinazioni RFC che ABAP SDK for Google Cloud utilizza per connettersi alle Google Cloud API, il prefisso del percorso non è corretto.

Soluzione:per risolvere il problema, completa i seguenti passaggi:

  1. Nella GUI di SAP, inserisci la transazione /GOOG/BQTR_SETTINGS preceduta da /n:

    /n/GOOG/BQTR_SETTINGS
  2. Per l'ID trasferimento collettivo non riuscito nella transazione LTRC, annota il valore del campo Nome chiave Google Cloud.

  3. Inserisci la transazione SM30, quindi apri la tabella /GOOG/SERVIC_MAP.

  4. Per il valore Nome chiave Google Cloud annotato in un passaggio precedente, prendi nota dei nomi delle destinazioni RFC.

  5. Inserisci la transazione SM59 e completa i seguenti passaggi:

    • Per la destinazione RFC che si connette a BigQuery, assicurati che il valore del campo Prefisso percorso sia /bigquery/v2/.
    • Per la destinazione RFC che si connette a IAM, assicurati che il valore del campo Prefisso percorso sia /v1/.
  6. Esegui nuovamente la replica.

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

Problema:il trasferimento dei dati non è riuscito con il messaggio di errore /GOOG/BQTR: 404 - Table PROJECT_ID:DATASET_NAME.TABLE_NAME not found.

Causa: nelle destinazioni RFC che ABAP SDK for Google Cloud utilizza per connettersi alle API Google Cloud , il valore specificato per il campo Host di destinazione non corrisponde ad alcun nome DNS in Cloud DNS.

Soluzione:per risolvere il problema, completa i seguenti passaggi:

  1. Nella GUI SAP, inserisci il codice di transazione /GOOG/BQTR_SETTINGS.

  2. Inserisci la chiave di trasferimento collettivo per cui hai ricevuto questo errore.

  3. Fai clic sull'icona Esegui. Prendi nota del valore nella colonna Nome chiave Google Cloud.

  4. Inserisci la transazione SM30 e poi apri la tabella /GOOG/CLIENT_KEY in modalità di visualizzazione.

  5. Cerca nella tabella /GOOG/SERVIC_MAP utilizzando il nome della chiave Google Cloud che hai annotato in un passaggio precedente, quindi prendi nota dei nomi delle destinazioni RFC specificate.

  6. Inserisci il codice della transazione SM59.

  7. Per le destinazioni RFC che utilizzi per connetterti alle API BigQuery e IAM, annota il valore specificato per il campo Host di destinazione.

  8. Nella console Google Cloud , vai alla pagina Servizi di rete Cloud DNS.

    Vai a Cloud DNS

  9. Fai clic sulla zona privata che contiene i record DNS per gli endpoint Private Service Connect, che hai creato per consentire a BigQuery Toolkit for SAP di connettersi privatamente alle API BigQuery e IAM.

  10. Assicurati che esista un record DNS con un nome DNS corrispondente per ciascuno dei valori host di destinazione annotati in un passaggio precedente.

  11. Esegui nuovamente la replica.

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

Problema:il trasferimento dei dati non è riuscito con il messaggio di errore /GOOG/BQTR: 404 - Not Found Requested entity was not found.

Causa: per il tuo workload in esecuzione su Google Cloud, l'account di servizio utilizzato nella tabella delle chiavi client /GOOG/CLIENT_KEY non è valido.

Soluzione:per risolvere il problema, completa i seguenti passaggi:

  1. Nella GUI di SAP, inserisci la transazione /GOOG/BQTR_SETTINGS preceduta da /n:

    /n/GOOG/BQTR_SETTINGS
  2. Inserisci la chiave di trasferimento collettivo per cui hai ricevuto questo errore.

  3. Fai clic sull'icona Esegui. Prendi nota del valore nella colonna Nome chiave Google Cloud.

  4. Inserisci la transazione SM30, quindi apri la tabella /GOOG/CLIENT_KEY.

  5. Per il campo Nome account di servizio, assicurati che il valore specificato sia l'indirizzo email dell'account di servizio creato per BigQuery Toolkit for SAP.

  6. Esegui nuovamente la replica.

/GOOG/BQTR: 413 - Request Entity Too Large

Problema:il trasferimento dei dati non è riuscito con il messaggio di errore /GOOG/BQTR: 413 - Request Entity Too Large.

Causa: questo problema può verificarsi quando le dimensioni in byte del blocco inviato da BigQuery Toolkit for SAP hanno superato le dimensioni massime in byte per le richieste HTTP accettate da BigQuery. Ciò può verificarsi quando le dimensioni dei record della tabella o la quantità di dati contenuti nei record fanno sì che le dimensioni in byte di un blocco superino il limite di BigQuery.

Risoluzione:riduci le dimensioni dei blocchi inviati da BigQuery Toolkit for SAP per la tua tabella. Puoi regolare le dimensioni del blocco eseguendo la transazione /GOOG/BQTR_SETTINGS o attivare le dimensioni dinamiche del blocco per regolarle automaticamente. Per ulteriori informazioni, vedi:

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

Problema: quando tenti di convalidare Google Cloud la sicurezza o di caricare i dati in una tabella BigQuery, ricevi il messaggio /GOOG/BQTR: 404 - Not found: Dataset DATASET_NAME.

Causa: questo problema può essere causato dalle seguenti circostanze:

  • Il set di dati BigQuery non è ancora stato creato.
  • Il nome del set di dati non è specificato correttamente nella configurazione del trasferimento collettivo.
  • La configurazione della replica nel modulo BigQuery Data Transfer deve essere attivata.

Soluzione:prova le seguenti soluzioni:

  • Verifica che il set di dati sia stato creato in BigQuery.
  • Verifica che il nome del set di dati nella configurazione del trasferimento collettivo sia lo stesso del nome del set di dati in BigQuery.

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

Problema: il caricamento o la replica di un record non riesce e viene visualizzato il messaggio /GOOG/BQTR : Unable to interpret VALUE as a BOOLEAN.

Causa: questo problema è causato dal mapping di un campo nella tabella di origine al tipo di dati BigQuery BOOLEAN, ma i dati nel campo di origine non vengono risolti in un valore booleano.

Risoluzione:per risolvere il problema, utilizza la transazione /GOOG/BQTR_SETTINGS per modificare il tipo di dati a cui è mappato il campo di origine o rimuovere la mappatura del tipo di dati e accettare il tipo di dati predefinito.

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

Problema: il caricamento o la replica di un record non riesce e viene visualizzato il messaggio /GOOG/BQTR: Failed to convert field SAP_FIELD_NAME value to field BIGQUERY_FIELD_NAME: ERROR_DETAILS.

Causa: il campo di origine contiene un valore non valido oppure è mappato a un tipo di dati BigQuery che non è un mapping valido per i dati contenuti nel campo di origine.

Soluzione:per risolvere il problema, utilizza la transazione /GOOG/BQTR_SETTINGS per modificare il tipo di dati a cui è mappato il campo di origine o rimuovere la mappatura del tipo di dati e accettare la mappatura predefinita per il tipo di dati.

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

Problema: la replica di un blocco non è riuscita con il messaggio di errore /GOOG/BQTR: DESCRIPTION_OF_ISSUE error occurred in chunk ranging START_INDEX_OF_FAILED_CHUNK - END_INDEX_OF_FAILED_CHUNK.

Causa: questo problema può avere più di una causa, tra cui Invalid JSON Payload, Quota Exceeded, Request Entity Too Large o HTTP Communication Failure. Il messaggio di errore per il blocco la cui replica in BigQuery non è riuscita viene visualizzato con l'indice iniziale e finale del blocco.

Questo messaggio di errore viene visualizzato se non hai impostato il flag BREAK nella transazione /GOOG/BQTR_SETTINGS. Quando il flag BREAK non è impostato, BigQuery Toolkit for SAP continua a inviare record a BigQuery inviando il blocco successivo anche quando si verifica un errore.

Soluzione:prova le seguenti soluzioni:

  • Per problemi relativi a Quota Exceeded, Request Entity Too Large o HTTP Communication Failure, segui i passaggi per la risoluzione dei problemi per /GOOG/BQTR: 413 - Request Entity Too Large.
  • Interrompi il caricamento corrente, elimina la tabella di destinazione da BigQuery e poi riavvia un nuovo caricamento.
  • Per interrompere l'invio di dati a BigQuery e terminare il job di replica quando viene rilevato un blocco con un errore, imposta il flag BREAK, consigliato negli ambienti di produzione.

Per informazioni sulla configurazione del flag BREAK, vedi Specificare la creazione di tabelle e altri attributi generali.

Ricevere assistenza dalla community

Poni le tue domande e discuti di BigQuery Toolkit for SAP con la community nei forum di Cloud.

Assistenza

Google Cloud offre assistenza per problemi e domande relativi all'installazione, alla configurazione, al funzionamento e alla manutenzione di BigQuery Toolkit per SAP.

Per i problemi derivanti da componenti gestiti da SAP, come Operational Data Provisioning (ODP), Data Migration Server (DMIS), Core Data Services (CDS), Internet Communication Manager (ICM) o software di terze parti, Google Cloud Customer Care si impegna al massimo per identificare la causa principale. Per risolvere questi problemi, contatta il fornitore o il provider di assistenza pertinente.

Se hai bisogno di aiuto per risolvere i problemi relativi a BigQuery Toolkit per SAP, raccogli tutte le informazioni diagnostiche disponibili e contatta l'assistenza clienti Google Cloud.

Per ulteriori informazioni su come contattare l'assistenza clienti Google Cloud, consulta Ricevere assistenza per SAP su Google Cloud.