ABAP
ABAP (Advanced Business Application Programming) adalah bahasa pemrograman tingkat tinggi multi-paradigma yang dikembangkan oleh SAP. Digunakan untuk membangun, memodifikasi, dan mengoptimalkan logika proses bisnis pada sistem enterprise berskala global (SAP ECC dan SAP S/4HANA).
Jalur Pembelajaran Terstruktur
Kurikulum dibagi menjadi dua jalur terintegrasi: Track 1 untuk penguasaan alur pengembangan inti dari fundamental hingga arsitektur modern SAP S/4HANA (Fiori/RAP), dan Track 2 sebagai ensiklopedia referensi operasional, pengujian mutu, integrasi, dan tata kelola enterprise:
Track 1: Core ABAP Developer (Modul 1–11)
🟢 Fundamental (Fondasi Bahasa & Arsitektur)
- 🟢 ABAP Dasar (Modul 1)
→ Arsitektur 3-tier SAP, Transaction Codes (T-Code), aturan sintaks, tipe data bawaan, control flow, input
PARAMETERS, dan system variables (sy-subrc). - 🟢 ABAP Data Dictionary (DDIC) (Modul 2) → Data modeling level database: Domain, Data Element, Transparent Table, Structures, Table Types, Search Help, Lock Objects, dan Table Maintenance Generator (TMG).
- 🟢 ABAP Internal Tables (Modul 3)
→ Struktur data in-memory: Standard Table, Sorted Table, Hashed Table, Work Area, Field Symbols, hingga ekspresi tabel modern ABAP 7.40+ (
VALUE,FOR, table expressions).
🟡 Intermediate (Logika Bisnis & Pelaporan)
- 🟡 ABAP Database Access & Open SQL (Modul 4)
→ Interaksi database Open SQL, sintaks modern 7.40+, operasi CRUD, optimasi performa (
FOR ALL ENTRIESvsJOIN), dan SAP LUW (COMMIT WORK). - 🟡 ABAP Modularization & Integration (Modul 5) → Pengorganisasian kode dengan Function Groups, Function Modules, Remote Function Call (RFC), dan Business Application Programming Interface (BAPI).
- 🟡 ABAP Reports & ALV Grid (Modul 6)
→ Siklus hidup pelaporan interaktif (Selection Screen events) dan visualisasi data tabel menggunakan Object-Oriented ALV (
CL_SALV_TABLE). - 🟡 ABAP Objects (OOP) (Modul 7) → Pemrograman berorientasi objek di ABAP: Definition & Implementation Class, Encapsulation, Inheritance, Interface, Constructor, dan Class-based Exception Handling.
🔴 Advanced (Kustomisasi, Optimasi, & S/4HANA)
- 🔴 ABAP Enhancement Framework (Modul 8) → Kustomisasi standar SAP tanpa merusak standard code: User Exits, Customer Exits, BAdI (Business Add-Ins), serta Explicit & Implicit Enhancement Points.
- 🔴 ABAP Debugging & Performance Tuning (Modul 9)
→ Investigasi program dengan New ABAP Debugger, analisis dump runtime (
ST22), SQL Trace (ST05), dan Runtime Profiling (SAT). - 🔴 ABAP Core Data Services (CDS Views) & AMDP (Modul 10) → Paradigma Code-to-Data di S/4HANA: CDS Views di Eclipse ADT, Associations, Annotations, dan ABAP Managed Database Procedures (AMDP).
- 🔴 ABAP RESTful Application Programming (RAP) (Modul 11) → Arsitektur aplikasi modern S/4HANA untuk frontend SAP Fiori: Behavior Definition, Service Definition, dan eksposur OData Service (V2/V4).
Track 2: Enterprise Operations & Quality Reference (Modul 12–18)
Kumpulan modul referensi praktis yang dirancang untuk kebutuhan kerja operasional, penjaminan mutu (quality gates), integrasi asinkron, dan tata kelola rilis enterprise:
🛡️ Quality & Testing
- 🛡️ ABAP Unit & Automated Testing (Modul 12)
→ Pengujian otomatis bawaan: Test Class (
FOR TESTING), Test Fixtures (SETUP/TEARDOWN), Assertion (CL_ABAP_UNIT_ASSERT), dan integrasi di Eclipse ADT. - 🛡️ ABAP Test Cockpit (ATC) & Clean ABAP (Modul 13) → Pemeriksaan statis kode otomatis: Hubungan engine SCI dan ATC, Check Variants, gerbang rilis TR (Quality Gate), Exemption Workflow, dan kaidah gaya penulisan Clean ABAP.
🌐 Integrasi & Operasional Batch
- 🌐 IDoc & ALE Asynchronous Integration (Modul 14)
→ Integrasi asinkron enterprise: Arsitektur 3 lapis IDoc (
EDIDC,EDIDD,EDIDS), Message Types, Partner Profile (WE20), monitoring diWE02, dan pemrosesan ulang error diBD87. - 🌐 Background Jobs & Batch Processing (Modul 15)
→ Pemrosesan data massal latar belakang: Menghindari timeout dialog (
rdisp/max_wprun_time), penjadwalan diSM36, monitoring diSM37, Spool (SP01), dan debugging viaJDBG. - 🌐 TMS & Transport Management System (Modul 16)
→ Tata kelola pemindahan kode berjenjang (DEV QAS PRD): Workbench vs Customizing Request, alur rilis di
SE09/SE10, Import QueueSTMS, dan analisis Return Codes.
⚙️ Komponen Fondasi Enterprise
- ⚙️ Number Range Management (SNRO & Modern APIs) (Modul 17)
→ Penomoran dokumen transaksi bebas tabrakan (concurrency-safe): Pencegahan bahaya
SELECT MAX + 1, konfigurasiSNRO, buffering memori vs no-buffering, dan API moderncl_numberrange_runtime. - ⚙️ SLG1 & BALI Framework) (Modul 18)
→ Pencatatan jejak audit proses bisnis tanpa dialog: Konfigurasi Object/Subobject di
SLG0, monitoring forensik diSLG1, API Function ModuleBAL_*, dan framework modern BALI (CL_BALI_LOG).