Répliquer des données SAP dans BigQuery à l'aide du kit d'outils BigQuery pour SAP

Pour répliquer des données SAP dans BigQuery, vous utilisez la classe de chargement de données /GOOG/CL_BQTR_DATA_LOAD dans vos applications SAP, telles que les programmes ABAP personnalisés, les sorties utilisateur, les Business Add-Ins (BAdI) et les améliorations. Votre application SAP doit transmettre les données à répliquer en tant qu'entrée à la classe.

Appeler la méthode de réplication des données

Vous instanciez la classe de chargement de données BigQuery /GOOG/CL_BQTR_DATA_LOAD en transmettant la clé de transfert groupé et le nom de l'objet de dictionnaire configuré dans la configuration du service de transfert de données BigQuery.

Pour envoyer les données à BigQuery, vous appelez la méthode REPLICATE_DATA de la classe /GOOG/CL_BQTR_DATA_LOAD.

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) ).

Remplacez les éléments suivants :

  • MASS_TRANSFER_KEY : clé de transfert groupé configurée dans la configuration du service de transfert de données BigQuery.
  • DATA_SOURCE : nom de l'objet de dictionnaire SAP, tel qu'une table, une vue de dictionnaire ou une vue CDS.
  • CDC_FRAMEWORK : facultatif. Framework de capture de données modifiées (CDC) utilisé par le programme appelant. Les valeurs acceptées sont ODQ et SLT.

    BigQuery Toolkit pour SAP intègre une logique permettant de déterminer l'indicateur d'opération (insertion, mise à jour et suppression) en fonction du framework CDC. Pour en savoir plus, consultez Champs supplémentaires pour les modifications d'enregistrements et les requêtes de décompte.

    Lorsque CDC_FRAMEWORK est transmis en tant que ODQ, BigQuery Toolkit pour SAP obtient la valeur de la colonne ODQ_CHANGEMODE dans la charge utile transmise en entrée :

    • Si la valeur est égale à C, operation_flag est défini sur I.
    • Si la valeur est égale à U, operation_flag est défini sur U.
    • Si la valeur est égale à D, operation_flag est défini sur D.
    • Pour toutes les autres valeurs, operation_flag est défini sur L.

    Lorsque CDC_FRAMEWORK est transmis en tant que SLT, BigQuery Toolkit pour SAP obtient la valeur de la colonne "OPERATION" à partir de WA_HEADER :

    • Si la valeur est égale à I, operation_flag est défini sur I.
    • Si la valeur est égale à U, operation_flag est défini sur U.
    • Si la valeur est égale à D, operation_flag est défini sur D.
    • Pour toutes les autres valeurs, operation_flag est défini sur L.

    Si CDC_FRAMEWORK n'est pas transmis ou est transmis avec une autre valeur, operation_flag est défini sur L.

  • MANDT_FIELDNAME : facultatif. Nom du champ client SAP à ajouter à la définition de la table BigQuery. Cela peut être utilisé pour les objets de dictionnaire SAP tels que les entités CDS, qui n'ont pas de champ client dans leur définition, mais pour lesquels vous souhaitez que le champ soit ajouté à BigQuery.

  • MANDT_VALUE : facultatif. Valeur du champ client SAP à renseigner dans BigQuery. Cette option ne peut être utilisée que lorsque IV_FLDNM_MANDT est également renseigné.

  • ITAB_DATA : table interne de type DATA_SOURCE. Vous insérez dans ITAB_DATA les données à répliquer dans la table BigQuery.

  • WA_HEADER : structure plate contenant des informations d'en-tête sur la réplication. Cette valeur permet de déterminer le operation_flag lorsque CDC_FRAMEWORK est SLT.

Lorsque vous appelez cette méthode, le module de transfert de données BigQuery effectue les actions suivantes :

  • Synchronisez la définition de la table BigQuery avec la définition de l'objet de dictionnaire SAP en fonction des paramètres de table et de champ conservés dans la configuration du service de transfert de données BigQuery.
  • Mappez les données renseignées dans ITAB_DATA du format SAP au format BigQuery en fonction des paramètres au niveau des champs définis dans la configuration du transfert de données BigQuery. Si les paramètres au niveau des champs ne sont pas conservés, les règles de mappage des données par défaut sont utilisées.
  • Appelez la méthode InsertAllTabledata de l'API BigQuery pour charger les données dans la table BigQuery cible.

Si toutes les étapes aboutissent, le paramètre d'exportation ev_error_code renvoie la valeur 0. Si une erreur s'est produite à une étape, ev_error_code renvoie une valeur non nulle et le message d'erreur correspondant est renseigné dans et_return.

En tant que développeur d'applications, vous pouvez gérer les erreurs, y compris les enregistrer pour une analyse ultérieure et réessayer de charger les enregistrements dont la réplication a échoué.

Obtenir de l'aide

Google Cloud propose une assistance pour les problèmes et les questions liés à l'installation, à la configuration, au fonctionnement et à la maintenance de BigQuery Toolkit pour SAP.

Pour les problèmes provenant de composants gérés par SAP tels que l'Operational Data Provisioning (ODP), le Data Migration Server (DMIS), les Core Data Services (CDS), l'Internet Communication Manager (ICM) ou des logiciels tiers, l' Google Cloud Customer Care s'efforce d'identifier la cause première. Pour résoudre ces problèmes, contactez le fournisseur ou le prestataire d'assistance concerné.

Pour résoudre les problèmes liés à BigQuery Toolkit pour SAP, consultez Résoudre les problèmes liés à BigQuery Toolkit pour SAP.

Procédez comme suit si vous avez besoin d'aide pour résoudre les problèmes liés au SDK ABAP pour Google Cloud :