ABAP Data Dictionary (DDIC)
Target: Pemula yang ingin menguasai pemodelan database, metadata, dan integritas data pada sistem SAP ERP (ECC & S/4HANA). Versi: SAP NetWeaver AS ABAP 7.40+ / 7.50+ & SAP S/4HANA (T-Code
SE11,SE16N,SM30,SM12). Prasyarat: Telah memahami konsep dasar arsitektur SAP dan tipe data bawaan pada modul ABAP Dasar.
Gambaran Umum
ABAP Data Dictionary (DDIC) adalah repositori metadata terpusat di dalam SAP NetWeaver Application Server yang dikelola melalui Transaction Code SE11. Berbeda dengan basis data relasional konvensional di mana tabel dibuat langsung melalui perintah DDL (CREATE TABLE), sistem SAP mengisolasi seluruh pendefinisian database melalui lapisan abstraksi DDIC.
Ketika seorang developer mendefinisikan tabel di DDIC, SAP secara otomatis:
- Menghasilkan struktur fisik tabel pada database underlying (SAP HANA, Oracle, DB2, atau SQL Server) secara independen.
- Menyediakan teks antarmuka (UI field labels) multibahasa tanpa perlu hardcoding di program aplikasi.
- Menegakkan integritas referensial data (foreign key) dan validasi domain secara konsisten di seluruh modul SAP.
- Mengelola penguncian data (concurrency locking) dan mekanisme caching di memori server (database buffering).
Cara Belajar
π’ Fundamental
β Pahami 3 lapisan pemodelan data (Domain β Data Element β Table Field), Transparent Table, dan Primary Key MANDT.
π‘ Lanjutan
β Kuasai Technical Settings (Data Class & Size Category), Foreign Key Relationships, Search Help (F4), dan Lock Objects (SM12).
π οΈ Praktik
β Bangun tabel database kustom Z-Table lengkap dengan Table Maintenance Generator (TMG) yang dapat diakses via T-Code SM30.Mental model hirarki pemodelan data di ABAP Dictionary:
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 1. Domain (Karakteristik Teknis Murni) β
β - Tipe data teknis (CHAR, NUMC, DATS, CURR, DEC) β
β - Panjang karakter (Length) & Desimal β
β - Nilai valid tetap (Fixed Values / Dropdown) β
βββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββ
β Menjadi basis teknis untuk
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 2. Data Element (Semantik Bisnis & Antarmuka GUI) β
β - Label teks UI (Short 10, Med 20, Long 40, Header) β
β - Parameter ID (SPA/GPA Memory) β
β - Dokumentasi F1 Help pengguna β
βββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββ
β Digunakan sebagai kolom pada
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 3. Table Field (Struktur Tabel Database / SE11) β
β - Menampung nama kolom (Field Name) β
β - Menandai Primary Key β
β - Menghubungkan Foreign Key & Search Help β
βββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββ
β Diterjemahkan oleh Database Interface
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 4. Physical Database Layer (SAP HANA / AnyDB) β
β - Tabel fisik di database underlying β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββHafalan:
SE11 β T-Code utama ABAP Dictionary untuk mengelola Domain, Data Element, dan Tabel
Domain β Definisi teknis murni (tipe dasar, panjang memori, nilai valid/fixed values)
Data Element β Definisi makna bisnis (label teks UI untuk layar SAP GUI, bantuan F1)
MANDT β Kolom Primary Key pertama wajib pada tabel Client-Dependent
Technical Set. β Pengaturan memori database (Data Class & Size Category via SE13)
Foreign Key β Penegakan integritas data input terhadap Check Table
TMG β Table Maintenance Generator: layar entri data otomatis via T-Code SM30Daftar Isi
π’ Fundamental
- Pengenalan ABAP Dictionary & T-Code SE11
- Tiga Lapisan Pemodelan Data (Domain, Data Element, Field)
- Mendefinisikan Domain (Tipe Teknis & Fixed Values)
- Mendefinisikan Data Element (Makna Bisnis & Field Labels)
- Tabel Database Transparan (Transparent Tables)
- Field MANDT & Konsep Client-Dependent
- Technical Settings (Data Class & Size Category)
π‘ Lanjutan
- Database Buffering & Logging Perubahan Data
- Foreign Key & Integritas Relasional (Check Table)
- Struktur (Structures) & Table Types
- Search Help (F4 Input Help)
- Lock Objects (Mekanisme Penguncian Data & SM12)
- Table Maintenance Generator (TMG & SM30)
- Database Views di DDIC
π οΈ Praktik
π Ringkasan & Referensi
1. π’ Pengenalan ABAP Dictionary & T-Code SE11
Konsep
Di database tradisional seperti PostgreSQL atau MySQL, skema tabel dibuat langsung menggunakan script SQL. Namun dalam ekosistem SAP, seluruh objek database dikelola melalui ABAP Dictionary via Transaction Code SE11.
ABAP Dictionary bertindak sebagai single source of truth untuk seluruh struktur data di sistem SAP.
Pengembang ABAP (T-Code SE11)
β
βΌ
βββββββββββββββββββββββββββββ
β ABAP Data Dictionary β
βββββββββββββββ¬ββββββββββββββ
β
ββββββββββββββββ΄βββββββββββββββ
βΌ βΌ
Program Aplikasi ABAP Database Interface
- Type Checking Kompilasi - Menghasilkan DDL native
- Label Input Otomatis - Mengelola Sinkronisasi
- Validasi Input F4 / F1 - Mengatur Caching Memori
β
βΌ
SAP HANA / Database FisikMengapa ABAP Dictionary Sangat Penting?
- Database Independence: Program ABAP yang Anda tulis tidak terikat pada satu vendor database tertentu (dapat berjalan di SAP HANA, Oracle, DB2, maupun SQL Server tanpa mengubah kode).
- Kamus Multibahasa Terpusat: Label kolom (misal: βNomor Pelangganβ dalam Bahasa Indonesia, βCustomer Numberβ dalam Bahasa Inggris) disimpan di DDIC. Layar SAP GUI otomatis menampilkan bahasa yang sesuai dengan preferensi login user.
- Pemeriksaan Konsistensi Terpadu: Jika struktur tabel diubah, kompiler ABAP langsung mendeteksi seluruh program yang terpengaruh dan menandainya untuk kompilasi ulang.
2. π’ Tiga Lapisan Pemodelan Data (Domain, Data Element, Field)
Konsep
Salah satu konsep paling elegan namun kerap membingungkan pemula di SAP adalah pemisahan antara Domain, Data Element, dan Table Field.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β DOMAIN: ZDM_STATUS β
β β Karakteristik teknis: Tipe CHAR, Panjang 1 β
β β Fixed Values: 'A' = Aktif, 'I' = Inaktif β
βββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββ
β Digunakan oleh
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β DATA ELEMENT: ZDE_CUST_STATUS β
β β Makna bisnis: Status Akun Pelanggan β
β β UI Label: "Status Pelanggan" β
βββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββ
β Digunakan pada tabel
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β TABLE FIELD: ZTCUST-STATUS β
β β Kolom konkret pada tabel fisik ZTCUST β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββPerbedaan Peran Ketiganya
| Lapisan | Fokus Utama | Contoh Objek | Yang Didefinisikan |
|---|---|---|---|
| Domain | Karakteristik Teknis | ZDM_JUMLAH_BARANG | Tipe data teknis (INT4), panjang digit, format desimal, fixed values (daftar pilihan nilai valid). |
| Data Element | Makna Bisnis (Semantics) | ZDE_QTY_PESANAN | Label teks UI untuk layar GUI (Short, Medium, Long, Header), dokumentasi tombol F1 (Help text), Parameter ID. |
| Table Field | Implementasi Fisik Tabel | Kolom QTY pada tabel ZTSALES | Posisi kolom dalam tabel database, apakah merupakan Primary Key, aturan Foreign Key, dan nilai default. |
TIP
Prinsip Reusabilitas: Satu Domain dapat digunakan oleh banyak Data Element yang berbeda maknanya namun memiliki spesifikasi teknis yang sama. Misalnya, satu domain bertipe
CHAR 10dapat digunakan oleh Data ElementZDE_NO_FAKTUR,ZDE_NO_SURAT_JALAN, danZDE_NO_PESANAN.
3. π’ Mendefinisikan Domain (Tipe Teknis & Fixed Values)
Konsep
Domain mendefinisikan batas-batas nilai teknis dari suatu data di level memori terendah.
Properti utama Domain:
- Data Type: Pilihan tipe DDIC bawaan SAP (misal:
CHAR,NUMC,DATS,TIMS,DEC,CURR). - Length: Jumlah maksimal karakter atau digit.
- Decimals: Jumlah angka di belakang koma (khusus tipe numerik desimal seperti
DECatauCURR). - Value Range (Fixed Values): Daftar nilai valid diskret yang diizinkan masuk ke sistem. Nilai ini secara otomatis akan menjadi dropdown list saat pengguna menginput data di layar SAP GUI!
Tipe Data DDIC Populer
| Tipe DDIC | Arti | Keterangan |
|---|---|---|
CHAR | Character String | Teks alfanumerik panjang tetap. |
NUMC | Numeric Character | Karakter teks khusus angka; mempertahankan angka nol di depan (leading zeros). |
DATS | Date | Tanggal standar kalender (format YYYYMMDD, panjang 8). |
TIMS | Time | Waktu sistem (format HHMMSS, panjang 6). |
DEC | Counter or Amount | Angka desimal dengan penentuan presisi koma tetap. |
CURR | Currency Field | Nilai mata uang finansial; wajib dipasangkan dengan field referensi mata uang (CUKY). |
Contoh Pembuatan Domain di SE11
Nama Domain : ZDM_GENDER
Data Type : CHAR
Length : 1
Value Range (Fixed Values):
----------------------------------
Fixed Value | Description
----------------------------------
L | Laki-laki
P | PerempuanKetika kolom tabel menggunakan domain ZDM_GENDER, pengguna tidak akan bisa mengisi sembarang karakter selain 'L' atau 'P' karena divalidasi langsung oleh sistem.
4. π’ Mendefinisikan Data Element (Makna Bisnis & Field Labels)
Konsep
Data Element memberikan konteks bisnis kepada Domain teknis. Tanpa Data Element, sistem SAP tidak tahu teks apa yang harus dicetak di atas kolom tabel atau di samping kotak isian form.
Properti Field Labels pada Data Element
SAP GUI dan SAP Fiori memerlukan teks label dalam berbagai ukuran agar tampilan UI responsif dan tidak terpotong saat ruang layar menyempit:
| Tipe Label | Maks. Panjang | Contoh Isi Label |
|---|---|---|
| Short | 10 karakter | Status Pel |
| Medium | 20 karakter | Status Pelanggan |
| Long | 40 karakter | Status Akun Pelanggan |
| Heading | 55 karakter | Status Pelanggan |
Parameter ID (Memory ID)
Pada Data Element, Anda dapat menentukan Parameter ID (misal: KUN untuk Customer, MAT untuk Material). Fitur ini membuat SAP GUI mengingat nomor dokumen atau ID terakhir yang Anda buka di satu transaksi, lalu otomatis mengisikannya ke transaksi berikutnya tanpa perlu mengetik ulang (Set/Get Parameter Memory).
5. π’ Tabel Database Transparan (Transparent Tables)
Konsep
Transparent Table adalah jenis tabel database paling umum di SAP. Dinamakan βtransparanβ karena terdapat relasi 1:1 antara definisi tabel di ABAP Dictionary dengan tabel fisik di basis data underlying (memiliki nama tabel dan kolom yang persis sama di SAP HANA / Oracle).
Langkah Pembuatan Tabel Transparan di SE11
- Buka T-Code
SE11, pilih radio button Database table, masukkan nama tabel kustom (contoh:ZTCUST_MASTER), lalu klik Create. - Masukkan deskripsi singkat (Short Text).
- Pada tab Delivery and Maintenance:
- Delivery Class: Pilih
A(Application table: data master dan transaksi bisnis). - Data Browser/Table View Maint.: Pilih
Display/Maintenance Allowedagar data tabel dapat dilihat diSE16Ndan dapat dibuatkan layar TMG diSM30.
- Delivery Class: Pilih
- Pada tab Fields: Definisikan kolom-kolom tabel, tentukan field mana yang menjadi Primary Key, dan pasangkan dengan Data Element yang sesuai.
- Klik menu Technical Settings (Ctrl+Shift+F9) untuk menentukan alokasi memori database.
- Klik ikon Activate (Ctrl+F3). SAP akan langsung membuat tabel fisik tersebut di database server.
6. π’ Field MANDT & Konsep Client-Dependent
Konsep
Sistem SAP memisahkan data bisnis antar entitas perusahaan di dalam satu server menggunakan nomor Client (misal: Client 100 untuk operasional PT A, Client 200 untuk PT B).
Agar data transaksi tidak bocor atau tercampur antar Client:
Aturan Wajib: Field pertama pada setiap tabel transparan data bisnis WAJIB bernama
MANDT, bertipe Data Element bawaanMANDT, dan dicentang sebagai Primary Key!
Struktur Field Tabel Transparan:
-------------------------------------------------------------------------
Field | Key | Initial | Data Element | Tipe | Pjg | Keterangan
-------------------------------------------------------------------------
MANDT | X | X | MANDT | CLNT | 3 | Nomor Client
CUST_ID | X | X | ZDE_CUST_ID | CHAR | 10 | ID Pelanggan
CUST_NAME | | | ZDE_CUST_NAME| CHAR | 40 | Nama Pelanggan
-------------------------------------------------------------------------Cara Kerja Isolasi Otomatis
Ketika program ABAP menjalankan query Open SQL:
SELECT * FROM ztcust_master INTO TABLE @DATA(lt_cust).Database Interface SAP akan secara otomatis menambahkan klausa filter client aktif di belakang layar:
-- Diterjemahkan otomatis ke Database fisik:
SELECT * FROM ZTCUST_MASTER WHERE MANDT = '100';Dengan mekanisme ini, developer tidak perlu khawatir datanya tertukar dengan unit bisnis lain.
7. π’ Technical Settings (Data Class & Size Category)
Konsep
Sebelum tabel diaktifkan di SE11, Anda diwajibkan mengisi Technical Settings (dapat juga diakses langsung via T-Code SE13). Pengaturan ini menentukan bagaimana database mengalokasikan ruang memori (tablespace) untuk tabel tersebut.
1. Data Class (Klasifikasi Jenis Data)
| Data Class | Tipe Data yang Ditampung | Karakteristik Perubahan Data |
|---|---|---|
APPL0 | Master Data | Data induk yang jarang berubah tetapi sering dibaca (contoh: Master Pelanggan, Master Material, Vendor). |
APPL1 | Transaction Data | Data transaksi yang sering bertambah dan berubah dengan cepat (contoh: Sales Order, Faktur Tagihan, Purchase Order). |
APPL2 | Organizational / Customizing | Konfigurasi sistem dan parameter aplikasi perusahaan; diubah hanya saat proses setup sistem. |
2. Size Category (Estimasi Jumlah Baris Data)
Size Category menentukan ukuran extent awal memori yang dialokasikan oleh database engine:
| Size Category | Perkiraan Jumlah Baris Record Data |
|---|---|
0 | 0 s/d 9.300 record data |
1 | 9.300 s/d 37.000 record data |
2 | 37.000 s/d 150.000 record data |
3 | 150.000 s/d 600.000 record data |
4 | 600.000 s/d 2.400.000 record data |
Best Practice
- Selalu pilih
APPL0untuk tabel master danAPPL1untuk tabel transaksi. - Jangan asal memilih Size Category terbesar (
4) jika tabel hanya akan menampung ratusan data konfigurasi lokal, karena akan memboroskan alokasi blok memori database (tablespace fragmentation).
8. π‘ Database Buffering & Logging Perubahan Data
Konsep
Database buffering adalah mekanisme di mana Application Server menyimpan salinan isi tabel ke dalam memori RAM lokal server (Shared Memory Buffer) guna menghindari frekuensi pemanggilan query I/O ke database fisik.
Jenis-Jenis Buffering di DDIC
Pilihan Buffering di Technical Settings:
βββ 1. Buffering not allowed (Default untuk tabel transaksi bervolume tinggi)
βββ 2. Buffering allowed
βββ Single-record buffering (Hanya me-cache record yang pernah dibaca via WHERE key)
βββ Generic buffering (Me-cache sekumpulan record berdasarkan subset key)
βββ Full buffering (Membaca dan menyimpan SELURUH isi tabel ke RAM)Kapan Menggunakan Full Buffering?
Gunakan Full Buffering hanya untuk tabel kecil (kurang dari 1.000 baris) yang datanya bersifat statis dan sangat sering dibaca oleh ribuan user (contoh: Tabel Kode Pos, Tabel Kode Mata Uang, Tabel Status Transaksi).
Kesalahan Umum
β Mengaktifkan Buffering pada tabel transaksi penjualan (APPL1).
Karena tabel transaksi sangat sering diperbarui (INSERT, UPDATE). Setiap kali ada update, Application Server harus membuang dan me-reload cache memori (buffer invalidation), yang justru memperlambat performa sistem secara drastis.
β Tetapkan opsi Buffering not allowed untuk seluruh tabel transaksi aktif.
Alasannya, integritas data transaksi real-time langsung dijamin oleh database server tanpa risiko membaca data stale di memori lokal.
9. π‘ Foreign Key & Integritas Relasional (Check Table)
Konsep
Dalam SAP, Foreign Key digunakan untuk menghubungkan satu field pada tabel input dengan field kunci pada tabel master lain yang disebut Check Table.
Jika sebuah field dipasangkan Foreign Key:
- Sistem SAP GUI secara otomatis memblokir nilai input yang tidak terdaftar di Check Table.
- Sistem secara otomatis menyediakan tombol dropdown pencarian (F4 Input Help) yang bersumber dari tabel induk tersebut.
Tabel Transaksi: ZTSALES_ORDER Tabel Check: T005 (Master Negara)
βββββββββββββββββββββββββββββββββ βββββββββββββββββββββββββββββββββ
β Field | Nilai β β COUNTRY_CODE | NAMA_NEGARA β
ββββββββββββββββΌβββββββββββββββββ€ ββββββββββββββββΌβββββββββββββββββ€
β SO_NUMBER | 50000001 β β ID | Indonesia β
β CUSTOMER | CUST-100 β β JP | Jepang β
β COUNTRY | ID βββββββββββββΌβββββββββββ>β US | Amerika Serikatβ
βββββββββββββββββββββββββββββββββ βββββββββββββββββββββββββββββββββJika pengguna mencoba memasukkan nilai 'XX', layar SAP GUI akan langsung menampilkan pesan error: βEntry XX does not exist in T005β.
Kardinalitas Relasi (Cardinality)
Kardinalitas mendefinisikan hubungan kuantitas data:
1 : 1: Satu record di tabel transaksi berkorespondensi tepat ke satu record di check table.1 : CN: Satu record di check table dapat diasosiasikan ke 0 atau banyak record di tabel transaksi (paling umum).
10. π‘ Struktur (Structures) & Table Types
Konsep
Selain tabel database fisik, ABAP Dictionary juga digunakan untuk mendefinisikan tipe data internal yang hanya hidup di memori runtime program:
1. Structure (SE11 Data type Structure)
Struktur adalah cetak biru susunan field tanpa alokasi tabel fisik di database. Digunakan sebagai tipe data untuk Work Area di dalam program ABAP:
" Menggunakan struktur DDIC ZSTR_ALAMAT sebagai tipe data variabel lokal
DATA ls_alamat TYPE zstr_alamat.
ls_alamat-jalan = 'Jl. MH Thamrin No. 1'.
ls_alamat-kota = 'Jakarta Pusat'.2. Table Type (SE11 Data type Table type)
Table Type mendefinisikan tipe data untuk Internal Table (kumpulan baris dinamis di memori) yang merujuk pada struktur tertentu.
3. Append Structure (Ekstensi Standar SAP yang Aman)
Jika perusahaan Anda membutuhkan kolom tambahan pada tabel standar bawaan SAP (misal: menambahkan kolom NO_KTP pada tabel master vendor standar LFA1):
IMPORTANT
Dilarang memodifikasi langsung tabel standar SAP! Gunakan fitur Append Structure di
SE11. Append Structure memungkinkan Anda menyisipkan kolom kustom (Z...) di bagian akhir tabel standar secara aman tanpa merusak struktur bawaan saat SAP melakukan update versi (Clean Core principle).
11. π‘ Search Help (F4 Input Help)
Konsep
Ketika pengguna berada di layar input dan menekan tombol keyboard F4, sebuah jendela pop-up dialog pencarian data akan muncul. Jendela pencarian ini dikonfigurasi melalui objek Search Help di SE11.
Jenis Search Help di DDIC:
βββ 1. Elementary Search Help (Pencarian berbasis satu tabel query tunggal)
βββ 2. Collective Search Help (Menggabungkan beberapa Elementary Search Help menjadi tab pilihan)Parameter Search Help
- IMP (Import): Mengirim data dari layar form ke Search Help untuk menyaring hasil pencarian awal.
- EXP (Export): Mengirim data record yang dipilih pengguna dari hasil pencarian kembali ke kolom form layar.
12. π‘ Lock Objects (Mekanisme Penguncian Data & SM12)
Konsep
Dalam sistem ERP berskala ribuan user yang bekerja bersamaan, risiko dua pengguna mengedit dokumen penjualan yang sama pada detik yang sama (concurrency conflict) harus dicegah.
SAP menangani konkurensi ini menggunakan Lock Objects via T-Code SE11.
Penamaan & Mekanisme Otomatis
- Nama Lock Object WAJIB diawali dengan huruf
EZ_atauEY_(misal:EZ_TCUST). - Ketika Lock Object diaktifkan, sistem SAP secara otomatis men-generate dua Function Module penangan kunci:
ENQUEUE_<Lock_Object_Name>: Untuk memasang kunci sebelum membaca/mengedit data.DEQUEUE_<Lock_Object_Name>: Untuk melepaskan kunci setelah transaksi selesai (COMMIT).
User A membuka data pelanggan CUST-01
β
βΌ
Panggil Function: ENQUEUE_EZ_TCUST( iv_cust_id = 'CUST-01' )
β
βΌ
SAP Enqueue Server mencatat kunci di tabel kunci memori
β
ββββ Jika User B mencoba mengedit CUST-01 pada saat yang sama:
β ENQUEUE_EZ_TCUST menghasilkan sy-subrc <> 0 (Ditolak / Terkunci!)
β
User A selesai mengedit dan menekan Save
β
βΌ
Panggil Function: DEQUEUE_EZ_TCUST( iv_cust_id = 'CUST-01' )
β
βΌ
Kunci dilepas, data kembali dapat diakses user lainTIP
Administrator sistem dapat melihat dan mengelola daftar transaksi yang sedang terkunci di seluruh server menggunakan T-Code
SM12(Lock Entries Overview).
13. π‘ Table Maintenance Generator (TMG & SM30)
Konsep
Salah satu fitur paling produktif di SAP adalah Table Maintenance Generator (TMG). Dengan TMG, Anda dapat membuat aplikasi CRUD (Create, Read, Update, Delete) lengkap dengan antarmuka grafis dalam hitungan detik tanpa menulis satu baris kode ABAP pun!
Langkah Membuat TMG di SE11
- Buka tabel kustom Anda di
SE11(pastikan di tab Delivery and Maintenance opsi Data Browser/Table View Maint. diset keDisplay/Maintenance Allowed). - Klik menu navigasi atas: Utilities Table Maintenance Generator.
- Tentukan parameter:
- Authorization Group:
&NC&(tanpa proteksi otorisasi khusus untuk pengujian lokal). - Function Group: Masukkan nama Function Group penampung (contoh:
ZFG_CUST). - Maintenance Type:
One Step: Seluruh data ditampilkan dalam satu layar tabel tabular (Overview Screen).Two Step: Memiliki layar ringkasan (Overview) dan layar rincian per record (Detail Screen).
- Maintenance Screen No.: Klik tombol Find Screen Number(s) pada toolbar untuk penomoran otomatis.
- Authorization Group:
- Klik tombol Create (ikon kertas putih/pensil).
- SAP akan men-generate layar Dynpro otomatis.
Mengakses Data via T-Code SM30
Setelah TMG dibuat, buka T-Code SM30, masukkan nama tabel Anda, lalu klik Maintain. Pengguna dapat langsung menambah record baru (New Entries), mengubah, maupun menghapus data tabel secara visual.
14. π‘ Database Views di DDIC
Konsep
View adalah tabel virtual yang datanya tidak disimpan secara fisik, melainkan diambil secara dinamis dari satu atau beberapa tabel database induk.
| Jenis View | Kegunaan Utama | Karakteristik |
|---|---|---|
| Database View | Menggabungkan data dari beberapa tabel relasional (INNER JOIN). | Hanya untuk membaca data (Read-Only). |
| Maintenance View | Membuat antarmuka pemeliharaan data multi-tabel via TMG (SM30). | Mendukung penulisan dan pengeditan data secara terintegrasi. |
| Projection View | Menyembunyikan kolom-kolom tertentu dari satu tabel fisik. | Mengurangi beban bandwidth memori. |
| Help View | Sumber data seleksi untuk Search Help. | Digunakan khusus untuk mendukung navigasi input F4. |
15. π οΈ Mini Project: Membangun Master Data Pelanggan
Tujuan
Membangun solusi master data pelanggan enterprise lengkap di ABAP Dictionary: membuat Domain dengan fixed values status, Data Element dengan label terstandarisasi, Transparent Table ZTCLIENT_MASTER berindeks Primary Key MANDT, memasang Technical Settings optimal, mengaktifkan Foreign Key ke tabel negara standar SAP T005, dan men-generate antarmuka data visual via Table Maintenance Generator (SM30).
Fitur
- Pemisahan domain teknis gender dan status akun dengan dropdown pilihan otomatis.
- Label UI multilingual yang seragam untuk antarmuka SAP GUI.
- Isolasi data transaksi multi-tenant menggunakan kolom
MANDT. - Validasi kode negara mengacu pada tabel standar SAP
T005. - Antarmuka CRUD visual lengkap tanpa coding menggunakan Table Maintenance Generator.
Konsep yang Digunakan
- Pembuatan Domain (
SE11) dengan rentang nilai tetap (Fixed Values). - Pembuatan Data Element (
SE11) dengan Field Labels lengkap. - Konfigurasi Tabel Transparan dengan Delivery Class
A. - Technical Settings: Data Class
APPL0dan Size Category0. - Penerapan relasi Foreign Key ke tabel Check Table standar.
- Pembangkitan layar antarmuka data menggunakan TMG (
SM30).
Langkah Implementasi
Langkah 1: Buat Domain Status Pelanggan (ZDM_CUST_STATUS)
- T-Code:
SE11DomainZDM_CUST_STATUSCreate. - Data Type:
CHAR, Length:1. - Tab Value Range:
'A'= Aktif'I'= Inaktif'B'= Diblokir (Blacklist)
- Simpan dan Aktifkan (Ctrl+F3).
Langkah 2: Buat Data Element (ZDE_CUST_STATUS)
- T-Code:
SE11Data typeZDE_CUST_STATUSCreate Data element. - Elementary data type: Masukkan Domain
ZDM_CUST_STATUS. - Tab Field Label:
- Short (10) :
Status - Medium (20):
Status Pelanggan - Long (40) :
Status Akun Pelanggan - Heading (55):
Status Pelanggan
- Short (10) :
- Simpan dan Aktifkan.
Langkah 3: Buat Data Element ID Pelanggan (ZDE_CLIENT_ID)
- T-Code:
SE11Data typeZDE_CLIENT_IDCreate. - Tipe Teknis bawaan: Predefined Type
CHARpanjang10. - Field Label:
ID Pelanggan. - Simpan dan Aktifkan.
Langkah 4: Buat Tabel Transparan ZTCLIENT_MASTER
- T-Code:
SE11Database tableZTCLIENT_MASTERCreate. - Short Description:
Tabel Master Data Pelanggan. - Tab Delivery and Maintenance:
- Delivery Class:
A - Data Browser/Table View Maint.:
Display/Maintenance Allowed
- Delivery Class:
- Tab Fields: Susun kolom tabel sebagai berikut:
-------------------------------------------------------------------------
Field Name | Key | Init | Data Element | Tipe | Pjg | Keterangan
-------------------------------------------------------------------------
MANDT | X | X | MANDT | CLNT | 3 | Nomor Mandant
CLIENT_ID | X | X | ZDE_CLIENT_ID | CHAR | 10 | ID Pelanggan
CLIENT_NAME | | | TEXT40 | CHAR | 40 | Nama Perusahaan
STATUS | | | ZDE_CUST_STATUS|CHAR | 1 | Status Akun
COUNTRY | | | LAND1 | CHAR | 3 | Kode Negara
CREATED_ON | | | ERDAT | DATS | 8 | Tanggal Dibuat
-------------------------------------------------------------------------Langkah 5: Pasang Foreign Key untuk Kolom Negara (COUNTRY)
- Pilih baris field
COUNTRY. - Klik tombol Foreign Keys (ikon kunci gembok pada toolbar tabel).
- Masukkan Check Table:
T005(Tabel negara standar SAP). - Klik tombol Generate Proposal. Sistem akan secara otomatis memetakan relasi
MANDT = T005-MANDTdanCOUNTRY = T005-LAND1. - Klik Copy.
Langkah 6: Konfigurasi Technical Settings (SE13)
- Klik tombol Technical Settings pada toolbar tabel.
- Data Class: Masukkan
APPL0(Master data). - Size Category: Masukkan
0(0 s/d 9.300 baris record). - Buffering:
Buffering not allowed. - Simpan dan kembali ke layar tabel.
- Aktifkan tabel
ZTCLIENT_MASTER(Ctrl+F3).
Langkah 7: Generate Layar Pemeliharaan Data (TMG)
- Pada menu navigasi
SE11, klik Utilities Table Maintenance Generator. - Masukkan Authorization Group:
&NC&. - Masukkan Function Group baru:
ZFG_CLIENT_MGT. - Maintenance Type:
One Step. - Klik tombol Find Screen Number(s) pada toolbar pilih nomor usulan sistem (misal: Screen
1000). - Klik tombol Create (ikon pensil/kertas putih).
Hasil Akhir
- Buka T-Code
SM30. - Masukkan Table Name:
ZTCLIENT_MASTERKlik Maintain. - Layar antarmuka entri visual SAP GUI akan terbuka:
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Pemeliharaan Tabel ZTCLIENT_MASTER: Overview Screen β
ββββββββββββββ¬βββββββββββββββββββββββ¬βββββββββ¬βββββββββ¬βββββββββββββββββββ€
β ID Pelangg.β Nama Perusahaan β Status β Negara β Tanggal Dibuat β
ββββββββββββββΌβββββββββββββββββββββββΌβββββββββΌβββββββββΌβββββββββββββββββββ€
β CUST-0001 β PT Astra Jaya Mandiriβ A [v] β ID β 30.09.2026 β
β CUST-0002 β Tokyo Electron Ltd β A [v] β JP β 30.09.2026 β
β CUST-0003 β Global Tech Corp β I [v] β US β 30.09.2026 β
ββββββββββββββ΄βββββββββββββββββββββββ΄βββββββββ΄βββββββββ΄βββββββββββββββββββ- Validasi Otomatis Berjalan: Kolom Status memiliki pilihan dropdown tetap (
A,I,B). Jika kolom Negara diisi'ZZ', sistem langsung memblokir dengan pesan error Foreign KeyT005.
16. π Ringkasan & Peta Ingatan
Peta Konsep ABAP Dictionary
ABAP Dictionary (DDIC / SE11)
βββ 1. Hirarki Objek Data
β βββ Domain (Tipe data teknis dasar, panjang, desimal, fixed values)
β βββ Data Element (Makna bisnis, UI labels pendek/panjang, F1 help)
β βββ Table Fields (Kolom konkret, Primary Key, Foreign Key)
βββ 2. Tabel Transparan
β βββ Client-Dependent (Wajib kolom MANDT sebagai primary key pertama)
β βββ Technical Settings (Data Class APPL0/APPL1 & Size Category 0-4)
β βββ Database Buffering (Single-record, Generic, Full buffering)
βββ 3. Relasi & Bantuan Input
β βββ Foreign Key (Integritas referensial mengacu ke Check Table)
β βββ Search Help (Jendela navigasi input F4 pengguna)
βββ 4. Utilitas & Integrasi
βββ Table Maintenance Generator / TMG (CRUD visual instan di SM30)
βββ Lock Objects (Pencegahan race condition via SM12 / ENQUEUE & DEQUEUE)
βββ Views (Database View, Maintenance View, Projection View)17. π Cheat Code DDIC 10 Detik
SE11 β Pusat kendali seluruh objek ABAP Data Dictionary
SE16N β Melihat dan menelusuri data mentah di tabel database
SM30 β Menjalankan layar pemeliharaan data visual TMG
SM12 β Melihat dan membuka paksa kunci data yang menggantung
MANDT β Kolom kunci isolasi client wajib pada tabel transparan
APPL0 β Data Class untuk Master Data (jarang berubah)
APPL1 β Data Class untuk Transaksi Bisnis (sering berubah)
Append Structure β Menyisipkan kolom kustom ke tabel standar SAP secara aman
EZ_nama β Format nama resmi Lock Object untuk generate ENQUEUE/DEQUEUE
Fixed Values β Menghasilkan dropdown list pilihan valid otomatis di layar GUI18. π§ Urutan Belajar Selanjutnya
Setelah memahami cara memodelkan data di ABAP Data Dictionary, langkah berikutnya adalah mempelajari bagaimana data tersebut ditampung dan diolah secara dinamis di dalam memori program ABAP:
1. π’ ABAP Dasar (Fondasi sintaks & kontrol alur)
β
βΌ
2. π’ ABAP Data Dictionary (DDIC) (Selesai pada modul ini)
β
βΌ
3. π’ ABAP Internal Tables
β Pelajari struktur data array in-memory (Standard, Sorted, Hashed Table), Work Area, Field Symbols, dan sintaks manipulasi modern 7.40+ (VALUE, FOR, FILTER).
β
βΌ
4. π‘ ABAP Database & Open SQL
β Pelajari cara membaca dan menyimpan data antara memori program dan tabel DDIC menggunakan SELECT query.Lanjutkan ke modul berikutnya: ABAP Internal Tables (Modul 3).