Bases
LSMW est un outil SAP standard pour effectuer tout type de modification de données en masse. Il a un certain nombre de façons de mettre à jour les données dans le système:
- BAPI
- IDOC
- Enregistrement par lots
- Entrée directe
BAPI est le moyen le plus rapide, mais le nombre de BAPI disponibles pour le client est limité.
Dans 99% des cas, nous utilisons l’enregistrement par lots qui fonctionne comme des macros dans MS Excel / Word. Le système suit les étapes de l’utilisateur, enregistrant écran par écran. Une fois cela fait, nous mappons le fichier de données sur ces écrans et champs de données. Que le système répète les mêmes étapes que l’utilisateur ferait manuellement.
Organisation des projets LSMW
Dans la transaction LSMW, nous avons des projets, des sous-projets et des objets.
Idéalement, il devrait y avoir un projet global pour les mises à jour de routine, un pour la migration des données.
Le sous-projet est quelque chose de significatif, comme OM, PA, PT et PY pour différents domaines des ressources humaines. Ou il pourrait s’agir d’un sous-projet pour tous les infotypes, peu importe.
Un objet représente généralement ce qui est modifié: infotype, tableau ou autre chose.
Pour commencer, nous devons créer les trois entités: projet, sous-projet, objet ou les choisir si elles sont déjà créées.
Voici la fenêtre principale de LSMW. Les étapes « Définir les attributs d’objet » à « Attribuer des fichiers » sont des paramètres, d’autres pour l’exécution pour l’utilisateur final.
LSMW personnalisation des étapes
Toutes les étapes doivent se dérouler une par une dans le même ordre que sur l’écran.
Définir les attributs de l’objet
Ici, nous définissons la manière dont nous voulons charger les données dans le système. Encore une fois, pour 99%, il s’agit d’un « Enregistrement d’entrée par lots ». Habituellement, nous créons un nouvel enregistrement pour chaque nouveau changement de masse. Pour créer un nouvel enregistrement, cliquez sur le bouton « Enregistrements: Aperçu » à droite.
Avant de commencer l’enregistrement, nous devons nous assurer que toutes les données de tous les champs sont à portée de main. Lorsque nous enregistrons les activités des utilisateurs, le système enregistre toutes les étapes. Si nous cliquons sur la liste pour choisir une valeur pour un champ, elle sera également enregistrée. Nous ne voulons pas que le système enregistre ces écrans avec des valeurs d’aide.
Cliquez sur Créer. C’est une bonne pratique de donner un préfixe pour les enregistrements comme ici R signifie Enregistrement.
Pour le module OM (infotypes 1000 – 1999), nous avons une transaction PP02.
Faites attention, nous entrons toutes les données sans utiliser de valeurs d’aide ou de listes.
Cliquez sur Créer.
Cliquez sur Enregistrer. Puis quittez la transaction.
Le système nous ramène à l’enregistrement. Cliquez sur le bouton « Tout par défaut » pour remplir automatiquement les noms de champs. Nous utiliserons ces noms dans les règles de mappage.
Enregistrez et revenez à l’écran principal avec « Modifier les attributs de l’objet ». Sélectionnez notre enregistrement dans la liste.
Enregistrez et revenez au menu principal.
Définir les structures Source
La structure source reflète les données d’un fichier. Si nous avons une hiérarchie dans un fichier ou si nous avons plusieurs fichiers à charger à la fois, nous créons une structure pour chaque entité de données ou fichier. C’est une bonne pratique d’utiliser un préfixe pour nommer, comme ici ZS–Z signifie objet client, structure en S.
Enregistrez et revenez en arrière.
Définissez les champs source
Champs Source créés pour chaque structure. C’est une bonne pratique de
- Garder l’ordre des champs de fichier réels le même dans la structure source
- Utiliser les noms de dictionnaire SAP dans la structure
Choisissez structure et cliquez sur l’icône de la table. Il est plus pratique de saisir tous les champs sur un seul écran.
Entrez tous les champs que vous souhaitez charger à partir du fichier. Si vous avez des champs avec des valeurs constantes, ils peuvent être omis et définis lors des étapes ultérieures en tant que constantes.
Enregistrez et revenez au menu principal.
Définir les relations de structure
Ici, nous devons définir les relations entre nos enregistrements et nos structures. Si c’est un système d’enregistrement et de structure propose une relation. Tout ce dont nous avons besoin est d’économiser et de revenir.
Définir les règles de mappage de champs et de conversion
C’est l’étape la plus compliquée. Nous définissons ici comment nos données d’un fichier (structure source) sont mappées aux champs d’enregistrement. Sur l’écran, nous voyons tous les champs enregistrés dès la première étape. Pour chaque champ, nous devons attribuer une valeur. Il y a quelques options:
Bouton dans la barre d’outils | Signification |
Le champ source | Prend les données du fichier (structure source) |
La règle | Convertit les données avec des règles de conversion prédéfinies ou un code ABAP personnalisé |
Valeur initiale | Laisser telle quelle à partir de la logique d’infotype |
Constante | Valeur constante |
Déplacer | Copier un champ ou une partie de celui-ci |
Valeur fixe | Valeur fixe d’une liste prédéfinie |
Traduction | Conversion par mappage » si cette valeur, choisissez cette valeur » |
Définir des Valeurs fixes, des Traductions, des Routines définies par l’utilisateur
Ici, nous pouvons définir des valeurs fixes, des traductions ou des procédures ABAP utilisées à l’étape précédente. Pour des tâches simples dans 99%, ce n’est pas nécessaire.
Spécifiez les fichiers
Ici, nous créons une référence de fichier.
Cliquez sur Données héritées sur le PC et cliquez sur Créer. Cela signifie que le fichier sera téléchargé à partir de votre PC, pas du serveur SAP.
Fichier – chemin d’accès complet au fichier.
Nom – nom technique. Utilisez le préfixe, comme ZF.
Selon le fichier, choisissez le délimiteur correct.
C’est une bonne pratique d’avoir des noms de champs dans la toute première ligne du fichier et de suivre l’ordre de la structure source. Cochez donc les deux cases sous le cadre « Structure de fichier ».
Le fichier ressemblerait à ceci.
Enregistrer et quitter.
Assigner des fichiers
Ici, nous attribuons une référence de fichier à la structure source. Habituellement, c’est un fichier pour une structure.
Enregistrer et quitter.
Lire les données
Ici, le système lit le fichier et le convertit au format interne sur le serveur.
Si le fichier est volumineux et que nous voulons tester notre projet LSMW, délimitez un certain nombre d’enregistrements à lire et à traiter.
Afficher les données de lecture
Ici, nous pouvons vérifier nous-mêmes si le fichier a été organisé correctement et les données placées dans les champs de droite.
Si vous cliquez sur l’enregistrement de données, il affiche le contenu de l’enregistrement analysé dans la structure source.
Convertir les données
Le système convertit les données de la structure source en structure d’enregistrement, y compris tous les types de mappage que nous avons effectués à l’étape « Définir les règles de mappage et de conversion des champs ».
Afficher les données converties
Identique à l’étape afficher les données lues, mais affiche les données déjà converties. Ces données seront saisies lors de la simulation (saisie par lots).
Créer une Session de Saisie par Lots
Si vous souhaitez conserver tous les enregistrements pour vos enregistrements, cochez « Conserver les dossiers d’entrée par lots ». Sinon, le système supprime tous les enregistrements réussis. Seuls les échecs resteront dans le système jusqu’à ce qu’ils soient traités.
Exécuter une session d’entrée par lots
SAP ouvre une transaction SM35 avec des sessions d’entrée par lots.
Sélectionnez l’enregistrement et cliquez sur « Traiter ».
Pour 1 enregistrement à tester, il est recommandé d’utiliser ‘Process / premier plan’ car le système affiche chaque étape à l’écran avec les données remplies.
L’erreur d’affichage consiste uniquement à exécuter le processus au premier plan et à ne s’arrêter que sur les erreurs, afin que l’utilisateur puisse réagir d’une manière ou d’une autre.
En cas de volume important, il est préférable de courir en arrière-plan. C’est le moyen le plus rapide.
Si l’enregistrement n’était pas traité, il afficherait des erreurs dans le journal.
Si nous double-cliquons sur l’enregistrement, il y a un onglet avec un journal. Une fois les erreurs corrigées (la plupart du temps, l’objet employé ou OM est verrouillé par un autre utilisateur), vous pouvez redémarrer le processus d’enregistrement. Il ne fonctionnera QUE pour les enregistrements incorrects.
Une fois toutes les erreurs corrigées et l’enregistrement traité, il disparaîtra de la liste.
Cela signifie qu’aucune erreur ne s’est produite et que nous pouvons vérifier les données.
Détails spécifiques au scénario d’entreprise
Il existe des recommandations spécifiques au scénario.
Infotypes de PA plats (comme 0, 1, 2, etc.)
C’est la même chose que celle expliquée ci-dessus. Pour télécharger ces infotypes, utilisez la transaction PA30.
Infotypes du tableau PA (8, 27)
Ces infotypes ont des tableaux, donc le chargement est un peu différent. Avant le chargement, nous devons nous assurer de connaître le nombre maximum de lignes dans les données de téléchargement. Si, disons, il y a au maximum 3 lignes (une par type de salaire ou centre de coûts), alors dans notre enregistrement, nous devons remplir trois lignes, de sorte que le système fournirait trois champs pour les types de salaires, les taux, etc. Si nous ne remplissons que la première ligne, nous n’aurons qu’un seul champ et les enregistrements de 2 à 3 lignes seront ignorés.
Actions PA (PA40)
Vous devez vous assurer qu’il n’y a pas d’actions dans la transaction PA40 qui nécessitent que vous fassiez défiler l’écran. Si c’est le cas, vous devez changer le paramètre de groupe d’utilisateurs dans SU3 en UGR = 10 pour afficher uniquement les actions américaines. Si cela est totalement impossible, les actions pourraient être chargées en PA30 dans l’infotype 0000.
Mise à jour des tables système (comme T510, T710 pour l’augmentation des tarifs)
Lors de l’enregistrement des données dans ces tables système, il demande une demande de transport. De plus, il ne demande que la première fois. Ainsi, l’écran de demande de transport apparaîtra pendant l’enregistrement LSMW et pas à nouveau. LSMW essaiera de trouver des données pour cet écran et ne trouvera pas d’erreur. Pour éviter cela, créez manuellement des entrées de couple, enregistrez-les dans la demande de transport. Ensuite, ne quittez pas la session, ouvrez LSMW, effectuez un enregistrement et un téléchargement de données en une seule session. Les systèmes stockent la demande de transport dans la mémoire de session et ne la demandent pas tant que vous n’avez pas quitté. Ainsi, toutes les activités de LSMW seront effectuées sans nécessiter de demande de transport car elles ont été saisies lors des premières entrées manuelles de données.
Infotype OM plat
Procédez comme décrit ci-dessus.
Infotype du tableau OM
Procédez comme décrit dans la section Infotype du tableau PA.
Techniques avancées
Règles de traduction SAP LSMW
Exemples d’utilisation de LSMW avancés
Erreurs LSMW lorsque vous travaillez avec des fichiers
Comment charger plusieurs fichiers dans SAP LSMW
Moyen facile de modifier en masse n’importe quel champ dans SAP
Comment exécuter n’importe quel module fonctionnel avec les données d’entrée du fichier texte