03 - Cr+®ation de reprise de donn+®es via LSMW en BATCH INPUT

Embed Size (px)

Citation preview

Cration de reprise de donnes via LSMW en BATCH INPUT (Legacy System Migration Workbench).PARTIE 2

1/31

INDEX1/ Cration dun enregistrement en Batch Input.......................................................................................4 2/ Prparation du projet de reprise............................................................................................................6 A/ Cration du projet :..........................................................................................................................6 B/ Cration du Sous Projet : .................................................................................................................6 3/ Choix du projet de reprise.....................................................................................................................8 4/ Cration des noms de structure...........................................................................................................10 5/ Cration des structures........................................................................................................................12 6/ Affectation des structures...................................................................................................................14 7/ Cration des liens entre les structures standards et les structures cres............................................15 A/ Le paramtrage. .............................................................................................................................16 B/ la cration des liens entre structures standards et structures cres...............................................17 8/ Cration de modules de conversion et de User-Define.......................................................................18 A/ Fixed values :.................................................................................................................................18 B/ Translations :..................................................................................................................................19 1/ Source field, target fields............................................................................................................20 2/ Control data.................................................................................................................................21 3/ 1:1 translation values..................................................................................................................22 4/ Interval translation Value............................................................................................................22 C/ User-defined routines.....................................................................................................................23 D/ utilisation des translations, fixed values et user-defined routines..................................................24 9/ Les fichiers reprendre.......................................................................................................................25 A/Legacy data :...................................................................................................................................26 B/Read data : ......................................................................................................................................27 C/Converted data : .............................................................................................................................27 D/Value for wildcard nest quasiment jamais utilis.........................................................................27 E/ Il faut cliquer sur enregistrer avant de sortir de lcran.................................................................27 10/ Lassignation des fichiers aux structures cres...............................................................................28 11/ Lecture des donnes..........................................................................................................................29 12/ Affichage des donnes......................................................................................................................29 13/ Conversion des donnes....................................................................................................................30 14/ Affichage des donnes modifies.....................................................................................................30 15/ Cration dune session de reprise de donnes en Batch Input..........................................................31 16/ REPRISE DES DONNEES..............................................................................................................31

2/31

LSMW sert effectuer des reprises de donnes. A lintrieur de cet outil standard, il y a plusieurs mthodes de reprise. La mthode en Direct Input, La mthode en Batch Input, La mthode des BAPI, La mthode des IDOC. Ce document prsente la seconde solution, cest dire la mthode de reprise en Batch Input.

Cet cran est le premier qui saffiche lorsquon lance la transaction LSMW. Lorsque lon veut crer un ensemble de reprises de donnes destines un client, il est ncessaire de crer un Projet, puis de spcifier un Sous-Projet et enfin un Objet.. Le projet peut tre le nom de la socit cliente (GROUPE-EXPERT). Le Sous-Projet peut tre le nom du module auquel se rattache (MM). LObjet peut tre le nom de la reprise de donnes (Commandes).

3/31

1/ Cration dun enregistrement en Batch Input.LSMW dispose de son propre outil denregistrement de Batch Input. Pour cela il faut lancer la transaction LSMW, puis cliquer sur GOTO et ensuite dans recording . On arrive sur une nouvelle fentre il suffit de cliquer sur nouveau (afin de crer un enregistrement). pour obtenir la fentre suivante

Il suffit de remplir tous les champs et de cliquer sur valider. Une autre fentre apparat alors, elle sert mettre le numro de transaction pour laquelle on veut crer une reprise de donnes en Batch Input.

Il suffit de mettre le numro de la transaction pour lancer celle ci. Ensuite il faut remplir les champs normalement (comme un enregistrement de donnes classique). Une fois que tous les champs sont remplit et que la transaction (dans notre exemple MM01) est termine, on revient lcran principal. Il devrait apparatre comme suit :

Les donnes en bleues sont : 4/31

Le nom de la transaction, le nom du programme et le numro dcran, le nom de la zone ou la position du curseur ou le code OK_CODE. Les zones en blanc sont les valeurs utilises lors de lenregistrement du batch input. Ce seront aussi les valeurs par dfaut lors de lexcution du programme de reprise. Il faut donc veiller les vider avant daller plus loin. Les zones en roses sont des noms de structure que lon voudra faire apparatre lorsquon construira la structure de table pour la reprise de donnes (elles peuvent porter nimporte quel nom, car cela na aucune incidence pour la suite.) Une fois que tout est prs, il suffit denregistrer toutes les modifications apportes et de sortir (touche F3) et de commencer prparer un projet de reprise de donnes.

5/31

2/ Prparation du projet de reprise.

Cet cran est le premier qui saffiche lorsquon lance la transaction LSMW. Lorsque lon veut crer un ensemble de reprises de donnes destines un client, il est ncessaire de crer un Projet, puis de spcifier un Sous Projet et enfin un Objet.. Le projet peut tre le nom de la socit cliente (IDS-SCHEER). Le Sous Projet peut tre le nom du module auquel se rattache (MM). LObjet peut tre le nom de la reprise de donnes (Commandes). A/ Cration du projet : Il faut se placer sur la case du Projet et cliquer sur licne nouveau On obtient alors lcran suivant. .

B/ Cration du Sous Projet : Il faut se placer sur la case du Sous Projet et cliquer sur licne nouveau On obtient alors lcran suivant. .

6/31

C/ Cration de lObjet : Il faut se placer sur la case de lObjet et cliquer sur licne nouveau On obtient alors lcran suivant. .

Une fois que toute ces zones sont renseignes, on peut alors cliquer sur excuter ou alors sur la touche F8 du clavier pour passer ltape suivante, cest dire le choix et la cration de la reprise de donnes que lon veut traiter. On arrive lcran suivant :

7/31

3/ Choix du projet de repriseChaque ligne de lcran ci-dessus correspond une tape. Certaines lignes vont disparatre en fonction du choix de la mthode de reprise que lon veut appliquer. Le choix de la mthode de reprise se fait partir de la premire tape. De toutes les mthodes de reprise, il vaut mieux prfrer la reprise en direct input, car cest lune des plus rapide. Il sera tudi ici, deux mthodes de reprise, la reprise en Direct Input et la reprise en Batch Input. Il faut slection Maintain object attributes puis cliquer sur (ou double cliquer sur la ligne).

Dans le cadre attributes , au niveau de Data transfert, il est possible de lui prciser si la reprise de donnes est faire une seule fois ou de manire priodique. 8/31

Dans le cadre Object type and import technique on lui prcise le mode de reprise (direct input, batch input, BAPI ou IDOC). Pour la reprise en Batch Input. Dans le cadre recording, il suffit de lui prciser le nom de lenregistrement que lon vient de faire (COURS_BI dans notre cas). Comme dans limage ci-dessous :

Il faut ensuite cliquer sur enregistrement

et cliquer sur retour

(ou touche F3 du clavier)

9/31

4/ Cration des noms de structure.Il faut ensuite passer ltape suivante en double cliquant sur Maintain source structures , on arrive lcran suivant.

Dans cette partie, nous allons dfinir les noms de structure reprendre. Une structure peu correspondre un fichier reprendre. Par exemple, Entte peut correspondre au fichier contenant les en-ttes de commande, Commande peut correspondre au fichier contenant le corps de la commande, etc. Il faut tout dabord commencer par cliquer sur nouveau .

Une fois les cases ci-dessus remplies. Il faut cliquer sur valider. Dans le cas de plusieurs structures, il faut se positionner sur la nouvelle structure et cliquer sur pour en crer une nouvelle. Deux possibilits sont alors possibles : soit de crer une structure sur le mme niveau, soit une sous structure comme dans lexemple ci dessous.

10/31

Il faut ensuite cliquer sur enregistrement

et cliquer sur retour

(ou touche F3 du clavier)

11/31

5/ Cration des structures.Il faut double-cliquer sur Maintain source fields pour passer ltape suivante. On retrouve le dernier cran ci dessus la diffrence que cette fois ci, nous allons crer la structure proprement dite. Pour crer une structure, il faut se positionner sur ENTETE (par exemple) et cliquer sur (comme ci dessous) une partie de la structure. pour crer

Si lon est patient, on peut crer les structures une par une Mais il existe une petite icne pour aller un peu plus vite, surtout lorsque tout est dj prt

12/31

Avec cet cran la, il est possible de crer sa structure plus rapidement, voir de la modifier plus facilement. Une fois que toutes les structures sont renseignes, il faut cliquer sur enregistrement et cliquer sur retour (ou touche F3 du clavier) pour revenir lcran prcdent et passer une autre structure Lorsque toutes les structures sont renseignes, il faut cliquer sur enregistrement retour (ou touche F3 du clavier). et cliquer sur

13/31

6/ Affectation des structuresLorsque toutes les structures sont cres. Il faut les affecter aux structures du programme standard.

Pour la reprise des commandes, il y a deux structures standards. La premire est la structure contenant les en-ttes de commandes (MBEPOH) et la seconde qui contient le reste de la commande (MBEPOI). Pour les affecter, il faut se positionner sur la structure standard (par exemple MBEPOH) puis cliquer sur le bouton "Relationship". Une nouvelle fentre apparat, elle permet de faire laffectation entre ce que vous avez slectionn comme structure standard et la structure que vous avez cre (point 2 et 3). Dans le cadre cicontre, pour crer le lien entre MBEPOH et ENTETE, il suffit de slectionner ENTETE et de valider cette liaison. Pour MBEPOI, il suffit de renouveler lopration.

Remarque : Une structure standard ne peut tre affecte qu une seule structure cre. Une fois les affections effectues, on devrait obtenir un cran similaire celui ci-dessous.

Pour passer ltape suivante, il faut enregistrer

et cliquer sur retour

(ou touche F3 du clavier). 14/31

7/ Cration des liens entre les structures standards et les structures cres.Pour passer cette tape, il faut cliquer sur la ligne Maintain field mapping and conversion rules .Cest dans cette partie que nous allons crer les liens entre les deux structures (standard et cre) et qui permettra, par la mme occasion dappliquer des corrections avant le transfert des donnes dans SAP. Lorsque lon rentre la premire fois dans Maintain field mapping and conversion rules , ce genre dcran apparat :

Cest bien sur utile, mais il est parfois prfrable de mieux connatre cet cran, car il possde de nombreux avantages.

15/31

A/ Le paramtrage. Il est possible de paramtrer un peu laffichage de cet cran. Dans la barre de tche, il faut slectionner Extras puis Display Variant. Une nouvelle fentre apparat. Elle permet dajouter (ou de retirer) des parties supplmentaires de lcran ci-dessus. A lorigine, il ny a que deux cases de coches. Initial Field fait apparatre les champs de la structure standard. Coding fait apparatre le code rattach chaque champ. Technichal field, fait apparatre des zones spcifiques. Il nest pas ncessaire de faire apparatre cette dernire.

La partie la plus intressante sont les trois dernires cases. Global Data Definition : Cette partie permet de dfinir des DATA (comme dans un programme classique). Processing Points : Permet deffectuer un certain nombre dactions avant de commencer un traitement de donnes. Il fait apparatre de nouvelles lignes. Au dbut de lcran :

Ainsi qu la fin de lcran :

Chacune de ces nouvelles lignes permet de faire un grand nombre de traitement avant mme de commencer. Dans les reprises de commandes, le plus flagrant sera dans les textes de commande. En effet, ces derniers utilisent beaucoup ce genre dopration pour faire correspondre les donnes de reprise aux donnes standards (en fait, cela permet de transformer les donnes de reprise en donnes sapscript pour les insrer plus facilement dans SAP lors de la reprise). La dernire ligne permet de crer des routines et se trouve tout la fin de lcran :

16/31

B/ la cration des liens entre structures standards et structures cres. En double-cliquant sur la premire zone, il est possible de mettre du code ABAP tout en crant le lien entre la structure standard et la structure cre. (Comme dans lexemple ci-dessous.)

Un nouvel cran apparat ou lon peut crer son code ABAP.

Comme dans tout cran de dveloppement ABAP, il est possible dutiliser les contrles pretty printer pour mettre en forme le code.

et le

Une fois que tout est prt et enregistr, en revenant lcran prcdent (F3) on obtient lcran suivant. Le code doit apparatre comme suit :

Il faut enregistrer et sortir une fois que tout est fini.

17/31

8/ Cration de modules de conversion et de User-Define.Il faut cliquer sur Maintain fixed values, translations, user-defined routines pour aller dans cette partie. On obtient alors lcran suivant.

Ces sous-programmes et/ou routines vont faire un certain nombre de corrections lorsque lon fera ltape 12 (Convert DATA). En se positionnant sur une des lignes (en bleu) ci-dessus, et en cliquant sur nouveau un sous-programme pour effectuer des modifications sur les donnes. A/ Fixed values : , on peut crer

En cliquant sur valider, on repasse lcran initial. Il faut double cliquer sur la ligne que vous venez de crer. Dans notre exemple ci-contre, la ligne cre est AKONT. On obtient alors lcran suivant.

18/31

Si tout apparat gris, il est possible de modifier laffichage en cliquant sur . Il sera alors possible de changer la longueur du champ, le type de donne, lower case et de fixer une donne.

Il vous est maintenant possible de changer ou fixer des valeurs pour certaines zones. B/ Translations : Translations permet de changer des donnes en masse. Par exemple, il est possible de changer une colonne entire de donnes comme les donnes montaires. Cliquer sur nouveau .

En validant, on se retrouve sur lcran initial. Dans notre exemple ci-contre, la ligne cre est MONNAIE. En double-cliquant sur la ligne MONNAIE, une nouvelle fentre apparat.

19/31

Dans cette fentre, si tout apparat gris, il faut cliquer sur dessus. Il y a quatre sous crans.

pour faire apparatre lcran comme ci-

1/ Source field, target fields. Dans cet cran, la fentre est dcompose en deux parties. Source field : il faut prciser le type de donnes qui sont reprendre. La longueur, le type et lower case. Target field : Il faut prciser le type de donnes qui seront utilises pour la reprise. La longueur, le type et lower case.

20/31

2/ Control data.

Cet cran est dcompos en deux parties. La premire (image ci-dessus) permet de dfinir les diffrentes possibilits pour intervertir les donnes. Dans Variant il est possible de dfinir deux possibilits, soit 1:1 translation qui permet de remplacer une valeur par une autre, soit Intervel translation qui permet de remplacer un groupe de valeur par une valeur (de la valeur XXX la valeur YYY ; remplacer par la nouvelle valeur ZZZ). Dans First Alternative , il est possible de dfinir des alternatives. Dans Second Alternative , il est possible de dfinir une seconde alternative. La seconde partie de lcran permet dajouter 1:1 translation values automatiquement.

21/31

3/ 1:1 translation values.

Dans les zones Old value , on inscrit les donnes que lon veut remplacer par New value . Dans notre exemple, on veut remplacer toutes les donnes DOLLARS par $$. Pour que le remplacement soit appliqu lors de la transformation (tape 12), il ne fait pas oublier de cocher la case OK correspondant la ligne. 4/ Interval translation Value.

Dans cet cran, il faut dfinir la donne de dpart (Old value from) et la donne de fin (Old value to) qui reprsente lintervalle de donnes que lon veut remplacer par la nouvelle valeur (New value).

22/31

C/ User-defined routines

Une nouvelle fentre apparat. Dans la case du haut, il faut mettre le nombre de donnes en entre modifier chaque excution de la routine. Dans la case du bas, le nombre de donnes en sortie. Pour une date 25/01/2002 transformer en 2002-01-25. Le nombre de paramtre est de 1 et 1. En validant on se retrouve sur lcran initial : Dans notre exemple ci-contre, la routine va changer le format de la date de AAAAMMJJ en JJMMAAAA. Il faut cliquer une fois sur la routine que lon veut modifier et ensuite, il faut cliquer sur pour pouvoir modifier la routine en question ( dans notre exemple, cest DATE_TRANSFORME). On arrive alors lcran suivant.

23/31

Cest un cran ABAP classique dans lequel il y a dj un certain nombre de donnes par dfaut (en fonction du nombre de paramtre dentre et de sortie mis un peu plus haut). D/ utilisation des translations, fixed values et user-defined routines. Pour que les conversions se fassent au cours de ltape 12, il faut crire dans Maintain field mapping and conversion rules (au niveau de la zone modifier) un appel au forme que lon vient dcrire (tape 7a, 7b ou 7c) qui doit avoir la forme suivante : Dans le cas dun user-defined routines : perform ur_DATE_TRANSFORME changing p_out . * code crire endform.

24/31

9/ Les fichiers reprendre.Une fois que toute la partie programme est crite, il faut prciser lemplacement des fichiers reprendre et quelques caractristiques techniques les concernant. Dans le menu principal, il faut cliquer sur Specify files , on arrive alors lcran suivant : Pour crer une nouvelle ligne (telle que dans le sous rpertoire Read data , il faut se positionner sur la ligne rose dans laquelle on veut crer la ligne, puis il faut cliquer sur nouveau .

25/31

A/Legacy data : Une des deux lignes doit tre renseigne. Elle sert indiquer ou se trouvent les fichiers (la premire ligne correspond au serveur de prsentation, et la seconde correspond au serveur SAP). En cliquant sur nouveau (ligne Legacy data) on obtient lcran suivant :

Cet cran est dcompos en 6 parties. - Le nom du fichier et son emplacement avec la description. - File contents : le type de donnes qui se trouvent lintrieur du fichier. - Dlimiter : cest llment qui va servir dterminer le point de sparation entre deux donnes. - File structure : pour indiquer si lentte figure ou non dans le fichier. - File type : cela sert indiquer le mode de fin de fichier, ou pour lui prciser le nombre denregistrement prendre. - Code page : le type de donne (en gnral ASCII). 26/31

Une fois ces informations fournies, on obtiendra lcran suivant :

B/Read data : Cette ligne est un peu spciale, elle sert stocker les donnes avant la conversion (le donnes seront sur le serveur), il faut donc renseigner le nom. Par dfaut le nom est NOMduPROJET_NOMduMODULE_NOMdeREPRISE.lsmw.read. Le nom ne doit pas dpasser un certain nombre de caractres. En double cliquant sur la ligne modifier on obtient la fentre suivante :

C/Converted data : Dans cette ligne figure le nom du fichier (sur le serveur) qui recevra les donnes qui sont converties. Elles serviront par la suite envoyer les donnes dans SAP. ? En double cliquant sur la ligne modifier on obtient la fentre suivante :

Il est possible dindiquer un emplacement (logical path) et un nom de fichier (logical file). D/Value for wildcard nest quasiment jamais utilis. E/ Il faut cliquer sur enregistrer avant de sortir de lcran.

27/31

10/ Lassignation des fichiers aux structures cres.Dans le menu principal, il faut cliquer sur Assign files , on arrive lcran suivant :

Il suffit de se positionner sur la partie de la structure laquelle on veut attribuer un fichier de reprise. En sur positionnant sur ENTETE par exemple. Il faut cliquer sur lcran suivant : Il faut maintenant slectionner le fichier qui correspond aux enttes (afin de laffecter la structure ENTETE). Puis il faut valider pour que laffectation se fasse. Aprs validation, on obtiendra lcran cidessous. pour obtenir

28/31

11/ Lecture des donnes.Dans le menu principal, il faut cliquer sur Read data . Le programme va alors commencer uploader les donnes du serveur de prsentation sur le serveur.

Il est possible de demande quun certain nombre de lignes soient traites. Ensuite, il va faire correspondre les donnes en fonction de la structure qui a t dfini dans les premires tapes.

12/ Affichage des donnes.Dans le menu principal, il faut cliquer sur display read data . Il est possible de vrifier que tout est en ordre en affichant les donnes qui ont t uploader.

Avant darriver laffichage, il est possible de lui demander de nafficher quun certain nombre de lignes. Ligne 200 250 par exemple.

Laffichage se fait selon un code de couleur. Une couleur par fichier de reprise. Dans le cas de la commande, lentte serait de couleur jaune, et les donnes de commande seraient de couleur bleue, etc.

29/31

13/ Conversion des donnes.Dans le menu principal, il faut cliquer sur Convert data . Le programme va construire les structures de fichier, et les tables qui vont contenir les donnes. De mme il va convertir toutes les donnes pour quelles soient conformes aux spcifications donnes ltape 6.

Avant de convertir les donnes, il est possible de ne convertir quun certain nombre de donne (par nombre de transactions.)

14/ Affichage des donnes modifies.Dans le menu principal, il faut cliquer sur Display converted data . Il est possible de vrifier que toutes les transformations ont bien t effectues.

Avant de vrifier la conversion des donnes, il est possible de lui demander de nafficher dun certain nombre de lignes. Laffichage se ensuite comme suit :

30/31

15/ Cration dune session de reprise de donnes en Batch Input.Une fois que tout est correctement convertit, il est alors possible de crer une session de Batch Input. La cration de session est plus ou moins longue selon le nombre de donnes reprendre. Pour crer une session de reprise de donnes, il faut cliquer sur Create batch input session et suivre les indications.

16/ REPRISE DES DONNEES.Si tout est bon, il ne reste plus quune seule tape faire Lenvoi de donnes. Dans le menu principal, il faut cliquer sur Run Batch Input session et laisser le programme reprendre les donnes. Il est aussi possible de passer directement par la transaction SM35 pour lancer la reprise de donnes. Il faut laisser tourner le programme jusqu la fin. Remarque : Dans certains cas, il est prfrable de faire des tests pour voir si toutes les donnes sont bien reprises correctement et places dans les bonnes zones. Il vaut mieux donc passer par la transaction SM35, et faire un test sur le premier article (ou autre) en lanant la reprise en avant plan. Par la suite il est possible de sortir de lexcution du batch input (/BEND dans la zone OK_CODE) et de relancer le traitement en arrire plan.

31/31