Ciri-ciri yang diinginkan dari laporan apa pun adalah "penjajaran lajur", penyortiran, penyaringan, subtotal, jumlah dll. Untuk melaksanakannya dari awal, banyak usaha pengekodan harus dilakukan. Untuk mengelakkannya kita boleh menggunakan konsep yang disebut ABAP List Viewer (ALV).
Dalam tutorial ini anda akan belajar:
- Laporan Ringkas
- Sekatan Laporan
- Laporan Hierarki
- Varian Paparan
Setiap laporan ini menyediakan modul fungsi yang membantu menghasilkan output yang diinginkan tanpa banyak usaha. Mari kita perhatikan secara terperinci -
Laporan Ringkas
Modul fungsi penting dalam laporan ini adalah -
- Gunakan semula_alv_fieldcatalog_merge
- Gunakan semula_alv_list_display
- Gunakan semula_alv_events_get
- Gunakan semula_alv_grid_display
- Gunakan semula_alv_commentary_write
REUSE_ALV_FIELDCATALOG_MERGE
Modul fungsi ini digunakan untuk mengisi katalog medan yang penting untuk memaparkan data dalam ALV.
Sekiranya data output berasal dari satu jadual kamus dan semua lajur dipilih, maka kita tidak perlu membuat katalog bidang secara eksklusif. Cukup untuk menyebut nama jadual sebagai parameter (I_structure_name) dalam REUSE_ALV_LIST_DISPLAY. Tetapi dalam kes lain kita perlu membuatnya.
Catatan: Katalog lapangan dapat diisi secara manual juga dengan mengisi semua butiran yang diperlukan ke dalam jadual dalaman
Parameter penting adalah:
1. Eksport:
- I_program_name: id laporan
- I_internal_tabname: jadual output dalaman
- I_inclname: sertakan atau nama laporan di mana semua borang dinamik dikendalikan.
2. Mengubah
- ct_fieldcat: jadual dalaman dengan jenis SLIS_T_FIELDCAT_ALV yang dinyatakan dalam kumpulan jenis SLIS.
REUSE_ALV_LIST_DISPLAY
Ini adalah modul fungsi yang mencetak data.
Parameter penting adalah:
1. Eksport:
- I_callback_program: id laporan
- I_bypassing_buffer: 'X'
- Saya_buffer_active: "
- I_callback_pf_status_set: rutin di mana pengguna boleh menetapkan status pfnya sendiri atau mengubah fungsi status pf yang ada.
- I_callback_user_command: rutin di mana kod fungsi ditangani.
- Nama struktur: nama jadual kamus
- Is_Layout: struktur untuk mengatur susun atur laporan
- It_fieldcat: jadual dalaman dengan senarai semua bidang dan atributnya yang akan dicetak (jadual ini dapat diisi secara automatik oleh fungsi)
- It_events: jadual dalaman dengan senarai semua kemungkinan peristiwa ALV dan nama bentuknya yang sepadan.
2. Jadual:
- a. t_outtab: jadual dalaman dengan data yang akan dikeluarkan
REUSE_ALV_EVENTS_GET:
Mengembalikan jadual kemungkinan peristiwa untuk jenis senarai
1. Import:
Et_Events: Jadual acara dikembalikan dengan semua kemungkinan peristiwa CALLBACK untuk jenis senarai yang ditentukan (lajur 'NAMA'). Untuk acara yang akan diproses oleh Callback, medan 'FORM' mereka mesti diisi. Sekiranya medan diinisialisasi, acara itu akan diabaikan Entri boleh dibaca dari jadual acara, bidang 'BORANG' diisi dan entri diubah menggunakan pemalar dari kumpulan jenis SLIS.
2. Eksport:
I_list_type: 0 = senarai ringkas REUSE_ALV_LIST_DISPLAY
1 = senarai hierarki-urutan REUSE_ALV_HIERSEQ_LIST_DISPLAY
2 = senarai blok mudah REUSE_ALV_BLOCK_LIST_APPEND
3 = senarai blok berurutan-berurutan REUSE_ALV_BLOCKEND_APV_BLOCK
REUSE_ALV_GRID_DISPLAY
Fungsi baru dari versi ABAP4.6, untuk memaparkan hasil dalam grid dan bukannya pratonton.
Parameter: sama seperti reuse_alv_list_display
Catatan: Grid tidak dapat menangani jumlah yang tinggi. Fungsi seperti mengurut, menatal ke bawah memakan banyak sumber / masa jika jumlah data yang akan dipaparkan tinggi. Tidak ada definisi potongan yang jelas sehingga jika jumlah data X masuk untuk senarai atau grid tetapi pemaju harus membuat panggilan berdasarkan pengalamannya. Sekiranya tidak pasti, maka senarai adalah pilihan yang lebih baik
REUSE_ALV_COMMENTARY_WRITE
Ini digunakan dalam acara Bahagian atas halaman untuk mencetak tajuk dan komen lain untuk senarai.
Parameter Penting
- It_list_commentary: Jadual dalaman dengan tajuk jenis slis_t_listheader.
Jadual dalaman ini mempunyai tiga bidang:
- Jenis: 'H' - tajuk, 'S' - pemilihan, 'A' - tindakan
- Kunci: hanya apabila taip adalah 'S'.
- Maklumat: teks yang akan dicetak
Sekatan Laporan
Ini kelihatan seperti laporan sederhana tetapi laporan ini hanya mempunyai ciri menyusun dan menyaring sahaja. Laporan ini digunakan jika anda harus memaparkan lebih dari satu laporan pada output. Secara teknikalnya jika anda mempunyai banyak jadual dalaman dengan data yang akan dipaparkan sebagai blok berasingan, maka kami mencari laporan blok ALV.
Fungsi penting yang digunakan untuk membuat laporan ini adalah:
- REUSE_ALV_BLOCK_LIST_INIT
- REUSE_ALV_BLOCK_LIST_APPEND
- REUSE_ALV_BLOCK_LIST_DISPLAY
REUSE_ALV_BLOCK_LIST_INIT
Modul fungsi ini digunakan untuk menetapkan status gui lalai dll. Parameternya serupa dengan yang digunakan dalam reuse_alv_list_display atau reuse_alv_grid_display
REUSE_ALV_BLOCK_LIST_APPEND
Modul fungsi ini menambahkan data ke blok.
Parameter Penting
1. Eksport:
- is_layout: tetapan susun atur untuk blok
- it_fieldcat: katalog bidang
- I_tabname: nama jadual dalaman dengan semua kemungkinan peristiwa
2. Jadual:
- t_outtab: jadual dalaman dengan data output.
REUSE_ALV_BLOCK_LIST_DISPLAY
Modul fungsi ini memaparkan senarai dengan data yang dilampirkan oleh fungsi di atas.
Parameter: Semua parameter adalah pilihan.
Laporan Hierarki
Paparan hierarki digunakan untuk memaparkan data yang berkaitan. Seperti pesanan penjualan dan butiran item. Di sini perincian pesanan penjualan boleh menjadi data tajuk sedangkan item dalam pesanan penjualan boleh menjadi data item
. Modul fungsi yang digunakan untuk ini adalah
REUSE_ALV_HIERSEQ_LIST_DISPLAY
Eksport:
- I_CALLBACK_PROGRAM
- I_CALLBACK_PF_STATUS_SET
- Saya_CALLBACK_USER_COMMAND
- IS_LAYOUT
- It_fieldcat
- Ia_peristiwa
- I_tabname_header: Nama jadual dalaman dalam program yang mengandungi data output dari peringkat hierarki tertinggi.
- I_tabname_item: Nama jadual dalaman dalam program yang mengandungi data output dari tahap hierarki terendah.
- Is_keyinfo: Struktur ini mengandungi nama bidang tajuk dan tajuk item yang menghubungkan dua jadual (kunci bersama).
Jadual
- t_outtab_header: Jadual tajuk dengan data yang akan dikeluarkan
- t_outtab_item: Nama jadual dalaman dalam program yang mengandungi data output dari tahap hierarki terendah.
Semua definisi jadual, struktur dan pemalar dalaman dinyatakan dalam kumpulan jenis yang disebut SLIS. Jadual dalaman ini dapat diisi secara automatik dengan menggunakan REUSE_ALV_FIELDCATALOG_MERGE '.
Varian Paparan
- Varian paparan digunakan untuk menetapkan sifat lalai dari output alv seperti kriteria sort, kriteria penyaringan, jumlah dan subtotaling dll.
- Varian paparan dapat khusus pengguna dan standard (varian standard dapat digunakan oleh pengguna mana pun)
- Jenis varian paparan yang dapat disimpan dikendalikan oleh parameter i_save yang diteruskan dalam modul fungsi reuse_alv_list_display / reuse_alv_grid_display
- Anda dapat memberikan pilihan pada layar pilihan untuk memilih varian tampilan apa yang akan digunakan
Modul fungsi umum yang berkaitan dengan memilih / mengesahkan varian paparan adalah
- Gunakan semula_alv_variant_default_get
- Gunakan semula_alv_variant_f4
- Gunakan semula_alv_variant_existence
Itu semua untuk pengaturcaraan ABAP- ALV!