Source par lot SAP ODP

Cette page fournit des conseils sur la configuration du plug-in SAP ODP dans Cloud Data Fusion.

Le plug-in SAP ODP permet d'intégrer des données de façon groupée à partir d'applications SAP avec BigQuery ou d'autres systèmes cibles compatibles à l'aide de Cloud Data Fusion. Le plug-in présente les fonctionnalités clés suivantes:

  • Utilise SAP ECC, SAP S4/HANA ou SAP BW comme système source
  • Utilise SAP CDC (Change Data Capture) pour suivre et extraire les nouvelles données et les données delta dans les sources de données.
  • Utilise le mode d'extraction par lot
  • Compatible avec les sources de données SAP et les vues CDS ABAP en tant que sources de données

Versions logicielles compatibles

Logiciels Versions
SAP S4/HANA SAP S4/HANA 1909 et versions ultérieures
SAP ECC SAP ERP6 NW 7.31 SP16 et versions ultérieures
SAP JCo SAP JCo version 3.0.20 ou ultérieure
Cloud Data Fusion 6.3 et versions ultérieures

Pour en savoir plus sur SAP sur Google Cloud, consultez la page Présentation de SAP sur Google Cloud.

Avant de commencer

Configurez les systèmes et services suivants, qui sont utilisés par le plug-in SAP ODP:

  1. Configurez le système SAP ERP. Ce processus comprend les étapes suivantes :
    • Installez les fichiers de transport SAP.
    • Configurez les autorisations et les rôles SAP requis.
    • Configurez SAP Java Connector.
  2. Déployez le plug-in ODP dans Cloud Data Fusion.

    • Important: Choisissez une version de plug-in compatible avec la version de Cloud Data Fusion.
    • Si vous mettez à niveau la version de votre instance ou de votre plug-in Cloud Data Fusion, évaluez l'impact des modifications sur le champ d'application fonctionnel et les performances du pipeline.
  3. Établissez une connectivité RFC entre Cloud Data Fusion et SAP.

    • Assurez-vous que la communication est activée entre l'instance Cloud Data Fusion et le serveur SAP.
    • Pour les instances privées, configurez l'appairage de réseaux VPC.
    • Le système SAP et l'instance Cloud Data Fusion doivent se trouver dans le même projet.

Configurer le plug-in

  1. Accédez à l'interface Web de Cloud Data Fusion, puis cliquez sur Studio.
  2. Vérifiez que l'option Pipeline de données – Lot est sélectionnée (et non Temps réel).
  3. Dans le menu Source, cliquez sur SapODP. Le nœud SAP ODP apparaît dans votre pipeline.
  4. Pour configurer la source, accédez au nœud SAP ODP et cliquez sur Properties (Propriétés).
  5. Saisissez les propriétés suivantes. Pour obtenir la liste complète, consultez la section Propriétés.

    1. Saisissez un libellé pour le nœud SAP ODP (par exemple, SAP ODP tables).
    2. Saisissez les détails de la connexion. Vous pouvez configurer une nouvelle connexion ponctuelle ou une connexion existante réutilisable.

      Nouvelle connexion

      Pour ajouter une connexion unique à SAP, procédez comme suit:

      1. Laissez l'option Utiliser une connexion désactivée.
      2. Dans la section Connection (Connexion), saisissez les informations suivantes provenant du compte SAP dans les champs suivants:

        1. Dans le champ Reference name (Nom de la référence), saisissez un nom de connexion qui identifie cette source pour la traçabilité.
        2. Dans le champ Client SAP, saisissez le nom de client d'une instance ou d'un environnement spécifique dans SAP. Un administrateur SAP peut fournir le nom du client.
        3. Dans le champ SAP language (Langage SAP), saisissez une langue pour l'ouverture de session SAP. La valeur par défaut est EN (anglais).
        4. Sélectionnez l'un des types de connexion suivants.

          • Direct (via SAP Application Server) : Si vous choisissez ce type par défaut, saisissez des informations dans les champs suivants: SAP application server host (Hôte du serveur d'applications SAP), Numéro de système SAP et SAP router.
          • Équilibrage de charge (via le serveur de messages SAP) : Si vous choisissez ce type, saisissez des informations dans les champs suivants : SAP Message Server host (Hôte SAP Message Server), Service ou numéro de port SAP Message Server, ID système SAP (SID) et Nom du groupe d'ouverture de session SAP.
        5. Dans le champ Contexte, sélectionnez le type de source de données que vous utilisez.

        6. Dans le champ Nom de la source SAP ODP, saisissez le nom de la source de données que vous utilisez.

        7. Dans le champ Type d'extraction, sélectionnez le type d'extraction de données. La valeur par défaut est Complet (toutes les données).

        8. Fournissez les identifiants SAP: demandez à l'administrateur SAP le nom d'utilisateur d'ouverture de session SAP et le mot de passe.

        9. Dans le champ Chemin d'accès Cloud Storage à la bibliothèque JCo, saisissez le chemin d'accès au connecteur SAP Java (SAP JCo) dans Cloud Storage qui contient les fichiers de bibliothèque SAP JCo que vous avez importés.

        10. Pour générer un schéma basé sur les métadonnées de SAP qui mappe les types de données SAP aux types de données Cloud Data Fusion correspondants, cliquez sur Obtenir un schéma. Pour en savoir plus, consultez la section Mappages des types de données.

        11. Facultatif: Pour optimiser la charge d'ingestion à partir de SAP, saisissez des informations dans les champs suivants:

          1. Dans le champ Nom d'abonné SAP ODP, identifiez l'abonné pour l'extraction des données d'une source de données valide.
          2. L'utilisation des options de filtrage vous permet d'extraire des enregistrements en fonction de conditions de sélection.
          3. Dans le champ Nombre de fractionnements, vous pouvez créer des partitions pour extraire des enregistrements de données en parallèle, ce qui améliore les performances. Le nombre de divisions peut affecter les processus de travail SAP et doit être sélectionné avec soin.
          4. Dans le champ Package size (Taille du package), spécifiez le nombre d'enregistrements à extraire dans un appel réseau SAP unique. La taille du package a une incidence sur les performances et les ressources disponibles, et doit être sélectionnée avec soin.

      Connexion réutilisable

      Pour réutiliser une connexion existante, procédez comme suit:

      1. Activez l'option Utiliser une connexion.
      2. Cliquez sur Parcourir les connexions.
      3. Cliquez sur le nom de la connexion.

      Si aucune connexion n'existe, procédez comme suit pour créer une connexion réutilisable:

      1. Cliquez sur Ajouter une connexion > SapOdp.
      2. Sur la page Créer une connexion SapOdp qui s'affiche, saisissez un nom et une description de connexion.
      3. Dans le champ Client SAP, saisissez le nom de client d'une instance ou d'un environnement SAP spécifique. Un administrateur SAP peut fournir le nom du client.
      4. Dans le champ SAP language (Langage SAP), saisissez une langue pour l'ouverture de session SAP. La valeur par défaut est EN (anglais).
      5. Sélectionnez l'un des types de connexion suivants.

        • Direct (via SAP Application Server) : Si vous choisissez ce type par défaut, saisissez des informations dans les champs suivants: SAP application server host (Hôte du serveur d'applications SAP), Numéro de système SAP et SAP router.
        • Équilibrage de charge (via le serveur de messages SAP) : Si vous choisissez ce type, saisissez des informations dans les champs suivants : SAP Message Server host (Hôte SAP Message Server), Service ou numéro de port SAP Message Server, ID système SAP (SID) et Nom du groupe d'ouverture de session SAP.
      6. Dans le champ "Nom de la source SAP ODP", saisissez le nom de la source de données ODP de SAP.

      7. Fournissez les identifiants SAP: demandez à l'administrateur SAP les valeurs SAP logon username (Nom d'utilisateur d'ouverture de session SAP) et Password (Mot de passe).

      8. Dans le champ Chemin d'accès Cloud Storage à la bibliothèque JCo, saisissez le chemin d'accès au connecteur SAP Java (SAP JCo) dans Cloud Storage contenant les fichiers de la bibliothèque SAP JCo que vous avez importés.

      9. Dans le champ Temps d'attente, saisissez un délai d'attente (en secondes) avant la prochaine nouvelle tentative (par exemple, 60).

      10. Dans le champ Nombre de nouvelles tentatives, saisissez le nombre maximal de nouvelles tentatives (par exemple, 3).

      11. Facultatif: dans le champ Autres propriétés de connexion SAP, saisissez des paires clé/valeur qui doivent remplacer les valeurs par défaut de SAP JCo.

      12. Cliquez sur Créer.

Propriétés

Propriété Macro activée Propriété obligatoire Description
Libellé Non Oui Nom du nœud dans votre pipeline de données.
Utiliser la connexion Non Non Utilisez une connexion réutilisable. Si une connexion est utilisée, vous n'avez pas besoin de fournir les identifiants. Pour en savoir plus, consultez Gérer les connexions.
Nom Non Oui Nom de la connexion réutilisable.
Client SAP Oui Oui Instance ou environnement spécifique d'un système SAP.
Langage SAP Oui Oui Langue d'affichage et de traitement des données et de l'interface utilisateur SAP.
Type de connexion Non Oui Type de connexion SAP: Direct ou Équilibrage de charge.
Hôte du serveur d'applications SAP Oui Non Pour le type de connexion Direct uniquement, ce nom d'hôte provient de SAP Application Server, qui sert de couche middleware entre les clients SAP (tels que l'interface Web SAP, les navigateurs Web ou les applications mobiles) et la base de données sous-jacente.
Numéro de système SAP Oui Non Pour le type de connexion Direct uniquement, ce numéro correspond à l'identifiant unique attribué à chaque système SAP. Exemple : 00.
Routeur SAP Oui Non Pour le type de connexion Direct uniquement, il s'agit de la chaîne de routeur du serveur proxy, qui fournit un canal sécurisé pour la communication entre les systèmes SAP et les clients ou partenaires externes.
Hôte de serveur de messages SAP Oui Non Pour le type de connexion Équilibrage de charge uniquement, il s'agit du nom de l'hôte, ce qui facilite l'équilibrage de charge sur plusieurs serveurs d'applications dans SAP.
Service ou numéro de port du serveur de messages SAP Oui Non Pour le type de connexion Équilibrage de charge uniquement, il s'agit du port réseau sur lequel le serveur de messages SAP écoute les connexions entrantes des clients SAP et des serveurs d'applications au sein de SAP.
ID système SAP (SID) Oui Non Pour le type de connexion Équilibrage de charge uniquement, cet ID est attribué à chaque système SAP.
Nom du groupe d'ouverture de session SAP Oui Non Nom du regroupement logique ou de la configuration de plusieurs serveurs d'applications SAP. La valeur par défaut est PUBLIC.
Type d'objet Non disponible Non disponible Types d'objets compatibles: DataSources/Extractors ou ABAP Core Data Services.
Nom de la source SAP ODP Oui Oui Nom de la vue SAP DataSources ou CDS (par exemple, 2LIS_02_ITM).
Type d'extraction Oui Oui Le plug-in accepte les deux types d'extraction de données suivants :
  • Complet (toutes les données): extrait toutes les données disponibles.
  • Sync (sélection automatique selon l'exécution précédente): détermine si le mode d'exécution complet, delta (incrémentiel) ou de récupération (récupération des données de la dernière exécution) doit être exécuté, en fonction du type d'exécution précédent et de l'état disponible dans SAP. Il extrait les données complètes lors de l'exécution initiale du pipeline (mode ODP F) et modifie les données lors des exécutions suivantes (modes ODP D et R).
Nom d'utilisateur d'ouverture de session SAP Oui Oui Nom d'utilisateur pour SAP
Recommandation: Si le nom d'utilisateur change régulièrement, utilisez une macro.
Mot de passe d'ouverture de session SAP Oui Oui Mot de passe SAP.
Recommandation: utilisez des macros sécurisées.
ID du projet GCP Oui Oui ID de projet Google Cloud
Chemin d'accès GCS de la bibliothèque SAP JCo Oui Oui Chemin d'accès au Cloud Storage dans lequel vous avez importé les fichiers de la bibliothèque SAP JCo.
Obtenir un schéma Non disponible Non disponible Le plug-in génère un schéma basé sur les métadonnées de SAP, qui mappe les types de données SAP aux types de données Cloud Data Fusion correspondants. Consultez Mappage des types de données.
Nom d'abonné SAP ODP Oui Oui Abonné ODP pour l'extraction des données d'une source de données SAP ou d'une vue CDS valide. Il doit comporter les éléments suivants :
  • 32 caractères maximum, sans espaces
  • Contenir uniquement a à z, A à Z, 0 à 9, _ ou /
  • Unique pour différents pipelines extrayant des données de la même source de données SAP
Si le champ est vide, Cloud Data Fusion génère un ID en combinant l'ID du projet, l'espace de noms et le nom du pipeline. Vous pouvez réutiliser un abonnement précédent, tel que celui créé par un outil tiers.
Temps d'attente Oui Non Cette propriété permet aux ingénieurs de données de sélectionner un temps d'attente approprié après chaque appel réseau de Cloud Data Fusion vers SAP.
Nombre de nouvelles tentatives Oui Non Nombre de nouvelles tentatives en attendant la fin de l'appel réseau.
Options de filtrage (égales à) Oui Non Valeur qu'un champ doit être lu.
Les options de filtrage sont des listes de noms de champs de métadonnées et de leurs paires de valeurs. Ils définissent la condition de filtre à appliquer lors de la lecture des données à partir d'une source de données SAP. Seuls les enregistrements remplissant les conditions sont extraits.
La clé de filtre correspond à un champ du schéma. Il doit être de type simple (autre que ARRAY, RECORD ou UNION). Exemple d'utilisation:
Nom du champ: MTART
Valeur: FERT
Options de filtrage (plage) Oui Non Les limites inférieure et supérieure de la valeur qu'un champ doit être lu.
Les options de filtrage sont des listes de noms de champs de métadonnées et de leurs paires de valeurs. Ils définissent la condition de filtre à appliquer lors de la lecture des données à partir d'une source de données SAP. Seuls les enregistrements remplissant les conditions sont extraits.
La clé de filtre correspond à un champ du schéma. Il utilise le format low AND élevé. Exemple d'utilisation:
Nom du champ: ERDAT
Valeur faible: 2023-11-01
Valeur élevée: 2023-11-30
Options de filtrage (moins égal) Oui Non Valeur à laquelle un champ doit être inférieur ou égal à.
Les options de filtrage sont des listes de noms de champs de métadonnées et de leurs paires de valeurs. Ils définissent la condition de filtre à appliquer lors de la lecture des données à partir d'une source de données SAP. Seuls les enregistrements remplissant les conditions sont extraits.
La clé de filtre correspond à un champ du schéma. Il doit être de type simple (autre que ARRAY, RECORD ou UNION). Exemple d'utilisation:
Nom du champ: MATNR
Valeur: 10008
Options de filtrage (supérieure à égalité) Oui Non La valeur d'un champ qui doit être supérieure à celle pour être lu.
Les options de filtrage sont des listes de noms de champs de métadonnées et de leurs paires de valeurs. Ils définissent la condition de filtre à appliquer lors de la lecture des données à partir d'une source de données SAP. Seuls les enregistrements remplissant les conditions sont extraits.
La clé de filtre correspond à un champ du schéma. Il doit être de type simple (autre que ARRAY, RECORD ou UNION). Exemple d'utilisation:
Nom du champ: MATNR
Valeur: 10008
Options de filtrage (différentes) Oui Non Définit la valeur selon laquelle un champ ne doit pas être égal à être lu.
Les options de filtrage sont des listes de noms de champs de métadonnées et de leurs paires de valeurs. Ils définissent la condition de filtre à appliquer lors de la lecture des données à partir d'une source de données SAP. Seuls les enregistrements remplissant les conditions sont extraits.
La clé de filtre correspond à un champ du schéma. Il doit être de type simple (autre que ARRAY, RECORD ou UNION). Exemple d'utilisation:
Nom du champ: MTART
Valeur: FERT
Nombre de divisions à générer Oui Non Crée des partitions pour extraire des enregistrements en parallèle.
Le moteur d'exécution crée le nombre spécifié de partitions (et de connexions SAP) lors de l'extraction des enregistrements.
Soyez prudent lorsque vous augmentez cette valeur, car elle augmente le nombre de connexions simultanées avec SAP.
Recommandé: planifiez les connexions SAP pour chaque pipeline et le nombre total de pipelines exécutés simultanément.
Si la valeur est 0 ou n'est pas renseignée, Cloud Data Fusion choisit une valeur appropriée en fonction du nombre d'exécuteurs disponibles, des enregistrements à extraire et de la taille du package.
Taille du package (en Ko) Oui Non Nombre d'enregistrements à extraire dans un seul appel réseau SAP. Il s'agit du nombre d'enregistrements que SAP met en mémoire tampon lors de chaque appel d'extraction réseau.
Soyez prudent lorsque vous définissez cette propriété. L'extraction de données par plusieurs pipelines peut entraîner un pic d'utilisation de la mémoire, ce qui entraîne des échecs dus aux erreurs Out of memory.
  • Saisissez un nombre entier positif.
  • Si la valeur est 0 ou n'est pas renseignée, le plug-in utilise une valeur standard de 70 000 ou une valeur calculée de manière appropriée.
  • Si le pipeline de données échoue en raison d'erreurs Out of memory, réduisez la taille du package ou augmentez la mémoire disponible pour vos processus de travail SAP.
Propriétés de connexion SAP supplémentaires Oui Non Définissez des propriétés SAP JCo supplémentaires pour remplacer les valeurs par défaut de SAP JCo. Par exemple, la définition de jco.destination.pool_capacity = 10 remplace la capacité par défaut du pool de connexions.

Mappages des types de données

Le tableau suivant est une liste des types de données SAP avec les types Cloud Data Fusion correspondants.

Type de données SAP Type ABAP SAP description Type de données Cloud Data Fusion
INT1 (numérique) b Entier à 1 octet int
INT2 (numérique) s Entier à 2 octets int
INT4 (numérique) i Entier à 4 octets int
INT8 (numérique) 8 Entier à 8 octets long
DEC (numérique) p Nombre compressé au format BCD (DEC) decimal
DF16_DEC, DF16_RAW (numérique) a Valeur à virgule flottante décimale, 8 octets, IEEE 754r double
DF34_DEC, DF34_RAW (numérique) e Valeur à virgule flottante décimale 16 octets IEEE 754r double
FLTP (numérique) f Nombre à virgule flottante binaire double
CHAR, LCHR (caractère) c Chaîne de caractères chaîne
SSTRING, GEOM_EWKB (caractère) chaîne Chaîne de caractères chaîne
STRING (caractère) chaîne Chaîne de caractères CLOB bytes
NUMC, ACCP (caractère) n Texte numérique chaîne
RAW, LRAW (octet) x Données binaires bytes
RAWSTRING (octet) Chaîne X BLOB de chaîne d'octets bytes
DATS (Date/Heure) d Date date
TIMS (Date/Heure) t Temps time
TIMS (Date/Heure) UTC Utclong), TimeStamp timestamp

Limites

Pour vous assurer que les pipelines sont correctement définis et exécutés, examinez les limites suivantes du plug-in:

  • Les tailles de package supérieures à 50 Ko ne sont pas acceptées.
  • Les sources de données non compatibles avec l'extraction delta échouent en mode de synchronisation.
  • Dans une source de données personnalisée, si la taille du package n'est pas gérée, le pipeline échoue lors d'extractions de données volumineuses.

Cas d'utilisation

Deux contextes d'extraction sont acceptés:

  • Sources de données ou extracteurs (SAPI)
  • Contexte ODP ABAP CDS (ABAP_CDS)

Le plug-in ODP est compatible avec les sources de données standards et personnalisées suivantes pour les deux contextes:

Source de données ODP Contexte Extraction complète Extraction delta
SAP Standard pré-livré SAPI Compatible Compatible
Personnalisé (Z*) SAPI Compatible Compatible
SAP Standard pré-fourni ABAP_CDS Compatible Compatible
Personnalisé (Z*) ABAP_CDS Compatible Compatible

Étapes suivantes