Bedrijfsregels

Bedrijfsregels bepalen welke acties er moeten worden ondernomen als er aan bepaalde voorwaarden wordt voldaan. Na het maken van bedrijfsregels voor uw zaaktype, kunt u de bedrijfsregels gebruiken in een taak voor het vaststellen van de procesroute of voor het bijwerken van zaakeigenschappen.

In uw regels kunt u door de gebruiker gedefinieerde zaakeigenschappen en zaak-systeemeigenschappen opnemen. Als u de regel wilt laten verwijzen naar gegevens buiten de zaak, zoals bijvoorbeeld de kredietscore van een aanvrager van een lening, kunt u aangepaste regelparameters definiëren en deze opnemen in de regel.

Om de bedrijfsregel te gebruiken in uw werkstroom, voegt u een regelstap aan een taak toe met behulp van de Stapontwerper van Case Manager Builder. Om de regelstap te koppelen aan de bedrijfsregel, stelt u de eigenschap Regelnaam van de regelstap in. Als uw bedrijfsregel werkt met aangepaste parameters, moet u de regelstap bewerken in de Process Designer, om de aangepaste regelparameters toe te wijzen aan de externe gegevensbronnen.

Op tekst gebaseerde bedrijfsregels

Een op tekst gebaseerde bedrijfsregel bestaat uit de volgende elementen:

Definities
In het optionele gedeelte definities van de regel worden de variabelen aangegeven die kunnen worden gebruikt in de regel. Het bereik van deze variabelen is beperkt tot de specifieke regel waarin de variabelen zijn gedefinieerd.
Voorwaarden
Het gedeelte if van de regel geeft de situaties aan waarin de acties in de gedeeltes then en else moeten worden uitgevoerd.
Beperking: U kunt de volgende systeemeigenschappen gebruiken in voorwaarden van bedrijfsregels, maar u kunt deze niet opnemen in acties van bedrijfsregels voor het instellen van de bijbehorende waarden.
  • Zaak-ID
  • Auteur
  • Gemaakt op
  • Datum laatste wijziging
  • Laatst gewijzigd door
  • Zaakstatus
Acties
In het gedeelte then van de regel worden de acties aangegeven die moeten worden ondernomen wanneer de voorwaarden waar zijn. Het optionele gedeelte else van de regel geeft de acties aan die moeten worden ondernomen wanneer de voorwaarden in het gedeelte if onwaar zijn.
Tip: Bij het oplossen van problemen kunt u een of meer afdrukacties opgeven in een regel, zodat de bijbehorende regelstap de opgegeven tekenreeksen terugzendt naar de werkstroom. De retourwaarde van de regelstap kan vervolgens worden toegewezen aan een gegevensveld dat kan worden gebruikt voor de volgende stap in de werkstroom.

In een zaaktype voor een lening kunt u bijvoorbeeld een regel definiëren voor het instellen van de waarde van de zaakeigenschap Interest_Rate op 3,5%, als de kredietscore van een aanvrager hoger is dan 700. In de volgende voorbeelden is Credit_Rating een aangepaste regelparameter. (De volgende voorbeelden zijn geschreven voor de Engelse versie.)

if Credit_Rating is more than 700 
then set the Interest_Rate of LoanCaseType to 3.5; 

Op tabellen gebaseerde bedrijfsregels

Een op een tabel gebaseerde regel, ook wel beslissingentabel genoemd, bestaat uit een voorwaarde en actiekolommen. In elke voorwaardekolom wordt de situatie aangegeven waarvoor bepaalde acties moeten worden uitgevoerd. Elke actiekolom geeft de acties aan die moeten worden ondernomen wanneer de voorwaarden waar zijn. Elke rij in de tabel vertegenwoordigt een afzonderlijke regel. Als aan de voorwaarden van een rij wordt voldaan, worden de acties in die rij uitgevoerd.

U wilt bijvoorbeeld een groep regels maken voor het instellen van de waarde van de zaakeigenschap Interest_Rate aan de hand van de verschillende bereiken voor de kredietscore. Hiervoor begint u met het definiëren van een voorwaardekolom die de waarde vertegenwoordigt van de aangepaste regel Credit_Rating voor een aanvrager van een lening.

Credit_Rating is <een getal>

Vervolgens definieert u een actiekolom die het rentetarief aangeeft dat moet worden aangeboden:

set the Interest_Rate of LoanCaseType to <een getal>

Vervolgens geeft u in elke rij een een bepaalde kredietscore en het bijbehorende rentetarief op:

Kredietscore Rentetarief
500 5.2
600 4.3
700 3.5

