Aller au contenu

Extractions ad hoc depuis SAP ECC / S/4HANA

Extrayez vous-même des données de SAP ECC ou S/4HANA, en partant de ce que vous connaissez déjà : un nom de table, un code de transaction ou une requête SAP Query enregistrée. Vous choisissez l’objet à partir d’une recherche, consultez ses champs ou son écran de sélection, affichez un aperçu de lignes réelles, vérifiez le plan, puis enregistrez une étape de workflow qui place le résultat dans une table.

Étape d’extraction SAPrecherche · aperçu · planAgent PlaidLinkdans votre réseauSAP ECC / S/4HANAPackage SAP PlaidCloudSAP contrôle l’utilisateur RFClignesTable cible
Chaque extraction passe par votre agent PlaidLink et le package SAP PlaidCloud, sous l’identité de l’utilisateur RFC de la connexion, avec les contrôles d’autorisation propres à SAP.
  • Un agent PlaidLink ayant accès au réseau du système SAP. Consultez Installer PlaidLink.
  • Une connexion Instance SAP ECC / S/4HANA. Consultez Connecteur SAP ECC et S/4HANA. L’utilisateur SAP de cette connexion est l’utilisateur RFC sous lequel s’exécute chaque extraction.
  • Le package SAP PlaidCloud installé dans SAP. Votre équipe SAP Basis l’installe une seule fois par système SAP.
  • Les autorisations SAP de l’utilisateur RFC sur les objets que vous extrayez. Consultez Autorisations SAP.

Les trois étapes figurent dans le menu des étapes de workflow, sous SAP.

Étape À utiliser pour
SAP : extraction ad hoc Lire une table SAP, en totalité ou de manière incrémentale.
SAP : exécuter une transaction / un rapport Exécuter un code de transaction ou un programme de rapport ABAP et enregistrer son résultat.
SAP : exécuter une requête (SQ01) Exécuter une requête SAP Query enregistrée et enregistrer son résultat.

Chaque étape commence par les trois mêmes champs : Agent, Connexion SAP et une Table cible pour le résultat.

Une fois un agent et une connexion sélectionnés, la recherche de l’étape liste les objets SAP correspondants : Tables, Transactions ou Requêtes, selon l’étape. Saisissez un nom, un code de transaction ou des mots de la description. Les caractères génériques SAP * fonctionnent. Un objet que SAP ne fournit pas apparaît tout de même, grisé, avec la raison.

Choisir une table affiche ses champs avec leurs descriptions et renseigne ses champs clés. Choisir une transaction, un rapport ou une requête affiche son écran de sélection dans l’onglet Filtres, construit à partir des champs que SAP a lui-même définis pour cet objet, sans qu’il soit nécessaire de connaître les éléments internes de la table ou du programme.

Utilisez SAP : extraction ad hoc.

  1. Dans l’onglet Extraction SAP, recherchez la table et sélectionnez-la.

  2. Saisissez la Fonction de lecture RFC : la fonction de lecture de table du package SAP PlaidCloud, telle que votre équipe Basis l’a installée.

  3. Vérifiez les Colonnes clés. PlaidCloud les renseigne à partir du dictionnaire de données SAP avec la clé primaire de la table, champ client exclu. Cochez la case qui confirme qu’il s’agit exactement de la clé primaire. SAP refuse tout autre ensemble de colonnes.

  4. Dans l’onglet Filtre de délimitation, ajoutez des filtres. Cliquez sur une colonne connue pour ajouter une ligne, choisissez Inclure ou Exclure, sélectionnez un Opérateur (égal, différent, supérieur, supérieur ou égal, inférieur, inférieur ou égal, entre, pas entre, contient le motif ou ne contient pas le motif), puis utilisez l’aide à la saisie pour choisir des valeurs valides directement dans SAP. Ajoutez plusieurs lignes pour la même colonne afin de correspondre à n’importe quelle valeur d’un ensemble, et ajoutez une plage pour Entre ou Pas entre. Une grande table SAP nécessite au moins un filtre, tel qu’une plage de dates ou un code société.

  5. Pour ne lire que les lignes nouvelles et modifiées à chaque exécution, configurez l’onglet Incrémentale. Consultez Extractions de tables incrémentales.

  6. Dans l’onglet Visibilité et définition, définissez la Colonne gouvernée. Consultez Colonne gouvernée.

