7 visiteur(s) et 0 membre(s) en ligne. Devenez membre privilégié en cliquant ici
jeudi 25 avril 2024
Article du Jour
Il n'y a pas encore d'Article du Jour.
Activité du Site
Pages vues depuis 15/01/2008 : 20 746 114
  • Nb. de Membres : 2 133
  • Nb. d'Articles : 80
  • Nb. de Forums : 10
  • Nb. de Sujets : 4
  • Nb. de Critiques : 2

Top 15  Statistiques

Sondage

Intéresser par
 ABAP
 Aministration SAP
 Autorisation-Securité
 SAP BW
 SAP Webdynpro,BSP...
 SAP Fonctionnel
 Autres...

  Results, Résultats


  • Votes : 1272
  • Commentaire(s) : 0
Lettre d'information


Votre adresse E-mail



Recevez par mail les nouveautés du site.

 

SAP User EXIT- SAP BADI

 


Les user exits : Definition


Définition : Pour répondre aux besoins les plus spécifiques des métiers, notre ERP préféré  met à disposition une palette d’outil permettant d’adapter et de modifier le standard. Parmis ces outils on retrouve, le paramétrage, la personnalisation des menus et des transactions standards et les user exits. Les user exits sont en quelque sorte des brèches laissées volontairement par SAP
afin d’y insérer des spécificités clientes.

Dans quelles circonstances les utiliser ?

L’emploi d’un user exit s’avère judicieux lorsque les spécificités clientes ne peuvent pas être satisfaites par le paramétrage.
L’implémentation de user exit doit être systématiquement envisagée avant toute modification de standard.
Alternative moins coûteuse que le développement d’un programme spécifique qui dévie les fonctionnalités du standard.

Pourquoi les utiliser ?

Les user exit n’affectent pas le code source standard : Les éléments de modification (code, sous écran, menu …) sont encapsulés dans des objets séparés liés aux applications standards mais indépendants du package initial.
Toute modification faite dans un user exit ne sera pas affectée lors d’une montée de version ou d’un support package.
SAP s’engage à ne créer aucune régression sur les user exit existants.
Chaque user exit est contenu dans un projet d’extension qui peut être désactivé. Ainsi le développement peut se faire sans affecter le travail des autres utilisateurs. La restauration du fonctionnement initial de la transaction est facilitée.
Les coûts de développement et de maintenance sont moindres que pour un développement spécifique.
Vous ne pouvez utiliser un user exit que s'il existe préalablement dans le système. Cependant si vous ne trouvez pas celui qui répond à vos besoins, vous pouvez demander à SAP de le développer ou trouver une autre alternative.

Création d’un projet d’extension

Extension : Regroupement de différents types de user exits (appelés composants) => transaction SMOD.
Projet d’extension : regroupement d’extensions qui mises en commun doivent avoir une logique fonctionnelle (pas de projet regroupant des extensions MM, SD et FI…) => transaction CMOD
Une extension ne peut être rattaché qu’à un seul projet d’extension; un projet d’extension contient plusieurs extensions.

Les différents types de user exits

L’activation du projet d’extension s’effectue grâce au bouton  activation de la transaction CMOD.
Lorsqu’on active un projet d’extension, tous les composants sont activés, il n’est pas possible de n’activer qu’une seule extension ou un seul composant
       => Nécessité de regrouper des extensions liées par une même logique fonctionnelle

Les exits de fonction:

Permettent d’ajouter des traitements clients aux applications standards de R/3
Appel de fonction : ‘CALL CUSTOMER-FUNCTION’ xxx
Données en entrée restreintes par les paramètres d’importation
Données modifiables restreintes par les paramètres d’exportation.
Code contenu dans un !include!.
Exemple de codes source disponibles.
Déclaration des données globales ZXyyyTOP avec yyy : groupe de fonction
Déclaration de sous routines parfois présentes dans le groupe de fonction (!include! LXyyyF00 où yyy est le nom du groupe de fonction). Possibilité de créer ses propres routines
Composant d’une extension qui doit être contenu dans un projet d’extension

