Uzmanlık

ABAP Entegrasyon Uzmanı

ABAP, SAP'nin içinde çalışan iş mantığının dilidir. Benim çalışma alanım bu iş mantığının dışarıya açılan uçları: ABAP ile sunulan API uçları, RFC/BAPI ve OData servisleri üzerinden veri eşleme, hata yönetimi ve test. SAP tarafında ABAP API uçları üzerinden çalışan kurumsal e-ticaret projelerinde entegrasyon katmanını kurdum; sözleşmeyi de tüketen tarafı da birlikte ele alıyorum. Özel ABAP geliştirmesi gereken işlerde kapsamı SAP ekibiyle ayırıp sözleşmeyi netleştiriyorum.

ABAP entegrasyonda ne anlama gelir?

ABAP, SAP içindeki iş kurallarının, kontrollerin ve veri erişiminin yazıldığı dildir. Dışarıdaki bir site veya mobil uygulama SAP'deki veriyi doğrudan okumaz; SAP tarafında açılan bir fonksiyon, servis veya IDoc üzerinden konuşur. Bu uçlar çoğu zaman ABAP ile yazılır: fonksiyon modülleri ve BAPI'ler, class tabanlı servisler, OData servisleri ya da IDoc çıkışları.

Benim tarafım, bu uçların sözleşmesini netleştirmek ve onları doğru tüketmek: hangi alan hangi tipe karşılık gelir, hangi hata ne anlama gelir, bir kayıt iki kez gönderilirse ne olur ve sistem bakımdayken işler nasıl birikir. ABAP kodunun tamamını yazmak yerine, entegrasyonun uçtan uca doğru çalışmasını sahipleniyorum.

API sözleşmesi ve veri eşleme

Entegrasyonun en çok hata çıkaran kısmı alan eşlemesidir. SAP'de bir tarih, para tutarı, birim veya kod tablosu dışarıdaki sistemden farklı davranır. Sözleşmede şunları açıkça tanımlıyorum:

  • Tipler: tarih ve saat formatı, ondalık ayırıcı, para birimi ve ölçü birimi.
  • Kod tabloları: ülke, dil, birim ve müşteri grubu gibi alanların karşılıkları.
  • Zorunlu ve opsiyonel alanlar: hangi alanın boş gelebileceği ve boşken ne anlama geldiği.
  • Karakter seti: Türkçe karakterlerin ve özel işaretlerin bozulmadan taşınması.
  • Örnek istek ve yanıtlar: her servis için gerçek veriye yakın örnekler.

Sözleşme yazılı olduğunda SAP ekibi ile entegrasyon geliştiricisi aynı belgeye bakar; "bende çalışıyordu" tartışması yerine ölçülebilir bir kabul kriteri olur.

Bağlantı yöntemleri

  • RFC / BAPI: SAP içindeki standart iş fonksiyonlarına erişir. Dönüş tablosundaki mesajlar mutlaka okunmalıdır; işlem başarılı görünse bile içinde hata olabilir.
  • OData / REST: HTTP üzerinden çalışır; web ve mobil için en pratik yöntemdir. Filtreleme, sayfalama ve yetkilendirme sözleşmenin parçası olmalıdır.
  • IDoc: asenkron ve hacimli akışlarda kullanılır. Gönderim sonrası durum takibi ve hatalı IDoc'ların yeniden işlenmesi gerekir.
  • SOAP: eski servislerde hâlâ yaygın; WSDL üzerinden sözleşme okunur ve zarf yapısı dikkatle kurulur.

Hata yönetimi ve dayanıklılık

SAP entegrasyonunda en tehlikeli durum, işlemin başarısız olduğunu fark etmemektir. Bu yüzden her çağrıda dönüş mesajları ayrıştırılır; hata, uyarı ve başarı durumları ayrı ele alınır. Kayıtlar tekil anahtarla gönderilir, hata alan kayıt kuyrukta bekler ve tekrar denenir. Kalıcı hatalar operatöre görünür bir kuyruğa düşer; sessizce kaybolmaz. Tüm aktarımlar loglanır, böylece "ne zaman ne gönderildi" sorusu sonradan cevaplanabilir.

Test ve canlıya geçiş

Test, yalnızca mutlu yolun denenmesi değildir. Şu senaryolar ayrıca çalıştırılır: geçersiz kod değeri, eksik zorunlu alan, aynı kaydın iki kez gönderilmesi, SAP tarafında yetki hatası ve bağlantı kesintisi. Test ortamında gerçek veriye yakın bir kümeyle çalışılır. Canlıya geçişte kontrollü pilot, kısa paralel çalışma ve geri dönüş planı uygulanır; ilk günlerde hata kuyruğu ve gecikme izlenir.

Kapsam ve ekip çalışması

Kapsamlı özel ABAP geliştirmesi genellikle müşterinin SAP ekibi veya çözüm ortağı tarafından yapılır. Ben API sözleşmesini, entegrasyon katmanını, web ve mobil tüketimi, hata yönetimini ve testleri teslim ederim; teslim ettiğim projelerde SAP tarafında ABAP ile sunulan API uçları yer aldı. Gerektiğinde servis tanımını SAP ekibiyle birlikte netleştirir, test çağrılarını ve kabul kriterlerini yazılı hale getiririm.

Sık sorulan sorular

ABAP kodu yazıyor musunuz?

Entegrasyon tarafında ABAP servislerini tüketiyor ve sözleşmelerini tasarlıyorum. Kapsamlı özel ABAP geliştirmesi genellikle müşterinin SAP ekibi veya çözüm ortağıyla yürütülür; teslim ettiğim projelerde SAP tarafında ABAP ile sunulan API uçları yer aldı.

RFC mi, OData mı kullanmalıyım?

Web ve mobil kanallar için OData/REST genellikle daha pratiktir; mevcut iş fonksiyonlarına doğrudan erişim gerekiyorsa RFC/BAPI öne çıkar. Karar; veri hacmi, senkron ihtiyacı, yetkilendirme ve SAP sürümüne göre verilir.

BAPI hata döndürürse ne olur?

Dönüş tablosundaki mesajlar ayrıştırılır; hata ve uyarı durumları başarıdan ayrılır. Kayıt kuyrukta tutulur, tekrar denenir ve kalıcı hata operatöre görünür. İşlemin "başarılı görünüp" içinde hata taşıması en sık karşılaşılan tuzaklardan biridir.

IDoc ile sipariş aktarımı nasıl izlenir?

Gönderim sonrası IDoc durumu takip edilir; hatalı kayıtlar yeniden işleme alınır. Entegrasyon tarafında her IDoc için kaynak kaydın anahtarı loglanır, böylece kayıp veya mükerrer aktarım tespit edilebilir.

Test ortamı olmadan başlanabilir mi?

Önerilmez. Test istemcisi veya sandbox olmadan servis davranışını doğrulamak, canlı veride deneme yapmak anlamına gelir. Test ortamı yoksa önce onun kurulması veya güvenli bir kopya üzerinde çalışılması gerekir.

Mevcut ABAP servisimizi kullanabilir miyiz?

Evet. Servis dokümanı, örnek istek/yanıt ve test çağrısı üzerinden mevcut uç değerlendirilir; eksik alanlar veya hata davranışları netleştirilir. Gerekiyorsa SAP ekibiyle servis sözleşmesi güncellenir.