dimanche 5 avril 2015

Migration de données SAP LSMW Partie2

Bonjour !
Voici la deuxième partie sur LSMW.
Si vous n'avez pas lu la partie 1, ou si vous souhaitez vous rafraîchir la mémoire, vous pouvez la consulter ici : Partie 1
Nous en étions à la fin de la construction de notre programme de migration, tout était normalement configuré pour pouvoir utiliser le programme de migration dans le but de créer de nouveaux équipements.
Je passe l'étape Maintain Fixed Values, Translations, User-Defined Routines car elle n'est pas nécessaire dans notre cas, je reviendrais dessus dans un autre tutoriel lorsque je l'aurais testé (Vous pouvez trouver des informations dans l'aide SAP : help.sap : user-defined routines si vous souhaitez creuser).
Reprenons : vous avez déjà fait lors de la partie 1 l'essentiel du travail, à savoir :
  • Définir le type d’objet à utiliser pour la reprise de données. 
  • Définir les noms des structures sources.
  • Définir les zones qui composent les structures sources.
  • Définir les relations entre la/les structures sources et la/les structures cibles.
  • Définir les relations entres les zones des structures sources et les zones cibles, avec règles de conversion si besoin.
Passons maintenant aux étapes restantes : 
  • Spécifier le chemin du fichier source et définir les fichiers intermédiaires de lecture et de conversion du/des fichiers sources.
  • Lire les données.
  • Convertir ces données.
  • Lancer l’intégration des données avec le mode correspondant à l’objet choisi pour la reprise de données (Batch Input, Direct Input, génération d’iDoc, etc.).

II - Exécution du programme de reprise LSMW

       1. Spécification du chemin du fichier source

Lors de cette étape, vous pourrez choisir le répertoire ou sera placé votre fichier (ou vos fichiers), afin qu'il puisse être lu par SAP.
Pour ce programme de reprise, le fichier source resemble à ça :
En première ligne on trouve le nom des colonnes, puis sur les lignes suivantes, les valeurs obligatoires pour la création de l'équipement. Le séparateur doit être le même partout. Il faut faire attention à prendre un séparateur qui ne risque pas de se retrouver dans une des valeurs de lignes. Si par exemple la désignation de l'équipement peut contenir un point-virgule, il faut donc éviter de le choisir comme séparateur.
Le nom du fichier source sera à placer dans une des deux zones Legacy Data. Je teste actuellement en local, sur mon PC donc, je vais placer le fichier source sur la première ligne "On the PC (Frontend)". Double cliquer sur la zone ou choisir Nouveau.
 Vous pouvez effectuer quelques réglages, tels que le choix du délimiteur (aucun séparateur, virgule, point-virgule, ...), la structure du fichier (le fichier comprend le nom des champs au début du fichier, ...) etc pour que votre fichier soit correctement interprété. Vous pouvez commencer par sélectionner le chemin qui mène au fichier en cliquant sur le matchcode de la première zone de saisie "File".
Il faut sélectionner le radio bouton "Semi-Colon" dans la section "Delimiter", et cocher dans la section "File Structure" le matchcode "Fields Names at Start of File".
Après validation, vous pouvez voir les modifications prises en compte pour le fichier source.
Les zones Imported Data et Converted Data sont des noms automatiquement générés, avec des extensions .lsmw.read et .lsmw.conv. Je pense qu'il s'agit de fichiers temporaires SAP, qui permettent de gérer les données du fichier source dans SAP. Ils serviront pour les étapes de lecture et de conversion des données.
En résumé on a lecture du fichier source, qui aliment le fichier .lsmw.read, qui alimente ensuite le fichier .lsmw.conv, qui sert lui-même à la suite du traitement.
Après avoir terminé l'attribution du fichier et ses réglages, sauvegarder et revenir au menu principal.
L'étape qui suit, Assign Files, se fait normalement automatiquement, il n'y a alors rien à toucher. Sinon il faut attribuer le fichier source à la structure source correspondante.
Le nom du fichier source est associé à la structure source correspondante :
Sauvegarder et revenir à l'écran des différentes étapes pour commencer la lecture du fichier source.

       2. Lecture des données

