RAP · informational
RAP managed ile unmanaged arasında nasıl seçilir
RAP’te managed davranışta çerçeve create, update, delete ve isteğe bağlı draft’ı üretir. Unmanaged’da etkileşim ve kayıt sizin mevcut API’nize gider. Fiori Teknoloji önce released bir yazma API’si var mı diye bakar; yoksa managed ile yeni bir iş nesnesi modellemek clean-core’a daha yakındır.
Managed davranış ne üretir
Managed RAP’te transactional buffer, kilitleme ve kalıcı kayıt çerçevesi SAP kodundadır. Siz determinations, validations ve action’ları yazarsınız; CRUD iskeletini yeniden icat etmezsiniz. Draft açıldığında taslak tablolar ve özel kilit yönetilir. Yeni bir iş nesnesi S/4’te kalacaksa ve released bir yazma API’si yoksa, managed çoğu zaman doğru yerdir. Tablolar sizin kontrolünüzde olmalı ve yükseltmeyi kilitlememelidir. Fiori Elements Object Page managed + draft ile kaydetmeden gezinmeyi bekler. İstanbul ekiplerinde unmanaged’a kaçış, “zaten BAPI var” cümlesiyle gelir. BAPI released değilse sarmalamak clean-core değildir. Managed with additional save, çerçeve kaydının yanına ek yan etki koyar; bu, klasik unmanaged’ın kapısı değil, sınırlı bir uzantıdır.
- Managed’da CRUD ve buffer çerçevede, iş kuralı sizde kalır
- Draft, Object Page’de kaydetmeden gezinme için managed ile uyumludur
- Additional save yan etki içindir; mevcut BAPI’yi gizlemez
Unmanaged ne zaman kaçınılmaz
Unmanaged, iş nesnesinin yazma yolu zaten var olan released bir API ise seçilir. Interaction phase’de okuma ve tampon, save sequence’de API çağrısı sizin sınıfınızdadır. Amaç eski fonksiyonu RAP etiketiyle sarmalayıp Fiori üretmek değildir; sözleşmeyi OData V4 ve behavior ile görünür kılmaktır. Released olmayan BAPI, RFC veya güncelleme programı unmanaged ile “yasal” hale gelmez. Standard bir S/4 uygulaması zaten RAP veya eski bir çerçeve sunuyorsa, onu kopyalamak yerine uzantı noktasını ararız. Fiori Teknoloji unmanaged teslimatta her API çağrısını keşif notuna yazar. Testte hem başarılı kayıt hem API reddi Object Page mesajına dönmelidir. Unmanaged + draft desteklenir ama karmaşıklık artar; gerekçesi olmayan draft’ı açmayız.
- Unmanaged, released yazma API’si varken seçilir
- Klasik BAPI sarmalamak tek başına clean-core kanıtı değildir
- Save sequence hata mesajı Fiori’de kullanıcı dilinde dönmelidir
Karar tablosu: keşifte sorulan üç soru
Birinci soru: veri S/4’te mi yaşamalı, yoksa BTP’de mi? BTP ise bu yazı kapanır, iş CAP’e gider. İkinci soru: yazma için released API var mı? Varsa unmanaged veya API’yi tüketen ince bir RAP. Yoksa üçüncü soru: yeni bir iş nesnesi yönetilen tablolarla modellenebilir mi? Evet ise managed. Hayır ise süreç ya in-app custom field/logic ile kalır ya da side-by-side’a çıkar. Fiori Teknoloji bu üç soruyu aynı toplantıda kapatır; “önce unmanaged yazalım sonra bakarız” sprint planı değildir. Managed’ı her şeye varsayılan yapmak da yanlıştır: standart sipariş nesnesini yeniden yazmak yükseltmeyi kırar. Amaç Fiori ekranı değil, yükseltilebilir davranış sözleşmesidir.
- Süreç BTP’de ise RAP managed/unmanaged tartışması yersizdir
- Released yazma API’si unmanaged’ı, yeni nesne managed’ı işaret eder
- Standart nesneyi yeniden yazmak Fiori teslimatı değil çekirdek kirliliğidir
Sık sorulanlar
Managed RAP’te draft zorunlu mudur?
Zorunlu değildir. Draft, Object Page’de uzun form ve kaydetmeden gezinme için açılır. Kısa, tek adımlı işlemlerde draft maliyeti gereksiz olabilir. Karar UX ve kilitleme ihtiyacına göre verilir.
Unmanaged her zaman eski kod demek midir?
Hayır. Unmanaged, yazmayı sizin released API’nize devretmenizdir. Eski Z-fonksiyonu sarmalamak unmanaged’ın kötüye kullanımıdır; Fiori Teknoloji bunu keşifte ayırır.
Bu konuyu ortamınızda netleştirmek için 48 saatlik ön değerlendirme.
Lisans satmıyoruz. Destination, yetki ve model kararını yazılı notlarız.