SAP S/4HANA: “Custom Logic” Uygulaması ile Clean Core Uzantılar Geliştirme
SAP dünyasında uzun yıllardır süregelen “standardı koruma” ve “yükseltme güvenliğini sağlama” ihtiyacı, S/4HANA 2023 sürümüyle birlikte çok daha somut ve kullanıcı dostu bir araçla karşımıza çıkıyor: Custom Logic.
Geleneksel geliştirme yöntemlerinde, sistemin çekirdek yapısına yapılan müdahaleler genellikle karmaşık yükseltme süreçlerine ve teknik borçlara yol açıyordu. SAP’nin “Keep the Core Clean” (Çekirdeği Temiz Tut) stratejisinin en güçlü temsilcilerinden biri olan bu Fiori tabanlı uygulama (App ID: F6957), artık “Key User” seviyesindeki kullanıcıların dahi kod yazabilmesine, test edebilmesine ve güvenli bir şekilde yayın yapabilmesine olanak tanıyor.
Bu makalede, herhangi bir harici geliştirme ortamına (IDE) bağlanmadan, doğrudan tarayıcı üzerinden iş mantığı (Business Logic) geliştirmenin inceliklerini keşfedeceğiz. Doküman boyunca, muhasebe süreçlerinin kalbi sayılan yevmiye kayıtlarında validasyon işlemlerini yöneten FIN_ACDOC_ITEM_VALIDATION arayüzü üzerinden adım adım bir uygulama gerçekleştireceğiz.
Gelin, sisteminizi özelleştirirken gelecekteki yükseltme süreçlerinizi nasıl güvence altına alabileceğinize ve geliştirme hızınızı nasıl artırabileceğinize birlikte bakalım.
Makale İçeriği Özeti:
- Neden Custom Logic kullanmalıyız?
- Adım adım uygulama ve dokümantasyon inceleme süreçleri.
- Web tabanlı kod editörü ve örnek şablon kullanımı.
- Test, karşılaştırma ve canlıya alma (Publish) adımları.
1. Giriş: Neden Custom Logic? (Fiori App ID: F6957)
Custom Logic, SAP tarafından yayınlanan ve genişletilmeye uygun (extensible) noktalar üzerinde iş lojiği geliştirmenize olanak tanıyan web tabanlı bir araçtır. Bu uygulamanın en büyük avantajları:
· IDE Gerektirmez: Doğrudan tarayıcı üzerinden kod yazabilir, test edebilir ve yayınlayabilirsiniz.
· Güvenli Genişletme: SAP’nin izin verdiği nesnelerle çalışarak yükseltme (upgrade) süreçlerini riske atmazsınız.
· Hızlı Prototipleme: Örnek kodları görerek saniyeler içinde taslak oluşturabilirsiniz.

2. Adım Adım Uygulama Süreci
Adım 1: Uygulamayı Başlatma ve Yeni Kayıt Oluşturma
Fiori Launchpad üzerinden Custom Logic uygulamasını açın. Karşınıza çıkan ana ekranda mevcut implementasyonları görebilir veya sağ alt köşedeki “Create” (Oluştur) butonuna tıklayarak yeni bir uzantı başlatabilirsiniz.
Adım 2: Uzantı Noktası (Extension Point) Seçimi
Burada hangi iş sürecine müdahale edeceğimizi seçiyoruz.
· Business Context: Accounting: Journal Entry (Muhasebe: Yevmiye Kaydı)
· Extension Point: FIN_ACDOC_ITEM_VALIDATION (Validation of Journal Entry Items)
Bu BAdI, muhasebe belgesi kalemleri kaydedilmeden hemen önce tetiklenerek girilen verilerin doğruluğunu kontrol etmemizi sağlar.

Adım 3: Dokümantasyon
Seçtiğiniz her BAdI için SAP çok detaylı bir dokümantasyon sunar. “View Documentation” kısmına tıkladığınızda; bu BAdI’nin hangi parametreleri aldığı, hangi durumlarda tetiklendiği ve hangi CDS View’lerin referans alınabileceği gibi kritik bilgileri bulabilirsiniz.

Adım 4: Uygulama Kimliği (Implementation ID) Belirleme
Seçiminizi yaptıktan sonra uygulamanıza bir açıklama ve benzersiz bir kimlik (ID) verin. Genellikle teknik standartlar gereği ID’lerin “Z” veya “Y” ile başlaması önerilir
(Örn: YY1_FIN_ACDOC_ITEM_VALIDATION).

Adım 5: Kod Düzenleyici ve Örnek Kodlar
Uygulama oluşturulduktan sonra “Open Code Editor” (Kod Düzenleyiciyi Aç) butonuna tıklayarak web tabanlı editöre geçiş yapabilirsiniz.
Not: Genişletmeyi publish etmeden Open Code Editor” (Kod Düzenleyiciyi Aç) butonuna aktif olmayacaktır.
· Kod yazmaya başlamadan önce “Show Sample Code” (Örnek Kodu Göster) diyerek SAP’nin bu BAdI için sağladığı şablonu görebilir ve doğrudan kopyalayabilirsiniz.

Adım 6: Test ve Karşılaştırma
Kodunuzu yazdıktan sonra sistemden çıkmadan “Test” sekmesini kullanabilirsiniz. Burada parametrelere başlangıç değerleri vererek kodun çıktısını (Value Out) anında kontrol edebilirsiniz. Ayrıca “Compare” (Karşılaştır) özelliği ile mevcut taslağınızı daha önce yayınlanmış sürümlerle yan yana kıyaslayabilirsiniz.

Adım 7: Yayınlama (Publish)
Testleriniz başarılıysa, sağ üstteki “Publish” butonuna basarak mantığınızı aktif hale getirin. Durum “Published” (Yayınlandı) olarak güncellenecek ve uzantı artık iş süreçlerinizde çalışmaya başlayacaktır.