L'étape Read Data signifie le lancement de la reprise de données. Un fichier source vous a été transmis, et vous avez normalement tous les éléments en votre possession pour commencer la reprise de données.
Cliquer sur cette étape vous emmènera sur l'écran suivant :
Pour lire toutes les données du fichier, contentez-vous de cliquer sur exécuter. Les zones pour "Transaction Number" servent apparemment à limiter les données leurs dans l'optique de tests : cela correspondrait aux numéros de lignes (par exemple de 2 à 10). Les deux cases à cocher correspondent à des réglages sur les valeurs et les dates.
Lorsque l'on exécute la phase Read Data, lors de la première lecture sur votre programme de migration, une fenêtre de sécurité apparaît pour confirmer l'accès au fichier à lire. Vous pouvez choisir plusieurs options, limitant plus ou moins les autorisations d'accès. Libre à vous de choisir ce qui convient le mieux, suivant les indications du client.
Après avoir validé, le fichier est lu par SAP, qui génère le fichier en .lsmw.read. Un report s'affiche en fin de lecture pour vous informer du taux de succès de la lecture.
Ce report liste les informations utiles, telles que :
  • les fichiers sources listés, leur lecture et leur écriture ou non dans le fichier généré par SAP (.lsmw.read)
  • le nombre de lignes (transactions) lues
  • le nombre d'enregistrements (fichiers) lus
  • le nombre de transactions écrites
  • le nombre d'enregistrement (fichiers) écrits
Une fois cette étape terminée, cliquer sur précédent, pour revenir à l'écran des étapes de migration.
Vous pouvez si vous le désirez, afficher les informations lues, pour avoir un aperçu de la façon dont elles ont été interprétées par SAP. Cela sert notamment lors des premiers tests, pour d'éventuels ajustements. Pour cela il faut alors sélectionner l'étape Display Read Data.  Vous pouvez tout de même continuer si certaines lignes ne sont pas écrites, elles ne seront tout simplement pas prises en compte lors du traitement suivant.
Une popup apparaît avec différentes informations. On retrouve le nom du fichier .lsmw.read. Il est possible de choisir les lignes qui nous intéressent. Valider.
Un report apparaît alors, sous forme de tableau. Il comporte le numéro de ligne, le fichier source et ce que contient la ligne. La lecture qu'on peut en faire peut manquer de clarté, car toutes les infos sont agglomérées. Pour disposer d'un affichage plus clair, vous pouvez cliquer sur la ligne qui vous intéresse.
L'affichage est alors plus clair, puisqu'il reprend la structure du fichier source avec le détail des champs et leur valeur.
Aucune manipulation n'est possible ici, cela ne sert qu'à l'affichage. Si vous constatez des erreurs dans la lecture des données, vous pouvez corriger le fichier source, et relancer le programme de reprise à l'étape Read Data.
Sinon vous pouvez passer à l'étape suivante : conversion des données.

       3. Conversion des données

L'étape de conversion des données est maintenant possible, après l'étape de lecture.
Le fonctionnement est simple car il est le même que l'étape précédente, vous pouvez donc l'éxecuter de la même manière. Un report s'affiche en fin de traitement, avec la même forme : lignes lues, lignes écrites, etc.
Si tout s'est bien passé, vous pouvez afficher les infos converties, sinon vous pouvez analyser les erreurs de conversion, et corriger le fichier source, ou la façon dont la zone de la structure source est alimentée en conséquence. Il suffira alors de reprendre à l'étape Read Data. Vous pouvez tout de même continuer si certaines lignes ne sont pas écrites, elles ne seront tout simplement pas prises en compte lors du traitement suivant.
L'affichage des informations converties se fait de la même manière que les informations dans l'étape Display Data. On retrouve la même popup, mais qui exploite le fichier généré .lsmw.conv.
Valider. Vous retrouvez alors un tableau, avec le même comportement que précédemment. Un affichage général de toutes les lignes converties, et quand on clique sur une des lignes, l'affichage détaillé de cette ligne. 
Les infos converties sont adaptées au format de la structure source, et permettent donc d'avoir un aperçu de la transformation qu'a pu subir telle ou telle donnée.
Cette étape est alors terminée.

       4. Création et lancement du Batch-Input

Après avoir lu le fichier source et l'avoir converti, les donnéees sont alors prêtes pour être traitées par le programme de reprise. Il s'agit ici de la dernière étape du traitement. Suivant le type d'objet choisi lors de l'étape 1 de création du programme de reprise, des étapes peuvent s'ajouter ou se soustraire du déroulement du programme. Dans le cas de cet exemple, l'objet utilisé passe par un traitement en Batch Input, qui simule la transaction IE01, création d'un équipement.
L'écran qui s'affiche pour l'exécution de la dernière étape comporte de nombreuses informations. Je vais essayer de les décrire section par section.
Le mode de traitement
Il existe 3 modes de traitement :
  • Dossier BDC
Code indiquant qu'un groupe BDC ou un dossier doit être créé. Marquez cette zone si vous souhaitez créer un groupe BDC ou un dossier. C'est cette option qui est cochée par défaut avec l'objet utilisé en étape 1. La LSMW permettant la reprise de données en masse, la création d'un dossier BDC est un avantage. La reprise de données, qui peut prendre beaucoup de temps suivant les volumes, peut alors être reporté à un moment où la charge système est moins importante (la nuit etc.).
  • Mode transaction d'appel souhaité
La transaction à laquelle se rapportent les données d'entrée devrait être exécutée à l'aide d'une transaction d'appel. Les résultats sont connus immédiatement. Vous pouvez les afficher sous forme de protocole.
  • Direct Input
La transaction à laquelle les données d'entrée font référence doit être exécutée avec la procédure direct input. Les données sont immédiatement reprises. Marquez cette zone avec un x si vous souhaitez que la procédure direct input soit utilisée pour la reprise des données. Les contrôles nécessaires auxquels doivent être soumises les données à transférer doivent être exécutés et doivent vous garantir que les résultats du transfert des données sont corrects.
Le format de fichier.
Le fichier source peut être sous format texte ou format binaire.
Ici je n'ai rien touché, le format du fichier étant sous format texte.
L'accès au fichier : source.
Trois radio boutons sont disponibles :
  • Serveur de présentation
Code indiquant que le fichier source est enregistré sur une machine frontale locale (p.ex., un PC ou une station de travail UNIX) et non sur un serveur d'applications (p.ex, base de données UNIX). C'est cette option qui est logiquement cochée pour notre exemple. Le fichier source étant placé sur mon bureau, le nom du fichier physique est renseigné. 
  • Serveur d'application
Fichier Unix sur un serveur d'application. Code indiquant que le fichier est un fichier de serveur d'application et non un fichier du serveur de présentation local (PC, par exemple).
  • Données test/INDX,PM
SAPINDX - la source est SAP DATABASE INDX(PM) clé ID% %. Le fichier se situe dans la base de données interne SAP INDX. Voir la commande ABAP: EXPORT TO DATABASE INDX(xx) ID xxxxxx
Vous devez exporter la INT_TAB EXPORT vers DATABASE INDX(PM).
Vous pouvez sélectionner l'ID de votre choix.


