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: 1500000Rp1.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

KodeKeterangan
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

NamaTipeKeterangan
remainingBalanceNumberVariabel input — harus sudah tersedia di process execution sebelum Script Task ini dijalankan
remainingBalanceFormattedStringVariabel output — berisi angka yang sudah diformat, siap digunakan di task atau form berikutnya

Cara Penggunaan

  1. Di BPMN Editor, tambahkan Script Task pada diagram.
  2. Klik task tersebut, lalu buka panel konfigurasi di sebelah kanan.
  3. Pada field Script Format, isi dengan groovy.
  4. Paste script di atas ke dalam field Script.
  5. Pastikan variabel remainingBalance sudah tersedia di process execution sebelum task ini dijalankan (misalnya diisi dari form sebelumnya atau dari service task lain).
  6. Setelah task selesai dieksekusi, variabel remainingBalanceFormatted dapat digunakan pada task, form, atau notifikasi berikutnya.