Subscribe

RSS Feed (xml)

Powered By

Skin Design:
Free Blogger Skins

Powered by Blogger

Jumat, 26 November 2010

JasperReport di Adempiere

Hari ini ada lagi pengunjung blog yang bertanya tentang JasperReport. Kali ini, masalah ketika integrasi di Adempiere. Maunya menampilkan fungsi terbilang (amt in words) di JasperReport. Hmm, selalu saya jawab, saya belum pernah implementasi JasperReport di Adempiere, karena memang saya belum pernah coba. Kali ini saya niat nyoba. Cari-cari tutorial di internet via Google memang banyak sekali, terutama dari situs Adempiere itu sendiri. Saya coba dari sini.

NB: IReport versi: 2.0.2
    Adempiere versi: 342 (Desktop version)
    OS: Ubuntu 8.10

Langkah:
Pertama, buat dulu JasperReportnya via iReport. Gunakan koneksi sesuai koneksi adempiere. Saya coba menampilkan tanggal server.
Query nya: SELECT now() as sekarang
Di test run iReport, hasilnya ok.


Kedua, kita buat process/report baru di Adempiere. 
Login dengan user System, kemudian masuk window Report & Process. Buat baru (pencet New). Isi data-data yang diperlukan. 
Pada  Classname, isikan dengan org.compiere.report.ReportStarter 
Kenapa harus itu? Karena ya class itu yang digunakan untuk load JasperReport di Adempeire. Jika ingin meng-custom proses load, ya tinggal ganti class itu atau buat class baru. (lagian..buat apa custom load JasperReport hehehe...)

Kemudian di field Jasper Report, isikan dengan nama jrxml nya yang akan diload. Ada beberapa pilihan menentukan setting lokasi report. 

Pilihannya (berdasarkan awalan pada field Jasper Report):
http:// atau  https:// : report di simpan pada suatu webserver
attachment:  :report di simpan di attachment adempiere
/  : report di disk. Lokasi langsung fullpath contoh /home/test/test.jrxml
file:/  : lokasi report di tulis dengan format URI
resouce:  : report di simpan dalam bentuk resource
file.jrxml : jika hanya menuliskan nama filenya saja. Maka nanti ada dua pilihan lagi. 
Pertama, ambil folder dari paramteer di org.compiere.report.path, Kedua, jika pilihan pertama tidak di set, diambil dari folder [AdempiereHome]\reports\

Selesai mengisi, lanjutkan ke Tab Paramter jika di niatkan ada parameter di report tersebut.
Field nama digunakan untuk mengisi field's caption pada dialog input parameter. Sedang nama parameter di JasperReport di isikan di DB Column Name.

Setting koneksi pada JasperReport diambilkan current koneksi pada Adempiere. Coba dilihat pada /JasperReports/src/org/compiere/report/ReportStarter.java::startProcess()
conn = getConnection();
JasperPrint jasperPrint = JasperFillManager.fillReport( jasperReport, params, conn);

Ketiga, kita apply proces/report yang telah dibuat. Untuk implementasikan bisa dengan membuat menu sendiri, attach di button, atau menggantikan action print.

Hasilnya:

Nah sekarang, "Bagaimana mengimplementasikan AmtInWords di Jasper Report-Adempiere?"  Setelah baca-baca. Ternyata lebih mudah daripada saat mengimplementasikan di JasperReport via Scriplet. Dengan menggabunkan dengan Adempiere, maka otomatsi semua class di Adempiere dapat di akses dari JasperReport. Jadi kita tinggal panggil class AmtInWords yang telah ada di Adempiere. Prakteknya...

Kita gunakan parameter sebagai inputan yang akan dikonvert jadi terbilang. Pada JasperReport kita tambah Field untuk menampilkan terbilang tersebut. Tipe field String. 
Isikan Expr-nya: new org.compiere.util.AmtInWords_IN().getAmtInWords($P{param1})

Coba di compile...
Eh hasilnya:

Errors compiling ./testJasper2.jasper.
net.sf.jasperreports.engine.JRException: Errors were encountered when compiling report expressions class file: 1. org.compiere.util.AmtInWords_IN cannot be resolved to a type