Une colonne de montant CURR dont la clé de devise se trouve dans la même table est enregistrée à sa valeur réelle. PlaidCloud décale chaque montant selon les décimales de sa devise, de sorte qu’un montant en yen japonais est enregistré en yens entiers. Une colonne de montant sans sa clé de devise est enregistrée telle que SAP la stocke, et l’exécution signale un avertissement qui nomme la colonne.

Client SAP (mandt) et Taille de tranche sont facultatifs. Laissez le client vide pour utiliser le client par défaut de la connexion.

Utilisez SAP : exécuter une transaction / un rapport.

  1. Dans l’onglet Exécution SAP, recherchez une transaction et sélectionnez-la, ou saisissez le nom d’un programme de rapport dans Report/Program et cliquez sur Rechercher l’écran de sélection. Choisissez l’une ou l’autre option.

  2. Dans l’onglet Filtres, renseignez l’écran de sélection. Le formulaire le construit à partir de l’écran de sélection SAP propre à la transaction ou au rapport. Un champ vide s’exécute sans filtre pour ce champ.

    Pour partir plutôt d’une variante SAP enregistrée, choisissez-la dans Partir d’une variante SAP. PlaidCloud renseigne le formulaire de filtres à partir des valeurs enregistrées de la variante, et liste à côté du formulaire celles de ses valeurs qu’il n’a pas pu reprendre : SAP utilise alors la valeur par défaut propre au rapport. Choisir une autre variante remplace les valeurs du formulaire ; modifier ensuite un champ ne change pas la variante affichée comme sélectionnée.

  3. Définissez Nombre max. de lignes : 10 000 par défaut, jusqu’à 50 000. SAP exécute dans tous les cas la transaction ou le rapport en entier, et le plafond limite les lignes que PlaidCloud relit.

  4. Pour un rapport de longue durée, cochez Run as a background job et, si vous le souhaitez, indiquez un Nom de la tâche (asynchrone uniquement).

  5. Dans l’onglet Visibilité et définition, définissez la Colonne gouvernée.

Un rapport qui nécessite une saisie interactive, une fenêtre contextuelle ou un écran ne peut pas s’exécuter sans surveillance. SAP le refuse, rien n’est enregistré et l’étape signale la raison fournie par SAP. Exécutez plutôt ce rapport dans SAP GUI.

Utilisez SAP : exécuter une requête (SQ01).

  1. Dans l’onglet Exécution SAP, recherchez la requête et sélectionnez-la. Choisir une requête renseigne Espace de travail, Groupe d’utilisateurs et Nom de la requête. Vous pouvez aussi choisir l’Espace de travail et saisir directement le Groupe d’utilisateurs et le Nom de la requête.

  2. Dans l’onglet Filtres, renseignez l’écran de sélection propre à la requête : les mêmes paramètres et select-options que son auteur a définis dans SQ01. Un champ vide s’exécute sans filtre pour ce champ.

  3. Définissez Nombre max. de lignes : 10 000 par défaut, jusqu’à 50 000.

  4. Dans l’onglet Visibilité et définition, définissez la Colonne gouvernée.

Modifier l’Espace de travail, le Groupe d’utilisateurs ou le Nom de la requête efface un formulaire de filtres construit pour une autre requête : recherchez de nouveau l’écran de sélection après le changement.

Chaque étape d’extraction SAP exige une Colonne gouvernée : l’une des colonnes que l’étape enregistre, par exemple BUKRS pour le code société. L’étape ne s’enregistre pas sans elle, et une exécution n’enregistre aucune ligne si cette colonne ne figure pas parmi les colonnes enregistrées.

Le groupe Contrôle préalable de chaque étape comporte trois boutons. Aucun n’empêche d’enregistrer l’étape.

Bouton Ce qu’il affiche
Aperçu Des lignes d’exemple. L’aperçu d’une table lit directement les premières lignes. Pour une transaction, un rapport ou une requête, l’aperçu l’exécute dans SAP comme un échantillon distinct plafonné à 100 lignes ; le formulaire vous demande donc de confirmer d’abord. Rien n’est enregistré.
Plan Le déroulement de l’extraction (ses colonnes clés, l’estimation du nombre de lignes et la sélection envoyée à SAP) ainsi que tout ce qui l’empêcherait de s’exécuter. Un refus du plan désactive Créer et exécuter et Enregistrer et exécuter tant que vous ne modifiez pas la configuration ou qu’un nouveau plan ne revient pas sans problème. Vous pouvez toujours enregistrer l’étape.
Autorisations SAP requises Les autorisations SAP dont l’objet a besoin, à communiquer à votre équipe Basis. Cette liste est fournie à titre informatif.

