BADI nedir? SAP ABAP mı?
⚡ Akıllı Özet
BADI'de SAP ABAP, Business Add-In'in kısaltmasıdır ve standart kodlara özel mantık ekleyen nesne yönelimli bir geliştirme dilidir. SAP Bu sayfa, BADI'nin ne olduğunu, özelliklerini, klasik ve yeni türlerini, SE18 ve SE19 iş akışını ve çıkış noktalarıyla karşılaştırmasını açıklamaktadır.

BADİ nedir?
BADI'nin açılımı Business Add ITıpkı Müşteri Çıkışları gibi, BADI de özel geliştirmeleri bağlamaya yardımcı olur. SAP işlevsellik. BADI örneği: CAT2 – Zaman Çizelgesi Girişi işleminde, İK, bilerek yanlış veri göndermenin işten çıkarılma gerekçesi olduğuna dair etkileşimli bir onay eklemek istiyor. Bu, BADI kullanılarak gerçekleştirilebilir
Klasik bir çıkıştan farkı tekniktir. Bir BADI, ABAP Nesneleri üzerine kuruludur, bu nedenle standart program bir arayüz yöntemini çağırır ve özel kod, bu yöntemi uygulayan bir sınıfta yer alır. Bu nedenle bir BADI, genellikle nesne yönelimli programlamanın halefi olarak tanımlanır. müşteri çıkışı.
Özellikler
- BADI'ler Nesneye Yöneliktir
- Birden çok kez uygulanabilirler
- gerektirmez SAP Yazılım Kaydı Değiştir
- Sürüm yükseltmesinin BADI'lerin işleyişi üzerinde etkisi yok
Bu dört özellik bunun nedenini açıklıyor. SAP Klasik bir çıkış yerine BADI kullanılmasını önerir. Geliştirme ayrı bir sınıfta yer aldığından, yükseltmeden etkilenmeden kalır ve bir BADI çoklu kullanım olarak tanımlanabildiğinden, birden fazla ekip birbirinin üzerine yazmadan aynı noktayı geliştirebilir.
BADI Çeşitleri
SAP İki nesil İş Eklentisi (Business Add-Ins) sunmaktadır. Klasik BADI, yukarıda açıklanan geliştirme tabanlı sürümdür ve yeni BADI, ile birlikte tanıtılmıştır. SAP NetWeaver, Geliştirme Çerçevesinin bir parçasıdır ve daha hızlı ve daha esnektir.
| Kriterler | Klasik BADI | Yeni (Çekirdek) BADI |
|---|---|---|
| Bakımı yapılıyor | SE18 ve SE19 | Geliştirme alanı içindeki Geliştirme Oluşturucu |
| Filtre | Basit filtre değerleri | Mantıksal ifadelerle filtre kombinasyonları |
| Geri çekil | Müsait değil | Aktif bir uygulama olmadığında varsayılan yedek sınıf çalıştırılır. |
| Destekleme | CL_EXITHANDLER=>GET_INSTANCE | GET BADI ve CALL BADI açıklamaları |
| Performans | Daha yavaş, her çağrıda nesne oluşturuluyor. | Daha hızlı, çekirdek tarafından yönetiliyor. |
Her iki nesil de benzer şekilde bulunup uygulanmaktadır, bu durum aşağıda açıklanmaktadır.
BADI Nasıl Tanımlanır ve Uygulanır?
Bu üç adımı içeriyordu
) 1 Adım BADI Tanımı ve Arayüzünün Oluşturulması: SE18 İşlemi.
) 2 Adım BADI Uygulamasını Oluşturun: İşlem Kodu SE19
) 3 Adım Arayüzü uygulayan bir sınıf tanımlayın: Uygulama oluşturma sırasında, geliştirmenin arayüzünü uygulayacak bir sınıf da oluşturulur.
Kodda, standart program, çıkış işleyici aracılığıyla uygulamaya ulaşır. Klasik desen, BADI referansını örneklendirir ve ardından arayüz yöntemini çağırır.
* 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.
💡 İpucu: Yeni bir çekirdek BADI'si, GET BADI ve CALL BADI ile daha basit bir şekilde çağrılır ve bu yöntemler filtre değerlerini de otomatik olarak işler. Çağrıyı yazmadan önce, geliştirme noktasının klasik mi yoksa yeni bir BADI mi olduğunu kontrol etmek için SE18'i kullanın.
⚠️Uyarı: SE18 işlemi tanımı ve arayüzü içerirken, SE19 işlemi uygulamayı içerir. SE18'de uygulamayı veya SE19'da tanımı oluşturmak, BADI'nin etkin olmamasına neden olan yaygın bir hatadır.
BADI vs Müşteri Çıkışı vs Kullanıcı Çıkışı
Her üç teknik de standardı artırır. SAPAncak teknoloji ve esneklik açısından farklılık gösterirler. Aşağıdaki tabloda BADI, iki eski modelin yanına yerleştirilmiştir. çıkış teknikleri.
| Kriterler | Kullanıcı Çıkışı | Müşteri Çıkışı | BADİ |
|---|---|---|---|
| Teknoloji | Alt program (FORM) | Fonksiyon modülü, ekran veya menü | Nesne yönelimli arayüz ve sınıf |
| kapsam | Yalnızca SD modülü | Tüm modüller | Tüm modüller |
| Uygulama sayısı | Bir | Bir | Çoklu, birden fazla kullanım olarak tanımlandığında |
| Bakımı şu şekilde sağlanmaktadır: | Doğrudan düzenleme dahil | SMOD ve CMOD | SE18 ve SE19 |
| Upgrade güvenli | SPAU ile kontrol edildi. | Evet | Evet |
Pratik kural, mevcut olduğunda BADI'yi kullanmaktır, çünkü nesne yönelimli, yükseltmelere karşı güvenli ve birden fazla kez uygulanabilir.



