|
Revenir à |
Les instructions d'exécution conditionnelle peuvent offrir un contrôle supplémentaire sur la manière dont les données sont chargées dans SAP. Exécution conditionnelle au niveau du champ pour définir les conditions d'exécution des parties sélectionnées du script TRANSACTION. Des instructions d'exécution conditionnelle peuvent être insérées autour d'une seule ligne ou d'un bloc de lignes. Vous pouvez ajouter plusieurs blocs d'exécution conditionnelle tant qu'ils n'interfèrent pas avec d'autres blocs d'exécution conditionnelle existants.
Chaque cellule appartenant à la colonne spécifiée est vérifiée par rapport à la valeur constante définie. Lorsque l'exécution conditionnelle est exécutée, TRANSACTION exécute uniquement la ligne pour laquelle la condition est vraie.
Par exemple, lorsque la colonne H est comparée au mot “Crédit”, TRANSACTION exécute les actions contenues dans la condition IF uniquement si la condition est vraie. Dans ce cas, une valeur de H est chargée vers la colonne D/C de la transaction FB50.
REMARQUE : La comparaison de la valeur constante définie dans l'instruction d'exécution conditionnelle avec la valeur dans une colonne Excel dépend des valeurs par défaut Microsoft Excel des préférences de lecture des données. Reportez-vous à la rubrique « Paramètres par défaut de l'application » pour de plus amples informations.
Supposons que la colonne D de la feuille de calcul Excel contienne une valeur décimale et que TRANSACTION doive exécuter uniquement les lignes qui contiennent la valeur 3,141 (valeur de PI) dans la colonne D. Dans ce cas, la colonne D est formatée pour afficher les nombres avec une décimale uniquement, mais en interne la colonne stocke des nombres avec jusqu'à trois décimales. Si la préférence de lecture des données est définie comme « Tel que stocké », la condition requise sera « D=3.141 ». Par contre, si cette préférence est « Tel qu'affiché », la condition requise sera « D=3.1 ».
Une instruction d'exécution conditionnelle dans l'outil de mappage équivaut à utiliser une commande +IF SHUTTLEScript.
Les paramètres de la boîte de dialogue Propriétés de la condition If sont :
Ligne de début/Ligne de fin : tapez la ligne de début et la ligne de fin à utiliser si elles ne correspondent pas aux lignes ou à la plage de lignes que vous avez sélectionnées dans l'onglet Expert : Aperçu de l'enregistrement.
Ligne Else : Tapez la ligne Else où vous voulez stocker la valeur de ligne If Else.
IF sur la première transaction : ce paramètre permet d'adresser les transactions SAP dans lesquelles des boîtes de dialogue, par exemple, existent uniquement sur le premier enregistrement de la transaction. Cliquez sur ce paramètre pour exécuter les lignes spécifiées pour la condition IF sur la première transaction, sur le premier enregistrement de la source de données. Par exemple, lors d'une modification de la vue de classification d'un article, la boîte de dialogue du type de classe s'affiche seulement sur le premier enregistrement et pas sur les suivants.
IF NOT sur la première transaction : semblable au paramètre IF sur la première transaction, cette condition est utilisée pour traiter les transactions SAP dans lesquelles une boîte de dialogue, par exemple, apparaît après la première transaction. Cliquez sur ce paramètre pour exécuter les lignes spécifiées pour la condition IF NOT sur la première transaction, sur tous les enregistrements après le premier enregistrement de la source de données.
Champ IF sur SAP : semblable à la condition IF. La condition concerne uniquement les champs SAP activés. Elle peut concerner les champs désactivés uniquement si l'écran correspondant est activé dans l'outil de mappage. Toutefois, IF sur SAP ne peut pas s'appliquer aux champs de saisie SAP. IF sur SAP n'est pas disponible pour le mode d'enregistrement par lot.
IF sur le champ d'index : IF sur le champ d'index n'est disponible que pour les scripts enregistrés en mode de scriptage GUI. Utilisez IF sur le champ d'index avec des boucles pour effectuer des recherches et des mises à jour basées sur plusieurs valeurs de recherche. IF sur le champ d'index permet de trouver une ligne sur la base d'une valeur dans une colonne donnée. Pour procéder au mappage, sélectionnez uniquement les champs à mettre à jour. Dans la boîte de dialogue des propriétés de la condition If, sélectionnez IF dans le champ d'index. Dans Sélectionner un champ, sélectionnez le champ ou la ligne SAP à rechercher, sélectionnez l'opérateur, spécifiez la valeur ou la colonne Excel dans laquelle les valeurs de recherche seront lues. Pour remplacer la valeur dans toutes les instances correspondantes du champ, cliquez sur Rechercher tout.
Remarque : IF sur le champ d'index prend en charge les valeurs texte uniquement.
IF pour vérifier le texte : Disponible pour l'importation des scripts Dataloader A1 et des scripts TRANSACTION enregistrés en mode de programmation de scripts pour l'interface utilisateur graphique. Confirme qu'une valeur dans Excel correspond à une valeur dans SAP. Cette condition ne modifie pas et ne supprime pas de données.
IF : Cliquez sur le paramètre IF pour baser la condition sur une colonne Excel ou une table/colonne Access ou, dans la version 10.6.1, le champ XML spécifié pour la condition. Quand IF est sélectionné, les champs Sélectionner la colonne, Opérateur et Valeur figurent dans le bas de l'écran.
Les opérateurs autorisés sont :
=, >, <, >=, <=, <>, {BLANK}, {NOT BLANK}, {STARTS WITH}, {CONTAINS}, {ENDS_WITH}, {BETWEEN}
Sélectionner la colonne, Opérateur et Valeur : Quand la condition IF est sélectionnée, choisissez la colonne Excel ou la table/colonne Access à utiliser pour la condition, sélectionnez l'Opérateur pour la condition, puis tapez la Valeur (texte ou nombre) utilisée pour la comparaison. Lorsque vous sélectionnez une colonne, le champ d'écran et la condition s'affichent dans une info-bulle.
Comparer avec la colonne : cochez cette case pour comparer la colonne Sélectionner la colonne (colonne Excel ou colonne ou table Access) à la colonne que vous sélectionnez. Si vous cochez la case Comparer avec la colonne, le champ Valeur affiche la liste de sélection des colonnes pouvant être comparées. Les opérateurs suivants sont autorisés :
<> et =
Lorsque vous remplissez la boîte de dialogue des propriétés de la condition IF, l'outil de mappage affiche les modifications avec deux icônes d'exécution conditionnelle connectées par une ligne.
Vous pouvez inclure des instructions IF dans des services web. Vous pourriez par exemple ajouter une instruction IF de façon à exécuter un script quand une valeur précise est saisie dans ce formulaire.
Lors de l'ajout de la condition IF au script, vous créez le champ auquel s'applique la condition. Tous les opérateurs sont disponibles et vous pouvez aussi choisir de comparer la valeur saisie à une autre valeur de champ. Si lors de l'exécution la condition IF n'est pas remplie, un message tel que « Aucun message renvoyé de SAP » ou « Aucun lot renvoyé » apparaît.
Seule l'instruction IF peut être utilisée quand la source de données est XML. Si la source de données est une valeur SAP, utilisez un IF sur une instruction SAP.
Dans une boucle, vous pouvez ajouter le même champ personnalisé de condition IF dans l'en-tête que dans la boucle, le champ sera traité comme deux champs différents. Le champ de condition IF ajouté dans la section d'en-tête sera un champ à valeur unique, alors que celui défini dans une boucle sera un champ à valeur de répétition. Pour utiliser la même valeur de champ dans la section d'en-tête et dans la boucle, vous devriez lier les valeurs dans le concepteur de formulaire.
Pour ajouter une condition IF dans un service web
Le champ de condition n'apparaît pas dans l'outil de mappage, mais seulement lors de la publication du service web sous forme de formulaire.
-ou-
Le champ personnalisé est ajouté au formulaire publié sous forme d'une autre colonne dans une table
Vous pouvez ajouter des notes dans la colonne des notes de l'outil de mappage pour les lignes de la condition IF. Toutefois, les notes ne sont pas visibles si le script est ouvert dans une version plus ancienne du produit.
Aussi dans cette section |