L'accès fichier : sauvegarde enreg. de données erronées.
Les mêmes options que la section précédente. Il semble que cela serve à l'enregistrement des données erronées, sûrement dans le but de comprendre les erreurs et de pouvoir savoir où corriger dans le fichier source.
Le mode de la transaction d'appel.
Lorsque le mode de traitement sélectionné est "Transaction d'appel", il est possible de sélectionner le mode d'exécution : A pour afficher toutes les boîtes de dialogue et voir ainsi toutes les étapes, E pour afficher uniquement les endroits où des erreurs de saisie sont détectés, N pour exécuter la transaction en arrière-plan. Cette option ici ne nous intéresse pas, n'étant pas dans le mode de traitement qui correspond.
Journal des erreurs sert à avoir un listing des erreurs détectées et Sauveg.trans.erron. enregistre les lignes provoquant des erreurs.
Bizarrement, j'ai du cocher la deuxième option, qui doit donc être prise en compte pour le mode de traitement dossier BDC (ou peut-être qu'il s'agit d'un petit bug SAP).
Le dossier BDC
Enfin pour le mode dossier BDC, la possibilité de choisir le nom du dossier, l'ID de l'utilisateur qui génère le fichier. Bloquer jusqu'à permet de déterminer la date à laquelle le dossier Batch peut être exécuté. Le code de suppression indique si le dossier BDC doit être effacé de la liste après son traitement.
Exécution du dossier BDC.
Si tout va bien, lorsque vous exécutez l'étape de reprise des données, vous arrivez sur l'écran des protocoles du dossier BDC. Si tout est vert, alors votre dossier BDC est bien crée et il ne vous reste plus qu'à l'exécuter. Sinon vous pouvez analyser les messages d'erreur en rouge pour essayer de comprendre d'où viennent les éventuels problèmes.
Si tout s'est bien passé, vous pouvez lancer la transaction SM37, afin de gérer l'exécution de votre dossier BDC généré.
Il apparaît normalement dans la liste des dossiers à exécuter.
Sélectionner votre dossier et cliquer sur exécuter.
Une popup s'affiche alors, vous proposant plusieurs options. Là tout dépend de ce que vous souhaiter observer. Si vous avez confiance en votre programme de reprise, ou/et si vous avez des gros volumes à traiter, vous pouvez lancer en arrière-plan.
Une fois choisies vos options, vous pouvez lancer l'exécution du dossier.
Après fin du traitement, dont la durée varie selon la complexité et le volume de données à traiter, vous saurez si la transaction s'est bien déroulée.
En cas de succès, le nombre de transactions correspondantes réussies apparaît dans la colonne titrée d'une icône succès, sinon c'est l'éclair blanc sur fond rouge.
Un double clic sur l'élement qui vous intéresse vous emmène sur le détail du dossier, et vous donne les informations nécessaires à la compréhension de ses erreurs, ou de ses succès.
Dans l'onglet de droite, "Protocole", vous disposez des messages permettant de distinguer les différentes étapes du traitement.

III - Contrôle de la bonne création des données.

Votre programme de reprise s'est bien exécuté ? C'est le moment de vérifier la cohérence des informations, chose plus ou moins simple à réaliser suivant le programme de reprise exécuté. Ici il s'agit d'une simple création d'équipement, on peut donc aller sur la transaction IE03 pour contrôler si l'équipement a correctement été créé.
Lors du lancement de la transaction d'affichage d'équipement, le dernier équipement créé apparaît dans la zone de saisie.
Lorsqu'on l'affiche, on constate que les informations sont bonnes. Le programme de reprise fonctionne donc correctement !
On constate ici que les informations de l'équipement correspondent avec les informations du fichier source.

IV - Conclusion

La création d'un programme de reprise nécessite de la patience, de la précision.
LSMW est un outil à connaitre pour la reprise de données, car la création d'un fichier source reste simple.
La correspondance entre fichier source et structure cible est simple à mettre en place, si peu de règles de conversion entrent en jeu. 
Le mécanisme d’exécution de la reprise est séquentiel, ce qui permet à chaque étape de valider les données (lecture source, conversion, exécution).
En mode batch-input, comme dans cet exemple, il est possible d'analyser les erreurs afin de trouver la source du problème.
Cet outil permet la reprise de données de base, mais sert également à la modification de masse, ou autre utilisation, sachant qu'il est possible d'enregistrer une transaction afin de l'utiliser dans un LSMW.
LSMW est complètement transverse dans SAP (pas limité à un ou plusieurs modules)

Migration de données SAP LSMW Patie 1

INTRODUCTION PARTIE 1

LSMW – Legacy System Migration Workbench ou outil de reprise de données est un utilitaire présent dans SAP R/3 depuis la version 4.6, et destiné à l'origine à proposer un cadre structuré pour la reprise de données.
LSMW fonctionne de manière séquentielle, en plusieurs étapes clairement définies, ce qui permet de valider les données à chaque étape (lecture, conversion, exécution) :
1.    Définir le type d’objet à utiliser pour la reprise de données.
       Il peut s’agir :
              a.    D’un objet pré existant dans SAP, à traiter en Batch Standard, ou Direct Input. Il se compose en général d’un objet, d’une méthode et d’un programme.
              b.    D’un enregistrement Batch-Input d’une manipulation précise dans une transaction.
              c.    D’une BAPI.
              d.    D’un Idoc.
2.    Définir les noms des structures sources.
3.    Définir les zones qui composent les structures sources.
4.    Définir les relations entre la/les structures sources et la/les structures cibles.
5.    Définir les relations entres les zones des structures sources et les zones cibles, avec règles de conversion si besoin.
6.    Spécifier le chemin du fichier source et définir les fichiers intermédiaires de lecture et de conversion du/des fichiers sources.
7.    Lire les données.
8.    Convertir ces données.
9.    Lancer l’intégration des données avec le mode correspondant à l’objet choisi pour la reprise de données (Batch Input, Direct Input, génération d’iDoc, etc.).
Je vais couper ce tutoriel en 2 parties, les explications étant conséquentes :
  • une première partie qui comprendra la construction du programme de reprise, avec les étapes 1 à 5, c'est à dire juste avant d'utiliser le fichier qui sert de source au programme de reprise.
  • une deuxième partie qui comprendra les réglages au niveau du fichier et l'exécution de la reprise de données, qui ont pour but d'intégrer les données du fichier source dans SAP.

CONSTRUCTION D'UN PROGRAMME DE REPRISE.

Dans l'exemple que je vais vous exposer, je souhaite utiliser la reprise de données pour créer des équipements en masse.
Je détaille donc le cheminement de la création du programme de reprise de données jusqu'à son exécution, et l'inspection du résultat. Des captures d'écran permettront de mieux saisir les opérations effectuées. Le but est de comprendre le fonctionnement de base de la LSMW, afin de pouvoir s'initier sans douleur et maux de têtes :)
Prérequis : lorsqu'on vous demande de créer un programme de reprise, je pense que le minimum dont il faut disposer est le fichier source, avec les zones qui le composent.
Si vous ne l'avez pas, vous pourriez éventuellement en proposer un, mais c'est synonyme de perte de temps. Normalement le client doit savoir ce qu'il souhaite reprendre et vous proposer un fichier source cohérent avec l'existant sur SAP.

I- Création du programme de reprise de données.

Lancer la transaction LSMW, vous arrivez sur l'écran de sélection du programme de reprise de données.
Pour créer son programme, il faut avant tout créer si cela n'existe pas un projet et un sous-projet. Vous pourrez ensuite créer votre objet, qui est bien le programme de reprise de données. Rien de difficile, il suffit de se laisser guider. 
Après avoir créé votre programme de reprise de données, vous arrivez sur cet écran, qui liste toutes les étapes de son programme de reprises.
La barre d'outil vous permet dans l'ordre : 
  • de lancer l'étape sélectionnée
  • d'afficher le menu utilisateur
  • d'afficher ou non la numérotation des étapes
  • de changer de mode de double clic : soit afficher, soit entrer en modification sur l'étape sur laquelle vous double cliquez
  • afficher une vue générale des éléments composant votre programme de reprise
  • afficher un listing des actions effectuées sur les étapes du programme

       1. Définition de l'objet à utiliser.

