Monday, 22 September 2025

Belajar ABAP Part 5: Internal Tables & Work Area

Belajar ABAP Part 5: Internal Tables & Work Area

Belajar ABAP Part 5: Internal Tables & Work Area

Setelah membahas Part 4: Modularisasi Program, sekarang kita masuk ke salah satu konsep terpenting di ABAP yaitu Internal Table & Work Area. Internal table digunakan untuk menyimpan banyak data di memory, sementara Work Area dipakai sebagai wadah untuk membaca/menulis data baris demi baris.

Apa itu Internal Table?

Internal Table adalah tabel sementara yang hanya ada di memory saat program berjalan. Biasanya dipakai untuk:

  • Menyimpan hasil query dari database.
  • Melakukan perhitungan atau transformasi data.
  • Mengolah data sebelum ditampilkan ke user.

Jenis Internal Table

  1. Standard Table: urutan sesuai data dimasukkan.
  2. Sorted Table: otomatis terurut berdasarkan key.
  3. Hashed Table: akses cepat menggunakan key.

Contoh Membuat Internal Table & Work Area


REPORT zitab_example.

TYPES: BEGIN OF ty_student,
         id   TYPE i,
         name TYPE string,
       END OF ty_student.

DATA: lt_students TYPE TABLE OF ty_student, "Internal Table
      ls_student TYPE ty_student.           "Work Area

" Tambah data ke internal table
ls_student-id = 1.
ls_student-name = 'Andi'.
APPEND ls_student TO lt_students.

ls_student-id = 2.
ls_student-name = 'Budi'.
APPEND ls_student TO lt_students.

ls_student-id = 3.
ls_student-name = 'Citra'.
APPEND ls_student TO lt_students.

" Baca data dengan LOOP
LOOP AT lt_students INTO ls_student.
  WRITE: / 'ID:', ls_student-id, 'Nama:', ls_student-name.
ENDLOOP.

Output: ID: 1 Nama: Andi ID: 2 Nama: Budi ID: 3 Nama: Citra

Perintah Dasar Internal Table

  • APPEND → menambah data ke internal table.
  • LOOP AT → membaca data baris demi baris.
  • READ TABLE → membaca data berdasarkan index atau key.
  • MODIFY → mengubah data di internal table.
  • DELETE → menghapus data.
  • CLEAR → membersihkan isi variabel/work area.

Contoh READ, MODIFY, DELETE


REPORT zitab_ops.

TYPES: BEGIN OF ty_num,
         num TYPE i,
       END OF ty_num.

DATA: lt_nums TYPE TABLE OF ty_num,
      ls_num TYPE ty_num.

DO 5 TIMES.
  ls_num-num = sy-index.
  APPEND ls_num TO lt_nums.
ENDDO.

" READ data ke-3
READ TABLE lt_nums INTO ls_num INDEX 3.
WRITE: / 'Data index 3:', ls_num-num.

" MODIFY data ke-2
ls_num-num = 99.
MODIFY lt_nums FROM ls_num INDEX 2.

" DELETE data ke-4
DELETE lt_nums INDEX 4.

" LOOP hasil akhir
WRITE: / '--- Data setelah update ---'.
LOOP AT lt_nums INTO ls_num.
  WRITE: / ls_num-num.
ENDLOOP.

Output: Data index 3: 3 --- Data setelah update --- 1 99 3 5

Kesimpulan

Internal Table & Work Area adalah fondasi penting dalam ABAP. Hampir semua program yang berhubungan dengan database atau report akan memanfaatkan internal table untuk menyimpan dan mengolah data.

👉 Lanjut ke: Belajar ABAP Part 6: Open SQL di ABAP

👉 Baca Juga: Internal Table Lanjutan

👉 Baca Juga: Belajar Data Dictionary

No comments:

Post a Comment

Belajar SAP ABAP RAP

  Belajar SAP ABAP RAP: Pengenalan dan Konsep Dasar Restful ABAP Programming Model Kalau kamu seorang ABAPer yang mulai terjun ke dunia SAP...