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.

  • 🪝 Définition principale : Une sortie client est un point d'accroche placé par SAP à l'intérieur d'un programme, d'un écran ou d'un menu standard sur lequel un client intègre une logique personnalisée.
  • 🧩 Trois types de sortie : Les sorties de module de fonction ajoutent du code, les sorties d'écran ajoutent des champs via un sous-écran et les sorties de menu ajoutent des éléments à un menu déroulant.
  • 🔍 Localisation des sorties : La transaction SMOD liste les sorties disponibles, et SE81 les parcourt par domaine d'application.
  • Mise en œuvre: Un projet est créé dans CMOD, la sortie lui est attribuée, le code est écrit et le projet est activé.
  • 📦 Sortie utilisateur : Une sortie utilisateur remplit la même fonction, mais n'existe que dans le module SD, le MV45AFZZ étant l'exemple le plus connu.
  • Choisir une technique : Les sorties utilisateur sont des sous-programmes SD, les sorties client sont inter-modules et sécurisées pour les mises à niveau, et un BAdI est le successeur orienté objet des deux.

Sortie utilisateur et sortie client dans SAP

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 :

  1. Sorties du module de fonction
  2. Sorties d'écran
  3. 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.

Exemples de sorties de clients

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

Exemples de sorties de clients

APRÈS

Exemples de sorties de clients

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

Exemples de sorties de clients

APRÈS

Exemples de sorties de clients

Localisation des sorties de clients

En transaction SMOD et regarde dans les détails-

Localisation des sorties de clients

Ou en transaction SE81 vous pouvez utiliser le domaine d'application approprié

Localisation des sorties de clients

Créer une sortie client

Pour créer un exit client vous devez d'abord créer un projet en transaction CMOD

Créer une sortie client

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.

  1. 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.
  2. Créer le projet : Dans CMOD, saisissez un nom de projet commençant par Z ou Y et choisissez Créer.
  3. Attribuer l'amélioration : Sur l'écran des affectations d'amélioration, ajoutez le nom de l'amélioration qui contient la sortie.
  4. É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.
  5. 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.
  6. 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.

FAQ

SMOD affiche le SAP CMOD regroupe une ou plusieurs améliorations dans un projet client, leur attribue le code et les active. SMOD sert à la visualisation, CMOD à l'implémentation.

Non. Une sortie client est une amélioration, pas une modification ; aucune clé d’accès n’est donc nécessaire. Une sortie utilisateur est modifiée directement dans un SAP inclure et nécessite donc une clé d'accès pour la modification.

Exécutez la transaction, ouvrez Système puis État pour lire le nom du programme, puis recherchez les améliorations de ce programme dans SMOD ou SE81. Un raccourci courant consiste à effectuer une recherche dans la table MOD.SAP pour le groupe de fonctions du programme.

Dans les outils de développement ABAP, les assistants IA lisent le nom du programme et suggèrent l'extension, la sortie ou le BAdI approprié, en expliquant les modifications apportées par chaque option. Le développeur doit ensuite confirmer son choix et écrire la logique dans l'inclusion réservée.

Les conseillers en IA évaluent si un point d'amélioration existe déjà et combien d'implémentations sont nécessaires, puis recommandent généralement un BAdI ou un point d'amélioration pour les nouveaux travaux.ping Sorties classiques pour les points qui n'existent que comme sorties.

Résumez cet article avec :