Les contrôles d’autorisation standard de SAP s’appliquent à l’utilisateur RFC, exactement comme dans SAP.

Extraction Autorisation
Table S_TABU_NAM ou S_TABU_DIS en affichage, activité 03
Transaction S_TCODE
Rapport S_PROGRAM SUBMIT pour le groupe d’autorisation du rapport

Une autorisation manquante fait échouer l’exécution avec l’erreur « non autorisé » de SAP et une solution qui liste les droits à accorder au préalable. PlaidCloud n’ajoute aucun contrôle d’autorisation propre et ne bloque jamais une étape en fonction de la liste Autorisations SAP requises.

Dans l’onglet Incrémentale de SAP : extraction ad hoc, cochez Run incrementally et saisissez une Colonne de filigrane. Elle doit être l’une des suivantes :

  • Une colonne de date, de type SAP DATS
  • Une colonne d’horodatage UTC, de type SAP TZNTSTMPS ou TZNTSTMPL

Les colonnes d’horodatage de type SAP UTCL ne sont pas prises en charge, et la colonne de filigrane ne peut pas être aussi une colonne du filtre de délimitation.

La première exécution lit toute la table. Chaque exécution suivante ne lit que les lignes situées à la date du dernier filigrane ou après, moins la Période de recul, et les fusionne sur les colonnes clés. Le filigrane n’avance qu’une fois toute l’exécution enregistrée. La date ouverte de SAP 99991231 ne devient jamais le filigrane. Une date postérieure de plus d’un jour à la date d’exécution maintient le filigrane à la date d’exécution, et un horodatage ne le fait jamais dépasser le début de l’exécution.

SAP : extraction ad hoc enregistre chaque colonne avec son type réel issu du dictionnaire de données SAP.

Type SAP Enregistré comme
Date (DATS) Date. Les dates vides, initiales et non valides sont enregistrées vides (NULL). Une date non valide termine l’étape avec un avertissement.
Montant, quantité, décimal (CURR / QUAN / DEC) Décimal exact. Lorsque la colonne de clé de devise du montant se trouve dans la même table et dans l’extraction, PlaidCloud décale le montant selon les vraies décimales de sa devise. Sinon, il est enregistré tel que SAP le stocke. Un décimal de plus de 10 décimales, de plus de 28 chiffres entiers ou sans décimales déclarées est enregistré en texte, et l’étape se termine avec un avertissement qui nomme la colonne.
Entier Entier.
Virgule flottante (FLTP) Double.
Flottant décimal (DF16_* / DF34_*) Texte exact.
Horodatage UTC court (TZNTSTMPS) Horodatage, à la seconde.
Horodatage UTC long (TZNTSTMPL, UTCL) Texte ISO UTC, par exemple 2026-01-03T10:15:00.123456Z, qui conserve la fraction qu’une colonne d’horodatage perdrait.
Heure (TIMS), code (NUMC), texte (CHAR) Texte exactement tel que SAP le stocke, zéros de tête conservés.

Si le type SAP d’une colonne change, l’extraction remplace toute la table avec le nouveau type de la colonne, et l’étape se termine avec un avertissement qui nomme la colonne. Une extraction incrémentale le fait dans la même exécution. Si cette lecture ne se termine pas, les exécutions suivantes continuent de lire toute la table, avec le même avertissement, jusqu’à ce que l’une réussisse ; les exécutions incrémentales reprennent alors.

SAP : exécuter une transaction / un rapport enregistre les colonnes de montant sous forme de nombres. Toutes les autres colonnes sont enregistrées en texte. SAP : exécuter une requête (SQ01) enregistre les colonnes de montant, d’entier et de date avec ces types. Toutes les autres colonnes sont enregistrées en texte. Convertissez les types dans une étape en aval lorsque vous en avez besoin.

Une seule exécution de SAP : extraction ad hoc se met en pause dès qu’elle a lu 5 000 000 de lignes ou tourné pendant 240 minutes, après avoir terminé la tranche en cours. L’étape se termine par un avertissement et non par un échec, et l’exécution suivante reprend là où la précédente s’est arrêtée, sans perte de lignes.