Apa itu Tabel Internal?
TABEL INTERNAL digunakan untuk mendapatkan data dari struktur tetap untuk penggunaan dinamis di ABAP. Setiap baris dalam tabel internal memiliki struktur bidang yang sama. Kegunaan utama tabel internal adalah untuk menyimpan dan memformat data dari tabel database dalam suatu program.
Dalam tutorial ini Anda akan belajar:
- Apa itu Tabel Internal?
- Apa itu Area Kerja?
- Perbedaan Antara Tabel Internal dan Area Kerja?
- Jenis Tabel Internal
- Membuat Tabel Internal
- Mengisi Tabel Internal
- Menyalin Tabel Internal
- Membaca Internal
- Menghapus Tabel Internal
Apa itu Area Kerja?
Area kerja adalah satu baris data. Mereka harus memiliki format yang sama seperti tabel internal manapun. Ini digunakan untuk memproses data dalam tabel internal satu baris dalam satu waktu.
Perbedaan Antara Tabel Internal dan Area Kerja?
Sebuah gambar mengatakan seribu kata :-)
Jenis Tabel Internal
Ada dua jenis tabel internal.
- Tabel internal dengan garis HEADER
- Tabel internal tanpa garis HEADER.
Tabel Internal dengan Garis Header
- Di sini sistem secara otomatis membuat area kerja.
- Area kerja memiliki tipe data yang sama dengan tabel internal.
- Area kerja ini disebut garis HEADER.
- Di sinilah semua perubahan atau tindakan apa pun pada konten tabel selesai. Hasilnya, record dapat langsung dimasukkan ke dalam tabel atau diakses dari tabel internal secara langsung.
Tabel Internal tanpa Garis Header :
- Di sini tidak ada area kerja yang terkait dengan meja.
- Area kerja harus ditentukan secara eksplisit ketika kita perlu mengakses tabel tersebut.
- Oleh karena itu tabel-tabel ini tidak dapat diakses secara langsung.
Membuat Tabel Internal
Ada banyak cara untuk membuat Tabel Internal. Mari kita lihat satu per satu-
1. Dengan Menggunakan Pernyataan Type
Mari kita sekarang membuat tabel internal itab menggunakan pernyataan TYPE.
Sintaksnya adalah -
Jenis: awal baris,kolom1 tipe I,kolom2 tipe I,akhir baris.
Contoh:
JENIS: awal baris,empno tipe I,empname (20) tipe c,akhir baris.
Pernyataan TYPES membuat garis struktur seperti yang didefinisikan.
Untuk benar-benar membuat Tabel Internal itab gunakan perintah berikut-
Garis tipe data itab muncul 10.
Tabel internal itab dibuat dengan struktur baris. Selain mendeklarasikan struktur tabel internal, klausa OCCURS juga menentukan berapa banyak entri tabel yang dipertahankan di penyimpanan utama (dalam hal ini 10). Catatan tambahan ditulis ke area halaman dan dapat mempengaruhi kinerja
2. Dengan merujuk ke Tabel lain
Anda dapat membuat tabel internal dengan merujuk ke tabel yang ada. Tabel yang ada dapat berupa tabel SAP standar, tabel Z atau tabel internal lainnya.
Sintaksis-
Data[dengan baris header].
Contoh-
DATA itab TYPE baris OCCURS 10 dengan baris header.
Di sini tabel internal itab dibuat dari baris tipe dengan baris tajuk. Harap dicatat "dengan baris tajuk" adalah opsional
3. Dengan mengacu pada
Sintaks Struktur yang ada-
DataLIKE muncul n [dengan baris header].
Contoh-
DATA ITAB SEPERTI SLINE TERJADI 10.
Di sini tabel itab dibuat dengan struktur yang sama seperti sline
4. Dengan membuat Struktur baru
Mari kita buat tabel internal dengan struktur kita sendiri. Di sini tabel dibuat dengan garis Header, secara default .
Sintaks -
Data: Mulai dariterjadi , ,…,Akhir dari .
Contoh -
Data: Awal itab terjadi 10,kolom1 tipe I,kolom2 (4) tipe C,kolom3 seperti mara-ernam,Akhir dari itab.
Itab tabel internal dibuat
Mengisi Tabel Internal
Sekarang setelah kita berhasil membuat beberapa tabel internal, mari kita lihat bagaimana kita mengisinya dengan beberapa record. Ada berbagai metode yang tersedia untuk mengisi tabel 1. Tambahkan Data baris demi baris Metode pertama yang tersedia adalah penggunaan pernyataan APPEND.Menggunakan pernyataan APPEND kita dapat menambahkan satu baris dari area kerja lain ke tabel internal atau kita dapat menambahkan satu baris awal ke tabel internal…
Sintaks -
LAMPIRKAN [Di sini area kerjaKE / BARIS AWAL KE] .
Variabel sistem SY-TABIX berisi indeks dari baris yang ditambahkan.
Contoh:
Data: Awal itab terjadi 10,col1 tipe C,col2 tipe I,akhir itab.Tambahkan baris awal ke itab.
Hasil: '' '0'
Baris awal menambahkan baris yang diinisialisasi dengan nilai yang benar untuk tipenya ke tabel. Di sini, col1 adalah karakter dan col2 adalah bilangan bulat. Kemudian TAMBAH baris awal, tambahkan baris yang diinisialisasi berkenaan dengan tipe data kolom, yaitu spasi untuk col1 dan 0 untuk col2. 2. Menggunakan pernyataanCOLLECT COLLECT adalah bentuk pernyataan lain yang digunakan untuk mengisi tabel internal. Umumnya KUMPULKAN digunakan saat memasukkan garis ke dalam tabel internal dengan kunci standar unik.
Sintaksis-
KUMPULKAN [KE] .
Jika tabel dengan baris Header, opsi INTO dihilangkan. Misalkan sudah ada entri yang memiliki kunci yang sama dengan yang Anda coba tambahkan, maka baris baru tidak ditambahkan ke tabel, tetapi bidang numerik dari kedua entri ditambahkan dan hanya ada satu entri yang sesuai dengan kunci tersebut. . Nilai SY-TABIX diubah ke baris entri asli. Else COLLECT bertindak mirip dengan APPEND dan SY-TABIX berisi indeks dari garis yang diproses. 3 . Menggunakan pernyataanINSERT INSERT menambahkan baris / area kerja ke tabel internal. Anda dapat menentukan posisi di mana baris baru akan ditambahkan dengan menggunakan klausa INDEX dengan pernyataan INSERT.
Sintaksis
MASUKKAN [Di sini, area kerjaKE / BARIS AWAL KE] [indeks ].
Menyalin Tabel Internal
Isi dari satu tabel internal dapat disalin ke yang lain dengan menggunakan pernyataan APPEND LINES atau INSERT LINES. Cara yang lebih sederhana adalah dengan menggunakan salah satu dari sintaks berikut.PINDAHKANKe .ATAU = .
Ini menyalin konten ITAB1 ke ITAB2. Jika tabel internal dengan baris header kita harus menggunakan [] untuk membedakan dari area kerja. Jadi, untuk menyalin konten tabel internal dengan baris header sintaksnya menjadi,
itab1 [] = itab2 [].
Baca Tabel Internal
Kami sekarang terbiasa dengan pembuatan tabel internal dan mengisinya dengan data. Sekarang kita akan melihat bagaimana sebenarnya kita menggunakan data atau mengambil data dari tabel internal. 1. Menggunakan Loop -EndloopSalah satu cara untuk mengakses atau membaca tabel internal adalah dengan menggunakan LOOP-ENDLOOP.Sintaksis
LOOP AT[INTO ]… ENDLOOP.
Di sini ketika Anda mengatakan LOOP AT ITABLE, maka tabel internal ITABLE dibaca baris demi baris. Anda dapat mengakses nilai kolom untuk baris tersebut selama bagian manapun dari struktur LOOP-ENDLOOP. Nilai SY-SUBRC disetel ke 0 , meskipun hanya satu record yang dibaca. 2. Menggunakan READMetode lain untuk membaca tabel internal adalah dengan menggunakan pernyataan READ.
Sintaksis-
BACA TABEL[KE ] INDEKS .
Pernyataan ini membaca baris atau baris saat ini seperti yang ditentukan oleh indeks
Menghapus Tabel Internal
Ada banyak cara untuk menghapus baris dari tabel internal. 1. menghapus garis dalam satu lingkaran.Ini adalah cara termudah untuk menghapus garis.
Sytax
HAPUS.
Pernyataan ini hanya berfungsi dalam satu loop. Ini menghapus baris saat ini. Anda dapat menghapus garis dalam satu lingkaran secara kondisional dengan menambahkan klausa WHERE. 2. Menghapus garis menggunakan indeks.
Ini digunakan untuk menghapus baris dari tabel internal di indeks tahu apa pun.
Sintaksis
HAPUSGaris dengan indeksINDEKS .