Showing posts with label RAP. Show all posts
Showing posts with label RAP. Show all posts

Wednesday, 8 October 2025

Belajar SAP ABAP RAP

 

Belajar SAP ABAP RAP: Pengenalan dan Konsep Dasar Restful ABAP Programming Model

Kalau kamu seorang ABAPer yang mulai terjun ke dunia SAP S/4HANA atau ABAP Cloud, pasti sudah sering dengar istilah RAP — singkatan dari RESTful ABAP Programming Model.
Framework ini adalah cara modern dari SAP untuk membangun aplikasi bisnis berbasis layanan (service-based application) menggunakan prinsip REST dan OData V4, yang menjadi dasar dari aplikasi SAP Fiori.


Apa Itu ABAP RAP?

ABAP RAP (RESTful ABAP Programming Model) adalah model pemrograman modern di lingkungan ABAP Platform yang memungkinkan developer membangun aplikasi bisnis dengan arsitektur service-oriented.
RAP merupakan evolusi dari model pemrograman ABAP sebelumnya seperti BOPF (Business Object Processing Framework) dan ABAP Programming Model for Fiori.

Tujuan utama RAP adalah menyatukan cara membangun aplikasi ABAP — dari lapisan data, logika bisnis, hingga UI — agar bisa dijalankan baik di S/4HANA On-Premise maupun di SAP BTP ABAP Environment (ABAP Cloud).


Arsitektur ABAP RAP

Secara umum, RAP dibangun dengan tiga lapisan utama:

  1. Data Modeling & Behavior
    Dibangun menggunakan ABAP CDS View dan Behavior Definition. Di sini kamu mendefinisikan struktur data, hubungan antar entitas, serta bagaimana data bisa dibuat, diubah, atau dihapus.

  2. Business Logic
    Diatur melalui Behavior Implementation dalam kelas ABAP (biasanya berawalan ZBP_...). Bagian ini berisi logika bisnis dan validasi data.

  3. Service Exposure
    Lapisan terakhir yang bertugas men-expose objek bisnis sebagai OData Service melalui Service Definition dan Service Binding — supaya bisa diakses oleh aplikasi Fiori.

Dengan struktur ini, ABAP RAP membuat pengembangan aplikasi menjadi lebih modular, bersih, dan efisien.


Komponen Utama dalam ABAP RAP

1. CDS View (Data Model)

RAP menggunakan Core Data Services (CDS) untuk mendefinisikan model data. CDS memungkinkan kita membuat representasi data yang semantik, reusable, dan langsung bisa dikonsumsi oleh Fiori.

Contoh:

Contoh:

@AbapCatalog.sqlViewName: 'ZV_BOOK' @EndUserText.label: 'Book Data' define root view entity ZI_Book as select from zbook { key book_id, title, author, price, published_on }

2. Behavior Definition

File ini mendefinisikan perilaku (behavior) dari entitas CDS — misalnya apakah data bisa dibuat, diperbarui, atau dihapus.

Contoh:

managed implementation in class zbp_i_book unique; define behavior for ZI_Book alias Book persistent table zbook { create; update; delete; }

3. Behavior Implementation

Bagian ini berisi logika bisnis yang dijalankan saat entitas diproses, misalnya validasi input atau aksi tertentu.

Contoh:

CLASS zbp_i_book DEFINITION PUBLIC FINAL. PUBLIC SECTION. INTERFACES: if_abap_behavior_handler. ENDCLASS. CLASS zbp_i_book IMPLEMENTATION. METHOD create. LOOP AT entities INTO DATA(book). IF book-price < 0. failed = VALUE #( ( %cid = book-%cid reason = 'Invalid Price' ) ). ENDIF. ENDLOOP. ENDMETHOD. ENDCLASS.

4. Service Definition dan Service Binding

Terakhir, kamu perlu men-expose entitas sebagai OData Service agar bisa digunakan oleh aplikasi Fiori Elements.

define service ZUI_BookService { expose ZI_Book; }

Setelah membuat Service Definition, kamu buat Service Binding (biasanya tipe OData V4) dan aktifkan.
SAP akan otomatis menghasilkan endpoint yang bisa diuji langsung dari browser atau Fiori preview.


Keuntungan Menggunakan ABAP RAP

Beberapa keunggulan utama RAP dibandingkan pendekatan lama:

  • Cloud-ready: bisa digunakan di SAP BTP ABAP Environment.

  • Modern architecture: berbasis REST dan OData V4.

  • Reusable: model data dan logika bisnis terpisah dengan jelas.

  • Secure: terintegrasi dengan DCL (Data Control Language) untuk otorisasi.

  • Efficient: CRUD otomatis, transaction handling, dan integrasi penuh dengan Fiori.


Perbandingan RAP vs BOPF vs ABAP Klasik

AspekClassic ABAPBOPFRAP
ArsitekturProceduralObject-OrientedService-Oriented
UI IntegrationManual (Dynpro)Fiori OData V2Fiori Elements OData V4
DeploymentOn-PremiseOn-PremiseOn-Premise & Cloud
Data ModelTransparent TableBOPF ObjectCDS View Entity

Kesimpulan

ABAP RAP adalah masa depan pengembangan aplikasi di ekosistem SAP.
Dengan pendekatan yang modular, cloud-ready, dan service-based, framework ini membuat developer lebih mudah membangun aplikasi Fiori modern tanpa banyak coding procedural.

Belajar SAP ABAP RAP

  Belajar SAP ABAP RAP: Pengenalan dan Konsep Dasar Restful ABAP Programming Model Kalau kamu seorang ABAPer yang mulai terjun ke dunia SAP...