Mi a BADI? SAP ABAP?
โก Okos รถsszefoglalรณ
BADI-ban SAP Az ABAP a Business Add-In rรถvidรญtรฉse, egy objektumorientรกlt fejlesztรฉs, amely egyรฉni logikรกt csatol a szabvรกnyos rendszerhez. SAP funkcionalitรกs. Ez az oldal elmagyarรกzza, mi a BADI, milyen funkciรณi vannak, a klasszikus รฉs az รบj tรญpusokat, az SE18 รฉs SE19 munkafolyamatot, รฉs hogyan viszonyul a kilรฉpรฉsekhez.

Mi az a BADI?
A BADI azt jelenti Business Add Ins. Csakรบgy, mint az รgyfรฉlkilรฉpรฉseknรฉl, a BADI is segรญt az egyรฉni fejlesztรฉsek รถsszekapcsolรกsรกban SAP funkcionalitรกst. Pรฉlda a BADI-ra: A CAT2 โ Time Sheet Entry tranzakciรณba a HR egy interaktรญv tudomรกsulvรฉtelt kรญvรกn beรฉpรญteni, hogy a tudatosan hibรกs adatok benyรบjtรกsa elbocsรกtรกsi okot jelent. Ez a BADI segรญtsรฉgรฉvel รฉrhetล el
A klasszikus kilรฉpรฉsi ponttรณl valรณ kรผlรถnbsรฉg technikai jellegลฑ. A BADI ABAP objektumokra รฉpรผl, รญgy a standard program egy interfรฉsz metรณdust hรญv meg, az egyรฉni kรณd pedig egy olyan osztรกlyban talรกlhatรณ, amely ezt a metรณdust megvalรณsรญtja. Ezรฉrt nevezik a BADI-t gyakran a รผgyfรฉl kijรกrat.
Jellemzลk
- A BADI-k objektumorientรกltak
- Tรถbbszรถr is megvalรณsรญthatรณk
- Nem igรฉnyel SAP szoftver Regisztrรกciรณ mรณdosรญtรกsa
- A frissรญtett kiadรกs nincs hatรกssal a BADI-k mลฑkรถdรฉsรฉre
Ez a nรฉgy jellemzล megmagyarรกzza, miรฉrt SAP a klasszikus kilรฉpรฉs helyett a BADI-t javasolja. Mivel a fejlesztรฉs kรผlรถn osztรกlyban talรกlhatรณ, รฉrintetlenรผl tรบlรฉli a fejlesztรฉst, รฉs mivel egy BADI tรถbbszรถrรถs felhasznรกlรกskรฉnt definiรกlhatรณ, tรถbb csapat is fejlesztheti ugyanazt a pontot anรฉlkรผl, hogy felรผlรญrnรกk egymรกst.
A BADI tรญpusai
SAP kรฉt generรกciรณs รผzleti bลvรญtmรฉnyeket kรญnรกl. A klasszikus BADI a fent leรญrt, bลvรญtรฉseken alapulรณ verziรณ, az รบj BADI pedig a ...-val/-vel kerรผlt bevezetรฉsre. SAP A NetWeaver a fejlesztรฉsi keretrendszer rรฉsze, รฉs gyorsabb, valamint rugalmasabb.
| Kritรฉriumai | Klasszikus BADI | รj (kernel) BADI |
|---|---|---|
| Karbantartva | SE18 รฉs SE19 | A Fejlesztรฉsi Helyen Beรฉpรญtett Fejlesztรฉsi Lรฉtrehozรณ |
| Szลฑrลk | Egyszerลฑ szลฑrลรฉrtรฉkek | Logikai kifejezรฉsekkel rendelkezล kombinรกciรณk szลฑrรฉse |
| Tartalรฉk | Nem รฉrhetล el | Egy alapรฉrtelmezett tartalรฉk osztรกly akkor fut, ha nincs aktรญv implementรกciรณ. |
| Pรฉldรกnyosรญtรกs | CL_EXITHANDLER=>PรLDรNY_GET | A GET BADI รฉs CALL BADI utasรญtรกsok |
| Teljesรญtmรฉny | Lassabb, minden hรญvรกsnรกl lรฉtrejรถtt az objektum | Gyorsabb, a kernel รกltal kezelve |
Mindkรฉt generรกciรณ hasonlรณ mรณdon talรกlhatรณ รฉs valรณsรญthatรณ meg, a tovรกbbiakban ismertetjรผk.
Hogyan definiรกljunk รฉs implementรกljunk egy BADI-t
Ez hรกrom lรฉpรฉsbลl รกllt
Step 1) BADI definรญciรณ รฉs interfรฉszรฉnek lรฉtrehozรกsa: SE18 tranzakciรณ.
Step 2) BADI implementรกciรณ lรฉtrehozรกsa: SE19 tranzakciรณ
Step 3) Definiรกljon egy osztรกlyt, amely megvalรณsรญtja a felรผletet: Az implementรกciรณ lรฉtrehozรกsa sorรกn lรฉtrejรถn egy osztรกly is a bลvรญtรฉs felรผletรฉnek megvalรณsรญtรกsรกhoz.
Kรณdban a standard program a kilรฉpรฉsi kezelลn keresztรผl jut el az implementรกciรณhoz. A klasszikus minta pรฉldรกnyosรญtja a BADI hivatkozรกst, majd meghรญvja az interfรฉsz metรณdust.
* Reference typed with the BADI interface DATA: lo_badi TYPE REF TO zif_ex_badi_demo. * Get the active implementation(s) CALL METHOD cl_exithandler=>get_instance CHANGING instance = lo_badi. * Call the interface method that carries the custom logic CALL METHOD lo_badi->check_data EXPORTING is_input = ls_input.
๐ก Tipp: Egy รบj, kernel BADI-t egyszerลฑbben a GET BADI รฉs CALL BADI paranccsal hรญvhatunk meg, amelyek a szลฑrลรฉrtรฉkeket is automatikusan kezelik. A hรญvรกs รญrรกsa elลtt az SE18 paranccsal ellenลrizhetjรผk, hogy a bลvรญtรฉsi pont klasszikus vagy รบj BADI-e.
โ ๏ธ Figyelmeztetรฉs: Az SE18 tranzakciรณ tartalmazza a definรญciรณt รฉs az interfรฉszt, mรญg az SE19 az implementรกciรณt. Az implementรกciรณ lรฉtrehozรกsa az SE18-ban, vagy a definรญciรณ lรฉtrehozรกsa az SE19-ben egy gyakori hiba, ami inaktรญvvรก teszi a BADI-t.
BADI vs. รgyfรฉl kilรฉpรฉs vs. Felhasznรกlรณi kilรฉpรฉs
Mindhรกrom technika javรญtja a szรญnvonalat SAP, de technolรณgiรกjukban รฉs rugalmassรกgukban kรผlรถnbรถznek. Az alรกbbi tรกblรกzat a BADI-t a kรฉt rรฉgebbi mellรฉ helyezi kilรฉpรฉsi technikรกk.
| Kritรฉriumai | Felhasznรกlรณi kilรฉpรฉs | รgyfรฉl kilรฉpรฉs | BADI |
|---|---|---|---|
| Technolรณgia | Alprogram (FORM) | Fรผggvรฉnymodul, kรฉpernyล vagy menรผ | Objektumorientรกlt interfรฉsz รฉs osztรกly |
| Kรถr | Csak SD modul | Minden modul | Minden modul |
| Megvalรณsรญtรกsok szรกma | egy | egy | Tรถbbszรถrรถs, ha tรถbbszรถrรถs felhasznรกlรกskรฉnt definiรกljรกk |
| Karbantartva | A beillesztรฉs kรถzvetlen szerkesztรฉse | SMOD รฉs CMOD | SE18 รฉs SE19 |
| Upgrade biztonsรกgos | Ellenลrizve az SPAU-val | Igen | Igen |
A gyakorlati szabรกly az, hogy mindig hasznรกljunk BADI-t, amikor lรฉtezik ilyen, mivel objektumorientรกlt, frissรญtรฉsbiztos, รฉs tรถbbszรถr is megvalรณsรญthatรณ.