En mode modification, double cliquez sur la première étape : "Maintain Object Attributes".
Vous arrivez sur cet écran :
C'est là que vous allez définir un des éléments principaux du programme de reprise : l'objet qui va permettre d'intégrer les données à reprendre dans SAP.
Dans la manipulation qui nous intéresse, je souhaite créer des équipements.
Ici, j'ai potentiellement le choix entre 4 types d'objets :
  • Standard Batch/Direct Input : un objet prédéfini par SAP qui reproduit intègre via un programme les données à reprendre dans SAP. Cette option propose des choses assez générales, je pense, comme la création, ou autre fonctionnalité assez commune.
  • Batch Input Recording : cet objet nécessite que vous ayez enregistré auparavant une manipulation précise dans une transaction. Par exemple dans mon cas si j'avais enregistré une création d'équipement via la transaction IE01.
  • Business Object Method (BAPI) : un objet prédéfini encore une fois, sauf qu'il s'agit ici d'une BAPI, avec méthode etc.
  • Idoc (Intermediate Document) : utilisation d'un iDoc comme source pour alimenter la structure cible.
La question qui se pose ici est : comment choisir le bon objet pour réaliser sa reprise de données ? Je pense que la réponse est qu'il faut chercher, comme d'habitude dans SAP. Pour procéder, j'ai donc décidé de commencer dans l'ordre, à savoir cocher Standard Batch/Direct Input et essayer de trouver un objet qui convienne à mon besoin.
Je vais sur le matchcode de l'objet :
Je parcours un peu la liste, qui semble être classée par thème. Je trouve une ligne Equipement (objet 0400) que je sélectionne.
Je vais sur le paramètre Méthode qui suit l'Objet, clique sur le matchcode :
3 lignes avec deux qui m'intéressent :
0001 - Créer BI
0003 - Créer DI
J'en déduis que BI = Batch Input et DI = Direct Input (après plusieurs tests, j'ai une préférence pour Batch Input, pour lequel on peut avoir plus facilement des infos sur la réussite ou non de la reprise). Je choisis donc l'objet 0001.
Nous y voilà nous avons notre objet. Sauvegarder et revenir à l'écran des étapes. Direction l'étape 2.

       2. Définition du nom de la structure source.

Double cliquez sur l'étape 2 "Maintain Source Structures", vous arrivez sur un nouvel écran, avec une barre d'outils. C'est là que nous allons définir le nom de la structure à utiliser.
Cliquer sur le bouton  "Créer une structure" pour insérer un nouvel élément. Une popup s'affiche où vous pouvez entrer le nom de la structure, ainsi que sa description.
Libre à vous de choisir le nom qui vous convient, si vous avez le choix. Pour ma part, ce sera ZIF_SOURCE (Z pour le spécifique, IF pour Input File).
Validez. Voilà vous avez créé la base de votre structure source.
Sauvegardez et revenez au menu des étapes.
NB : Vous pouvez avoir besoin de créer plusieurs fichiers sources, c'est possible facilement et de la même manière. Vous pouvez également hiérarchiser vos fichiers, si par exemple un fichier est imbriqué dans un autre. Ce peut être le cas lorsque vous avez un fichier qui correspond aux données d'un en-tête qui comprend un fichier dont les données correspondent à des postes).

       3. Définition des zones de la structure source.

Il est maintenant temps de définir les zones qui composent son fichier source.
NB : Si vous ne connaissez pas les éléments qui composent votre fichier source, vous pouvez tenter de les déterminer vous-même en passant à l'étape 4 pour revenir ensuite à celle-ci. Ou alors comme dans cet exemple il s'agit d'une création d'équipement, vous pouvez lancer la transaction correspondante, créer un équipement, voir les zones qui vous intéressent ou sont obligatoires et récupérer le nom de zone via la touche F1 pour afficher l'aide,
puis choisir le bouton "Informations techniques" pour récupérer le nom de zone.
Au final, vous pouvez vous faire un schéma qui regroupe toutes les zones qui vous intéressent et l'utiliser pour savoir quoi utiliser.
Quand vous avez votre structure, vous pouvez commencer à insérer un à un les éléments.
Le fonctionnement est le même que lors de la création des fichiers sources en étape 2. Le bouton  vous permet d'ajouter la zone qui vous intéresse. Une popup apparaît alors avec les informations à entrer pour son élément :
Dans cet exemple je vais au plus simple, la structure source est unique, et elle n'est composée que de deux zones nécessaires à la création d'un équipement : la catégorie d'équipement (EQTYP), et sa désignation (EQKTX).
Ce qui nous donne au final : 
Sauvegardez, revenez au menu des étapes, direction l'étape 4.

       4. Etablir les relations entre les structures source/cible.

