SAP Kontrol Tabel ABAP dengan Contoh
Kontrol tabel dan loop langkah adalah objek untuk tampilan tabel layar yang Anda tambahkan ke layar di Layar Painter.
Dari sudut pandang pemrograman, kontrol tabel dan loop langkah hampir persis sama. Kontrol tabel hanyalah peningkatan langkah loop yang menampilkan data dengan tampilan dan nuansa yang terkait dengan tabel di aplikasi desktop.
Fitur Kontrol Tabel ABAP
Dengan kontrol tabel, pengguna dapat:
- Gulir tabel secara vertikal dan horizontal
- Ubah ukuran lebar kolom
- Gulir di dalam bidang (ketika isi bidang lebih lebar dari bidang tersebut)
- Pilih baris atau kolom tabel
- Susun ulang urutan kolom
- Simpan pengaturan tampilan saat ini untuk digunakan di masa mendatang
Kontrol tabel juga menawarkan fitur pemformatan khusus (sebagian otomatis, sebagian opsional) yang membuat tabel lebih mudah dilihat dan digunakan. Kontrol Tabel menyediakan –
- pengubahan ukuran tabel otomatis (vertikal dan horizontal) ketika pengguna mengubah ukuran jendela
- garis pemisah antar baris dan antar kolom (vertikal dan horizontal)
- bidang tajuk kolom untuk semua kolom
Salah satu fitur perulangan langkah adalah baris tabelnya dapat menjangkau lebih dari satu baris di layar. Sebaliknya, baris kontrol tabel harus selalu terkandung dalam satu baris (meskipun pengguliran dimungkinkan).
Secara umum, banyak fitur yang disediakan oleh kontrol tabel ditangani secara lokal oleh sistem Anda SAPgui frontend, jadi Anda tidak perlu memprogramnya sendiri. Satu-satunya pengecualian untuk ini adalah pengguliran vertikal.
Contoh (Transaksi TZ60)
Sintaksis
Untuk menangani kontrol tabel dalam program ABAP, Anda harus mendeklarasikan kontrol di bagian deklarasi program untuk setiap kontrol tabel menggunakan pernyataan berikut:
CONTROLS <ctrl> TYPE TABLEVIEW USING SCREEN <scr>
Di mana adalah nama kontrol tabel pada layar dalam program ABAP. Kontrol memungkinkan program ABAP membaca atribut kontrol tabel dan mempengaruhi kontrol. Di sini, adalah nomor layar tempat nilai awal tabel dimuat.
Posisi Kursor untuk kontrol tabel dapat diatur dengan cara berikut:
Di PBO Anda dapat mengatur kursor pada bidang tertentu dari baris tertentu pada kontrol tabel.
SET CURSOR FIELD <f> LINE <lin> [OFFSET <off>]
Dengan menggunakan penambahan opsional OFFSET, Anda dapat memasukkan offset kursor di bidang seperti yang dijelaskan di bagian Mengatur Posisi Kursor.
Di PAI Anda dapat membaca posisi kursor saat ini.
GET CURSOR FIELD <f> LINE <lin> ...
Selain informasi yang diberikan di bawah Mencari Tahu Posisi Kursor, bidang berisi informasi tentang baris mana pada tabel yang mengontrol kursor saat ini. Anda juga bisa menggunakan
GET CURSOR LINE <lin>.
untuk menentukan baris kontrol tabel. SY-SUBRC memungkinkan Anda memeriksa apakah kursor ditempatkan di baris kontrol tabel.
Untuk mendapatkan garis yang sesuai meja internal:
GET CURSOR line <lin>. ind = <table_control>-top_line + <lin> - 1. Read table <itab> index ind.
Variabel sistem stepl – berisi indeks baris tabel saat ini dalam satu loop… endloop. Loopc – berisi jumlah baris yang terlihat di tabel
Untuk membuat kontrol tabel
1.Tambahkan elemen kontrol tabel ke layar Anda
2.Beri nama pada kontrol tabel. Dalam program ABAP mendeklarasikan struktur dengan yang sama ( CONTROLS ketik TABLEVIEW MENGGUNAKAN LAYAR )
3.Untuk membuat kolom, buka fungsi kolom Dict./Program.
- Masukkan nama struktur yang bidangnya Anda inginkan. (Jika Anda ingin mengambilnya dari kamus program Anda, klik tombol puh yang relevan).
- Dalam daftar bidang pilih bidang yang Anda inginkan dan pilih ok.
- Klik di area kontrol tabel
Jika Anda menginginkan kolom pilihan, centang kotak centang yang sesuai di atribut dan beri nama. Buat kolom di program ABAP.
Di PBO Anda harus memiliki pernyataan itu
LOOP at <itab> USING CONTROL <cntrl_name>. ENDLOOP.
Di PAI Anda seharusnya memilikinya.
LOOP at <itab>. ENDLOOP.
Di dalam loop inilah transfer data terjadi antara layar dan tabel internal. Saat Anda mengisi tabel internal, gunakan DESCRIBE TABLE GARIS -lines, untuk menyimpan jumlah baris dalam kontrol. Pernyataan FIELD dapat digunakan untuk mengontrol kapan transfer data terjadi
Untuk mengubah atribut sel individual, ubah sementara tabel SCREEN di PBO. Anda dapat mengubah atribut struktur yang dibuat oleh pernyataan CONTROLS
<cntrl>-fixed_cols etc are the attributes of the control <cntrl>-cols-index etc are the attributes of the columns. <cntrl>-cols-screen-invisible etc are the screen attributes of each column.