Hal ini terjadi karena class-class adempiere (adempiere.jar) belum dapat diakses di IReport. Untuk itu tambahkan adempiere.jar di classpath iReport. (Saat adempiere.jar telah masuk di classpath, maka tiap kali compile akan terasa lebih lama, walau yang dicompile tidak memakai adempiere.jar)

Sebenarnya kita bisa langsung gunakan report di Adempiere tanpa perlu meng-compile. Jika memang yakin report betul, langsung kita save repot di folder report Adempiere, dan run Adempiere. Hasilnya:
Nah jadi kan. Silahkan dicoba dan di kembangkan. Karena dengan bisa mengakses class-class di Adempiere, maka kita bisa melakukan banyak hal. 

By the way, setelah mencoba, ada bug di 342. Yaitu ketika window hasil repot muncul, dan tidak kita close. Maka window itu tetap muncul walau kita melakukan logout dan login lagi dengan session yang berbeda.

Kamis, 11 November 2010

Salurkan Donasi Dakwah untuk Korban Merapi Melalui Kafilah Dakwah Ansharut Tauhid

Di tengah keprihatinan akan fitnah dan rekayasa keji para musuh Islam yang dihantamkan kepada Jama’ah Ansharut Tauhid (JAT), Allah Subhanahu wa Ta'ala terus membuka peluang untuk selalu melakukan amal shalih dalam berdakwah illallah.
Keprihatinan terhadap para pengungsi korban meletusnya Gunung Merapi, membuka jalan bagi masuknya kafilah Dakwah JAT dengan jalan bergerak membantu para pengungsi korban letusan Merapi.
JAT Crisis Center dan Lazis JAT bersinergi membentuk Relawan KATIBAH (Komunitas Ansharut Tauhid Peduli Musibah). Kekuatan inti Relawan ini mengandalkan para aktivis Gerakan Mahasiswa untuk Syariat Islam (GEMASALAM). Tim Survey sudah bergerak untuk mendirikan Posko Lapangan sementara dari Posko Pusat telah mengirim bantuan berupa pakaian, alat perlengkapan mandi, mie instan dan air mineral ke pengungsian yang terletak tidak jauh dari Prambanan Klaten, Selasa (9/11/2010) lalu. Selanjutnya Tim Relawan Katibah akan terus bergerak ke sana lagi untuk memberikan bantuan dan memperbanyak Posko Lapangan.
Amal pembuka ini nantinya akan ditindaklanjuti secara struktural JAT yakni dengan Sariyah Dakwah wal I'lamnya, yang rencananya  akan menyelenggarakan Pelatihan Da'i Tanggap Bencana. Inti acara ini adalah merekrut dan membekali para dai JAT untuk melakukan dakwah dan pembinaan kaum muslimin korban letusan Gunung Merapi tersebut. Sementara ini, pihak Dawlam JAT sedang menggerakkan para Da'inya untuk segera terjun ke lokasi-lokasi pengungsian karena pihak Nasrani ternyata sudah bergerak untuk melakukan pemurtadan di beberapa lokasi pengungsian.
Kaum Muslimin bisa berdakwah dan terlibat dalam aksi tanggap bencana Merapi tanpa harus turun ke lokasi pengungsian, dengan menyalurkan dukungan dan donasi ke rekening berikut:
Bank Muamalat Indonesia (BMI)
No. 5210341822 a/n: Lazis JAT.
CP: Nasrulloh (0812.2594.0001)





Abu fatih Abdurrahman S.
Katibul 'Aam Jama’ah Ansharut Tauhid

Selasa, 09 November 2010

INFO: Idul Adha 1431 H, Jatuh Pada Hari Selasa (16 November 2010)

Berdasarkan informasi dari Haramain Syarifain: 1 Dzulhijjah jatuh pada hari Ahad, 7 November 2010. Maka wukuf di Arafah jatuh pada hari Senin, 15 November 2010. Dengan demikian maka hari Raya Idul Adha 1431 H jatuh pada hari Selasa, 16 November 2010.

http://hizbut-tahrir.or.id/2010/11/10/info-idul-adha-1431-h-jatuh-pada-hari-selasa-16-november-2010/