Kawalan Jadual SAP ABAP dengan Contoh

Anonim

Kawalan meja dan gelung langkah adalah objek untuk paparan meja skrin yang anda tambahkan ke layar di Pelukis Skrin.
Dari sudut pengaturcaraan, kawalan meja dan gelung langkah hampir sama. Kawalan meja hanyalah gelung langkah yang diperbaiki yang memaparkan data dengan rupa dan nuansa yang berkaitan dengan jadual dalam aplikasi desktop.
Dengan kawalan jadual, pengguna dapat:

  • Tinjau jadual secara menegak dan melintang
  • Saiz semula lebar lajur
  • Tatal di dalam medan (apabila isi bidang lebih luas daripada bidang)
  • Pilih baris atau lajur jadual
  • Susun semula turutan lajur
  • Simpan tetapan paparan semasa untuk penggunaan masa depan

Kawalan meja juga menawarkan ciri pemformatan khas (beberapa automatik, beberapa pilihan) yang menjadikan jadual lebih mudah dilihat dan digunakan. Jadual Kawalan menyediakan -

  • pengubah saiz jadual automatik (menegak dan mendatar) apabila pengguna mengubah saiz tetingkap
  • garis pemisah antara baris dan antara lajur (menegak dan mendatar)
  • medan tajuk lajur untuk semua lajur

Satu ciri gelung langkah adalah barisan meja mereka dapat menjangkau lebih dari satu baris di skrin. Sebaliknya, barisan kawalan meja, mesti selalu terdapat dalam satu baris (walaupun menatal mungkin).
Secara umum, banyak ciri yang disediakan oleh kawalan meja ditangani secara tempatan oleh frontend SAPgui sistem anda, jadi anda tidak perlu memprogramnya sendiri. Satu-satunya pengecualian yang ketara ialah tatal menegak .
Contoh (Transaksi TZ60)


Sintaks
Untuk mengendalikan kawalan jadual dalam program ABAP, anda mesti menyatakan kawalan di bahagian deklarasi program untuk setiap kawalan jadual menggunakan pernyataan berikut:

KAWALAN  JENIS TABLEVIEW MENGGUNAKAN LAYAR 

di mana adalah nama kawalan meja pada skrin dalam program ABAP. Alat kawalan membolehkan program ABAP membaca atribut kawalan jadual dan mempengaruhi kawalan. Di sini, adalah nombor skrin di mana nilai awal jadual dimuat.
Kedudukan Kursor untuk kawalan meja dapat diatur dengan cara berikut:
Di PBO, anda dapat mengatur kursor pada bidang tertentu dari baris kawalan meja tertentu.

SET BIDANG KURSOR  LINE 
 [OFFSET ]

Dengan menggunakan OFFSET penambahan pilihan, anda boleh memasukkan offset kursor di lapangan seperti yang dijelaskan di bawah Menetapkan Kedudukan Kursor.
Di PAI anda boleh membaca kedudukan kursor semasa.

DAPATKAN BIDANG KURSOR  LINE 
 ... 

Sebagai tambahan kepada maklumat yang diberikan di bawah Mencari Posisi Kursor, bidang mengandungi maklumat di mana baris jadual mengawal kursor sedang aktif. Anda juga boleh menggunakan

DAPATKAN KURSOR LINE 
.

untuk menentukan barisan kawalan jadual. SY-SUBRC membolehkan anda memeriksa sama ada kursor diletakkan di barisan kawalan meja.
Untuk mendapatkan baris jadual dalaman yang sepadan:

DAPATKAN baris KURSOR 
.ind = 
 -top_line + 
 - 1.Baca jadual  indeks ind.

Stepl pembolehubah sistem - mengandungi indeks garis jadual semasa dalam gelung… endloop Loopc - mengandungi bilangan baris yang dapat dilihat dalam jadual
Untuk membuat kawalan meja
1. Tambahkan elemen kawalan meja ke skrin anda
2. Beri nama pada kawalan meja. Dalam program ABAP menyatakan struktur dengan yang sama (CONTROLS type TABLEVIEW MENGGUNAKAN SCREEN )
3.Untuk membuat medan pergi ke fungsi Dict./Program.

  • Masukkan nama struktur yang bidangnya anda mahukan. (Sekiranya anda mahu memilihnya dari kamus program anda, klik butang yang berkenaan).
  • Dalam senarai medan pilih bidang yang anda mahukan dan pilih ok.
  • Klik di kawasan kawalan jadual

Sekiranya anda mahukan lajur pilihan, centang kotak yang sesuai di atribut dan beri nama. Buat bidang dalam program ABAP.
Dalam PBO anda harus mempunyai pernyataan

LOOP di  MENGGUNAKAN KAWALAN .TAMAT TAMAT.

Dalam PAI anda semestinya ada.

LOOP di .TAMAT TAMAT.

Di dalam gelung, pemindahan data berlaku antara skrin dan jadual dalaman. Apabila anda mengisi jadual dalaman, gunakan DESCRIBE TABLE LINES -lines, untuk menyimpan jumlah baris dalam kawalan. Pernyataan FIELD boleh digunakan untuk mengawal bila pemindahan data berlaku
Untuk mengubah atribut sel individu menukar jadual SCREEN sementara di PBO. Anda boleh mengubah atribut struktur yang dibuat oleh penyataan CONTROLS

 -fixed_cols dll adalah sifat kawalan -cols-index dll adalah sifat lajur. -cols-screen-invisible dll adalah atribut skrin setiap lajur.