Implementasi Script Groovy
Kumpulan contoh script Groovy yang dapat digunakan pada Script Task, Service Task dan Execution Listeners di BPMN Editor
Format Angka ke Rupiah dengan Separator Ribuan
Script Groovy digunakan di dalam Script Task pada BPMN Editor untuk memproses data, memanipulasi variabel, atau menjalankan logika kustom selama eksekusi process. Script ditulis langsung pada konfigurasi task dengan Script Format diisi groovy. Script ini mengubah nilai angka menjadi format mata uang Indonesia (Rupiah) lalu menyimpannya sebagai variabel baru di process execution.
Contoh hasil: 1500000 → Rp1.500.000
import java.text.NumberFormat
import java.util.Locale
def localeID = new Locale("id", "ID")
def formatter = NumberFormat.getCurrencyInstance(localeID)
formatter.setMaximumFractionDigits(0)
def remainingBalanceFormatted = formatter.format(remainingBalance)
execution.setVariable("remainingBalanceFormatted", remainingBalanceFormatted)Penjelasan
| Kode | Keterangan |
|---|---|
new Locale("id", "ID") | Menggunakan locale Indonesia sehingga separator menggunakan titik (.) sebagai pemisah ribuan |
getCurrencyInstance(localeID) | Membuat formatter mata uang sesuai locale yang dipilih |
setMaximumFractionDigits(0) | Menghilangkan angka desimal (sen) agar hasil lebih ringkas |
formatter.format(remainingBalance) | Memformat variabel remainingBalance yang sudah tersedia di process execution |
execution.setVariable(...) | Menyimpan hasil format ke variabel baru remainingBalanceFormatted |
Variabel
| Nama | Tipe | Keterangan |
|---|---|---|
remainingBalance | Number | Variabel input — harus sudah tersedia di process execution sebelum Script Task ini dijalankan |
remainingBalanceFormatted | String | Variabel output — berisi angka yang sudah diformat, siap digunakan di task atau form berikutnya |
Cara Penggunaan
- Di BPMN Editor, tambahkan Script Task pada diagram.
- Klik task tersebut, lalu buka panel konfigurasi di sebelah kanan.
- Pada field Script Format, isi dengan
groovy. - Paste script di atas ke dalam field Script.
- Pastikan variabel
remainingBalancesudah tersedia di process execution sebelum task ini dijalankan (misalnya diisi dari form sebelumnya atau dari service task lain). - Setelah task selesai dieksekusi, variabel
remainingBalanceFormatteddapat digunakan pada task, form, atau notifikasi berikutnya.
