En tant que consultant SAP, une partie de mon travail consiste entre autres à analyser et retravailler des données SAP. Il est donc nécessaire d’avoir accès aux données, soit par les tables, soit par des reports. Une fois ensuite les extractions réalisées, nous retravaillons régulièrement les données via Excel qui permet de modifier les valeurs, de les faire valider avant import, de comparer des données, …
L’objet de cet article est totalement dédiée à la partie SAP. La partie relative à Excel fera l’objet de la partie 2. Ici je vais présenter comment récupérer des données issues de tables. L’autre méthode, les reports permettent souvent d’exporter les données directement dans Excel.
Pour analyser des données dans SAP, trois transactions sont particulièrement utiles:
- SE11: Pour voir la structure de tables ou de Data Element entre autres
- SE16: Pour voir le contenu de tables (à noter que vous pouvez également utiliser mon petit outil téléchargeable ICI)
- SE16N: Nouvelle version de la transaction SE16 qui a beaucoup plus de fonctionnalités. C’est cette fonction que j’utilise le plus.
Transaction SE16N
Une des particularités côté SAP est que certaines données dans les tables peuvent subir une conversion. Par exemple, pour la table PRPS, nous avons plusieurs champs qui correspondent à ce cas. On peut toutefois identifier deux catégories différentes:
- La donnée est une adresse interne au système et l’affichage converti permet de voir le code externe (en général, donnée trouvée dans un autre champ de la table ou d’une autre table)
- Un masque peut être appliqué à la donnée. Dans ce cas, la donnée non convertie permet de voir la donnée sans la masque.
Afin de pouvoir récupérer les données souhaitées, il est possible de gérer cette option avant de lancer l’extraction en cliquant sur le bouton suivant:
Les options possibles sont les suivantes:
Vous pouvez constater dans cet exemple que les titres des colonnes en sortie seront les noms techniques des champs (et non la description) et que les données seront présentées sans conversion.
Afin de mieux comprendre les deux catégories de conversion, voici un exemple pour chacun des deux cas.
L’exemple porte sur la table PRPS, contenant l’ensemble des Work Breakdown Structure (ou élément d’OTP) – WBS.
1. Adresse interne
Le code interne correspond à un code choisi par le système.
L’utilisateur crée un WBS avec le nom suivant: IR-001239/A
Le code interne pourra être le suivant: 00000012 (le 12ème code du système par exemple). Le code interne n’est pas tranportable d’un système à un autre, contrairement au code externe.
2. Utilisation d’un masque
Reprenons le même WBS: IR-001239/A. Ici le masque est donc le suivant: IR-000000/X
Et donc le code sans le masque sera : IR001239A
Nous constatons que les caractères « – » et « / » ont disparu.
Notons également une particularité de SAP. Considérons que le masque est en fait IR-000000/XXXX
Alors le code sans masque sera enregistré dans la table avec la valeur suivante: « IR001239 A » (3 espaces entre 9 et A). En effet, SAP cadre à droite les données.
L’étape suivante, après avoir défini les champs à extraire et les critères de sélection, est de cliquer sur « exécuter » afin de récupérer les données. Puis enfin d’extraire les données vers EXCEL.
Nous venons donc de voir, en partie, la transaction SE16N permettant d’extraire les données vers EXCEL. La prochaine étape sera donc de voir comment dans Excel on peut retravailler les données:
- Comparer des données
- Traiter les chaînes de caractères
- Supprimer les doublons
- Trier les données
- …