Meilleures pratiques pour Studio
Utilisez ces meilleures pratiques pour Transaction et Query afin de simplifier les processus de production de script et de requête et disposer plus rapidement de solutions opérationnelles.
Transaction
- Parcourez TOUJOURS le code de transaction dans SAP avant l'enregistrement. Ainsi, vous connaissez le processus à enregistrer et disposez des données pour l'enregistrement.
- Entraînez-vous et enregistrez et testez les scripts et les requêtes sur un système SAP de non-production pour éviter d'ajouter des données erronées à un système de production.
- Nommez les fichiers avec le code de transaction, la description, la date de création et vos initiales comme référence : VA01_NewSalesOrder_09302015_CRB.txr.
- Ajoutez toujours _GUI au nom d'un script enregistré en mode de scriptage GUI. Vous pouvez ensuite identifier rapidement des scripts.
- Pour les transactions avec des vues sélectionnables, effacez toujours les vues par défaut en cliquant sur le bouton Désélectionner tout dans l'enregistrement.
- N'utilisez pas de boucle pour mettre à jour les éléments. Si la mise à jour d'un élément échoue, l'ensemble de la transaction échoue.
- N'utilisez pas la validation sur une transaction RH, car les données sont validées sur la machine back-end, après chaque écran.
Exception : PA30 et PA40 sont pris en charge si Winshuttle Function Module v11.1 ou version ultérieure est installé.
- Dans ME21N, désactivez toutes les positions BDC Cursor jusqu'au point où le filtre est sélectionné. Autrement, Transaction ne parvient pas à trouver ces positions lors de la seconde navigation.
- Vérifiez que Enregistrer (code OK) se trouve dans son propre écran à la fin du script après les champs mappés. Cela permet à la validation de fonctionner.
Requête
- Avant de créer une requête en enregistrant un code de transaction, accédez à l’onglet Valeurs par défaut d'administration dans la zone Options et augmentez le nombre maximal de tables que vous pouvez utiliser (Query 10.x uniquement).
- Exécutez les scripts Query multitables comme processus SAP en arrière-plan pour éviter d’affecter les performances du serveur SAP.
- Utilisez toujours des critères de sélection dans une requête pour n’extraire que ce dont vous avez besoin.
- Les jointures entre les champs de clé primaire fonctionnent toujours de manière optimale. Les performances des jointures entre les champs d’index fonctionnent pratiquement de manière optimale.
- La création d’une jointure entre des champs non indexés dégrade les performances d’extraction des données.
- Les requêtes de jointure interne sont toujours recommandées, car une jointure externe gauche dégrade les performances de l’extraction des données.
- Il est toujours préférable d’exécuter une exécution de vérification avant de publier une requête à exécuter dans l’environnement de production. L’exécution de la vérification détermine l’existence des données requises et le formatage correct de la requête.
- Utilisez le mode AQT (Adaptive Query Throttling) pour l’exécution, afin que l’exécution de la requête n’affecte pas les performances du serveur SAP.
- Utilisez le mode d’exécution directe (non-AQT) pour exécuter les requêtes qui extraient moins d’un millier d’éléments.
- L’application de critères à des champs non indexés dégrade les performances d’extraction de données.
- Utilisez la segmentation des données dans Query lors de l’exécution de téléchargements de données volumineux pour éviter les goulots d’étranglement au niveau du réseau.
- La création de requêtes en utilisant les tables View et Transparent améliore les performances par rapport aux tables Cluster et Pool qui sont généralement plus volumineuses.
- Supprimez les tables, les champs et les jointures inutiles au sein d’un script Query pour améliorer les performances dans l’environnement de production.
- Utilisez la destination du résultat ou le type de données Texte, pour écrire les données plus rapidement que les types de données Excel, Access, XML, SQL Server et SharePoint.
Remarque : Le compte que vous utilisez pour écrire sur le serveur SQL doit appartenir à db_owner ou db_ddladmin dans la base de données qui contient la table cible.
- Cochez toujours Nombre d’entrées dans l’onglet Espace de travail pour valider le nombre d’enregistrements à extraire avec Query.
- Utilisez des critères de sélection sur les champs de jointure lorsque vous disposez d’un très grand nombre de requêtes. Les champs de jointure sont toujours des champs de clé primaire.