SAP Pemrograman Laporan ABAP
⚡ Ringkasan Cerdas
Pemrograman Laporan ABAP membangun program yang dapat dieksekusi untuk memilih, memproses, dan menampilkan sejumlah besar data. SAP Data. Halaman ini menjelaskan penambahan header laporan, layar pemilihan, urutan kejadian, perintah pemformatan, daftar interaktif, dan basis data logis.
Apa itu Pemrograman Laporan ABAP?
SAP-ABAP mendukung dua jenis Program – Program Laporan & Program Dialog. Program Laporan digunakan ketika sejumlah besar data perlu ditampilkan.
Tujuan/Penggunaan Program Laporan
- Metode ini digunakan ketika data dari sejumlah tabel harus dipilih dan diproses sebelum disajikan.
- Digunakan ketika laporan memerlukan format khusus.
- Digunakan ketika laporan harus diunduh SAP ke lembar Excel untuk didistribusikan.
- Digunakan ketika laporan harus dikirimkan melalui pos ke orang tertentu.
Poin Penting yang Perlu Diperhatikan Tentang Program Laporan
- Program Laporan selalu merupakan Program yang Dapat Dieksekusi. Jenis Program selalu 1.
- Setiap program Laporan sesuai dengan Tipe Aplikasi tertentu, misalnya dengan Penjualan & Distribusi, FI – CO, dll. Bisa juga dengan Aplikasi Lintas, yaitu ketik '*'.
- Pemrograman Laporan adalah pemrograman berbasis peristiwa.
- Baris pertama program laporan selalu Laporan .
- Untuk menyembunyikan judul daftar atau nama program tambahannya Tidak Ada Judul Halaman Standar digunakan.
- Ukuran garis untuk laporan tertentu dapat diatur dengan menggunakan penambahan ukuran garis .
- Jumlah baris untuk halaman tertentu dapat diatur dengan menggunakan penambahan jumlah baris n(n1). N adalah jumlah baris untuk halaman dan N1 adalah jumlah baris yang dicadangkan untuk footer halaman.
- Untuk menampilkan informasi atau pesan kesalahan apa pun, kami menambahkan kelas pesan ke program menggunakan tambahan: ID pesan . Kelas pesan dipertahankan di SE91.
Oleh karena itu, program laporan yang ideal harus dimulai dengan:
Report <report name> no standard page heading line-size <size> line-count <n(n1)> message-id <message class>.
Program Pelaporan vs Program Dialog
Kedua jenis program ini berjalan dalam sistem yang sama, namun mereka memecahkan masalah yang berlawanan. Sebuah laporan membaca dan menampilkan data, sedangkan program dialog memungkinkan pengguna untuk mengelola data tersebut melalui layar.
| Kriteria | Laporan Program | Program Dialog |
|---|---|---|
| Jenis program | Tipe 1, dapat dieksekusi | Tipe M, kumpulan modul |
| Dimulai oleh | Nama program atau kode transaksi | Hanya kode transaksi |
| Alur kontrol | Peristiwa seperti INISIALISASI dan AWAL SELEKSI | Logika alur layar dengan modul PBO dan PAI |
| Masukan pengguna | Layar pemilihan yang dihasilkan | Layar yang dirancang di Layar Painter |
| Penggunaan khas | Menampilkan dan mengunduh volume data yang besar | Membuat dan mengubah data bisnis |
Layar pemilihan adalah tempat laporan mengumpulkan inputnya, jadi akan dijelaskan selanjutnya.
Layar Pemilihan
“Layar pemilihan” adalah layar tempat pengguna menentukan nilai input yang akan digunakan program untuk dijalankan.
Layar pemilihan biasanya dihasilkan dari
- Parameter Teknis
- Pilih Pilihan
Sintaksis
Selection-screen begin of screen <screen #> selection-screen begin of block <#> with frame title <text> ......... ......... selection-screen end of block <#> selection-screen end of screen <screen #>
Parameter Teknis
Parameter membantu seseorang melakukan seleksi dinamis. Mereka hanya dapat menampung satu nilai untuk satu siklus eksekusi program.
Sintaksis
Mendefinisikan parameter sebagai tipe data
Parameters p_id(30) type c.
Mendefinisikan parameter seperti bidang tabel.
Parameter p_id like <table name>-<field name>.
Parameter dapat berupa Kotak Centang dan Tombol Radio.
Parameters p_id as checkbox.Parameters p_id1 radiobutton group <group name>. Parameters p_id2 radiobutton group <group name>.
Parameter dapat berupa kotak daftar.
Parameter p_id like <table name>-<field name> as listbox
Pilih Pilihan
Select-Option digunakan untuk memasukkan rentang nilai atau sekumpulan nilai ke suatu program
Sintaksis
select-options s_vbeln for vbak-vbeln.
Tangkapan layar menunjukkan kolom input rendah dan tinggi yang dihasilkan oleh opsi pilihan, bersama dengan tombol pilihan ganda.
Anda juga dapat menentukan opsi pemilihan seperti variabel
select-options s_vbeln for vbak-vbeln no intervals no-extension
Setelah input dikumpulkan, program bereaksi terhadap serangkaian peristiwa yang telah ditentukan.
Peristiwa dalam Program Laporan ABAP
Program laporan ABAP adalah program yang didorong oleh peristiwa. Peristiwa berbeda dalam Program laporan adalah:
Pemuatan program
- Memicu kejadian terkait dalam sesi internal setelah memuat program tipe 1, M, F, atau S.
- Juga menjalankan blok pemrosesan terkait satu kali dan hanya satu kali untuk setiap program dan sesi internal.
- Blok pemrosesan LOAD-OF-PROGRAM memiliki fungsi yang kurang lebih sama untuk sebuah program ABAP tipe 1, M, F atau S sebagai konstruktor untuk kelas di Objek ABAP
Inisialisasi.
- Acara ini dijalankan sebelum layar pemilihan ditampilkan.
- Inisialisasi semua nilai.
- Anda dapat menetapkan nilai berbeda selain nilai default pada layar pemilihan.
- Anda dapat mengisi layar pilihan Anda dengan beberapa nilai saat runtime.
Di Layar Seleksi.
- Acara diproses ketika layar pemilihan telah diproses (di akhir PAI).
- Validasi & Pemeriksaan nilai yang dimasukkan terjadi di sini
Awal Seleksi.
- Di sini program mulai memilih nilai dari tabel.
Akhir seleksi.
- Setelah semua data dipilih, acara ini menulis data ke layar.
Acara Interaktif
- Digunakan untuk pelaporan interaktif. Ini digunakan untuk membuat daftar rinci dari daftar dasar.
💡 Kiat: Pernyataan yang ditulis tanpa kata kunci peristiwa apa pun secara default termasuk dalam START-OF-SELECTION, itulah sebabnya laporan masih berjalan meskipun peristiwa tersebut tidak ada.
Contoh: Program Laporan ABAP Sederhana
Program di bawah ini menggabungkan penambahan, layar pemilihan, dan peristiwa ke dalam satu laporan kerja. Program ini membaca header pesanan penjualan dari VBAK untuk angka yang dimasukkan pada layar pemilihan dan menuliskannya sebagai daftar.
REPORT z_sales_order_list NO STANDARD PAGE HEADING LINE-SIZE 80 LINE-COUNT 65(3) MESSAGE-ID zsd. TABLES: vbak. DATA: lt_vbak TYPE STANDARD TABLE OF vbak, ls_vbak TYPE vbak. * Selection screen SELECT-OPTIONS: s_vbeln FOR vbak-vbeln. PARAMETERS: p_erdat LIKE vbak-erdat. INITIALIZATION. p_erdat = sy-datum. AT SELECTION-SCREEN. IF p_erdat > sy-datum. MESSAGE e001(zsd). " Date must not lie in the future ENDIF. START-OF-SELECTION. SELECT * FROM vbak INTO TABLE lt_vbak WHERE vbeln IN s_vbeln AND erdat LE p_erdat. END-OF-SELECTION. LOOP AT lt_vbak INTO ls_vbak. WRITE: / ls_vbak-vbeln, ls_vbak-erdat, ls_vbak-netwr. HIDE ls_vbak-vbeln. ENDLOOP.
Tiga detail penting perlu diperhatikan. INITIALIZATION mengisi parameter tanggal sebelum layar pemilihan muncul. AT SELECTION-SCREEN memvalidasi entri dan menampilkan pesan dari kelas ZSD. HIDE menyimpan nomor urutan setiap baris yang ditulis, sehingga klik ganda dapat membuat daftar sekunder darinya, yang merupakan subjek bagian selanjutnya.
Memformat laporan
ABAP memungkinkan laporan diformat sesuai keinginan pengguna. Misalnya, “Garis Alternatif” harus muncul dalam warna berbeda dan garis “Total” akan muncul dalam warna Kuning.
Sintaksis
Format Color n Format Color n Intensified On
n mungkin sesuai dengan berbagai nomor
Harap dicatat bahwa ada tambahan lain beserta formatnya juga
FORMAT COLOR OFF INTENSIFIED OFF INVERSE OFF HOTSPOT OFF INPUT OFF
Pemrograman Laporan Interaktif
- Dengan menggunakan Pemrograman Interaktif, pengguna dapat secara aktif mengontrol pengambilan dan tampilan data.
- Digunakan untuk membuat daftar terperinci dari daftar yang sangat sederhana.
- Data rincinya ditulis pada daftar sekunder.
- Daftar sekunder mungkin sepenuhnya melapisi layar pertama atau dapat menampilkannya di layar baru
- Daftar sekunder bisa bersifat interaktif.
- Daftar pertama juga bisa disebut transaksi.
- Ada berbagai peristiwa yang terkait dengan pemrograman interaktif.
Beberapa perintah yang digunakan untuk pemrograman interaktif
hotspot
Jika seseorang menyeret mouse ke atas data yang ditampilkan dalam laporan, kursor akan berubah menjadi Tangan dengan jari telunjuk terentang. Hotspot dapat dicapai dengan menggunakan pernyataan FORMAT.
Syntax: Format Hotspot On (Off).
menyembunyikan
Perintah ini membantu Anda menyimpan nama field berdasarkan mana yang akan diproses lebih lanjut untuk mendapatkan daftar detail. Itu ditulis langsung setelah pernyataan WRITE untuk suatu bidang. Ketika sebuah baris dipilih, nilainya secara otomatis terisi dalam variabel untuk digunakan lebih lanjut.
Syntax: Hide <field-name>.
Laporan yang membaca banyak tabel dapat mengganti pernyataan SELECT-nya dengan basis data logis, seperti yang dijelaskan di bawah ini.
Basis Data Logis
- Daripada menggunakan kueri "Pilih", Anda dapat menggunakan database logis untuk mengambil data untuk suatu program.
- Basis data logis dibuat berdasarkan transaksi SE36
- Panjang nama database logis bisa mencapai 20 karakter. Ini mungkin dimulai dengan awalan namespace.
- Data dipilih oleh program lain dan seseorang dapat mengakses data tersebut menggunakan GET perintah yang menempatkan data di area kerja .
Keuntungan database logis dibandingkan kueri Select normal.
- Ia menawarkan kondisi pemeriksaan untuk melihat apakah masukannya benar, lengkap, dan masuk akal
- Ini berisi pemeriksaan otorisasi pusat untuk akses database
- Peningkatan seperti peningkatan kinerja segera berlaku untuk semua laporan yang menggunakan database logis.
Catatan: Karena kompleksitas yang terlibat, database logis tidak digunakan dalam sebagian besar kasus

