Belajar ABAP: Data Dictionary (DDIC) untuk Pemula
Sebelum melanjutkan ke level advance, penting bagi pemula memahami Data Dictionary (DDIC) di SAP ABAP. Data Dictionary adalah tempat di mana semua definisi struktur data disimpan dan dikelola, sehingga developer tidak perlu mendefinisikan ulang data secara manual di program.
Apa itu Data Dictionary?
Data Dictionary di ABAP berfungsi untuk mendefinisikan, mengelola, dan memelihara objek data di SAP. Semua tabel database, field, data element, domain, view, dan search help dikelola di sini.
Fungsi Utama Data Dictionary
- Definisi tabel database (transparent, cluster, pooled).
- Mendefinisikan domain (tipe data dan nilai valid).
- Mendefinisikan data element (field dengan semantic meaning).
- Membuat view untuk kombinasi tabel.
- Membuat search help (F4 Help).
- Memastikan konsistensi data di seluruh sistem.
Jenis Objek di Data Dictionary
- Domain → menentukan tipe data teknis (char, num, length, value range).
- Data Element → field dengan definisi semantik (misalnya Material Number, Customer ID).
- Table → menyimpan data di database (transparent, pooled, cluster).
- View → representasi virtual dari satu atau lebih tabel.
- Search Help → menyediakan fasilitas pencarian (F4 help).
Hubungan Domain, Data Element, dan Table
Supaya lebih jelas, berikut ilustrasi alur Data Dictionary di ABAP:
+---------+ +--------------+ +------------+ | Domain | -----> | Data Element | -----> | Table | +---------+ +--------------+ +------------+ Contoh: Domain: ZSTU_ID (NUMC 5) ↓ Data Element: ZSTU_ID (Student ID) ↓ Table: ZSTUDENT (Field: ID menggunakan Data Element ZSTU_ID)
Atau bisa juga digambarkan dalam bentuk tabel hierarki:
Domain | Data Element | Table Field |
---|---|---|
ZSTU_ID (NUMC 5) |
ZSTU_ID (Student ID) |
ID (Primary Key) |
ZSTU_NAME (CHAR 50) |
ZSTU_NAME (Student Name) |
NAME |
ZSTU_AGE (NUMC 2) |
ZSTU_AGE (Age) |
AGE |
ZSTU_CLASS (CHAR 10) |
ZSTU_CLASS (Class Code) |
CLASS |
Contoh Membuat Tabel di Data Dictionary
Misalnya kita ingin membuat tabel ZSTUDENT
untuk menyimpan data mahasiswa:
Tabel: ZSTUDENT
-----------------------------------------
Field Data Element Domain Key
-----------------------------------------
ID ZSTU_ID NUMC(5) X
NAME ZSTU_NAME CHAR(50)
AGE ZSTU_AGE NUMC(2)
CLASS ZSTU_CLASS CHAR(10)
Contoh Query ABAP dengan Tabel ZSTUDENT
REPORT zddic_example.
DATA: lt_student TYPE TABLE OF zstudent,
ls_student TYPE zstudent.
" Ambil semua data mahasiswa
SELECT * FROM zstudent INTO TABLE lt_student.
" Tampilkan hasil
LOOP AT lt_student INTO ls_student.
WRITE: / ls_student-id, ls_student-name, ls_student-age, ls_student-class.
ENDLOOP.
Perbandingan Tipe Table di Data Dictionary
Di SAP ABAP, ada tiga jenis tabel utama di Data Dictionary. Berikut perbandingannya:
Jenis Tabel | Deskripsi | Contoh | Kapan Digunakan |
---|---|---|---|
Transparent Table | 1:1 dengan tabel database fisik. Nama tabel di SAP sama dengan tabel di database. Digunakan untuk menyimpan data aplikasi. | ZSTUDENT, MARA, BKPF |
- Data master (Material, Vendor, Customer). - Data transaksi (Document Header, Item). |
Pooled Table | Banyak tabel logis di SAP digabung ke dalam satu tabel fisik di database. Cocok untuk tabel kecil dengan data administratif. | ATAB, TSTC |
- Data konfigurasi atau kontrol. - Tabel internal SAP yang tidak besar. |
Cluster Table | Beberapa tabel logis disimpan dalam satu tabel fisik berbasis cluster. Data disimpan dalam bentuk compressed. | BSEG (Accounting Document Segment) |
- Data dengan volume besar. - Data dengan hubungan kompleks (misalnya FI/CO). |
Note: Di SAP versi terbaru (S/4HANA), Pooled dan Cluster table sudah tidak direkomendasikan lagi. Mayoritas objek disimpan sebagai Transparent Table agar lebih efisien dan kompatibel dengan HANA Database.
Keuntungan Menggunakan Data Dictionary
- Semua developer pakai definisi data yang sama → konsistensi.
- Mengurangi redudansi kode.
- Integrasi otomatis dengan Open SQL.
- Dapat digunakan di semua program ABAP.
Kesimpulan
Data Dictionary adalah pondasi utama di SAP ABAP. Tanpa pemahaman DDIC, developer akan kesulitan membuat tabel, field, maupun struktur data yang reusable di berbagai program.
👉 Lanjut ke: Belajar ABAP Part 8: Enhancement & BADI
Comments
Post a Comment