Boucle avancée
La manière dont vous enregistrezles postes dépend du code de transaction. Des informations sur le code de transaction dans lequel vous enregistrez se trouvent dans les guides détaillés ou sur le site du support de Winshuttle.
Transactions multilignes
Certaines transactions SAP nécessitent plusieurs lignes de données pour être traitées simultanément, par exemple, FB50, F-65, ME21, VA01, CS01, CA01 et FB70.
Pour la plupart des transactions, SAP sépare les données en deux parties :
- Une section d'en-tête : l'en-tête contient des données qui restent constantes pendant toute la transaction, telles qu'une date.
- Une ou plusieurs sections de poste ou de détail : chaque section de poste contient généralement des données réitératives entrées dans une zone de type grille de la transaction SAP, comme les éléments d'une ligne d'entrée du journal.
Conseil : il est conseillé d'enregistrer deux postes afin de voir le modèle répétable. Certains codes de transactions, tels que ME21N, nécessitent deux postes, car la fonction de filtrage n'est pas disponible tant que le premier poste n'est pas terminé.
Après avoir enregistré le script, y compris les postes, vous pouvez créer une boucle autour de ces derniers. Ensuite, vous pouvez configurer le fichier de données pour la boucle.
La valeur dans la colonne ID de boucleindique à Transaction si les données dans la ligne font partie de la section d'en-tête ou d'une ligne de détails.
Les instructions détaillées pour ajouter des boucles de base se trouvent dans Ajout d'une boucle dans Excel et Ajouter une boucle dans Access.
boucles indexées
Une boucle indexée s’avère pratique lorsqu’il n’existe pas d’option de position, de recherche ou de filtre dans une grille SAP.
Une boucle d’indexation réplique une action de défilement jusqu’à ce qu’elle trouve une ligne vide dans la grille afin que les entrées ne remplacent pas les données existantes. Cela est particulièrement pratique qu’il n’existe aucune action dans SAP pouvant être utilisée comme boucle normale.
Remarques :
Vous pouvez insérer des boucles indexés uniquement dans les scripts enregistrés en mode Scriptage GUI.
Vous ne pouvez pas utiliser une boucle indexée pour exécuter une recherche ou une action donnée. A la place, vous pouvez utiliser une condition de champ d’indexation dans une boucle normale.
Pour utiliser une boucle indexée, vous devez définir un champ d’indexation. Studio v11 base la boucle indexée sur la colonne dans la grille.
- Lorsque vous configurez la boucle dans la zone Boucle, cochez Boucle basée sur l’indexation.
- Choisissez un champ dans la zone Champ d’indexation.
Lors de l’exécution du script, Studio recherche une ligne où le champ ne contient pas de valeur dans SAP, puis charge les données dans la ligne.
Boucles multiples
Important : pour optimiser les résultats lorsque vous utilisez plusieurs boules dans Transaction pour envoyer des données, procédez comme suit :
lors de l'enregistrement de la transaction, entrez plusieurs postes dans la transaction pour créer un modèle visible de répétition dans le mappeur. Après avoir ajouté les boucles, désactivez les lignes du poste supplémentaire dans le mappeur.
Si vous utilisez la même colonne d'identificateur pour différentes boucles, utilisez des valeurs d'identificateur différentes pour chaque boucle, par exemple D1 pour la première boucle et D2, pour la deuxième. Vous pouvez utiliser le même identificateur si les boucles font référence à des colonnes d'identificateur différentes.
Si la transaction inclut des ensembles de postes distincts au même niveau, vous pouvez créer plusieurs boucles au même niveau dans la même feuille. Comme des lignes contiendront des informations pour les deux boucles, vous disposerez d'une colonne d'ID de boucle distincte pour chaque boucle avec une valeur d'identificateur de boucle différente pour chaque boucle.
Remarque : aucune mise en retrait n'est nécessaire pour les boucles qui sont au même niveau.
Par exemple, voici les valeurs dans les colonnes ID de boucle d'un script qui contient trois boucles au même niveau.
Boucles imbriquées
Important : les données des boucles imbriquées doivent être dans le même ordre que celles qui figurent dans le mappeur. Pour les boucles imbriquées, les données doivent être mises en retrait dans le fichier de données même si vous utilisez une colonne d'identificateur distincte.
Association des boucles imbriquées
Studio v11 Transaction n'associe pas automatiquement les scripts qui contiennent des données de poste supplémentaires.
Pour associer le script, cliquez sur une colonne dans le fichier de données Excel et faites-le glisser vers le champ dans le mappeur. Répétez l'opération pour chaque champ à associer. Ou bien cliquez sur Associer automatiquement.
Préparation de votre classeur pour exécuter des boucles imbriquées
Lorsque vous envoyez des boucles imbriquées, les données d'en-tête et les détails ou les données de poste dans le classeur Excel doivent être placés dans des lignes différentes. Cela s'apparente à une simple boucle, mais vous disposez de lignes supplémentaires pour la boucle imbriquée.
Présentation des données de boucle pour l'association basée sur la colonne
H - Ligne d’en-tête
D - Multipostes pour la boucle 1
D1- Multipostes pour la boucle 2
D
D1
D1
Copie et coupe de 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 boucle ou une condition dans une colonne de journal.
Boucle de données dans plusieurs feuilles
Pour créer une présentation plus claire des données lorsque plusieurs boucles sont présentes dans un script, vous pouvez placer les données pour différentes boucles dans des feuilles de données Excel distinctes.
- Feuille principale : feuille Excel qui contient les données d'en-tête correspondant à la boucle appliquée
- Colonne d'identificateur de boucle : colonne dans la feuille des données d'en-têtes qui contient la clé de jointure
- Feuilles de données de poste : feuille Excel contenant les données de poste correspondant à la boucle appliquée
- Colonne d'identificateur de boucle : colonne dans la feuille des données de poste qui contient la clé de jointure
Vous pouvez affecter la clé de jointure à n'importe quelle colonne qui apparaît dans toutes les feuilles.
Association des boucles imbriquées
- Dans l'onglet Associer, dans le panneau Ensemble de données, ajoutez autant de nouvelles feuilles que nécessaires.
- Cliquez sur la première feuille. Dans le mappeur, sélectionnez les éléments de la première boucle.
- Cliquez sur le bouton Créer une boucle.
Conseil : définissez toutes les boucles qui se trouvent au même niveau avant de définir les boucles imbriquées.
- Pour Type de boucle, cliquez sur Boucle multifeuille.
- Sélectionnez les feuilles appropriées pour les en-têtes et les postes et définissez les colonnes de clé de jointure correspondantes.
Important : lorsqu’un fichier script est publié, la feuille publiée doit contenir les mêmes noms de feuille que ceux qui se trouvent dans le script.
- Association des champs à leurs feuilles de calcul Excel respectives.
- 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.
- Enregistrez l'aperçu du fichier de données avant de fermer Studio afin de ne pas supprimer les feuilles de données.
Mappage non valide
- Vous ne pouvez pas associer une boucle à une colonne qui ne fait pas partie de la boucle.
- Vous ne pouvez pas valider lorsque plusieurs feuilles sont présentes.
- Les conditions If sont validées lorsque les feuilles sont traitées.
- Vous pouvez utiliser uniquement l'association basée sur la colonne.
- Les journaux étendus ne sont pas disponibles. Seuls les journaux standard sont écrits dans la feuille des données d'en-tête.