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 modules complémentaires d'entreprise (BAdI) et les améliorations. Votre application SAP doit transmettre les données à répliquer en 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 de masse et le nom de l'objet de dictionnaire configuré dans la configuration du 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 dispose d'une logique intégrée pour déterminer l'indicateur d'opération (insertion, mise à jour et suppression) en fonction du framework CDC. Pour en savoir plus, consultez la section Champs supplémentaires pour les modifications d'enregistrement 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 dans l'entrée:

    • Si la valeur est définie sur C, operation_flag est défini sur I.
    • Si la valeur est définie sur U, operation_flag est défini sur U.
    • Si la valeur est définie sur 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 définie sur I, operation_flag est défini sur I.
    • Si la valeur est définie sur U, operation_flag est défini sur U.
    • Si la valeur est définie sur 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 transmis en tant qu'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. Vous pouvez l'utiliser pour les objets de dictionnaire SAP tels que les entités CDS, qui ne comportent pas le champ client dans leur définition, mais que vous souhaitez ajouter à BigQuery.

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

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

  • WA_HEADER: structure plate, qui contient des informations d'en-tête sur la réplication. Il permet de déterminer 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 du dictionnaire SAP en fonction des paramètres de la table et du champ gérés dans la configuration du transfert de données BigQuery.
  • Map data populated in ITAB_DATA from SAP format to BigQuery format based on field level settings maintained in the BigQuery Data Transfer configuration. Si les paramètres au niveau du champ ne sont pas conservés, les règles de mappage de données par défaut sont utilisées.
  • Appelez la méthode InsertAllTabledata de l'API BigQuery pour charger des 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 à l'une des étapes, 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, à 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.

Pour résoudre les problèmes liés au BigQuery Toolkit pour SAP, consultez Résoudre les problèmes liés au 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 :