Diferența dintre ieșirea utilizatorului și ieșirea clientului în SAP

⚡ Rezumat inteligent

Ieșiri utilizator și ieșiri client în SAP ABAP sunt opțiuni de îmbunătățire care adaugă funcționalități personalizate programelor standard fără a modifica SAP cod. Această pagină explică tipurile de ieșiri ale clienților, exemple concrete, tranzacțiile SMOD și CMOD, ieșirile utilizatorilor și diferențele dintre cele două tehnici.

  • 🪝 Definiția de bază: O ieșire a clientului este un cârlig plasat de SAP în interiorul unui program, ecran sau meniu standard pe care un client agață o logică personalizată.
  • 🧩 Trei tipuri de ieșire: Ieșirile din modulul funcțional adaugă cod, ieșirile din ecran adaugă câmpuri printr-un subecran, iar ieșirile din meniu adaugă elemente într-un meniu derulant.
  • 🔍 Localizarea ieșirilor: Tranzacția SMOD listează ieșirile disponibile, iar SE81 le parcurge după zona de aplicație.
  • 🛠️ Implementare: Un proiect este creat în CMOD, i se atribuie ieșirea, se scrie codul și proiectul este activat.
  • 📦 Ieșire utilizator: O ieșire de utilizator servește aceluiași scop, dar există doar în modulul SD, MV45AFZZ fiind cel mai cunoscut exemplu.
  • 🇧🇷 Alegerea unei tehnici: Ieșirile utilizator sunt subrutine SD, ieșirile client sunt sigure pentru module și upgrade, iar un BAdI este succesorul orientat pe obiecte al ambelor.

Ieșire utilizator și intrare Ieșire client SAP

Ce înseamnă Ieșirile Clienților?

Ieșirile clienților sunt „cârlige” furnizate de către SAP în cadrul multor programe, ecrane și meniuri standard pe care clienții pot "atârna" funcționalitate personalizată pentru a satisface cerințele afacerii. Mai multe despre asta imediat…

Principalul avantaj este că standardul SAP obiectul nu este niciodată modificat. Codul personalizat se află într-un ecran inclus sau subecran rezervat care SAP apeluri la momentul potrivit, astfel încât îmbunătățirea să supraviețuiască unei actualizări de sistem în loc să fie suprascrisă. Din această cauză, ieșirile aparțin familiei de SAP tehnici de îmbunătățire împreună cu noul Business Add-In.

Tipuri de ieșiri ale clienților

Există trei tipuri principale de ieșiri ale clienților:

  1. Ieșiri din modulul funcțional
  2. Ieșiri de ecran
  3. Ieșiri din meniu

Ieșire din modulul funcționalPermite clientului să adauge cod prin intermediul unui modul funcțional într-o locație specifică dintr-un SAP programul de aplicare

Syntax: CALL CUSTOMER-FUNCTION '004'

Ieșire din ecranPermite clientului să adauge câmpuri pe un ecran într-un SAP program printr-un subecran. Subecranul este apelat în logica de flux a ecranului standard.

Format: CALL CUSTOMER-SUBSCREEN CUSTSCR2

Ieșire din meniu: Permite clientului să adauge elemente într-un meniu derulant într-un mod standard SAP program. Aceste elemente pot fi folosite pentru a apela programe suplimentare sau ecrane personalizate.

Format: +CUS ( additional item in GUI status )

Exemple de ieșiri ale clienților

Exemplu de ieșire din ecran:

În tranzacția CAT2 – Time Sheet Entry, HR dorește să includă o confirmare interactivă că trimiterea cu bună știință a datelor incorecte este un motiv de concediere.

Exemple de ieșiri ale clienților

Exemplu de ieșire din meniu:

În tranzacția SE38 – ABAP Editor, echipa de dezvoltare dorește să includă un link de meniu către tranzacția SE80 – Object Navigator pentru ușurință în utilizare.

INAINTE DE

Exemple de ieșiri ale clienților

DUPA

Exemple de ieșiri ale clienților

Exemplu de ieșire a unui modul funcțional:

Compania dorește ca detaliile bancare ale Vânzătorilor din crearea Furnizorului să fie un eveniment obligatoriu. Prin urmare, trebuie să afișeze un mesaj de eroare „Vă rugăm să introduceți detaliile bancare”.

INAINTE DE

Exemple de ieșiri ale clienților

DUPA

Exemple de ieșiri ale clienților

Localizarea ieșirilor clienților

In tranzactie SMOD și uită-te în detalii -

Localizarea ieșirilor clienților

Sau în tranzacție SE81 puteți utiliza zona de aplicare corespunzătoare

Localizarea ieșirilor clienților

Creați o ieșire de client

Pentru a crea o ieșire de client, mai întâi trebuie să creați un proiect în tranzacție CMOD

Creați o ieșire de client

Later atribuiți ieșirea clientului proiectului dumneavoastră.

Secvența completă, de la găsirea ieșirii până la activarea codului, este scurtă și urmează întotdeauna aceiași șase pași.

  1. Găsiți îmbunătățirea: Localizați numele îmbunătățirii în SMOD, de exemplu componenta EXIT_SAPMF02K_001 pentru masterul furnizorului.
  2. Creați proiectul: În CMOD, introduceți un nume de proiect care începe cu Z sau Y și selectați Creare.
  3. Atribuiți îmbunătățirea: Pe ecranul Atribuiri îmbunătățiri, adăugați numele îmbunătățirii care conține ieșirea.
  4. Scrie codul: Deschideți ieșirea din modulul funcțional și plasați codul în interiorul include-ului său rezervat, care începe cu ZX.
  5. Gestionarea părților ecranului și meniului: Pentru ieșirea dintr-un ecran, construiți subecranul CUSTSCR, iar pentru ieșirea dintr-un meniu, completați codul funcției +CUS în statusul interfeței grafice.
  6. Activează proiectul: Activați proiectul în CMOD astfel încât ieșirea să fie apelată la momentul execuției. Fără activare, codul este ignorat.

💡 Sfat: Includerea unei ieșiri de modul funcțional începe cu ZX, deci este transportată odată cu proiectul. Nu plasați niciodată logica personalizată direct în SAP modulul de funcții, deoarece aceasta ar fi o modificare, nu o îmbunătățire.

Ce este o ieșire de utilizator?

Ieșirea utilizatorului servește același scop ca și ieșirile clienților, dar sunt disponibile numai pentru SD modul. Ieșirea este implementată ca un apel către un Modul Funcție. Codul este scris de dezvoltator.

Știu bine că este Exit utilizator în SD MV45AFZZ

  • USEREXIT_FIELD_MODIFICATION – Pentru a modifica atributele ecranului
  • USEREXIT_SAVE_DOCUMENT – Pentru a efectua operațiuni atunci când utilizatorul apasă pe Salvare
  • USEREXIT_SAVE_DOCUMENT_PREPARE
  • USEREXIT_MOVE_FIELD_TO_VBAK – Când modificările antetului utilizatorului sunt mutate în zona de lucru antet.
  • USEREXIT_MOVE_FIELD_TO_VBAP – Când modificările articolelor utilizatorului sunt mutate în SAP zona de lucru articol

O ieșire de utilizator este, din punct de vedere tehnic, o subrutină (un FORM) în interiorul unui SAP include, deci este editată direct și necesită o cheie de acces. Aceasta este principala diferență practică față de o ieșire client, rezumată în secțiunea următoare.

Ieșire utilizator vs. Ieșire client

Ambele tehnici adaugă un comportament personalizat la standard SAP, dar diferă în ceea ce privește domeniul de aplicare, tehnologia și siguranța actualizării. Tabelul de mai jos le compară.

Criterii Ieșire utilizator Ieșire client
Disponibilitate Numai modul SD Peste toate SAP module
Metoda de măsurare Subrutina (FORM) într-o SAP include, cum ar fi MV45AFZZ Modul funcțional, ecran sau ieșire din meniu gestionată în SMOD și CMOD
Tasta de acces Necesită o cheie de acces pentru modificare Nu este necesară o cheie de acces
Upgrade comportament Trebuie verificat în upgrade cu SPAU Upgrade sigur, apelat dintr-o includere rezervată
Condus de Editat direct în includere Activat printr-un proiect CMOD

Ieșirile pentru clienți sunt cele mai sigure și mai generale dintre cele două. Pentru îmbunătățiri la care niciuna dintre ieșiri nu poate ajunge, SAP ulterior a introdus programul Business Add-In.

Ieșiri ale clienților vs. BAdI

A Add-in pentru afaceri (BAdI) este succesorul orientat pe obiecte al ieșirii clientului. În loc de o includere rezervată, un BAdI definește o interfață, iar logica personalizată se află într-o clasă care o implementează. Aceasta aduce două avantaje pe care o ieșire client nu le oferă.

  • Implementări multiple: Un BAdI cu utilizare multiplă permite mai multe implementări independente ale aceleiași îmbunătățiri, în timp ce o ieșire client permite doar una.
  • Orientarea obiectului: Un BAdI funcționează cu metode și clase, deci se potrivește dezvoltării moderne de obiecte ABAP și este mai ușor de filtrat în funcție de țară sau scenariu de afaceri.

Regula practică este simplă: utilizați o ieșire client sau o ieșire utilizator existentă atunci când punctul de îmbunătățire există deja și utilizați un BAdI atunci când este necesar un punct de îmbunătățire nou, reutilizabil.

Întrebări frecvente

SMOD afișează SAP îmbunătățiri și componentele din interiorul acestora. CMOD grupează una sau mai multe îmbunătățiri într-un proiect al clientului, atribuie codul și îl activează. SMOD este pentru vizualizare, CMOD este pentru implementare.

Nu. O ieșire client este o îmbunătățire, nu o modificare, deci nu este necesară o cheie de acces. O ieșire utilizator este editată direct într-un SAP include și, prin urmare, necesită o cheie de acces pentru modificare.

Rulați tranzacția, deschideți System apoi Status pentru a citi numele programului, apoi căutați îmbunătățirile acelui program în SMOD sau SE81. O scurtătură comună este căutarea în tabelul MOD.SAP pentru grupul de funcții al programului.

Asistenții inteligenți artificiali din instrumentele de dezvoltare ABAP citesc numele programului și sugerează îmbunătățirea, ieșirea sau BAdI-ul relevant și explică ce modifică fiecare. Dezvoltatorul confirmă în continuare alegerea și scrie logica în interiorul include-ului rezervat.

Consultanții în domeniul inteligenței artificiale evaluează dacă există deja un punct de îmbunătățire și câte implementări sunt necesare, apoi recomandă de obicei un BAdI sau un punct de îmbunătățire pentru lucrări noi.ping ieșiri clasice pentru puncte care există doar ca ieșiri.

Rezumați această postare cu: