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 sontODQ
etSLT
.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 queODQ
, BigQuery Toolkit pour SAP obtient la valeur de la colonneODQ_CHANGEMODE
dans la charge utile transmise en entrée :- Si la valeur est égale à
C
,operation_flag
est défini surI
. - Si la valeur est égale à
U
,operation_flag
est défini surU
. - Si la valeur est égale à
D
,operation_flag
est défini surD
. - Pour toutes les autres valeurs,
operation_flag
est défini surL
.
Lorsque
CDC_FRAMEWORK
est transmis en tant queSLT
, BigQuery Toolkit pour SAP obtient la valeur de la colonne "OPERATION" à partir deWA_HEADER
:- Si la valeur est égale à
I
,operation_flag
est défini surI
. - Si la valeur est égale à
U
,operation_flag
est défini surU
. - Si la valeur est égale à
D
,operation_flag
est défini surD
. - Pour toutes les autres valeurs,
operation_flag
est défini surL
.
Si
CDC_FRAMEWORK
n'est pas transmis ou est transmis avec une autre valeur,operation_flag
est défini surL
.- Si la valeur est égale à
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 lorsqueIV_FLDNM_MANDT
est également renseigné.ITAB_DATA
: table interne de typeDATA_SOURCE
. Vous insérez dansITAB_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 leoperation_flag
lorsqueCDC_FRAMEWORK
estSLT
.
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 :
Consultez le guide de dépannage du SDK ABAP pour Google Cloud.
Posez vos questions concernant le SDK ABAP pour Google Cloud et discutez de celui-ci avec la communauté sur les forums Cloud.
Recueillez toutes les informations de diagnostic disponibles et contactez Cloud Customer Care. Pour savoir comment contacter le service client, consultez Obtenir de l'aide pour SAP sur Google Cloud.