Error tsb, umumnya dikarenakan variable yang dibagi nilainya sama dengan nol (0) dan jika dibagi nol adalah tak terhingga (cannot divide by zero). Contohnya ingin menampilkan pembagian variable laba dibagi penjualan di laporan Rincian Penjualan Per Barang (Laporan | Daftar Laporan | Penjualan)
1. Setelah di akses laporanya | Tampilkan | Modifikasi | Kolom Data | Klik 2 kali variable Laba dan Kolom Skrip Khusus 1, sehingga 2 variable tsb berpindah ke Kolom Digunakan
3. Klik * Kolom Skrip Khusus 1 | Pilih variable Laba dan klik +, sehingga tampil $F{itemCost.grossProfit}
4. Untuk pembagian tambahkan .divide( sehingga menjadi $F{itemCost.grossProfit}.divide( | skrip khusus pilih Penjualan dan klik + | sehingga rumusnya menjadi $F{itemCost.grossProfit}.divide($F{salesDetail.salesAmountBase}
5. Khusus untuk pembagian harus ditambahkan , 6, RoundingMode.DOWN) sehingga rumus keseluruhan adalah
$F{itemCost.grossProfit}.divide($F{salesDetail.salesAmountBase}, 6, RoundingMode.DOWN)
6. Tetapi jika ingin tampil dalam % (persentase), maka tambahkan .multiply(new BigDecimal(100)) sehingga keseluruhan adalah
$F{itemCost.grossProfit}.divide($F{salesDetail.salesAmountBase}, 6, RoundingMode.DOWN).multiply(new BigDecimal(100))
7. Tetapi, tampil error “skrip kolom tidak valid”, dikarenakan ada penjualan atau variable yang dibagi nilainya nol seperti printscreen dibawah:
7. Sehingga rumus tsb perlu ditambahkan dibagian depannya yaitu $F{salesDetail.salesAmountBase}.compareTo(new BigDecimal(0)) == 0 ? 1 : yaitu jika variable yang dibagi adalah nol seperti di contoh penjualan nol, maka yang tampil adalah 1 dan untuk nilai penjualan tidak nol, maka tetap laba dibagi penjualan dan dikalikan 100. Sehingga rumus secara keseluruhan adalah
$F{salesDetail.salesAmountBase}.compareTo(new BigDecimal(0)) == 0 ? 1 : $F{itemCost.grossProfit}.divide($F{salesDetail.salesAmountBase}, 6, RoundingMode.DOWN).multiply(new BigDecimal(100))
Keterangan :
Variable bisa berbeda-beda tergantung kebutuhan dan di atas adalah contoh pembagian antara Laba dengan Penjualan dan dibuat dalam Persentase (%), sehingga untuk variable $F{salesDetail.salesAmountBase} dan $F{itemCost.grossProfit} kemungkinan akan berbeda.