Business Rule Task
Business Rule Task
Business Rule Task digunakan untuk menghubungkan proses bisnis (BPMN) dengan Decision Table (DMN). Elemen ini memungkinkan proses menjalankan logika keputusan secara otomatis berdasarkan aturan yang telah didefinisikan dalam DMN.
Dengan kata lain, Business Rule Task akan mengeksekusi decision yang dirujuk (melalui Decision Reference
), kemudian menyimpan hasilnya sebagai variabel yang dapat digunakan oleh task berikutnya.
Fungsi Utama
- Mengintegrasikan proses dengan decision table DMN.
- Menjalankan aturan keputusan untuk menentukan hasil berdasarkan input data.
- Menghasilkan output variabel yang dapat dipakai oleh task lain dalam alur proses.
- Memastikan keputusan yang kompleks tetap terstandarisasi dan reusable di seluruh proses bisnis.
Properties

1. Decision Reference
Menentukan decision ID dari DMN yang akan dipanggil oleh Business Rule Task. Decision ID harus sesuai dengan decision id yang terdefinisi di file dmn. Contoh: creditApprovalDecision

2. Tenant ID
Menentukan konteks tenant untuk eksekusi decision.
3. Binding
Menentukan versi DMN yang akan digunakan ketika Business Rule Task dijalankan untuk memastikan konsistensi antara versi decision table dan proses bisnis yang memanggilnya. Opsi:
latest
→ menggunakan versi DMN terbaru yang dideploy.deployment
→ menggunakan DMN yang dideploy bersamaan dengan process definition.versionTag
→ menggunakan DMN dengan tag versi tertentu.
4. Result Variable
Nama variabel tempat menyimpan hasil eksekusi DMN agar dapat digunakan oleh task lain
5. Map Decision Result
Menentukan cara hasil DMN akan dipetakan ke dalam variabel proses.
Map Decision Result | Deskripsi | Contoh Hasil Akhir (decisionResult ) |
---|---|---|
singleResult | Mengembalikan satu objek hasil (key-value). Cocok untuk hasil tunggal dari satu rule. | { "approval": "YES" } |
singleEntry | Mengembalikan satu nilai dari single output. Cocok jika DMN hanya memiliki satu kolom output. | "YES" |
resultList | Mengembalikan list berisi objek dari seluruh rule yang match. | [ { "approval": "YES" }, { "approval": "NO" } ] |
collectEntries | Menggabungkan semua hasil output ke dalam list nilai sederhana (tanpa key). | [ "YES", "NO" ] |