SAP ABAP RAP Modeli Nedir? Adım Adım SAP CLOUD Uygulama Geliştirme Rehberi

Teknoloji 14 February 2026
SAP ABAP RAP Modeli Nedir?  Adım Adım SAP CLOUD Uygulama Geliştirme Rehberi

Modern ABAP dünyasının kalbi olan RAP, bulut tabanlı ve optimize edilmiş uygulamalar geliştirmek için standartlaşmış bir mimari sunar. Bu modelle uygulama geliştirirken kod yazacağımız ana merkez Eclipse IDE'dir.

RAP SAP Cloud projelerin de en çok tercih edilen geliştirme yöntemlerinden birisidir.

Başlamadan Önce: Teknik Programlar

RAP projeleri geliştirmek için klasik SAP GUI yeterli değildir. Şu araçlara ihtiyacınız vardır:

Eclipse IDE: En güncel sürümü tercih edilmelidir.

ADT (ABAP Development Tools): Eclipse üzerine kurulan, SAP sistemine bağlanmamızı sağlayan eklenti paketi.

Not: Eğer bir cloud sistem için RAP projesi geliştireceksiniz ve cloud ortamınız yoksa SAP BTP Trial kullanabilirsiniz.

BTP Trial URL:
https://www.sap.com/products/technology-platform/trial.html

BTP Trial hesabınız da bir sunucu açtıktan sonra ABAP ortamınıza ait service key ile eclipse üzerinden sunucu bağlantısını gerçekleştirebilirsiniz.
 

Adım 1: Veri Modeli ve CDS Views (Veri Modeli)

Görseldeki yeşil kutu ile temsil edilen CDS Views, RAP'ın temel taşıdır.

İşlem: Veritabanı tablolarınızı tanımladıktan sonra, bu tabloları dış dünyaya sunmak için Data Definitions (CDS) oluşturursunuz.

Amaç: Veriyi sadece ham haliyle çekmek değil, ilişkilendirmeler (Associations) kurarak iş mantığına hazırlamaktır.

 

Adım 2: Davranış Tanımlama (Behaviour Definition)

Veri modeliniz hazır olduktan sonra, bu modelin "nasıl davranacağını" belirlemeniz gerekir. Bunun için data modele bağlı bir behaviour tanımlarım.

Mapping: Veritabanı alanları ile CDS alanlarını eşleştirirsiniz. Yoksa CRUD işlemlerini yapamayız.

Kabiliyetler: Uygulamanızda Create, Read, Update, Delete (CRUD) işlemlerine izin verilip verilmeyeceği burada tanımlanır.

Bir projection behaviour' a da her zaman ihtiyacım olacaktır çünkü UI işlemleri projection ile gerçekleşir. Ben CRUD işlemleri için de örnek edit delete vs. gibi butonları tanımlamam gerekecektir
 

Adım 3: Yetkilendirme ve EML (Entity Manipulation Language)

Authorization: Kullanıcının hangi veriyi görmeye veya değiştirmeye yetkisi olduğunu burada kurgularsınız.

ABAP EML: RAP nesneleriyle etkileşime girmek için kullanılan özel söz dizimidir. Bir RAP nesnesinden veri okumak veya yazmak için standart SQL sorguları yerine EML komutları kullanılır.

 

Adım 4: İş Mantığı: Determination, Validation ve Action

Görselin alt kısmındaki kutular, uygulamanın "beynini" temsil eder:

Determination (Manipüle): Bir alan değiştiğinde başka bir alanın otomatik hesaplanması (Örn: Fiyat * Adet = Toplam).

Validation (Kontrol): Kullanıcının girdiği verinin doğruluğunu kontrol eder (Örn: Tarih geçmişte olamaz).

Action (Yeni Eventler): Standart dışı özel fonksiyonlar (Örn: "Siparişi Onayla" butonu).

 

Behaviour Pool: Tüm bu mantıkların gerçek ABAP kodları ve EML ile yazıldığı sınıflardır.

 

Adım 5: Projection Layer (Görünüm)

Görseldeki mavi kutu, verinin kullanıcıya sunulmadan önceki "filtre" aşamasıdır.

Projection View: Ana veri modelinden sadece ihtiyacınız olan alanları seçersiniz.

Behaviour Projection: Ana modeldeki hangi aksiyonların (Action) bu görünümde aktif olacağını seçersiniz. (behaviour defination adımın da bahsedilmiştir.)
 

Adım 6: Metadata Extensions (UI Düzenlemeleri)

Görseldeki siyah kutu, Fiori arayüzünün nasıl görüneceğini belirler.

Hangi alan ilk sütunda olacak?

Hangi alan arama kriteri (Filter) olacak?

Bu tanımlamalar @EndUserText veya @UI anotasyonları ile yapılır.
 

Adım 7: Servis Tanımlama ve Bağlama (Services: Definition & Binding)

Artık modelinizi dış dünyaya açma vaktidir:

Service Definition: Hangi CDS projeksiyonlarının servis kapsamında olacağını seçersiniz.

Service Binding: Servisin protokolünü (OData V2 veya V4) ve tipini (UI veya API) belirlersiniz.
 

Bu adım da önce bir servis tanımlama işlemi yapılır daha sonra tanımlanan servise bağlı olacak şekilde servis binding işlemi yapılır.

Adım 8: Preview (Role / Preview)

Eclipse üzerinden oluşturduğunuz servisi "Publish" ettikten sonra, SAP Fiori Elements önizlemesini kullanarak uygulamanızı tarayıcıda test edebilirsiniz.
 

Özetle: RAP; veriyi CDS ile modeller, davranışı Behaviour Definition ile belirler, iş mantığını ABAP sınıflarında yazar, projection ile görünümü ayarlar ve günün sonunda tüm bu yapıyı OData servisi olarak sunar.


Ben Abdulkerim Yenidoğan, bir SAP Danışmanı olarak kurumsal kaynak planlama ve yazılım geliştirme süreçlerinde SAP teknolojilerinin gücünü en verimli şekilde kullanmaya odaklanıyorum. Sektördeki deneyimlerimi, karşılaştığım teknik zorlukları ve çözüm yollarını sizlerle paylaşarak SAP ekosistemine katkı sağlamayı amaçlıyorum.

Bu makalede, modern ABAP dünyasının kalbi olan SAP Cloud ABAP RESTful Application Programming Model (RAP) yapısını, Clean Core prensibine bağlı kalacak şekil de adım adım sizlere anlattım. Umuyorum ki bu rehber, projelerinizde size yol gösterici bir kaynak olur.

Geliştirdiğiniz projelerle ilgili sorularınız, geri bildirimleriniz veya teknik istişareleriniz için bana her zaman ulaşabilirsiniz. Bir sonraki makalemizde görüşmek üzere.