Terwijl u voor elke rij waarden opgeeft, controleert Case Manager Builder standaard of de voor een bepaalde voorwaarde opgegeven waarden elkaar niet overlappen of identiek zijn. Denk bijvoorbeeld aan een kolom voor de leeftijd van een klant.

  • Rij 1: leeftijd ligt tussen 17 en 30
  • Rij 2: leeftijd ligt tussen 29 en 40

In dit voorbeeld voldoen klanten die 29 jaar oud zijn aan de voorwaarden van beide rijen. Case Manager Builder meldt dit met een overlappingswaarschuwing.

Case Manager Builder controleert standaard ook of de cellen in een voorwaardekolom betrekking hebben op alle mogelijke zaken, om ervoor te zorgen dat er geen lacunes zijn in uw tabel. Denk bijvoorbeeld aan een kolom voor de leeftijd van een klant.

  • Rij 1: leeftijd ligt tussen 17 en 30
  • Rij 2: leeftijd ligt tussen 32 en 40

In dit voorbeeld worden klanten die 31 jaar oud zijn buiten beschouwing gelaten. Case Manager Builder meldt dit met een lacunewaarschuwing.

Voorwaarden vooraf definiëren in op tabellen gebaseerde regels

In op tabellen gebaseerde regels kunt u voorwaarden vooraf gebruiken voor het controleren van inkomende gegevens, om vast te stellen of de gegevens kunnen worden verwerkt door de op tabellen gebaseerde regel. U kunt voorwaarden vooraf ook gebruiken voor het definiëren van variabelen die kunnen worden gebruikt in de regel. Het bereik van deze variabelen is beperkt tot de specifieke regel waarin de variabelen zijn gedefinieerd.

Controleren op nullwaarden

Om te voorkomen dat tijdens de uitvoering fouten optreden, kunt u met defensieve programmeertechnieken ervoor zorgen dat waarden worden ingevuld voor alle zaakeigenschappen waarvoor waarden worden opgehaald in een bedrijfsregel.

De sectie definitions kunt u gebruiken voor het declareren van variabelen voor alle zaakeigenschappen waarvan de waarden worden opgehaald. Als een zaakeigenschap niet is geïnitialiseerd, is de variabele ervan ook niet geïnitialiseerd en wordt de regel niet uitgevoerd.

definitions
 set balanceAmount to the Opening_Balance of Account_Request;

if balanceAmount is more than 10000 
then set the Interest_Rate of Account_Request to 0,55;   

Tijdelijke variabelen definiëren

In de sectie definitions kunt u tijdelijke variabelen definiëren voor het berekenen van tussenliggende waarden voor gebruik in een regel. U kunt bijvoorbeeld een bedrijfsregel definiëren voor het instellen van de waarde van de zaakeigenschap ProfitAfterTax. Omdat geen enkele zaakeigenschap betrekking heeft op de winst voor belastingen kunt u een tussenliggende variabele ProfitBeforeTax definiëren om de winst voor belastingen te berekenen op basis van de waarden voor de zaakeigenschappen voor activa en passiva. Voor het berekenen van het juiste belastingtarief, voegt u in de regels een voorwaarde toe om een hoger belastingtarief in te stellen wanneer de winst meer dan 1 miljoen dollar bedraagt.

definitions  
		set ProfitBeforeTax to 
		(the Assets of TaxCasetype - the Liabilities of TaxCasetype);
		set Tax to .07;
		set SurchargeForHigherIncome to .005;

if ProfitBeforeTax is more than 1000000 
then set the ProfitAfterTax of TaxCaseType to 
		(ProfitBeforeTax - ProfitBeforeTax *(Tax+SurchargeForHigherIncome)) ;
else set the ProfitAfterTax of TaxCaseType to 
		(ProfitBeforeTax -ProfitBeforeTax*Tax);

Werken met booleaanse eigenschappen in bedrijfsregels

De volgende voorbeelden geven aan hoe u booleaanse eigenschappen kunt opnemen in een regel.

  • Als de waarde van een booleaanse eigenschap waar is, de waarde van een andere booleaanse eigenschap instellen op onwaar:
    als CaseTypeName is BooleaanseEigenschap1
    instellen dat CaseTypeName niet BooleaanseEigenschap2 is.
  • Als de waarde van een booleaanse eigenschap onwaar is, de waarde van een andere booleaanse eigenschap instellen op waar:
    als CaseTypeName niet BooleaanseEigenschap1 is,
    instellen dat CaseTypeName wel BooleaanseEigenschap2 is.

Voor meer informatie over het definiëren van regels raadpleegt u de documentatie van Business Rules Embedded.