Différence entre sortie utilisateur et sortie client dans SAP
⚡ Résumé intelligent
Sorties utilisateur et sorties client dans SAP Les ABAP sont des points d'extension qui ajoutent des fonctionnalités personnalisées aux programmes standard sans les modifier. SAP Cette page explique les types de sorties client, des exemples concrets, les transactions SMOD et CMOD, les sorties utilisateur et les différences entre les deux techniques.
Que sont les sorties client ?
Les sorties clients sont "crochets" fourni par SAP dans de nombreux programmes, écrans et menus standard sur lesquels les clients peuvent "accrocher" Des fonctionnalités personnalisées pour répondre aux besoins de l'entreprise. Plus d'informations à ce sujet dans un instant…
Le principal avantage est que la norme SAP L'objet n'est jamais modifié. Le code personnalisé se trouve dans une inclusion réservée ou un sous-écran qui SAP Les appels sont effectués au bon moment, de sorte que l'amélioration survit à une mise à niveau du système au lieu d'être écrasée. C'est pourquoi les exits appartiennent à la famille des SAP techniques d'amélioration associées au nouveau module complémentaire Business Add-In.
Types de sorties de clients
Il existe trois principaux types de sorties clients :
- Sorties du module de fonction
- Sorties d'écran
- Sorties du menu
Sortie du module de fonctionCela permet au client d'ajouter du code via un module de fonction à un emplacement spécifique dans un SAP programme de candidature
Syntax: CALL CUSTOMER-FUNCTION '004'
Sortie d'écranCela permet au client d'ajouter des champs à un écran dans un SAP programme via un sous-écran. Le sous-écran est appelé dans la logique de flux de l'écran standard.
Format: CALL CUSTOMER-SUBSCREEN CUSTSCR2
Sortie du menu : Il permet au client d'ajouter des éléments à un menu déroulant de manière standard. SAP programme. Ces éléments peuvent être utilisés pour appeler des programmes complémentaires ou des écrans personnalisés.
Format: +CUS ( additional item in GUI status )
Exemples de sorties de clients
Exemple de sortie d'écran:
Dans la transaction CAT2 – Saisie de la feuille de temps, les RH souhaitent inclure une reconnaissance interactive selon laquelle la soumission sciemment de données incorrectes constitue un motif de licenciement.
Exemple de sortie de menu:
Dans la transaction SE38 – ABAP Editor, l'équipe de développement souhaite inclure un lien de menu vers la transaction SE80 – Object Navigator pour en faciliter l'utilisation.
AVANT DE
APRÈS
Exemple de sortie d'un module fonction:
L'entreprise souhaite que les coordonnées bancaires des fournisseurs lors de la création du fournisseur soient un événement obligatoire. Elle doit donc afficher un message d'erreur indiquant "Veuillez saisir les coordonnées bancaires".
AVANT DE
APRÈS
Localisation des sorties de clients
En transaction SMOD et regarde dans les détails-
Ou en transaction SE81 vous pouvez utiliser le domaine d'application approprié
Créer une sortie client
Pour créer un exit client vous devez d'abord créer un projet en transaction CMOD
Later vous affectez l'exit client à votre projet.
La séquence complète, depuis la recherche de la sortie jusqu'à l'activation du code, est courte et se déroule toujours en six étapes identiques.
- Trouvez l'amélioration : Repérez le nom de l'amélioration dans SMOD, par exemple le composant EXIT_SAPMF02K_001 pour la fiche fournisseur.
- Créer le projet : Dans CMOD, saisissez un nom de projet commençant par Z ou Y et choisissez Créer.
- Attribuer l'amélioration : Sur l'écran des affectations d'amélioration, ajoutez le nom de l'amélioration qui contient la sortie.
- Écrivez le code : Ouvrez le module de fonction exit et placez le code à l'intérieur de son include réservé, qui commence par ZX.
- Gérer les parties écran et menu : Pour une sortie par écran, créez le sous-écran CUSTSCR, et pour une sortie par menu, renseignez le code de fonction +CUS dans l'état de l'interface graphique.
- Activer le projet : Activez le projet dans CMOD pour que la fonction de sortie soit appelée à l'exécution. Sans activation, le code est ignoré.
Astuce : L'inclusion d'une sortie de module fonction commence par ZX, elle est donc incluse dans le projet. Ne placez jamais la logique personnalisée directement dans le SAP module fonctionnel, car il s'agirait d'une modification et non d'une amélioration.
Qu'est-ce qu'une sortie utilisateur ?
Les exits utilisateur ont le même objectif que les exits client, mais ils ne sont disponibles que pour le SD module. L'exit est implémenté sous la forme d'un appel à un module fonction. Le code est écrit par le développeur.
Sachez bien que la sortie utilisateur dans SD est MV45AFZZ
- USEREXIT_FIELD_MODIFICATION – Pour modifier les attributs de l'écran
- USEREXIT_SAVE_DOCUMENT – Pour effectuer des opérations lorsque l'utilisateur clique sur Enregistrer
- USEREXIT_SAVE_DOCUMENT_PREPARE
- USEREXIT_MOVE_FIELD_TO_VBAK – Lorsque les modifications de l'en-tête de l'utilisateur sont déplacées vers la zone de travail de l'en-tête.
- USEREXIT_MOVE_FIELD_TO_VBAP – Lorsque les modifications des éléments utilisateur sont déplacées vers SAP zone de travail de l'élément
Une sortie utilisateur est techniquement une sous-routine (un FORM) à l'intérieur d'un SAP Il s'agit d'une entrée, donc elle est modifiée directement et nécessite une clé d'accès. C'est la principale différence pratique avec une sortie client, résumée dans la section suivante.
Sortie utilisateur vs Sortie client
Les deux techniques ajoutent un comportement personnalisé au comportement standard SAPElles diffèrent cependant par leur portée, leur technologie et leur facilité de mise à jour. Le tableau ci-dessous les compare.
| Critères | Sortie utilisateur | Sortie client |
|---|---|---|
| Disponibilité | Module SD uniquement | Dans l'ensemble SAP modules |
| Technique | Sous-programme (FORM) dans un SAP y compris des modèles comme MV45AFZZ | Module fonctionnel, écran ou sortie de menu gérés dans SMOD et CMOD |
| Clef d'accès | Nécessite une clé d'accès de modification | Aucune clé d'accès requise |
| Upgrade comportement | Doit être vérifié lors de la mise à niveau avec SPAU | Upgrade coffre-fort, appelé depuis une zone réservée |
| Dirigé par | Modifié directement dans l'inclusion | Activé par le biais d'un projet CMOD |
Les sorties clients sont les plus sûres et les plus générales des deux. Pour les améliorations inaccessibles depuis aucune des deux sorties, SAP a ensuite introduit le module complémentaire Business.
Sorties client vs BAdI
A Module complémentaire métier (BAdI) L'interface BAdI est l'équivalent orienté objet de l'exit client. Au lieu d'une inclusion réservée, elle définit une interface, et la logique personnalisée se trouve dans une classe qui l'implémente. Cela présente deux avantages qu'un exit client n'offre pas.
- Plusieurs implémentations : Une BAdI à usage multiple permet plusieurs implémentations indépendantes de la même amélioration, tandis qu'une sortie client n'en permet qu'une seule.
- Orientation objet : Une BAdI fonctionne avec des méthodes et des classes, elle s'adapte donc au développement moderne d'objets ABAP et est plus facile à filtrer par pays ou scénario métier.
La règle pratique est simple : utilisez une sortie client ou une sortie utilisateur existante lorsque le point d’amélioration existe déjà, et utilisez une BAdI lorsqu’un nouveau point d’amélioration réutilisable est nécessaire.









