Revenir à

Mappage avancé

Fonctions avancées de boucle

Gestion des transactions multilignes

De nombreuses transactions SAP nécessitent le traitement de plusieurs lignes de données en même temps. Parmi ces transactions, on trouve par exemple FB50, F-65, ME21, VA01, CS01, CA01, FB70 et d'autres. Pour beaucoup de ces transactions, SAP divise les données en une section en-tête et une ou plusieurs sections article (ou détail). La section en-tête contient généralement les données qui demeurent constantes pour toute la transaction comme par exemple la date. Chaque article contient généralement des données itératives, qui sont entrées dans une zone en forme de grille dans la transaction SAP comme par exemple les éléments d'une ligne d'entrée du journal.

Boucle Do...While

TRANSACTION traite les transactions multilignes complexes en utilisant la fonction de boucle Do...While La fonction de la boucle Do... While permet de mapper plusieurs lignes à une transaction en définissant les enregistrements dans la feuille de calcul Excel ou la base de données Access comme section d'en-tête ou section d'article.

Dans cet exemple, les données d'un enregistrement sont réparties entre plusieurs lignes. Pour une transaction multilignes, par défaut, la première colonne d'ID d'Excel est réservée pour la colonne Excel. La première colonne d'ID stocke le type de ligne, qui par défaut est 'H' (header (en-tête)) ou 'D' (Détail ou article). Lorsque vous exécutez la transaction, TRANSACTION charge toutes les données des lignes de type H vers la section en-tête de la transaction SAP, et toutes les données des lignes de type D vers les articles spécifiés dans l'outil de mappage.

REMARQUE : nous vous recommandons fortement de respecter les conditions suivantes lors de l'utilisation de TRANSACTION pour charger des données à l'aide de boucles multiples.

  1. Si vous utilisez la même ligne d'identificateur pour différentes boucles, veillez à utiliser différentes valeurs d'identificateur. Vous pouvez utiliser le même identificateur, même si les boucles font référence à des colonnes d'identificateur différentes.
  2. Que vous utilisiez les mêmes lignes d'identificateur ou différentes lignes d'identificateur pour différentes boucles, si les boucles sont imbriquées, l'ordre des données des boucles doit identique à celui des boucles dans l'outil de mappage. En outre, une ligne ne peut contenir que les données appartenant à un ensemble d'enregistrements d'articles unique. S'il existe plusieurs boucles dans un même niveau, aucune mise en retrait n'est nécessaire  dans le fichier Excel.

Lors de l'enregistrement de la transaction, il est recommandé d'entrer plus d'un article dans la transaction afin de présenter un motif répétitif visible dans l'outil de mappage. Notez que cet exemple montre plus d'un ensemble d'articles d'entrée du journal.

Mappage de boucles imbriquées

Lorsque vous mappez la colonne des détails de boucle imbriquée, les détails apparaissent automatiquement dans la deuxième et la troisième ligne de l'aperçu. Cette fonction s'applique aussi lorsque vous utilisez les fonctions mappage auto ou lecture depuis SAP.

Préparation du classeur pour les données en retrait

Lorsque vous envoyer des boucles imbriquées, les données dans le classeur Excel doivent être présentées selon un certain format. L'en-tête et ses articles appropriés peuvent se trouver dans la même colonne. Chaque boucle peut avoir un en-tête.

Données de boucle pour mappage basé sur colonne

H - Ligne d'en-tête 
D - Plusieurs articles pour la boucle 1 


D1- Plusieurs articles pour la boucle 2 
D1 
D1 

D2- Plusieurs articles pour la boucle 3

D2

D2

A

B

C

Boucles parallèles simples

Présentation de l'outil de mappage

Présentation correspondante du classeur Excel

Deux boucles parallèles avec une boucle imbriquée

Présentation de l'outil de mappage

Présentation correspondante du classeur Excel

Vérification aisée des boucles

Dans les scripts simples, vous pouvez identifier aisément l'emplacement des boucles. Dans l'onglet De base, sélectionnez une ligne, puis cliquez sur la barre Options avancées.

La colonne de boucle est cochée pour les lignes mappées dans la boucle, qui contiennent des données provenant d'enregistrements identifiés comme des articles (détails). Ce paramètre demande à TRANSACTION d'extraire les données de l'article (détail) contenues dans la boucle Do...While.

REMARQUE : la case Colonne de boucle doit être cochée pour au moins un des champs. Autrement, le script TRANSACTION génère une erreur de syntaxe.

Copier et couper des lignes avec des boucles et des conditions

Vous pouvez copier ou couper des lignes qui contiennent des boucles et des conditions. Vous devez sélectionner toutes les parties de la boucle ou de la condition pour la modifier. Vous ne pouvez pas coller une construction dans une colonne de journal.

Données de boucle dans plusieurs feuilles

Pour créer une représentation claire des données lorsqu'un script contient plusieurs boucles, celles-ci peuvent se trouver dans plusieurs feuilles de données. Plusieurs boucles sont disponibles pour les données Excel et Access.

Colonne parent : fournit la clé de jointure de toutes les feuilles

Feuille parente : Feuille Excel parente qui contient la clé de jointure

Feuille actuelle : feuille Excel qui contient les articles inclus dans la boucle

Colonne actuelle : colonne de la feuille de données qui contient la clé de jointure

Vous pouvez affecter la clé de jointure à toute colonne. Par conséquent, tenez compte des colonnes qui contiennent déjà des données.

Mappage non valide

