Verschil tussen gebruikersuitgang en klantuitgang in SAP

โšก Slimme samenvatting

Gebruikersuitgangen en klantuitgangen in SAP ABAP-uitbreidingshooks voegen aangepaste functionaliteit toe aan standaardprogramma's zonder deze te wijzigen. SAP Deze pagina legt klant-exittypen uit, bevat uitgewerkte voorbeelden, de SMOD- en CMOD-transacties, gebruikers-exitpunten en hoe de twee technieken van elkaar verschillen.

  • ๐Ÿช Kerndefinitie: Een klantuitgang is een haak die geplaatst is door SAP binnen een standaardprogramma, scherm of menu waaraan een klant aangepaste logica toevoegt.
  • ๐Ÿงฉ Drie soorten uitgangen: Bij het verlaten van een functiemodule wordt code toegevoegd, bij het verlaten van een scherm worden velden toegevoegd via een subscherm en bij het verlaten van een menu worden items toegevoegd aan een vervolgkeuzemenu.
  • ๐Ÿ” Uitgangen lokaliseren: Transactie SMOD geeft een overzicht van de beschikbare exits, en SE81 bladert erdoorheen op toepassingsgebied.
  • ๏ธ Implementatie: In CMOD wordt een project aangemaakt, de exit eraan toegewezen, de code geschreven en het project geactiveerd.
  • ???? Gebruikersuitgang: Een gebruikersuitgang heeft hetzelfde doel, maar bestaat alleen in de SD-module, waarbij MV45AFZZ het bekendste voorbeeld is.
  • โ€‹ Een techniek kiezen: Gebruikersuitgangen zijn SD-subroutines, klantuitgangen zijn module-overstijgend en upgrade-veilig, en een BAdI is de objectgeoriรซnteerde opvolger van beide.

Gebruikersuitgang en klantuitgang in SAP

Wat zijn klantuitgangen?

Klantuitgangen zijn โ€œhakenโ€ door SAP binnen veel standaardprogramma's, schermen en menu's waarop klanten kunnen klikken "hangen" Aangepaste functionaliteit om aan de zakelijke eisen te voldoen. Daarover zo meerโ€ฆ

Het belangrijkste voordeel is dat de standaard SAP Het object wordt nooit gewijzigd. De aangepaste code bevindt zich in een gereserveerde include of subscreen. SAP roept de functie op het juiste moment aan, zodat de verbetering een systeemupgrade overleeft in plaats van te worden overschreven. Hierdoor behoren exits tot de familie van SAP verbeteringstechnieken in combinatie met de nieuwere Business Add-In.

Soorten klantuitgangen

Er zijn drie hoofdtypen klantuitgangen:

  1. Functiemodule verlaat
  2. Scherm wordt afgesloten
  3. Menu wordt afgesloten

Functie Module AfsluitenHet stelt de klant in staat om code toe te voegen via een functiemodule op een specifieke locatie in een SAP applicatieprogramma

Syntax: CALL CUSTOMER-FUNCTION '004'

Scherm afsluitenHet stelt klanten in staat om velden aan een scherm toe te voegen. SAP programma via een subscherm. Het subscherm wordt opgeroepen binnen de stroomlogica van het standaardscherm.

Format: CALL CUSTOMER-SUBSCREEN CUSTSCR2

Menu afsluiten: Het stelt klanten in staat om items toe te voegen aan een uitklapmenu in een standaardomgeving. SAP programma. Deze items kunnen worden gebruikt om aanvullende programma's of aangepaste schermen aan te roepen.

Format: +CUS ( additional item in GUI status )

Voorbeelden van klantexits

Voorbeeld van een schermafsluiting:

In transactie CAT2 โ€“ Urenregistratie wil HR een interactieve erkenning opnemen dat het bewust indienen van onjuiste gegevens reden is voor ontslag.

Voorbeelden van klantexits

Voorbeeld van een menu-uitgang:

In transactie SE38 โ€“ ABAP Editor wil het ontwikkelingsteam voor gebruiksgemak een menulink opnemen naar transactie SE80 โ€“ Object Navigator.

VOOR

Voorbeelden van klantexits

NA

Voorbeelden van klantexits

Voorbeeld van een functiemodule-exit:

Het bedrijf wil dat de bankgegevens van de leveranciers verplicht worden ingevoerd bij het aanmaken van de leverancier. Daarom moet er een foutmelding verschijnen met de tekst 'Voer de bankgegevens in'.

VOOR

Voorbeelden van klantexits

NA

Voorbeelden van klantexits

Lokaliseren van klantenuitgangen

In transactie SMOD en kijk naar de details-

Lokaliseren van klantenuitgangen

Of in transactie SE81 u kunt het juiste toepassingsgebied gebruiken

Lokaliseren van klantenuitgangen

Maak een klantexit aan

Om een โ€‹โ€‹klantexit aan te maken, moet u eerst een project in transactie aanmaken CMOD

Maak een klantexit aan

Later u wijst de Customer Exit toe aan uw project.

De volledige procedure, van het vinden van de uitgang tot het activeren van de code, is kort en volgt altijd dezelfde zes stappen.

  1. Zoek de verbetering: Zoek de naam van de verbetering in SMOD, bijvoorbeeld de component EXIT_.SAPMF02K_001 voor de leveranciersstamgegevens.
  2. Maak het project aan: Voer in CMOD een projectnaam in die begint met een Z of een Y en kies 'Maken'.
  3. Wijs de verbetering toe: Voeg op het scherm 'Verbeteringstoewijzingen' de verbeteringsnaam toe die de exit bevat.
  4. Schrijf de code: Open de exit-functie van de module en plaats de code binnen de gereserveerde include, die begint met ZX.
  5. Beheer de scherm- en menuonderdelen: Voor het verlaten van een scherm, bouw je het CUSTSCR-subscherm en voor het verlaten van een menu, vul je de functiecode +CUS in bij de GUI-status.
  6. Activeer het project: Activeer het project in CMOD zodat de exit-functie tijdens de uitvoering wordt aangeroepen. Zonder activering wordt de code genegeerd.

๐Ÿ’กTip: De include van een exit-functiemodule begint met ZX, dus deze wordt met het project meegetransporteerd. Plaats de aangepaste logica nooit rechtstreeks in de SAP functiemodule, want dat zou een aanpassing zijn, geen verbetering.

Wat is een gebruikersafsluiting?

User Exit heeft hetzelfde doel als Customer Exit, maar is alleen beschikbaar voor de SD module. De exit wordt geรฏmplementeerd als een oproep naar een functiemodule. De code is geschreven door de ontwikkelaar.

Bekend is dat User Exit in SD dat is MV45AFZZ

  • USEREXIT_FIELD_MODIFICATION โ€“ Om schermkenmerken te wijzigen
  • USEREXIT_SAVE_DOCUMENT โ€“ Om bewerkingen uit te voeren wanneer de gebruiker op Opslaan klikt
  • USEREXIT_SAVE_DOCUMENT_PREPARE
  • USEREXIT_MOVE_FIELD_TO_VBAK โ€“ Wanneer wijzigingen in de gebruikerskoptekst worden verplaatst naar het koptekstwerkgebied.
  • USEREXIT_MOVE_FIELD_TO_VBAP โ€“ Wanneer wijzigingen in gebruikersitems worden verplaatst naar SAP artikel werkruimte

Een gebruikersafsluiting is technisch gezien een subroutine (een FORM) binnen een SAP Het bestand wordt direct bewerkt en vereist een toegangssleutel. Dit is het belangrijkste praktische verschil met een klantuitgang, zoals samengevat in de volgende sectie.

Gebruikersuitgang versus klantuitgang

Beide technieken voegen aangepast gedrag toe aan de standaardfunctionaliteit. SAPZe verschillen echter in reikwijdte, technologie en hoe veilig ze zijn bij upgrades. De onderstaande tabel vergelijkt ze.

criteria Gebruikersuitgang Klanten verlaten
Beschikbaarheid Alleen SD-module over alles SAP modules
Techniek Subroutine (FORM) in een SAP inclusief bijvoorbeeld MV45AFZZ Functiemodule, scherm of menu-uitgang beheerd in SMOD en CMOD
Toegangssleutel Vereist een toegangssleutel voor wijzigingen. Geen toegangssleutel nodig
Upgrade gedrag Moet worden gecontroleerd tijdens de upgrade met SPAU. Upgrade veilig, opgeroepen vanuit een gereserveerde plaats inclusief
Beheerd door Direct bewerkt in de include Geactiveerd via een CMOD-project

Klantenuitgangen zijn de veiligere en meest algemene van de twee. Voor verbeteringen die via geen van beide uitgangen bereikbaar zijn, SAP later werd de Business Add-In geรฏntroduceerd.

Klantuitgangen versus BAdI

A Business Add-In (BAdI) Een BAdI is de objectgeoriรซnteerde opvolger van de customer exit. In plaats van een gereserveerde include definieert een BAdI een interface, en de aangepaste logica bevindt zich in een klasse die deze implementeert. Dit biedt twee voordelen die een customer exit niet heeft.

  • Meerdere implementaties: Een BAdI voor meervoudig gebruik maakt meerdere onafhankelijke implementaties van dezelfde uitbreiding mogelijk, terwijl een klantexit er slechts รฉรฉn toestaat.
  • Objectoriรซntatie: Een BAdI werkt met methoden en klassen, waardoor deze geschikt is voor moderne ABAP Objects-ontwikkeling en gemakkelijker te filteren is op land of bedrijfsscenario.

De praktische regel is eenvoudig: gebruik een bestaande klant- of gebruikersuitgang wanneer het uitbreidingspunt al bestaat, en gebruik een BAdI wanneer een nieuw, herbruikbaar uitbreidingspunt nodig is.

Veelgestelde vragen

SMOD geeft de SAP Verbeteringen en de componenten daarin. CMOD groepeert een of meer verbeteringen in een klantproject, wijst de code toe en activeert deze. SMOD is voor weergave, CMOD is voor implementatie.

Nee. Een klantuitgang is een verbetering, geen wijziging, dus er is geen toegangssleutel nodig. Een gebruikersuitgang wordt direct in een SAP Dit omvat en vereist daarom een โ€‹โ€‹toegangssleutel voor wijzigingen.

Voer de transactie uit, open Systeem en vervolgens Status om de programmanaam te lezen. Zoek vervolgens naar de uitbreidingen van dat programma in SMOD of SE81. Een veelgebruikte snelkoppeling is om te zoeken in tabel MOD.SAP voor de functiegroep van het programma.

AI-assistenten in ABAP-ontwikkeltools lezen de programmanaam en suggereren de relevante uitbreiding, exit of BAdI, en leggen uit wat elk ervan wijzigt. De ontwikkelaar bevestigt de keuze nog steeds en schrijft de logica in de gereserveerde include.

AI-adviseurs beoordelen of een verbeteringspunt al bestaat en hoeveel implementaties nodig zijn, en bevelen vervolgens meestal een BAdI of een verbeteringspunt aan voor nieuw werk.ping Klassieke uitgangen voor punten die alleen als uitgang bestaan.

Vat dit bericht samen met: