Thursday, August 16, 2018

Pencerahan Diri : Jasper Report itu Tidak Sulit Dipelajari

Saat ini saya dan tim sedang mengerjakan project yang menggunakan JasperReports untuk cetakan form. Kebetulan saya kebagian tugas merancang query dan unggah report ke Jasper Server.
Dalam merancang query saya menggunakan SQL Developer, sedangkan untuk merancang report kami menggunakan Jaspersoft iReport Designer 5.6.0. Query sudah dibuat dan lancar dijalankan di SQL Developer. Di iReport juga berhasil Read Fields, yang artinya tidak ada masalah di query.

tampilan layar Jaspersoft iReport Designer 5.6.0

Masalah baru muncul setelah unggah report ke Jasper Server. Ketika report dijalankan, ada pesan error standar yang muncul. Pesan error tersebut terlalu standar untuk dapat digunakan dalam identifikasi permasalahan. Jalan terbaik adalah dengan melihat log error di server. Untuk akses file log tersebut harus SSH menggunakan PuTTY atau perangkat lain yang disukai.

Dari log didapati bahwa SQL query invalid. Ternyata Jasper Server memiliki validator SQL yang banyak batasannya. Validator tersebut dapat dicustom dengan mematikan beberapa pengujian, tapi hal tersebut sangat rentan terhadap serangan SQL Injection.

Sebagai langkah terbaik, query diubah menyesuaikan batasan SQL Validator dari Jasper Server.
Dari pengalaman tersebut saya belajar :
  • Untuk tabel anak gunakan Subreport
  • Untuk tabel referensi gunakan left outer join
Sedikit pengalaman, semoga dapat membantu saya dan siapa saja yang membaca untuk lebih baik dalam menggunakan Jasper Report.