Pour mapper plusieurs boucles

  1. Dans le volet Aperçu de l'écran de l'outil de mappage, ajoutez autant de nouvelles feuilles que nécessaire.
  2. Cliquez sur la première feuille. Dans l'outil de mappage, sélectionnez les articles de la première boucle. Cliquez sur Bouche.

    La feuille Boucle parente maître est sélectionnée par défaut.

  3. Définissez toutes les boucles parallèles avant de définir les boucles imbriquées.
  4. Mappez le reste des articles.
  5. Pour modifier la boucle parente maître, cliquez sur Supprimer tout pour supprimer toutes les boucles.
  6. Lorsqu'un TXR est publié, la feuille publiée doit contenir les mêmes noms de feuille que dans le script.
  7. Si la source de données est modifiée, l'aperçu redevient Sans titre. Ajoutez les feuilles manuellement ou ouvrez une feuille qui contient les noms appropriés.

    Veillez à enregistrer l'aperçu avant de fermer l'application afin de ne pas risquer de supprimer les feuilles d'aperçu.

Nouvelles feuilles et mappage de feuille simple

Boucles et passage du mappage de cellule au mappage de colonne

Les boucles sont un mappage de cellule qui peut être remplacé par un mappage de colonne. Lorsque le type de mappage change, les boucles reposent sur l'ID. Par exemple, B,H,D1 devient B,D1.

Si le mappage des boucles basées sur une plage est remplacé par un mappage de colonne, puis par un mappage de cellule, toutes les boucles reposent sur l'ID.

Utilisation de la fonction de boucle Do...While avec Access

TRANSACTION traite les transactions multilignes complexes en utilisant la fonction de boucle Do...While. Les principes de base de l'utilisation de la boucle Do...While avec Access comme source de données comprennent :

Lorsque la table des articles est identifiée et qu'une jointure est effectuée, la table des articles devient accessible dans l'outil de mappage pour effectuer des mappages. Ensuite, vous pouvez mapper les articles (détails) en les faisant glisser depuis le champ de la base de données Access et en les déplaçant jusqu'au champ SAP.

Lors de l'enregistrement de la transaction, il est recommandé d'entrer plus d'un article dans la transaction afin de présenter un motif répétitif visible dans l'outil de mappage. Notez que cet exemple montre plus d'un ensemble d'articles d'entrée du journal.

Procédure d'utilisation de la fonction de boucle Do...While pour gérer les transactions multilignes :

  1. Créez une boucle Do...While autour d'un seul ensemble de données.
  2. Désactivez les lignes de données répétées en cochant l'indicateur Désactiver la ou les lignes dans la colonne à l'extrême gauche de l'onglet Expert : aperçu de l'enregistrement.
  3. Lorsque vous insérez la boucle Do...While, l'outil de mappage affiche les champs contenus dans la boucle en utilisant deux  (icônes de boucle) connectées par une ligne.

Vous pouvez sélectionner une ligne dans la boucle Do...While et cliquer sur la barre horizontale des propriétés à l'extrémité gauche pour afficher le volet escamotable Propriétés. Dans ce volet, la case Colonne de boucle est cochée pour les lignes mappées dans la boucle, qui contiennent les données des enregistrements identifiés comme articles (détails). Ce paramètre demande à TRANSACTION d'extraire les données de l'article (détail) contenu dans le boucle Do...While.

REMARQUE : la case de la colonne de boucle doit être cochée pour au moins un des champs. Faute de quoi, le script TRANSACTION génère une erreur de syntaxe.

Utilisation de boucles multiples et imbriquées

Lorsque votre tâche demande plusieurs boucles Do...While pour exécuter un processus métier, l'outil de mappage offre deux options pour utiliser des boucles multiples et traiter de tels scénarios :

REMARQUE :  les boucles multiples et imbriquées Do...While ne sont pas prises en charge lorsque Access est utilisé comme source de données.

Boucles multiples Do...While :

Les boucles multiples sont utiles pour les transactions qui ont plus d'un ensemble d'éléments multilignes (grilles). Chacun de ces ensembles peut potentiellement soit avoir son propre ensemble d'en-têtes et d'articles, soit partager une partie d'en-tête commune, mais avoir des articles différents (tel qu'illustré ci-dessous).

Boucles imbriquées Do...While :

Les boucles imbriquées sont utiles pour les transactions qui ont besoin que des données soient chargées dans des articles multilignes qui contiennent eux-mêmes des articles intégrés pour chaque article du niveau le plus élevé ou de la grille extérieure. Dans ce cas, il existe une boucle Do...While externe qui contient un certain nombre de boucles Do...While imbriquées. Par exemple, si vous chargez des données dans la grille A,qui contient les grilles B et C, et que chacune d'entre elles a des données liées à chacune des lignes de A, vous devez utiliser une boucle Do...While imbriquée pour pouvoir réaliser le chargement. TRANSACTION prend en charge les boucles Do...While imbriquées à tous les niveaux.

Dans cet exemple, il y a deux boucles au niveau supérieur, à savoir +Do-While A, H, D et +Do-While A, H, D1. À part ces boucles, la première boucle contient une boucle imbriquée, +Do-While A, H, D2.

Le format de la feuille de calcul Excel utilisé pour le chargement des données est :

Aussi dans cette section

Modification dans l'outil de mappage

Filtrage dans l'outil de mappage

Limitation des champs d'entrée

Mappage des feuilles de calcul Google

Définition des conditions--Instructions IF

Validation des données

Valider selon la liste

Compensation des écrans et champs SAP manquants

Annuler et Tout annuler

Mappage de texte long

Conversion des types de données en chaînes

Attachement de documents

Mappage automatique

Téléchargement depuis SAP

Modification d'un script TRANSACTION