La manière dont vous enregistrez 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 Automate.
Transactions multilignes
Certaines transactions SAP nécessitent de traiter plusieurs lignes 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’écriture comptable.Remarque : Il est judicieux 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 la boucle indique à Transaction si les données dans la ligne font partie de la section d’en-tête ou d’une ligne de détails.
Pour les instructions détaillées d’ajout de boucles de base, voir Ajout d’une boucle dans Excel et Ajout d’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.
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 12.x 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
Pour obtenir des résultats optimaux lorsque vous utilisez plusieurs bouches dans Transaction pour charger des données, procédez comme suit : lors de l’enregistrement de la transaction, entrez plusieurs postes dans cette dernière pour créer un modèle visible de répétition dans le mappeur. Après avoir ajouté les boucles, désactivez les lignes de l’élément superflu 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.
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
Association des boucles imbriquées
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.
Dans les scripts comportant des boucles imbriquées, vous devez insérer au moins un champ entre les deux boucles imbriquées (le champ peut être n’importe quel élément à l’exception du curseur BDC). Cela garantira la validation de votre script.
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 - Plusieurs poste pour la boucle 1 D1- plusieurs postes pour la boucle 2 DD1 D1
Utilisation de boucles, de conditions et de blocs Else dans le mappeur
Copie et Coupe de lignes avec des boucles et des conditions en ajoutant des blocs Else à des conditions If
Vous pouvez couper, copier et coller des lignes qui contiennent des boucles et des conditions. Pour modifier une boucle ou une condition, sélectionnez tous ses éléments. Vous ne pouvez pas coller une boucle ou une condition dans une colonne de journal.
Vous pouvez couper, copier et coller un bloc de boucle complet.
Vous pouvez couper, copier et coller un bloc If complet.
Vous pouvez copier et coller uniquement la ligne d’en-tête d’une boucle.
Vous pouvez également copier et coller uniquement la ligne d’en-tête d’un bloc de condition If.
En dessous figurent les lignes d’en-tête collées de la boucle et le bloc de condition If.
Vous pouvez coller et copier des lignes aux extrémités des lignes du mappeur et vous pouvez insérer des champs et des écrans dans la dernière ligne.
Vous pouvez également coller après le dernier champ de n’importe quel écran pour un script BAPI.
Outre les options Coller avant et Coller après, vous pouvez utiliser Ajouter une ligne blanche.
Des blocs Else peuvent être ajoutés à des conditions If définies dans une boucle.
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.Remarque : 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. Remarque : lorsqu’un 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.