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.

  • 🧩 Temel Tanım: Bir İş Eklentisi, standart işlevlere özel işlevsellik ekleyen, müşteri çıkışı gibi bir geliştirme kancasıdır. SAP Onu değiştirmeden.
  • 🧱 Nesne Yönelimli: Bir BADI, bir arayüz tanımlar ve geliştirme, ayrılmış bir include dosyasında değil, bu arayüzü uygulayan bir sınıfta yer alır.
  • 🔁 Çoklu Uygulamalar: Müşteri çıkışının aksine, bir BADI birden fazla kez uygulanabilir; bu da sektör çözümlerine ve ülke sürümlerine uygundur.
  • 🔓 Upgrade Kasa: BADI'nin hiçbir şeye ihtiyacı yoktur. SAP Yazılım Değişikliği Kaydı yapılır ve sürüm yükseltmesinden etkilenmez.
  • Tanım ve Uygulama: Tanım ve arayüz SE18'de, uygulama ve sınıfı ise SE19'da oluşturulur.
  • 🆕 Klasik ve Yeni: Klasik BADI, geliştirme odaklıdır ve NetWeaver'da tanıtılan yeni çekirdek BADI, filtreler, yedek sınıflar ve daha iyi performans ekler.

BADI nedir? SAP ABAP

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

BADI örneği

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.

BADI Tanımlama ve Uygulama

) 2 Adım BADI Uygulamasını Oluşturun: İşlem Kodu SE19

BADI Tanımlama ve Uygulama

) 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.

SSS

SE18, tanımın ve arayüzünün oluşturulduğu BADI Oluşturucusudur. SE19 ise, bu tanıma bir uygulayıcı sınıfın eklendiği Uygulama Oluşturucusudur. Biri kancayı tanımlar, diğeri onu doldurur.

Çoklu kullanımlı bir BADI, aynı anda birden fazla aktif uygulamaya izin verir ve yöntem çağrıldığında bunların tümü çalışır. Tek kullanımlı bir BADI ise yalnızca bir aktif uygulamaya izin verir.

CL_EXITHANDLER=>GET_INSTANCE üzerinde bir kesme noktası belirleyin, işlemi çalıştırın ve EXIT_NAME parametresinden BADI adını okuyun. Yeni BADI'ler için, Depo Bilgi Sistemindeki programın geliştirme noktalarını arayın.

Evet. ABAP geliştirme araçlarındaki yapay zeka asistanları, gereksinim tanımından yola çıkarak uygulama sınıfını, metot gövdesini ve filtre mantığını taslak haline getirir. Geliştirici yine de SE19'da uygulamayı etkinleştirir ve test eder.

Yapay zeka danışmanları standart programı inceler ve hangi iyileştirme seçeneklerinin mevcut olduğunu rapor eder, ardından yeni BADI'yi yeni çalışmalar için bir iyileştirme alanına önerir.ping Sadece bu seçeneğin sunulduğu klasik BADI.

Bu yazıyı şu şekilde özetleyin: