RAP · troubleshooting

RAP DCL: Fiori’de boş liste çoğu zaman yetkidir

RAP servisi açılır, karo görünür, liste boş kalır. Bu sahne çoğu zaman DCL veya PFCG’dir, CDS hatası değil. Fiori Teknoloji yetkiyi behavior’dan sonra değil, modelin parçası olarak yazar; DCL’siz RAP üretim teslimatı sayılmaz.

DCL ne keser, PFCG ne keser

DCL (Data Control Language), CDS entity üzerinde satır ve alan erişimini tanımlar. PFCG rolü DCL’in işaret ettiği yetki nesnelerini kullanıcıya verir. S_SERVICE OData servisini çağırma iznidir; bu var diye kayıt görünmez. Instance yetkisi şirket kodu, satış organizasyonu veya tesis keser. Fiori katalog ve space karoyu gösterir; veri DCL’den geçer. Fiori Teknoloji test kullanıcısını iş rolüyle, geliştirici SAP_ALL ile ayırır. SAP_ALL ile dolu liste, gerçek kullanıcıda boşsa sorun modelde değil rolde aranmaz; tam tersi, DCL beklenen kesimdir. Access control yoksa her kayıt açılır; bu da teslimat hatasıdır. Value help CDS’inde ayrı DCL unutulursa yardımda sızıntı olur. Draft entity yetkisi aktif kayıttan farklı tanımlanmazsa taslak görünmez veya herkese görünür.

  • S_SERVICE çağrıyı açar; satırı DCL + PFCG keser
  • Karo yetkisi veri yetkisi değildir
  • Value help ve draft için ayrı DCL unutulmaz

Boş liste, 403 ve “yetkiniz yok” ayrımı

HTTP 403 servis veya ICF katmanıdır: binding yayınlanmamış, S_SERVICE yok, CSRF/oturum kopuk olabilir. 200 ile boş dizi DCL kesimidir; kullanıcıya “kayıt yok” gösterir, bu yanıltıcıdır. Fiori MessagePopover’da “authorization” metni validation veya authority-check’ten gelebilir; DCL sessiz keser. Fiori Teknoloji HAR dosyasında status, entity set ve $filter’ı okur. Geliştirme sisteminde DCL simülasyonu ADT ile yapılır. Üretimde STAUTHTRACE ve benzeri izler müşteri yetki ekibinin aracıdır; uydurma not numarasıyla “şu OSS’i uygula” demeyiz. Principal propagation BTP üzerinden geliyorsa S/4 kullanıcısı tarayıcı kullanıcısından farklı map edilmiş olabilir. Bu zincir kırıkken DCL’i yeniden yazmak vakit kaybıdır. Önce kimlik, sonra rol, sonra DCL.

  • 403 katman yetkisi, 200 boş gövde çoğu zaman DCL kesimidir
  • DCL sessiz keser; kullanıcı bunu “veri yok” sanır
  • BTP zincirinde önce kullanıcı eşlemesi, sonra DCL bakılır

DCL’i RAP modeline gömmek

DCL, interface veya projection CDS’e grant ile bağlanır. Role where koşulları PFCG alanlarına map edilir. Full access yalnızca geliştirme kaçağıdır. Fiori Teknoloji her RAP işinde yetki nesnesi envanterini keşifte ister: yoksa standart nesne mi, yeni nesne mi karar verilir. Yeni yetki nesnesi iş ekibi ve güvenlik ile birlikte doğar; geliştirici tek başına uydurmaz. Performansta DCL, CDS’e ek WHERE demektir; kötü koşul HANA planını bozar. Test senaryosu: yetkili görür, yetkisiz boş görür, kısmi organ yetkili kısmi görür. Üçü yoksa DCL “yazıldı” sayılmaz. Go-live sonrası rol kopyalama AMS’te en sık ticket’tır. Destek sözleşmesi rol şablonunu içerir. DCL’i kapatarak demo yapmak üretim rolünü öğretmez.

  • Grant hangi CDS’in kesileceğini, PFCG hangi kullanıcının geçeceğini söyler
  • Üç test: tam yetki, sıfır yetki, organ bazlı kısmi yetki
  • Demo için DCL kapatmak üretim rolünü doğrulamaz

Sık sorulanlar

DCL yazılmazsa ne olur?

Access control yoksa CDS kayıtları yetki nesnesine takılmadan dönebilir. Karo ve S_SERVICE ayrı katmanlardır. Üretimde DCL’siz RAP kişisel veri ve şirket kodu sızıntısı riskidir.

Fiori’de 403 alıyorum, DCL mi?

Genelde hayır. 403 servis, ICF veya S_SERVICE tarafıdır. DCL çoğunlukla 200 ve boş liste üretir. Önce binding ve rol servis nesnesi, sonra DCL bakılı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.

İlgili hizmet

İlgili yazılar

Blog arşivi · İletişim

İletişim

Teslimat ekibine yazın

Gelen kanal: info@fioriteknoloji.com

Keşif 30 dakika. 48 saat içinde yazılı ön değerlendirme. Gelen kanal e-posta ve bu formdur.

Göndererek KVKK metnini kabul edersiniz.