Skip to main content

Decision tables in Dev Studio

A Decision table uses a set of Conditions to test property values and return an appropriate response. In App Studio, you can use a Decision table to calculate the value of a field. In Dev Studio, with additional capabilities of Decision tables, you can delegate responsibility for maintaining Decision logic, expand the result options, and direct flow processing.

Note: When you create a Decision table to calculate the value of a field in App Studio, a Decision table Rule is created in the Work- class in Dev Studio.

Decision logic maintenance

Organizations can delegate the maintenance of certain Rules to stakeholders who manage a specific Process within a Case Life Cycle. These stakeholders, sometimes referred to as Process owners, understand the business environment and can quickly identify changes that might impact how users achieve the desired outcome for a Case. In Dev Studio, you can delegate a Decision table to a Process owner, who can update the Decision logic to meet the changing needs. This approach is most helpful for small changes.

For example, a logistics manager might decide to set the order threshold for expedited shipping of customer orders to USD500 in the first release of an application. As business conditions change, to match a competitor, the logistics manager might want to lower the threshold to USD400. Rather than submitting a request for a developer to update the application and release a patch to apply to the production system, a Process owner can immediately update the threshold in production through delegation.

When you delegate a Decision table, use the Delegation options section of the Results tab to control the configuration options that are available to the Process owner. For example, you can allow the Process owner to add columns to the table while preventing the Process owner from adding rows. The Delegation options section of the Results tab is displayed in the following figure:


Options for returning a result

Decision tables that are used to calculate a property value return a single result based on the Decision logic. In Dev Studio, you can configure a Decision table to return all successful results or set the value of additional properties.

Evaluation of all rows

To return all successful results from a Decision table, you select the Evaluate all rows check box in the Results tab of the Decision table Rule form. When you enable the Evaluate all rows option, all rows of the table are checked. When the Condition is met on a row, the defined Action and return calculation for the row is performed. Clear this check box to stop processing after the system finds the first row that evaluates that row as true.

For example, an expense that exceeds USD500 requires approval by a manager, while an expense exceeding USD5,000 additionally requires approval by a director. If a Case requires multiple levels of approval, you can use a Decision table to create an authority matrix that identifies the required approvals. The Decision table contains a row for each possible approver. You select the Evaluate all rows check box to process each row in the table. If the Conditions in the row are met, the corresponding approver is added to the authority matrix.

Note: When you set the Evaluate all rows option to true, the Allowed to return values setting is disabled.

Result values

Use the options in this section to define the possible values that the Decision table can return. If you need to add any entries to the allowed results, you can configure them by expanding the Additional Allowed Results section. You can also specify a list of preset properties to calculate before running the Decision table. The Results section of the Results tab is displayed in the following figure:

The Results section of the Results tab of the decision table form

Direct flow processing

The sequence of Steps that are required for a Case sometimes changes based on the details of the Case itself. You automate Decision-making during a Process to adjust the sequence of Steps by using a Decision table. For example, you can use Decision tables in a Process to determine the next Step in a flow or to route an Assignment.

Automated next Steps

You can determine the outcome of a Process flow by using a Decision shape to return an outcome based on several testable Conditions. Adding a Decision shape to the flow makes business processes flexible and responsive by providing conditional paths that a Case can follow to reach a resolution.

Note: In Dev Studio, you add a Decision shape to a flow by clicking Flow shapes, and then selecting Decision.  When you specify the Decision table for a Decision shape, Pega Platform™ automatically adds a connector for each Decision result. To learn more about adding Decisions, see Adding Decisions to Processes.

Assignment routing

You determine the appropriate operator or Work Queue for an Assignment by selecting a Decision table router. For example, you can assign a portfolio consultation to the appropriate branch office based on the address of the requestor. The router uses the Decision table logic to determine the appropriate operator or Work Queue for the Assignment.

Note: When you route an Assignment to a Work Queue, the Assign-Workbasket class Rule is updated in Dev Studio. 

In the following image, click the + icons to learn more about how Decision tables can automate decision-making in a Process:

Check your knowledge with the following interaction:

This Topic is available in the following Module:

If you are having problems with your training, please review the Pega Academy Support FAQs.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega Academy has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice