Razlika između izlaza korisnika i izlaza kupca u SAP
⚡ Pametni sažetak
Izlazi korisnika i izlazi kupaca u SAP ABAP su uskočne opcije za poboljšanje koje dodaju prilagođene funkcionalnosti standardnim programima bez mijenjanja. SAP kod. Ova stranica objašnjava vrste izlaza korisnika, rađene primjere, SMOD i CMOD transakcije, izlaze korisnika i kako se te dvije tehnike razlikuju.

Što je izlaz kupaca?
Izlasci kupaca su “kuke” osigurava SAP unutar mnogih standardnih programa, ekrana i izbornika na kojima korisnici mogu "objesiti" prilagođene funkcionalnosti kako bi se zadovoljili poslovni zahtjevi. Više o tome za trenutak…
Ključna prednost je što standard SAP objekt se nikada ne mijenja. Prilagođeni kod nalazi se u rezerviranom uključenom ili podzaslonu koji SAP poziva u pravom trenutku, tako da poboljšanje preživi nadogradnju sustava umjesto da bude prepisano. Zbog toga, izlazi pripadaju obitelji SAP tehnike poboljšanja zajedno s novijim poslovnim dodatkom.
Vrste izlaza kupaca
Postoje tri glavne vrste izlaza kupaca:
- Funkcijski modul izlazi
- Zaslon izlazi
- Izbornik izlazi
Funkcijski modul IzlazOmogućuje korisniku dodavanje koda putem funkcionalnog modula na određenoj lokaciji u SAP aplikacijski program
Syntax: CALL CUSTOMER-FUNCTION '004'
Izlaz iz zaslonaOmogućuje korisniku dodavanje polja na ekran u SAP program putem podzaslona. Podzaslon se poziva unutar logike toka standardnog zaslona.
Format: CALL CUSTOMER-SUBSCREEN CUSTSCR2
Izlaz iz izbornika: Omogućuje korisniku dodavanje stavki u padajući izbornik u standardnom SAP program. Ove se stavke mogu koristiti za pozivanje dodatnih programa ili prilagođenih zaslona.
Format: +CUS ( additional item in GUI status )
Primjeri izlaza kupaca
Primjer izlaza sa zaslona:
U transakciji CAT2 – Unos radnog vremena, HR želi uključiti interaktivnu potvrdu da je svjesno podnošenje netočnih podataka osnova za otkaz.
Primjer izlaza iz izbornika:
U transakciji SE38 – ABAP Editor, razvojni tim želi uključiti vezu izbornika na transakciju SE80 – Object Navigator radi lakšeg korištenja.
PRIJE
NAKON
Primjer izlaza iz funkcijskog modula:
Tvrtka želi da bankovni podaci dobavljača u kreiranju dobavljača budu obavezan događaj. Dakle, mora bljeskati poruka o pogrešci "Molimo unesite bankovne podatke"
PRIJE
NAKON
Lociranje izlaza kupaca
U transakciji SMOD i pogledaj u detalje-
Ili u transakciji SE81 možete koristiti odgovarajuće područje primjene
Stvorite korisnički izlaz
Da biste kreirali izlaz kupca, prvo trebate kreirati projekt u transakciji CMOD
Later svom projektu dodijelite Customer Exit.
Cijeli niz od pronalaska izlaza do aktiviranja koda je kratak i uvijek slijedi istih šest koraka.
- Pronađite poboljšanje: Pronađite naziv poboljšanja u SMOD-u, na primjer komponentu EXIT_SAPMF02K_001 za glavni slog dobavljača.
- Izradite projekt: U CMOD unesite naziv projekta koji počinje sa Z ili Y i odaberite Stvori.
- Dodijeli poboljšanje: Na zaslonu Dodjele poboljšanja dodajte naziv poboljšanja koji sadrži izlaz.
- Napišite kod: Otvorite izlaz funkcijskog modula i stavite kod unutar njegovog rezerviranog uključivanja, koje počinje sa ZX.
- Rukovanje dijelovima zaslona i izbornika: Za izlaz na ekranu, izgradite podekranski prikaz CUSTSCR, a za izlaz na izborniku, ispunite funkcionalni kod +CUS u statusu GUI-ja.
- Aktivirajte projekt: Aktivirajte projekt u CMOD-u tako da se izlaz poziva tijekom izvođenja. Bez aktivacije, kod se ignorira.
💡 Savjet: Uključivanje izlaza funkcijskog modula počinje sa ZX, pa se prenosi s projektom. Nikada ne postavljajte prilagođenu logiku izravno u SAP funkcionalni modul, jer bi to bila modifikacija, a ne poboljšanje.
Što je korisnički izlaz?
Korisnički izlazi služe istoj svrsi kao i korisnički izlazi, ali su dostupni samo za SD modul. Izlaz je implementiran kao poziv funkcijskom modulu. Kod je napisao programer.
Dobro znamo da je korisnički izlaz u SD-u MV45AFZZ
- USEREXIT_FIELD_MODIFICATION – Za izmjenu atributa zaslona
- USEREXIT_SAVE_DOCUMENT – Za izvođenje operacija kada korisnik pritisne Spremi
- USEREXIT_SAVE_DOCUMENT_PREPARE
- USEREXIT_MOVE_FIELD_TO_VBAK – Kada se promjene zaglavlja korisnika premjeste u radno područje zaglavlja.
- USEREXIT_MOVE_FIELD_TO_VBAP – Kada se promjene korisničke stavke premjeste u SAP radno područje predmeta
Korisnički izlaz je tehnički potprogram (FORM) unutar SAP uključiti, pa se uređuje izravno i zahtijeva pristupni ključ. To je glavna praktična razlika od korisničkog izlaza, sažeta u sljedećem odjeljku.
Izlaz korisnika u odnosu na izlazak kupca
Obje tehnike dodaju prilagođeno ponašanje standardu SAP, ali se razlikuju po opsegu, tehnologiji i koliko su sigurni za nadogradnju. Tablica u nastavku ih uspoređuje.
| Kriteriji | Izlaz korisnika | Izlaz kupca |
|---|---|---|
| Dostupnost | Samo SD modul | Preko svega SAP moduli |
| Tehnika | Podprogram (FORM) u SAP uključuju kao što je MV45AFZZ | Izlaz iz funkcijskog modula, zaslona ili izbornika upravljan u SMOD-u i CMOD-u |
| Pristupni ključ | Zahtijeva ključ za pristup modifikaciji | Nije potreban pristupni ključ |
| Upgrade ponašanje | Mora se provjeriti u nadogradnji sa SPAU-om | Upgrade sigurno, pozvano iz rezerviranog uključivanja |
| Upravlja | Uređeno izravno u uključivanju | Aktivirano putem CMOD projekta |
Izlazi za korisnike su sigurniji i općenitiji od ta dva. Za poboljšanja koja nijedan izlaz ne može dosegnuti, SAP kasnije je predstavio poslovni dodatak.
Izlasci kupaca u odnosu na BAdI
A Poslovni dodatak (BAdI) je objektno orijentirani nasljednik korisničkog izlaza. Umjesto rezerviranog uključivanja, BAdI definira sučelje, a prilagođena logika se nalazi u klasi koja ga implementira. To donosi dvije prednosti koje korisnički izlaz ne nudi.
- Višestruke implementacije: Višestruka upotreba BAdI-ja omogućuje nekoliko neovisnih implementacija istog poboljšanja, dok korisnički izlaz omogućuje samo jednu.
- Orijentacija objekta: BAdI radi s metodama i klasama, tako da odgovara modernom razvoju ABAP objekata i lakše ga je filtrirati prema zemlji ili poslovnom scenariju.
Praktično pravilo je jednostavno: koristite postojeći korisnički izlaz kada točka poboljšanja već postoji, a koristite BAdI kada je potrebna nova, ponovno upotrebljiva točka poboljšanja.








