Różnica między wyjściem użytkownika a wyjściem klienta SAP
⚡ Inteligentne podsumowanie
Wyjścia użytkowników i wyjść klientów w SAP ABAP to haki rozszerzające, które dodają niestandardowe funkcjonalności do standardowych programów bez konieczności ich modyfikowania SAP Kod. Ta strona wyjaśnia typy wyjść klientów, przykłady, transakcje SMOD i CMOD, wyjścia użytkowników i różnice między tymi dwiema technikami.
Czym jest Customer Exits?
Wyjścia klientów są „haki” przez SAP w ramach wielu standardowych programów, ekranów i menu, z których klienci mogą korzystać "powiesić" niestandardowe funkcjonalności, aby spełnić wymagania biznesowe. Więcej na ten temat za chwilę…
Główną korzyścią jest to, że standard SAP Obiekt nigdy nie jest modyfikowany. Kod niestandardowy znajduje się w zarezerwowanym elemencie lub podekranie, który SAP połączenia w odpowiednim momencie, dzięki czemu ulepszenie przetrwa aktualizację systemu, zamiast zostać nadpisane. Z tego powodu wyjścia należą do rodziny SAP techniki udoskonalania wraz z nowszym dodatkiem Business Add-In.
Rodzaje wyjść klientów
Istnieją trzy główne typy wyjść klientów:
- Wyjścia modułu funkcyjnego
- Wyjścia z ekranu
- Menu wychodzi
Wyjście modułu funkcyjnego:Umożliwia klientowi dodanie kodu za pomocą modułu funkcji w określonym miejscu w SAP program aplikacyjny
Syntax: CALL CUSTOMER-FUNCTION '004'
Wyjście z ekranu:Umożliwia klientowi dodawanie pól do ekranu w SAP program poprzez podekran. Podekran wywoływany jest w ramach logiki przepływu ekranu standardowego.
Format: CALL CUSTOMER-SUBSCREEN CUSTSCR2
Wyjście z menu: Umożliwia klientowi dodawanie pozycji do menu rozwijanego w standardowy sposób SAP program. Elementy te mogą służyć do wywoływania programów dodatkowych lub ekranów niestandardowych.
Format: +CUS ( additional item in GUI status )
Przykłady wyjść klientów
Przykład wyjścia ekranowego:
W transakcji CAT2 – Wprowadzanie danych do arkusza czasu pracy, dział HR chce uwzględnić interaktywne potwierdzenie, że świadome przesłanie nieprawidłowych danych stanowi podstawę do zwolnienia.
Przykład wyjścia z menu:
W transakcji SE38 – Edytor ABAP, zespół programistów chce uwzględnić łącze menu do transakcji SE80 – Nawigator obiektów, aby ułatwić korzystanie.
PRZED
PO
Przykład wyjścia modułu funkcyjnego:
Firma chce, aby dane bankowe dostawców były obowiązkowe podczas tworzenia dostawców. Dlatego musi wyświetlać komunikat o błędzie: „Proszę wprowadzić dane bankowe”.
PRZED
PO
Lokalizowanie wyjść klientów
W transakcji SMOD i przyjrzyj się szczegółom-
Lub w transakcji SE81 możesz skorzystać z odpowiedniego obszaru zastosowań
Utwórz wyjście klienta
Aby utworzyć wyjście klienta, musisz najpierw utworzyć projekt w transakcji CMOD
Later przypisujesz wyjście klienta do swojego projektu.
Cała sekwencja od znalezienia wyjścia do aktywacji kodu jest krótka i zawsze składa się z tych samych sześciu kroków.
- Znajdź ulepszenie: Znajdź nazwę rozszerzenia w SMOD, na przykład komponent EXIT_SAPMF02K_001 dla głównego dostawcy.
- Utwórz projekt: W CMOD wpisz nazwę projektu zaczynającą się od Z lub Y i wybierz Utwórz.
- Przypisz ulepszenie: Na ekranie Przypisania ulepszeń dodaj nazwę ulepszenia zawierającą wyjście.
- Napisz kod: Otwórz wyjście modułu funkcji i umieść kod wewnątrz jego zarezerwowanego elementu include, który zaczyna się od ZX.
- Obsługa części ekranu i menu: Aby wyjść z ekranu, utwórz podekran CUSTSCR, a aby wyjść z menu, wpisz kod funkcji +CUS w statusie GUI.
- Aktywuj projekt: Aktywuj projekt w CMOD, aby wyjście było wywoływane w czasie wykonywania. Bez aktywacji kod jest ignorowany.
💡 Wskazówka: Dołączenie wyjścia modułu funkcji zaczyna się od ZX, więc jest ono transportowane wraz z projektem. Nigdy nie umieszczaj logiki niestandardowej bezpośrednio w SAP modułu funkcyjnego, ponieważ byłoby to modyfikacją, a nie udoskonaleniem.
Czym jest wyjście użytkownika?
Wyjścia użytkownika służą temu samemu celowi, co wyjścia klienta, ale są dostępne tylko dla SD moduł. Wyjście jest realizowane jako wywołanie modułu funkcyjnego. Kod jest napisany przez programistę.
Dobrze znanym wyjściem użytkownika w SD jest MV45AFZZ
- USEREXIT_FIELD_MODIFICATION – Aby modyfikować atrybuty ekranu
- USEREXIT_SAVE_DOCUMENT – Aby wykonać operacje, gdy użytkownik kliknie Zapisz
- USEREXIT_SAVE_DOCUMENT_PREPARE
- USEREXIT_MOVE_FIELD_TO_VBAK – Gdy zmiany nagłówka użytkownika są przenoszone do obszaru roboczego nagłówka.
- USEREXIT_MOVE_FIELD_TO_VBAP – Po przeniesieniu zmian elementów użytkownika SAP obszar roboczy przedmiotu
Wyjście użytkownika jest technicznie podprogramem (FORMULAREM) wewnątrz SAP include, więc jest edytowany bezpośrednio i wymaga klucza dostępu. To główna praktyczna różnica w porównaniu z wyjściem klienta, podsumowana w następnej sekcji.
Wyjście użytkownika a wyjście klienta
Obie techniki dodają niestandardowe zachowanie do standardu SAP, ale różnią się zakresem, technologią i stopniem bezpieczeństwa aktualizacji. Poniższa tabela je porównuje.
| kryteria | Wyjście użytkownika | Wyjście klienta |
|---|---|---|
| Dostępność: | Tylko moduł SD | We wszystkich SAP Moduły |
| Technika | Podprogram (FORMULARZ) w SAP obejmują takie jak MV45AFZZ | Moduł funkcji, ekran lub wyjście z menu zarządzane w SMOD i CMOD |
| Klucz dostępu | Wymaga klucza dostępu do modyfikacji | Nie potrzeba klucza dostępu |
| Upgrade zachowanie | Należy to sprawdzić w ramach aktualizacji w SPAU | Upgrade bezpieczny, wywoływany z zarezerwowanego |
| Zarządzany przez | Edytowano bezpośrednio w dołączonym pliku | Aktywowano za pomocą projektu CMOD |
Wyjścia klientów są bezpieczniejsze i bardziej ogólne z tych dwóch. W przypadku ulepszeń, których żadne z wyjść nie jest w stanie osiągnąć, SAP później wprowadzono dodatek Business Add-In.
Wyjścia klientów kontra BAdI
A Dodatek biznesowy (BAdI) jest obiektowo zorientowanym następcą wyjścia klienta. Zamiast zastrzeżonego elementu include, BAdI definiuje interfejs, a niestandardowa logika znajduje się w klasie, która go implementuje. Daje to dwie korzyści, których nie oferuje wyjście klienta.
- Wiele implementacji: Wielofunkcyjny BAdI pozwala na kilka niezależnych implementacji tego samego ulepszenia, podczas gdy wyjście klienta pozwala tylko na jedną.
- Orientacja obiektowa: BAdI działa z wykorzystaniem metod i klas, dzięki czemu jest zgodne z nowoczesnym rozwojem obiektów ABAP i można je łatwiej filtrować według kraju lub scenariusza biznesowego.
Zasada działania jest prosta: należy użyć istniejącego wyjścia klienta lub użytkownika, jeśli punkt ulepszenia już istnieje, a BAdI, gdy wymagany jest nowy, wielokrotnego użytku punkt ulepszenia.









