Résoudre les problèmes liés au BigQuery Toolkit pour SAP

Ce document explique aux administrateurs SAP, aux développeurs SAP ou à d'autres personnes comment résoudre les problèmes liés au BigQuery Toolkit pour SAP.

Problèmes courants

Cette section répertorie les messages d'erreur courants et leur résolution spécifiques au kit d'outils BigQuery pour SAP.

Pour en savoir plus sur le dépannage des problèmes liés au SDK ABAP pour Google Cloud en général, consultez Résoudre les problèmes liés à l'environnement sur site ou n'importe quelle édition cloud du SDK ABAP pour Google Cloud.

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

Problème : le transfert de données a échoué en renvoyant le message d'erreur /GOOG/BQTR: Mass Transfer Key is required. Use Tcode /GOOG/BQTR_SETTINGS to maintain.

Cause:La clé de transfert de masse n'est pas fournie dans le paramètre IV_MASS_TR_KEY lors de l'appel de la classe de chargement de données /GOOG/CL_BQTR_DATA_LOAD.

Solution:Pour résoudre ce problème, transmettez une clé de transfert de masse enregistrée dans la transaction /GOOG/BQTR_SETTINGS. Pour en savoir plus, consultez Appeler la méthode de réplication des données.

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

Problème : le transfert de données a échoué en renvoyant le message d'erreur /GOOG/BQTR: Data Source is required. Pass a dictionary object.

Cause:La source de données n'est pas fournie dans le paramètre IV_DATA_SOURCE lors de l'appel de la classe de chargement de données /GOOG/CL_BQTR_DATA_LOAD.

Résolution:Pour résoudre ce problème, transmettez le nom de l'objet du dictionnaire, tel que la vue ou la table du CDS, en tant que source de données. Pour en savoir plus, consultez Appeler la méthode de réplication des données.

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

Problème : le transfert de données a échoué en renvoyant le message d'erreur /GOOG/BQTR: Mass Transfer Key MASS_TRANSFER_KEY not found. Use Tcode /GOOG/BQTR_SETTINGS to maintain.

Cause:La clé de transfert groupé transmise à la classe de chargement de données /GOOG/CL_BQTR_DATA_LOAD n'est pas gérée dans le module de transfert de données BigQuery.

Solution:Pour résoudre ce problème, conservez une clé de transfert de masse à l'aide du code de transaction /GOOG/BQTR_SETTINGS. Pour en savoir plus, consultez Configurer le module de transfert de données BigQuery.

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

Problème : le transfert de données a échoué en renvoyant le message d'erreur /GOOG/BQTR: DATA_SOURCE does not exist in data dictionary.

Cause:La source de données transmise à la classe de chargement de données /GOOG/CL_BQTR_DATA_LOAD n'est pas un objet de dictionnaire de données valide.

Résolution:Pour résoudre ce problème, transmettez le nom de la source de données qui existe dans le dictionnaire de données. Seules les tables, les vues de dictionnaire et les vues CDS sont acceptées.

/GOOG/BQTR: Nested Tables are not supported

Problème:vous recevez le message d'erreur /GOOG/BQTR: Nested Tables are not supported.

Cause:L'objet de dictionnaire transmis en entrée à la classe de chargement de données /GOOG/CL_BQTR_DATA_LOAD n'est pas une structure plate.

Résolution:Pour résoudre ce problème, utilisez un objet dictionnaire dont la structure est plate.

/GOOG/BQTR: Error creating target table definition

Problème:vous recevez le message d'erreur /GOOG/BQTR: Error creating target table definition.

Cause:BigQuery Toolkit pour SAP ne parvient pas à créer la définition de la table cible pour la source de données donnée.

Résolution:Pour résoudre ce problème, vérifiez que la source d'entrée est un objet de dictionnaire valide avec un ou plusieurs champs.

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

Problème:vous recevez le message d'erreur /GOOG/BQTR: 400 - Table creation failed in BQ. Could not pull the table metadata from BQ.

Cause:cette erreur se produit si le module de transfert de données BigQuery ne parvient pas à obtenir la définition de la table à partir de BigQuery. Cela peut être dû à une surcharge temporaire du serveur dans BigQuery.

Résolution:Pour résoudre ce problème, redémarrez l'opération de chargement de données BigQuery.

/GOOG/BQTR: 400 - Scope must be provided

Problème:vous recevez le message d'erreur /GOOG/BQTR: 400 - Scope must be provided.

Cause:dans la configuration de la clé client, Champ d'application Google Cloud est vide.

Solution:Pour résoudre ce problème, spécifiez la portée correspondante (par exemple, https://www.googleapis.com/auth/cloud-platform) dans le champ Champ d'application Google Cloud de la configuration de la clé client que vous utilisez.

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

Problème:vous recevez le message d'erreur /GOOG/BQTR: 400 - Schema mismatch for table TABLE_NAME. Please delete the table from BigQuery and try again.

Cause : l'une des modifications suivantes a été saisie pour une table BigQuery existante :

  • Supprimer un champ
  • Renommer un champ
  • Modifier le type de données d'un champ
  • Modifier le type de partition d'une table

Les modifications précédentes ne peuvent pas être appliquées à une table BigQuery existante.

Résolution : si vous devez modifier l'un de ces attributs de champ dans une table existante, vous devez supprimer la table existante et recharger les enregistrements dans une nouvelle table.

Messages d'erreur liés à des données non valides

Problème : Dans les journaux de l'application, vous recevez un message d'erreur : /GOOG/BQTR/: DESCRIPTION_OF_INVALID_DATA error occurred in FIELD_NAME in record RECORD_KEYS.

Cause : ce message d'erreur est émis par BigQuery lors de l'insertion des enregistrements contenant des données non valides dans la table cible. Les données peuvent ne pas être valides pour l'une des raisons suivantes :

  • Les données du champ d'un enregistrement particulier ne sont pas compatibles avec le type de données dans BigQuery. Par exemple, BigQuery génère des messages d'erreur dans les cas suivants :
    • Une chaîne est conservée dans un champ de type DATE, INTEGER ou BOOLEAN.
    • Une date non valide (00/00/0000) est conservée dans un champ de type DATE.
  • Un type de données cible incorrect est conservé dans les mappages de champs dans la transaction /GOOG/BQTR_SETTINGS.

Un message d'erreur est émis par BigQuery pour chaque enregistrement contenant un champ avec des données non valides.

Résolution : analysez le message d'erreur DESCRIPTION_OF_INVALID_DATA pour comprendre la cause possible des données non valides. Pour identifier l'enregistrement avec le champ qui contient les données non valides, utilisez RECORD_KEYS, qui inclut le contenu des cinq premiers champs de l'enregistrement. Si la table comporte cinq champs ou moins, le contenu de tous les champs est inclus dans le champ RECORD_KEYS.

  • Si les données du champ ne sont pas compatibles avec le type de données dans BigQuery, corrigez les données de la table source.
  • Si l'erreur s'est produite en raison d'une erreur de correspondance entre les données et le type de données, utilisez la transaction /GOOG/BQTR_SETTINGS pour spécifier un type de données approprié.

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

Problème : le transfert de données a échoué en renvoyant le message d'erreur /GOOG/BQTR: 403 - Access Denied: Dataset PROJECT_ID:DATASET_NAME: Permission bigquery.tables.created denied on dataset.

Cause:pour votre charge de travail SAP exécutée sur Google Cloud, dans le tableau /GOOG/CLIENT_KEY, le compte de service spécifié ne dispose pas des autorisations requises pour accéder à l'API BigQuery.

Résolution : pour résoudre ce problème, procédez comme suit :

  1. Dans l'interface utilisateur graphique de SAP, saisissez la transaction /GOOG/BQTR_SETTINGS précédée de /n :

    /n/GOOG/BQTR_SETTINGS
  2. Pour l'ID de transfert de masse ayant échoué dans la transaction LTRC, notez la valeur du champ Nom de la clé Google Cloud.

  3. Saisissez la transaction SM30, puis ouvrez la table /GOOG/CLIENT_KEY.

  4. Pour la valeur Nom de la clé Google Cloud que vous avez notée à une étape précédente, notez la valeur spécifiée pour le champ Nom du compte de service.

  5. Dans la console Google Cloud, accédez à la page Comptes de service IAM (Identity and Access Management).

    Accéder à la page "Comptes de service"

  6. Sélectionnez le compte de service que vous avez noté lors d'une étape précédente.

  7. Assurez-vous que le compte de service dispose des rôles IAM requis par BigQuery Toolkit pour SAP afin d'accéder à BigQuery, comme indiqué dans la section Configurer l'authentification.

  8. Réexécutez votre réplication.

/GOOG/BQTR: 404 - Not Found

Problème : le transfert de données a échoué en renvoyant le message d'erreur /GOOG/BQTR: 404 - Not Found.

Cause:Dans les destinations RFC que le SDK ABAP pour Google Cloud utilise pour se connecter aux API Google Cloud , le préfixe de chemin d'accès est incorrect.

Résolution : pour résoudre ce problème, procédez comme suit :

  1. Dans l'interface utilisateur graphique de SAP, saisissez la transaction /GOOG/BQTR_SETTINGS précédée de /n :

    /n/GOOG/BQTR_SETTINGS
  2. Pour l'ID de transfert de masse ayant échoué dans la transaction LTRC, notez la valeur du champ Nom de la clé Google Cloud.

  3. Saisissez la transaction SM30, puis ouvrez la table /GOOG/SERVIC_MAP.

  4. Pour la valeur Nom de la clé Google Cloud que vous avez notée lors d'une étape précédente, notez les noms des destinations RFC.

  5. Saisissez la transaction SM59, puis procédez comme suit :

    • Pour la destination RFC qui se connecte à BigQuery, assurez-vous que la valeur du champ Préfixe de chemin d'accès est /bigquery/v2/.
    • Pour la destination RFC qui se connecte à IAM, assurez-vous que la valeur du champ Préfixe de chemin d'accès est /v1/.
  6. Réexécutez votre réplication.

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

Problème : le transfert de données a échoué en renvoyant le message d'erreur /GOOG/BQTR: 404 - Table PROJECT_ID:DATASET_NAME.TABLE_NAME not found.

Cause:Dans les destinations RFC utilisées par le SDK ABAP pour Google Cloud pour se connecter aux API Google Cloud , la valeur que vous avez spécifiée pour le champ Hôte cible ne correspond à aucun nom DNS dans Cloud DNS.

Résolution : pour résoudre ce problème, procédez comme suit :

  1. Dans l'interface utilisateur graphique de SAP, saisissez le code de transaction /GOOG/BQTR_SETTINGS.

  2. Saisissez la clé de transfert de masse pour laquelle vous avez reçu cette erreur.

  3. Cliquez sur l'icône Exécuter. Notez la valeur dans la colonne Nom de la clé Google Cloud.

  4. Saisissez la transaction SM30, puis ouvrez la table /GOOG/CLIENT_KEY en mode d'affichage.

  5. Recherchez le nom de la clé Google Cloud que vous avez précédemment noté dans la table /GOOG/SERVIC_MAP, puis notez les noms de destination RFC spécifiés.

  6. Saisissez le code de transaction SM59.

  7. Pour les destinations RFC que vous utilisez pour vous connecter aux API BigQuery et IAM, notez la valeur spécifiée pour le champ Hôte cible.

  8. Dans la console Google Cloud, accédez à la page Services DNS du service réseau.

    Accéder à Cloud DNS

  9. Cliquez sur la zone privée contenant les enregistrements DNS des points de terminaison Private Service Connect, que vous avez créés pour permettre à BigQuery Toolkit pour SAP de se connecter en mode privé aux API BigQuery et IAM.

  10. Assurez-vous qu'il existe un enregistrement DNS, avec un nom DNS correspondant, pour chacune des valeurs d'hôte cible que vous avez notées lors d'une précédente étape.

  11. Réexécutez votre réplication.

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

Problème : le transfert de données a échoué en renvoyant le message d'erreur /GOOG/BQTR: 404 - Not Found Requested entity was not found.

Cause:pour votre charge de travail exécutée sur Google Cloud, le compte de service utilisé dans la table de clés client /GOOG/CLIENT_KEY n'est pas valide.

Résolution : pour résoudre ce problème, procédez comme suit :

  1. Dans l'interface utilisateur graphique de SAP, saisissez la transaction /GOOG/BQTR_SETTINGS précédée de /n :

    /n/GOOG/BQTR_SETTINGS
  2. Saisissez la clé de transfert de masse pour laquelle vous avez reçu cette erreur.

  3. Cliquez sur l'icône Exécuter. Notez la valeur dans la colonne Nom de la clé Google Cloud.

  4. Saisissez la transaction SM30, puis ouvrez la table /GOOG/CLIENT_KEY.

  5. Pour le champ Nom du compte de service, assurez-vous que la valeur spécifiée correspond à l'adresse e-mail du compte de service créé pour BigQuery Toolkit pour SAP.

  6. Réexécutez votre réplication.

/GOOG/BQTR: 413 - Request Entity Too Large

Problème : le transfert de données a échoué en renvoyant le message d'erreur /GOOG/BQTR: 413 - Request Entity Too Large.

Cause:ce problème peut survenir lorsque la taille en octets du fragment envoyé par BigQuery Toolkit pour SAP dépasse la taille maximale acceptée par BigQuery pour les requêtes HTTP. Cela peut se produire lorsque, en raison de la taille des enregistrements de table ou de la quantité de données contenues dans les enregistrements, la taille en octets d'un fragment dépasse la limite BigQuery.

Résolution:réduisez la taille des fragments envoyés par BigQuery Toolkit pour SAP pour votre table. Vous pouvez ajuster la taille des fragments en exécutant la transaction /GOOG/BQTR_SETTINGS, ou activer la taille de fragment dynamique pour ajuster automatiquement la taille des fragments. Pour en savoir plus, consultez les pages suivantes :

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

Problème:Lorsque vous tentez de valider la sécurité Google Cloud ou de charger des données dans une table BigQuery, vous recevez le message /GOOG/BQTR: 404 - Not found: Dataset DATASET_NAME.

Cause : ce problème peut être dû aux circonstances suivantes :

  • L'ensemble de données BigQuery n'a pas encore été créé.
  • Le nom de l'ensemble de données n'est pas spécifié correctement dans la configuration du transfert de masse.
  • La configuration de la réplication dans le module de transfert de données BigQuery doit être activée.

Résolution : essayez les solutions suivantes :

  • Vérifiez que l'ensemble de données a été créé dans BigQuery.
  • Vérifiez que le nom de l'ensemble de données dans la configuration du transfert de masse est identique au nom de l'ensemble de données dans BigQuery.

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

Problème : le chargement ou la réplication d'un enregistrement échoue avec le message /GOOG/BQTR : Unable to interpret VALUE as a BOOLEAN.

Cause : ce problème est causé par le mappage d'un champ de la table source sur le type de données BigQuery BOOLEAN, mais les données du champ source ne sont pas converties en une valeur booléenne.

Résolution:Pour résoudre le problème, utilisez la transaction /GOOG/BQTR_SETTINGS afin de modifier le type de données sur lequel le champ source est mappé ou supprimez le mappage de type de données et acceptez le mappage par défaut pour le type de données.

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

Problème : le chargement ou la réplication d'un enregistrement échoue avec le message /GOOG/BQTR: Failed to convert field SAP_FIELD_NAME value to field BIGQUERY_FIELD_NAME: ERROR_DETAILS.

Cause : le champ source contient une valeur non valide ou le champ source est mappé sur un type de données BigQuery qui n'est pas un mappage valide pour les données contenues dans le champ source.

Résolution : pour résoudre le problème, utilisez la transaction /GOOG/BQTR_SETTINGS afin de modifier le type de données sur lequel le champ source est mappé ou supprimez le mappage de type de données et acceptez le mappage par défaut pour le type de données

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

Problème : la réplication d'un fragment a échoué avec un message d'erreur /GOOG/BQTR: DESCRIPTION_OF_ISSUE error occurred in chunk ranging START_INDEX_OF_FAILED_CHUNK - END_INDEX_OF_FAILED_CHUNK.

Cause : il peut y avoir plusieurs causes, y compris Invalid JSON Payload, Quota Exceeded, Request Entity Too Large ou HTTP Communication Failure. Le message d'erreur associé au fragment qui n'a pas été dupliqué vers BigQuery s'affiche avec les index de début et de fin du fragment.

Ce message d'erreur s'affiche si vous n'avez pas défini l'option BREAK dans la transaction /GOOG/BQTR_SETTINGS. Lorsque l'option BREAK n'est pas définie, BigQuery Toolkit pour SAP continue d'envoyer des enregistrements à BigQuery en envoyant le fragment suivant même lorsqu'une erreur se produit.

Résolution : essayez les solutions suivantes :

  • Pour les problèmes liés à Quota Exceeded, Request Entity Too Large ou HTTP Communication Failure, suivez les étapes de dépannage pour /GOOG/BQTR: 413 - Corps de requête trop long.
  • Arrêtez le chargement actuel, supprimez la table cible de BigQuery, puis redémarrez le chargement.
  • Pour arrêter l'envoi de données à BigQuery et arrêter le job de réplication lorsqu'un fragment avec une erreur est rencontré, définissez l'option BREAK (recommandée dans les environnements de production).

Pour en savoir plus sur la configuration de l'indicateur BREAK, consultez la section Spécifier la création de table et d'autres attributs généraux.

Obtenir l'aide de la communauté

Posez vos questions et discutez de BigQuery Toolkit pour SAP avec la communauté sur les forums Cloud.

Obtenir de l'aide

Google Cloud propose une assistance pour les problèmes et les questions liés à l'installation, à la configuration, à l'exploitation et à la maintenance du kit d'outils BigQuery pour SAP. Toutefois, l'assistance est limitée à la boîte à outils elle-même.

Google Cloud n'est pas compatible avec d'autres composants de l'environnement, tels que l'infrastructure réseau, les bases de données, les systèmes d'exploitation ou les logiciels tiers. Pour les problèmes liés à d'autres composants de l'environnement que le kit d'outils BigQuery pour SAP, contactez le fournisseur ou le prestataire d'assistance approprié.

Pour les fonctionnalités fournies par SAP, telles que le provisionnement de données opérationnelles (ODP) et SAP Landscape Transformation (SLT), contactez l'assistance SAP pour obtenir de l'aide.

Si vous avez besoin d'aide pour résoudre des problèmes liés au kit d'outils BigQuery pour SAP, collectez toutes les informations de diagnostic disponibles et contactez le Cloud Customer Care.

Pour en savoir plus sur la procédure à suivre pour contacter Cloud Customer Care, consultez la page Obtenir de l'aide pour SAP sur Google Cloud.