Cette étape est assez simple, quand on sait où on va. Si on cherche la structure du fichier source en venant ici, on obtient un message d'informations, vous indiquant que vous n'avez pas encore défini les champs de votre fichier source.
Vous arrivez sur ce type d'écran : 
A gauche, vous avez les structures qui composent l'objet SAP que vous avez choisi pour votre programme de reprise. C'est à dire que toutes les structures que vous voyez, sont autant de structures que vous pouvez potentiellement alimenter. Une description les accompagne en général. 
Cliquer sur la description de l'une d'entre elles vous emmènera sur sa composition (comme en SE11 par exemple). Si je vais sur la structure IBIPEQUI par exemple, j'afficherais cela :
J'y retrouve les deux zones qui m'intéressent et qui composent mon fichier source : EQTYP et EQKTX. Revenir en arrière, se placer sur le nom de la structure et cliquer sur le bouton  "Relationship" pour créer une nouvelle relation.
Le nom de votre fichier source apparaît alors à la fin de la ligne pour montrer son association.
Une fois terminées les associations, vous pouvez sauvegarder et revenir au menu.

       5. Etablir les connexions entre les zones des fichiers source/cible.

Après avoir associé les structures entre elles, il est temps d'associer les éléments de ces structures ensemble. C'est le rôle de l'étape 5 "Maintain Field Mapping and Conversion Rules".
L'écran ressemble à ça :
Il reprend les structures cibles pour lesquelles un fichier source a été associé. On voit le nom de la structure IBIPEQUI, et les champs qui la composent. Certains champs sont déjà associé par défaut à quelque chose : c'est le cas pour le champ TCODE. On y distingue une règle associée (ligne verte) : Default Settings. Une ligne de code apparaît aussi, et renseigne le code ransaction à utiliser par défaut.
NB : Si on veut respecter la fonction de l'objet, il faut éviter de toucher à ce code, sous peine de ne pas pouvoir faire fonctionner correctement le programme de reprise. Si vous le modifiez, c'est que vous savez ce que vous faites.
Pour associer un champ de son fichier source à la zone de la structure qui va bien, il faut se placer sur le champ qui vous intéresse, et cliquer sur le bouton  "Source Field" dans la barre d'outils. Une popup apparaît alors, reprenant les éléments du fichier source associé à la structure cible.
Choisir le champ souhaité et validez. Cela intégrera deux nouvelles lignes, une avec une règle "Transfert de zone", et une autre avec le code correspondant.
Il suffit alors d'établir la liaison entre tous les éléments qui vous intéressent. Il est possible de rajouter du code, comme des conditions, des appels de fonction, ou autre code nécessaire à la bonne interprétation de ce que contient votre zone source.
Pour ce faire il faut double cliquer sur l'élément, ou la ligne de code. Vous arrivez alors sur un éditeur très basique.
Le but de cet éditeur est de faire de petits ajustements, pas pour faire une usine à gaz : Vous pouvez ajouter une ligne par une ligne, donc si vous voulez appelez une fonction par exemple, il faut savoir exactement ce qu'il faut écrire. Si jamais vous connaissez un moyen d'afficher un éditeur plus agréable d'utilisation, je suis preneur, et j'attends votre commentaire. Le but est donc ici de faire de simples ajustements et conversions.
Une fois terminé votre association de zones et vos possibles ajouts de code, enregistrez et revenez au menu des étapes.

Fin de la première partie

Voilà vous avez fait l'essentiel du travail, à savoir :
  • choisir l'objet adéquat,
  • définir la structure source et les zones qui la composent
  • définir les relations entre la structure source et ses éléments, et la structure cible.
Pour la suite, rendez-vous sur la partie 2 de ce tutoriel !
Bon apprentissage.