Çalıştırma zamanı kuralı seçimi

Kural görevinin hangi kurallarının çalıştırılması gerektiğini dinamik olarak belirtmek için bir kural görevinde seçim süzgeci tanımlayabilirsiniz.

Özellikler görünümünün Kural Seçimi sekmesinde çalıştırma zamanında seçilen kuralları belirtirsiniz. Bu kural görevinde yürütülmek üzere kabul edilen tek tek kuralları ya da birkaç kural içeren paketleri seçebilir ve bunlardan bazılarını süzebilirsiniz. Bu süzgeci dinamik BAL yapıları ya da IRL ile belirtebilirsiniz. Süzgeç çalıştırma zamanında uygulanır ve kural motoru yalnızca süzgeçten geçen kuralları çalıştırır. Fastpath algoritmasını kullanırsanız, diğer kuralların koşulları da değerlendirilebilir.

Not:

Boş bir kural ve paket listesi, yürütme sırasında projedeki tüm kuralların seçildiği anlamına gelir.

BAL ile kuralları seçme

Genellikle, süzgeç uygulama işlemi kural özelliklerinin ve yürütme parametrelerinin değerlerini temel alır. Süzgeç, kuralın yürütme için seçilmesinin gerekip gerekmediğini belirlemek için kural akışı görevindeki her kuralı test eder. Örneğin, aşağıdaki kod, kuralın adına süzgeç uygular ve görevdeki her kural için çağrılır.

'Kural' adı "Yaş" içeriyor

Dinamik BAL ile statik BAL arasında fark yoktur. Süzgeç, kural görevinin her çağrılışında değerlendirilir. Aday kuralları, kural kümesi parametre durumuna göre seçilebilir. Örneğin, kuralın süre bitim tarihinin kredi tarihinden sonra olduğunu belirtebilirsiniz.

IRL ile kuralları seçme

dynamicselect anahtar sözcüğünü kullanarak kuralları doğrudan IRL içinde seçin:

body = dynamicselect(?rule) { <Optional Statements> return <boolean expression>; }

Örnek, kural görevinin gövdesinin, kural kümesinin tüm kuralları arasında ilgili kuralları seçen bir IRL koşullandırması olabileceğini gösterir.

Aşağıdaki örnekte belirtim, kural kümesinde var olan tüm kuralları seçer:

body = dynamicselect(?rule) { return true; }