|
Revenir à |
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.
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.
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.
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.
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.
H - Ligne d'en-tête
D - Plusieurs articles pour la boucle 1
D
D
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
Présentation de l'outil de mappage
Présentation correspondante du classeur Excel
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.
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.
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.
Pour mapper plusieurs boucles
La feuille Boucle parente maître est sélectionnée par défaut.
Veillez à enregistrer l'aperçu avant de fermer l'application afin de ne pas risquer de supprimer les feuilles d'aperçu.
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.
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 :
Un exemple de table d'en-tête et de table d'articles est présenté ci-dessous.
Les deux tables contiennent un champ appelé COMMON_FIELD (comme illustré ci-dessous). Le champ COMMON_FIELD peut contenir n'importe quelle valeur que vous choisissez, tant que les valeurs des enregistrements du champ commun de la table d'en-tête associés aux enregistrements de la table des articles (détails) correspondent. COMMON_FIELD est juste un entier qui doit correspondre dans les deux tables.
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 :
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.
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.
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).
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 |