Les exits de menu

Permettent d’ajouter vos propres options dans les menus standards déroulant de SAP ou dans les menus de domaine.
Exit de fonction qui permet de traiter l’option ajoutée est contenu dans la même extension.
Données visibles pour traiter l’option cliente dépendent de l’interface de l’exit de fonction.
Code fonction associé à l’option suit la syntaxe : ‘+xxx’.
Option créée visible à partir du MENU PAINTER (SE41)
Composant d’une extension qui doit être contenu dans un projet d’extension .  

Les exits d’écran:

Permettent d’ajouter vos propres champs dans les écrans standards SAP grâce à des sous écrans prédéfinis.
Les champs définis dans le sous écran spécifique ne sont pas visible du standard et vice versa
Le module de fonction qui permet de récupérer et de traiter les données est contenu dans la même extension => données exploitables du sous écran dépendent de l’interface du module de fonction
SAP génère automatiquement un PBO et un PAI
Ecran modifiable via le Screen Painter (SE51)
Composant d’une extension qui doit être contenu dans un projet d’extension .

Les user exits contenus dans des routines :

Ancienne génération de user exit éliminés progressivement par SAP.
Le code est contenu dans des sous routines. Toutes sont contenu dans un même !include!. => FORM USEREXIT….

L’ include contenant les routines n’est pas affecté lors de montée de version ou de support package. La plupart du temps, son nom se termine par ZZ.         
L’implémentation de ce type de user exit nécessite une clé d’enregistrement auprès du SSCR.
Beaucoup plus risqué que les customer exit car il n’y aucune restriction sur les données modifiables. Toutes les données globales sont accessibles. 
Transaction SE80 indispensable (utilisation du dossier Sous routine).  

Les Exit de table :  Permet d’ajouter des zones clientes dans les tables et les structures standards (équivalent d’une structure d’append)

Exit de documentation :

Permet de créer ou d’adapter l’aide en ligne sur les éléments de données du standard. Transaction CMOD : Saut / Extensions globales / Éléments de données 

Exit de champs :

Permet de modifier les libellés des champs standards. Transaction CMOD : Saut / Extensions globales / Mots-clés

Les Badi :

Version objet des user exit;
Transaction SE18 (Badi’s) et SE19 (Implémentation)
Remplace progressivement les user exit depuis la version 4.6.
Possibilité de définir plusieurs implémentations pour une même Badi.
Possibilité de choisir une implémentation en fonction d’un filtre
Activation et désactivation aussi facile que pour un projet d’extension
Particulièrement adaptée au modification de standard => limite les points de contact avec le programme appelant.

Comment les trouver ?

Transaction SMOD : Aide à la recherche soit en utilisant les libellés soit en utilisant l’application hiérarchique
Transaction SE81 :
Programme ZUSEREXIT  que vous trouverez en ligne sur le site: permet d’afficher la documentation des user exit existant (en anglais)
Recherche classique dans les programmes standards sur les mots ‘CUSTOMER’ ‘  _EXIT’.
Utilisation du programme « RPR_ABAP_SOURCE_SCAN » plus efficace.
Recherche sur les fonctions commençant par : ‘EXIT_(Nom du programme principal).
Transaction => Nom du programme => Classe de développement => Groupes de fonctions.
Utilisation de la transaction SE80 pour visualiser les sous routines et les groupes de fonctions.

7)Les transactions vitales :

Transaction SMOD : Gestion des extension
Transaction CMOD : Gestion des projets d’extensions
Transaction SE80   : Navigateur d’objet
Transaction SE81   : Hiérarchie des applications
Transaction SE18   : Définition des Business Add’ins
Transaction SE19   : Implémentation des Business Add’ins



Page Spéciale pour impression


Login Utilisateur

Identifiant

Mot de Passe


Vous n'avez pas encore de compte personnel ? Partager votre expérience et Inscrivez vous.