Create Contexts
A context is a collection of one or more key-value pairs with an optional result field. Each pair is called a context entry. The key attribute within a context entry acts as an identifier to its corresponding value attribute.
You can use a context to collectively document all decision logic related to a particular scenario or entity. Say you need to determine the loan eligibility of an applicant, based on the applicant’s net monthly income and expense. For this purpose, you can create a decision named Loan Eligibility using the Context notation and add expressions or logic for gross monthly income, monthly expense, and net monthly income. Then, you can either add a result field (within the context) that evaluates the net income and expense for loan eligibility, or you can choose to evaluate these within another decision.
Without a result field, a context decision returns multiple key-value pairs as output. In this case, you can invoke any context entry from another decision.
If you add a result field, the output of this field is displayed as the context’s output. Here, you can only invoke the context’s result from another decision.
The following image shows a context with a result field that determines the loan eligibility of applicants::
Description of the illustration dmn-context.png
The output of the result field is the context’s output. In this case, the context returns a true or false regarding an applicant’s loan eligibility. You can reference the context’s result in other decisions within the model using the context name (for example, Loan Eligibility).
The following image shows a context without a result field and an expression decision referencing multiple context entries to determine the loan eligibility of applicants:
Description of the illustration dmn-context-no-result.png
The output of this context is a list containing results of all three context entries. To reference a particular context entry from another decision, use the format ContextName.EntryKey (for example, Income.Expenses). Within a context, an entry can only reference entries that are above it.
Note:
If you add a function as one of the context entries, the context as a whole doesn’t return a result. However, you will still be able to invoke results of individual context entries throughout the decision model.