Berikut adalah penjelasan dalam Bahasa Indonesia untuk kode ABAP yang diberikan:
@EndUserText.label : 'ZDAT001'.
@AbapCatalog.enhancement.category : #NOT_EXTENSIBLE.
@AbapCatalog.tableCategory : #TRANSPARENT.
@AbapCatalog.deliveryClass : #A.
@AbapCatalog.dataMaintenance : #RESTRICTED.
define table zdat001 {
key client : abap.clnt not null.
key mykey : sysuuid_x16 not null.
}.
Kode di atas mendefinisikan tabel transparan dalam ABAP dengan nama zdat001. Penjelasan beberapa elemen penting dari kode tersebut adalah:
The code includes several annotations provide metadata about the table:
- @EndUserText.label: Anotasi
Menetapkan label untuk tabel ZDAT001. - @AbapCatalog.enhancement.category: Anotasi @AbapCatalog prevents the table from being extended by other objects, such as function modules. Nilai yang mungkin antara lain :
- #NOT_EXTENSIBLE
- Digunakan untuk tabel yang tidak boleh dimodifikasi
- Cocok untuk data master yang kritis
- Mencegah perubahan struktur tabel
- #ENHANCEMENT
- Memungkinkan penambahan field baru
- Cocok untuk tabel yang mungkin perlu diperluas
- Memberikan fleksibilitas untuk pengembangan
- #ENHANCEMENT_FOR_REUSE
- Ideal untuk komponen yang akan digunakan ulang
- Memungkinkan enhancement untuk reusable components
- Cocok untuk modul yang akan dipakai di banyak tempat
#EXPLICIT: Menandakan bahwa objek dapat diperluas secara eksplisit.- Enhancement hanya di tempat yang ditentukan
- Memberikan kontrol lebih baik atas perubahan
- Cocok untuk tabel dengan enhancement terbatas
#INVISIBLE: Menandakan bahwa objek tidak dapat diperluas.- Enhancement tersembunyi dari consumer
- Cocok untuk internal enhancement
- Berguna untuk menjaga enkapsulasi
- #NOT_EXTENSIBLE
- @AbapCatalog.tableCategory: Defines the table category as transparent, meaning it is a database table that stores application data. Nilai lain yang mungkin antara lain :
- #POOL: Menandakan tabel kolam (pool table).
- #CLUSTER: Menandakan tabel cluster.
- @AbapCatalog.deliveryClass: Specifies the delivery class, which determines how the table data is transported, A - Application table. Nilai lain yang mungkin antara lain :
- #B: Data dapat diubah oleh pengguna,tidak perlu disimpan dalam transport.
- #C- Customizing table: Data tidak dapat diubah oleh pengguna, harus disimpan dalam transport
- @AbapCatalog.dataMaintenance: Menunjukkan bahwa pemeliharaan data dibatasi. Nilai lain yang mungkin antara lain :
Struktur Tabel:
- Tabel zdat001 memiliki dua key :
- client: Menggunakan tipe data standar abap.clnt , mandt which is part of the primary key , tidak boleh kosong.
- mykey: Menggunakan tipe data sysuuid_x16 untuk menyimpan UUID dalam format biner 16 byte, tidak boleh kosong.
Let's make ABP great again
Follow Instagram @kompasianacom juga Tiktok @kompasiana biar nggak ketinggalan event seru komunitas dan tips dapat cuan dari Kompasiana. Baca juga cerita inspiratif langsung dari smartphone kamu dengan bergabung di WhatsApp Channel Kompasiana di SINI