Forskellen mellem brugerudgang og kundeudgang i SAP
โก Smart opsummering
Brugerudgange og kundeudgange i SAP ABAP er forbedringshooks, der tilfรธjer brugerdefineret funktionalitet til standardprogrammer uden at รฆndre SAP kode. Denne side forklarer kunders exit-typer, udregnede eksempler, SMOD- og CMOD-transaktioner, brugerexits og hvordan de to teknikker adskiller sig.

Hvad er kunde-exits?
Kundeudgange er "kroge" fra SAP indenfor mange standardprogrammer, skรฆrme og menuer, hvorpรฅ kunderne evt "hรฆnge" Tilpasset funktionalitet, der opfylder forretningskrav. Mere om dette om et รธjeblikโฆ
Den vigtigste fordel er, at standarden SAP objektet รฆndres aldrig. Den brugerdefinerede kode sidder i en reserveret inkludering eller underskรฆrm, der SAP opkald pรฅ det rigtige tidspunkt, sรฅ forbedringen overlever en systemopgradering i stedet for at blive overskrevet. Pรฅ grund af dette tilhรธrer exits familien af SAP forbedringsteknikker sammen med det nyere Business Add-in.
Typer af kundeudgange
Der er tre hovedtyper af kundeudgange:
- Funktionsmodul afsluttes
- Skรฆrm afsluttes
- Menuen afsluttes
Funktionsmodul AfslutDet giver kunden mulighed for at tilfรธje kode via et funktionsmodul pรฅ en specifik placering i en SAP ansรธgningsprogram
Syntax: CALL CUSTOMER-FUNCTION '004'
Skรฆrm AfslutDet giver kunden mulighed for at tilfรธje felter til en skรฆrm i en SAP program via en underskรฆrm. Underskรฆrmen kaldes inden for standardskรฆrmens flowlogik.
Format: CALL CUSTOMER-SUBSCREEN CUSTSCR2
Menu Afslut: Det giver kunden mulighed for at tilfรธje elementer til en rullemenu i en standard SAP program. Disse elementer kan bruges til at kalde tilfรธjelsesprogrammer eller brugerdefinerede skรฆrme.
Format: +CUS ( additional item in GUI status )
Eksempler pรฅ kundeudgange
Eksempel pรฅ en skรฆrmudgang:
I transaktion CAT2 โ Time Sheet Entry รธnsker HR at inkludere en interaktiv anerkendelse af, at bevidst indsendelse af ukorrekte data er grund til afskedigelse.
Eksempel pรฅ menuafslutning:
I transaktion SE38 โ ABAP Editor รธnsker udviklingsteamet at inkludere et menulink til transaktion SE80 โ Object Navigator for at gรธre det nemt at bruge.
FรR
EFTER
Eksempel pรฅ en funktionsmoduludgang:
Virksomheden รธnsker, at bankoplysningerne for kreditorerne i kreditoroprettelsen skal vรฆre obligatoriske begivenheder. Sรฅ den skal blinke en fejlmeddelelse om, at 'Indtast venligst bankoplysninger'
FรR
EFTER
Lokalisering af kundeudgange
I transaktion SMOD og se detaljerne -
Eller i transaktion SE81 du kan bruge det relevante anvendelsesomrรฅde
Opret en kundeafslutning
For at oprette en kundeexit skal du fรธrst oprette et projekt i transaktion CMOD
Later du tildeler Customer Exit til dit projekt.
Hele sekvensen fra at finde udgangen til at aktivere koden er kort, og den fรธlger altid de samme seks trin.
- Find forbedringen: Find navnet pรฅ forbedringen i SMOD, for eksempel komponenten EXIT_SAPMF02K_001 for leverandรธrstamdataene.
- Opret projektet: I CMOD skal du indtaste et projektnavn, der starter med Z eller Y, og vรฆlge Opret.
- Tildel forbedringen: Pรฅ skรฆrmbilledet Forbedringstildelinger skal du tilfรธje det forbedringsnavn, der indeholder exit'en.
- Skriv koden: ร bn funktionsmodulets exit, og placer koden i dens reserverede include, som starter med ZX.
- Hรฅndter skรฆrm- og menudele: For en skรฆrmafslutning skal du bygge underskรฆrmen CUSTSCR, og for en menuafslutning skal du udfylde funktionskoden +CUS i GUI-statussen.
- Aktivรฉr projektet: Aktivรฉr projektet i CMOD, sรฅ exit kaldes under kรธrsel. Uden aktivering ignoreres koden.
๐ก Tip: Inkluderingen af โโen funktionsmodul-exit starter med ZX, sรฅ den transporteres med projektet. Placer aldrig den brugerdefinerede logik direkte i SAP funktionsmodulet, fordi det ville vรฆre en รฆndring, ikke en forbedring.
Hvad er en brugerudgang?
Brugerudgang tjener samme formรฅl som kundeudgange, men de er kun tilgรฆngelige for SD modul. Afslutningen implementeres som et kald til et funktionsmodul. Koden er skrevet af udvikleren.
Velkendt User Exit i SD er MV45AFZZ
- USEREXIT_FIELD_MODIFICATION โ For at รฆndre skรฆrmattributter
- USEREXIT_SAVE_DOCUMENT โ For at udfรธre handlinger, nรฅr brugeren trykker pรฅ Gem
- USEREXIT_SAVE_DOCUMENT_PREPARE
- USEREXIT_MOVE_FIELD_TO_VBAK โ Nรฅr brugerhovedรฆndringer flyttes til overskriftsarbejdsomrรฅde.
- USEREXIT_MOVE_FIELD_TO_VBAP โ Nรฅr brugerelementรฆndringer flyttes til SAP emne arbejdsomrรฅde
En brugerexit er teknisk set en subrutine (en FORMULAR) inde i en SAP include, sรฅ den redigeres direkte og krรฆver en adgangsnรธgle. Dette er den primรฆre praktiske forskel fra en kundeexit, som er opsummeret i nรฆste afsnit.
Brugerudgang vs. kundeudgang
Begge teknikker tilfรธjer brugerdefineret adfรฆrd til standard SAP, men de adskiller sig i omfang, teknologi og hvor opgraderingssikre de er. Tabellen nedenfor sammenligner dem.
| Kriterier | Brugerafslutning | Kundeudgang |
|---|---|---|
| tilgรฆngelighed | Kun SD-modul | Pรฅ tvรฆrs af det hele SAP moduler |
| Teknik | Subrutine (FORM) i en SAP inkluderer sรฅsom MV45AFZZ | Funktionsmodul, skรฆrm eller menuafslutning administreret i SMOD og CMOD |
| Adgangsnรธgle | Krรฆver en adgangsnรธgle til รฆndring | Ingen adgangsnรธgle nรธdvendig |
| Upgrade adfรฆrd | Skal kontrolleres i opgraderingen med SPAU | Upgrade sikker, kaldet fra en reserveret inkludering |
| Administreret af | Redigeret direkte i inkluderingen | Aktiveret gennem et CMOD-projekt |
Kundeudgange er den sikreste og mest generelle af de to. For forbedringer, som ingen af โโudgangene kan nรฅ, SAP introducerede senere Business Add-In.
Kundeafgange vs. BAdI
A Virksomheds-tilfรธjelsesprogram (BAdI) er den objektorienterede efterfรธlger til customer exit. I stedet for en reserveret include definerer en BAdI en grรฆnseflade, og den brugerdefinerede logik sidder i en klasse, der implementerer den. Dette medfรธrer to fordele, som en customer exit ikke tilbyder.
- Flere implementeringer: En BAdI til flere anvendelser tillader flere uafhรฆngige implementeringer af den samme forbedring, mens en kundeexit kun tillader รฉn.
- Objektorientering: En BAdI fungerer med metoder og klasser, sรฅ den passer til moderne ABAP Objects-udvikling og er nemmere at filtrere efter land eller forretningsscenarie.
Den praktiske regel er enkel: brug en eksisterende kunde- eller bruger-exit, nรฅr forbedringspunktet allerede findes, og brug en BAdI, nรฅr et nyt, genanvendeligt forbedringspunkt er pรฅkrรฆvet.








