Kontrol Tabel SAP ABAP dengan Contoh

Anonim

Kontrol tabel dan loop langkah adalah objek untuk tampilan tabel layar yang Anda tambahkan ke layar di Screen Painter.
Dari sudut pandang pemrograman, kontrol tabel dan loop langkah hampir sama persis. Kontrol tabel hanyalah loop langkah yang ditingkatkan yang menampilkan data dengan tampilan dan nuansa yang terkait dengan tabel dalam aplikasi desktop.
Dengan kontrol tabel, pengguna dapat:

  • Gulir tabel secara vertikal dan horizontal
  • Ubah ukuran lebar kolom
  • Gulir di dalam bidang (jika konten bidang lebih lebar dari bidang)
  • Pilih baris atau kolom tabel
  • Atur 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 -

  • mengubah ukuran tabel otomatis (vertikal dan horizontal) saat pengguna mengubah ukuran jendela
  • garis pemisah antar baris dan antar kolom (vertikal dan horizontal)
  • bidang tajuk kolom untuk semua kolom

Salah satu fitur loop langkah adalah baris tabelnya dapat menjangkau lebih dari satu baris di layar. Baris kontrol tabel, di sisi lain, harus selalu berada dalam satu baris (meskipun pengguliran dimungkinkan).
Secara umum, banyak fitur yang disediakan oleh kontrol tabel ditangani secara lokal oleh frontend SAPgui sistem Anda, jadi Anda tidak perlu memprogramnya sendiri. Satu-satunya pengecualian penting untuk ini adalah pengguliran vertikal .
Contoh (Transaksi TZ60)


Sintaks
Untuk menangani kontrol tabel dalam program ABAP, Anda harus mendeklarasikan kontrol di bagian deklarasi program untuk setiap kontrol tabel menggunakan pernyataan berikut:

KONTROL  TABLEVIEW JENIS MENGGUNAKAN LAYAR 

dimana adalah nama kontrol tabel pada layar di program ABAP. Kontrol memungkinkan program ABAP untuk 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 dari kontrol tabel.

SETEL BIDANG KURSOR  LINE 
 [OFFSET ]

Menggunakan tambahan OFFSET opsional, Anda dapat memasukkan offset kursor di bidang seperti yang dijelaskan di bawah Menyetel Posisi Kursor.
Di PAI Anda dapat membaca posisi kursor saat ini.

DAPATKAN KOLOM KURSOR  LINE 

Selain informasi yang diberikan di bawah Menemukan Posisi Kursor, bidang berisi informasi di baris mana dari tabel kontrol tempat kursor berada. Anda juga bisa menggunakan

DAPATKAN GARIS KURSOR 
.

untuk menentukan baris dari kontrol tabel. SY-SUBRC memungkinkan Anda untuk memeriksa apakah kursor ditempatkan pada baris kontrol tabel.
Untuk mendapatkan baris yang sesuai dari tabel internal:

DAPATKAN garis KURSOR 
.ind = 
 -top_line + 
 - 1.Baca tabel  indeks ind.

Stepl variabel sistem - berisi indeks baris tabel saat ini dalam satu lingkaran… endloop. Loopc - berisi jumlah baris yang terlihat pada 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 (CONTROLS ketik TABLEVIEW MENGGUNAKAN LAYAR ) 3. Untuk
membuat bidang masuk ke fungsi bidang Dict./Program.

  • Masukkan nama struktur yang bidangnya Anda inginkan. (Jika Anda ingin mengambilnya dari kamus program Anda, klik tombol yang relevan).
  • Di daftar bidang pilih bidang yang Anda inginkan dan pilih ok.
  • Klik di area kontrol tabel

Jika Anda menginginkan kolom pilihan, centang kotak yang sesuai di atribut dan beri nama. Buat bidang dalam program ABAP.
Di PBO Anda harus memiliki statement

LOOP di  MENGGUNAKAN CONTROL .ENDLOOP.

Di PAI, Anda harus memilikinya.

LOOP di .ENDLOOP.

Di dalam loop inilah transfer data terjadi antara layar dan tabel internal.Ketika Anda mengisi tabel internal, gunakan DESCRIBE TABLE LINES -lines, untuk menyimpan jumlah baris dalam kontrol. Pernyataan FIELD dapat digunakan untuk mengontrol kapan transfer data terjadi
Untuk mengubah atribut sel individu untuk sementara mengubah tabel LAYAR di PBO. Anda dapat mengubah atribut struktur yang dibuat oleh pernyataan CONTROLS

 -fixed_cols dll adalah atribut kontrol -cols-index dll adalah atribut kolom. -cols-screen-invisible dll adalah atribut layar dari setiap kolom.