0% found this document useful (0 votes)
237 views102 pages

10-7 Working With Business Rules in My Webmethods

business Rules - webMethods

Uploaded by

Roberto GM
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
237 views102 pages

10-7 Working With Business Rules in My Webmethods

business Rules - webMethods

Uploaded by

Roberto GM
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 102

Working with Business Rules in My webMethods

Version 10.7

October 2020
This document applies to webMethods Business Rules 10.7 and to all subsequent releases.
Specifications contained herein are subject to change and these changes will be reported in subsequent release notes or new editions.
Copyright © 2010-2020 Software AG, Darmstadt, Germany and/or Software AG USA, Inc., Reston, VA, USA, and/or its subsidiaries
and/or its affiliates and/or their licensors.
The name Software AG and all Software AG product names are either trademarks or registered trademarks of Software AG and/or
Software AG USA Inc. and/or its subsidiaries and/or its affiliates and/or their licensors. Other company and product names mentioned
herein may be trademarks of their respective owners.
Detailed information on trademarks and patents owned by Software AG and/or its subsidiaries is located at
http://softwareag.com/licenses/.
Use of this software is subject to adherence to Software AG's licensing conditions and terms. These terms are part of the product
documentation, located at http://softwareag.com/licenses/ and/or in the root installation directory of the licensed product(s).
This software may include portions of third-party products. For third-party copyright notices, license terms, additional rights or
restrictions, please refer to "License Texts, Copyright Notices and Disclaimers of Third Party Products". For certain specific third-party
license restrictions, please refer to section E of the Legal Notices available under "License Terms and Conditions for Use of Software
AG Products / Copyright and Trademark Notices of Software AG Products". These documents are part of the product documentation,
located at http://softwareag.com/licenses/ and/or in the root installation directory of the licensed product(s).
Document ID: RULES-WW-MWS-107-20201015
Table of Contents

About this Guide........................................................................................................................................5


Document Conventions.....................................................................................................................6
Online Information and Support.....................................................................................................7
Data Protection...................................................................................................................................8

1 Getting Started.........................................................................................................................................9
Installation and Configuration Information for My webMethods System Administrators...10

2 Rules Development Terminology......................................................................................................11

3 Understanding the User Interface......................................................................................................15


The Navigation Pane........................................................................................................................16
The Workspace Area........................................................................................................................17

4 Modifying Rule Projects Overview...................................................................................................27

5 Working with Decision Tables...........................................................................................................29


Modifying a Decision Table............................................................................................................32

6 Working with Decision Trees.............................................................................................................45


Modifying a Decision Tree..............................................................................................................48

7 Working with Event Rules...................................................................................................................59


Modifying an Event Result.............................................................................................................62

8 Global Functions Overview................................................................................................................69


Opening a Decision Entity..............................................................................................................70
Locking a Decision Entity................................................................................................................70
Saving Changes to a Decision Entity.............................................................................................71
Modifying the Description of a Decision Entity..........................................................................71
Creating and Modifying Lists with the Inline Editor..................................................................72
About Constants...............................................................................................................................72

9 Rule Verification Overview.................................................................................................................75


About Automatic Verification........................................................................................................76
Verifying Rules Manually...............................................................................................................76
Working with a Preconfigured Verification Service....................................................................77
Configuring a Server Connection for a Preconfigured Verification Service............................78
Showing or Hiding Suppressed Warnings...................................................................................78
About Verification Categories........................................................................................................78

Working with Business Rules in My webMethods 10.7 iii


Table of Contents

10 Hot Deploying Rule Projects to Integration Server.....................................................................83


Configuring an Integration Server Connection............................................................................84
Hot Deploying a Rule Project.........................................................................................................85

11 Hot Deploying and Merging Rule Projects with webMethods Deployer...............................87


Configuring My webMethods Server............................................................................................88

12 Working with Expressions.................................................................................................................91


Adding an Expression.....................................................................................................................94

13 Using CSV Import...............................................................................................................................97


CSV Formatting................................................................................................................................99
Importing a CSV File......................................................................................................................102

iv Working with Business Rules in My webMethods 10.7


About this Guide
■ Document Conventions ................................................................................................... 6

■ Online Information and Support ...................................................................................... 7

■ Data Protection ................................................................................................................ 8

Working with Business Rules in My webMethods 10.7 5


Working with Business Rules in My webMethods is for users of My webMethods who want to modify
rule projects that were exported from Software AG Designer to the My webMethods Server
repository.

Business Rules are created with the Rules Development feature in Software AG Designer. For
more information, see webMethods BPM Rules Development Help.

Working with Business Rules in My webMethods contains supporting documentation on the following
main topics:

“Getting Started” on page 9.

“Rules Development Terminology” on page 11.

“Understanding the User Interface” on page 15.

“Modifying Rule Projects Overview” on page 27.

“Working with Decision Tables” on page 29.

“Working with Decision Trees” on page 45.

“Working with Event Rules” on page 59.

“Global Functions Overview” on page 69.

“Rule Verification Overview” on page 75.

“Hot Deploying Rule Projects to Integration Server” on page 83.

“Hot Deploying and Merging Rule Projects with webMethods Deployer” on page 87.

“Working with Expressions” on page 91.

“Using CSV Import” on page 97.

With respect to processing of personal data according to the EU General Data Protection Regulation
(GDPR), appropriate steps are documented in webMethods BPM Rules Development Help, Processing
Personal Data.

Document Conventions
Convention Description

Bold Identifies elements on a screen.

Narrowfont Identifies service names and locations in the format folder.subfolder.service, APIs,
Java classes, methods, properties.

Italic Identifies:

Variables for which you must supply values specific to your own situation or
environment.
New terms the first time they occur in the text.

6 Working with Business Rules in My webMethods 10.7


Convention Description

References to other documentation sources.

Monospace font Identifies:

Text you must type in.


Messages displayed by the system.
Program code.

{} Indicates a set of choices from which you must choose one. Type only the
information inside the curly braces. Do not type the { } symbols.

| Separates two mutually exclusive choices in a syntax line. Type one of these
choices. Do not type the | symbol.

[] Indicates one or more options. Type only the information inside the square
brackets. Do not type the [ ] symbols.

... Indicates that you can type multiple options of the same type. Type only the
information. Do not type the ellipsis (...).

Online Information and Support

Software AG Documentation Website


You can find documentation on the Software AG Documentation website at http://
documentation.softwareag.com. The site requires credentials for Software AG's Product Support
site Empower. If you do not have Empower credentials, you must use the TECHcommunity
website.

Software AG Empower Product Support Website


If you do not yet have an account for Empower, send an email to [email protected] with
your name, company, and company email address and request an account.

Once you have an account, you can open Support Incidents online via the eService section of
Empower at https://empower.softwareag.com/.

You can find product information on the Software AG Empower Product Support website at
https://empower.softwareag.com.

To submit feature/enhancement requests, get information about product availability, and download
products, go to Products.

To get information about fixes and to read early warnings, technical papers, and knowledge base
articles, go to the Knowledge Center.

If you have any questions, you can find a local or toll-free number for your country in our Global
Support Contact Directory at https://empower.softwareag.com/public_directory.aspx and give us
a call.
Working with Business Rules in My webMethods 10.7 7
Software AG TECHcommunity
You can find documentation and other technical information on the Software AG TECHcommunity
website at http://techcommunity.softwareag.com. You can:

Access product documentation, if you have TECHcommunity credentials. If you do not, you
will need to register and specify "Documentation" as an area of interest.

Access articles, code samples, demos, and tutorials.

Use the online discussion forums, moderated by Software AG professionals, to ask questions,
discuss best practices, and learn how other customers are using Software AG technology.

Link to external websites that discuss open standards and web technology.

Data Protection
Software AG products provide functionality with respect to processing of personal data according
to the EU General Data Protection Regulation (GDPR). Where applicable, appropriate steps are
documented in the respective administration documentation.

8 Working with Business Rules in My webMethods 10.7


1 Getting Started
■ Installation and Configuration Information for My webMethods System Administrators . 10

Working with Business Rules in My webMethods 10.7 9


1 Getting Started

Before you can get started, you must have a My webMethods user account, with full permissions
(read and write) for the application page you want to modify.

My webMethods provides an extremely flexible framework for granting or restricting user access
to virtually every aspect of the My webMethods interface. Administrators assign permissions
known as access privileges and functional privileges. Access privileges define the application
pages you can display. Functional privileges define the actions you can perform in My webMethods.
If this guide lists pages or menu items that you cannot access, it is likely because you do not have
the access privileges to view the page. If this guide lists user interface controls (e.g. buttons) that
are greyed out, it is likely because you do not have the functional privileges to perform the actions
associated with the user interface controls. If you have any questions about your access privileges,
consult with your My webMethods administrator.

For information about permissions management and customizing the tools, see Administering My
webMethods Server.

Installation and Configuration Information for My webMethods


System Administrators
You must install and configure several Software AG products before you can modify rule projects
that were exported from Software AG Designer to My webMethods. For complete information
about installation, see Installing Software AG Products.

To exchange rule projects with the Rules Development feature of Software AG Designer:

The Business Rules User Interface must be installed on My webMethods Server. This creates
the folder in which the rule projects are stored (My webMethods Applications\webMethods
Application Data\Rule Projects).

There must exist at least one My webMethods Server user (other than “sysadmin”) with full
write access to this folder. The permissions for the folder can be set by the “sysadmin” user
using the tools in the folder view.

To set up Business Rules user accounts in My webMethods:

The My webMethods Server administrator must create a role for Business Rules users and
assign ALL access rights to this role for the Rule Projects folder.

The My webMethods Server administrator must add the My webMethods Server user who
will be accessing the rule projects to this role. For more information about creating and
managing user accounts and roles, see Administering My webMethods Server.

The Business Rules user will not see the newly exported rule project until an administrator
gives him permission to do so (see Administering My webMethods Server). This has to be done
once for each rule project.

10 Working with Business Rules in My webMethods 10.7


2 Rules Development Terminology
The following table explains the terminology that applies to Working with Business Rules in My
webMethods:

Term Explanation

Business Rule A business rule is a rule that defines or constrains an aspect of


your business. It is intended to create a business structure or to
influence the behavior of the business.

Condition A condition is the left hand side part of a rule: IF Condition THEN
Result.

Condition Value A condition value determines a condition. It can consist of:

An operator and a literal value.

An operator and a parameter element (marked by a dotted


line).

An operator and an action that delivers an output value


(marked by a dotted line and () behind the action name).

An operator and a constant (marked by a dotted line).

An operator and an expression.

Data Model Rules must be able to interact with application data from other
systems. This external application data is mapped to a data
model, which is then stored in your workspace as part of the rule
project.

Data Model Element A data model element is an entity of a data model. For example,
a customer data model can contain the data model elements name
and age.

Decision Entity A decision entity is a way to display one or more rules. Decision
tables, decision trees, and event rules are different decision
entities, even though they can contain the very same rule. Some
decision entities are more suited for displaying certain kinds of
rules than others.

Working with Business Rules in My webMethods 10.7 11


2 Rules Development Terminology

Term Explanation

Decision Table A decision table is a decision entity. In the decision table, the
conditions and corresponding results are sorted into rows and
columns. A column can either represent a condition (the IF part)
or a result (the THEN part) of a rule. Each row in a decision table
represents one individual rule.

Decision Tree A decision tree is a decision entity. In a decision tree, the


conditions and corresponding results are displayed in a tree-like
structure that consists of nodes that are linked to each other. A
node can either represent the root, a condition (the IF part), or a
result (the THEN part) of a rule. A link can be a root link or a
condition link. A root node can be linked to one or more condition
nodes, and a condition node can be linked to one or more
condition nodes or result nodes.

Event Model Event rules can operate on the basis of predefined event types.
This event type is mapped to an event model, which is then stored
in your workspace as part of the rule project.

Event Rule An event rule is a decision entity that specifies the reaction to an
event. There are two types of events:

Internal Events.

External Events.

Internal events are triggered by other event rules and decision


tables during rule execution. External events are predefined event
types that were created with the Event Type Editor, see
webMethods Event Processing Help.

Expression An expression may contain function calls, literals, parameter


references, the mathematical operators +, -, *, /, groups of
parentheses, or combinations of all of these. You can assign an
expression to a decision table condition, a decision table
assignment result, a decision tree condition, a decision tree
assignment result, or an event rule assignment result.

New Data Action A new data action is an action that was mapped from a data
model. It creates a new instance of this data model in the Rules
Engine. In this way, a new output parameter that was mapped
from this data model is introduced to the Rules Engine. It can
then trigger other decision entities within one rule set that use
this output parameter as an input.

Parameter A parameter is an instance of a data model or an event model.

Parameter Element A parameter element is an entity of a parameter.

12 Working with Business Rules in My webMethods 10.7


2 Rules Development Terminology

Term Explanation

Process Action A process action is an action that was mapped from an existing
process and can be used in a decision entity to:

Start a new process instance.

Join a running process instance.

Invoke a user task.

Result A result is the right hand side part of a rule: IF Condition THEN
Result. There are two types of results:

Assignment Result. This result type is applied, whenever you


want to assign a value to a result.

Action Result. This result type is applied, whenever you want


to execute an action from a decision entity.

Result Value A result value determines a result. There are two types:

Assignment result values.

Action result values.

An assignment result value can consist of:

An operator and a literal value.

An operator and a parameter element (marked by a dotted


line).

An operator and an action that delivers an output value


(marked by a dotted line and () behind the action name).

An operator and a constant (marked by a dotted line).

An operator and an expression.

An action result value determines the action status:

Active.

Inactive.

Rule A rule is a single element that specifies a decision in a IF


Condition THEN Result syntax.

Rule Set A rule set is a grouping of logically related decision entities.


Every rule set belongs to a rule project.

Rule Project A rule project is used as a container for different rule sets and
other elements, such as data models, event models, decision

Working with Business Rules in My webMethods 10.7 13


2 Rules Development Terminology

Term Explanation

entities, actions, etc. In a rule project, these different elements


can be defined and used by all parts of the rule project.

Service Action A service action is an action that was mapped from an existing
Integration Server service (IS service). Then you can execute this
service from a decision entity or use an output value from the
service in a decision entity.

14 Working with Business Rules in My webMethods 10.7


3 Understanding the User Interface
■ The Navigation Pane ...................................................................................................... 16

■ The Workspace Area ...................................................................................................... 17

Working with Business Rules in My webMethods 10.7 15


3 Understanding the User Interface

To access the Business Rules User Interface in My webMethods, log on to an instance of My


webMethods where the Business Rules User Interface has been installed.

The overall layout of My webMethods is described in detail in Working with My webMethods. This
section contains the following main topics:

“The Navigation Pane” on page 16.

“The Workspace Area” on page 17.

The Navigation Pane


The overall layout of the navigation pane is described in detail in Working with My webMethods.

The rule projects that were exported from the Rules Development feature in Software AG Designer
can be accessed on the Navigate tab under Applications > Administration > Business >
webMethods Business Rules.

Business Rules Structure


Click webMethods Business Rules to open the entries for the Business Rules application pages.

Note:
You can only see the application pages you have permission for, see “Getting Started” on page 9.

16 Working with Business Rules in My webMethods 10.7


3 Understanding the User Interface

Rule Project Menu Items


Click a rule project entry to open the menu items for this rule project. These menu items are
categorized into Decision Tables, Decision Trees, Event Rules, and Rule Sets. The Rule Sets
menu item is subcategorized into the items for the individual rule sets used in the rule project and
the Master Rule Set.

The menu item of the application page that is currently displayed in the workspace area is
highlighted.

The Workspace Area


The workspace area is located on the right side of the user interface. This area contains the content
of the Business Rules application pages you selected from the navigation pane.

The Format of the Business Rules Page


The following graphic shows the format of a Business Rules page.

Working with Business Rules in My webMethods 10.7 17


3 Understanding the User Interface

A Business Rules page contains the windows listed in the following table:

Name of the Window Description

Decision Entity List window See “The Decision Entity List Window” on page 18.

Decision Entity Editor window See “The Decision Entity Editor Window” on page 22.

Rule Project Verification See “The Rule Project Verification Window” on page 24.
window

The Decision Entity List Window


The format of the Decision Entity List window depends on the Business Rules page that you
selected from the navigation pane as is shown in the following table.

Selected Application Page Decision Entities in the Decision Entity List Window

Decision tables List of all decision tables used in a rule project.

Decision trees List of all decision trees used in a rule project.

Event rules List of all event rules used in a rule project.

Rule set List of all decision entities used in the rule set.

Master rule set List of all decision entities used in a rule project (except decision
trees and external event rules).

18 Working with Business Rules in My webMethods 10.7


3 Understanding the User Interface

Interface for Decision Tables


The following graphic shows the format of the Decision Entity List window if you select Decision
Tables from the navigation pane.

Interface for Decision Trees


The following graphic shows the format of the Decision Entity List window if you select Decision
Trees from the navigation pane.

Interface for Event Rules


The following graphic shows the format of the Decision Entity List window if you select Event
Rules from the navigation pane.

Working with Business Rules in My webMethods 10.7 19


3 Understanding the User Interface

Interface for Rule Sets


The following graphic shows the format of the Decision Entity List window if you select Rule Sets
>[YourRuleSetName] from the navigation pane.

Note:
The decision entities of a rule set are sorted by the types Decision Tables, Decision Trees, and
Event Rules. The order of the decision entities within a type corresponds to the order that was
determined by the rule developer when creating the rule set in Software AG Designer.

Overview of Functions
The following table explains the different functions of the Decision Entity Editor window:

Function Explanation

Rule project name The name of the rule project that the selected decision entities or
rule set belong to, followed by the type of decision entity or the
rule set name.

20 Working with Business Rules in My webMethods 10.7


3 Understanding the User Interface

Function Explanation

Filter The input field of the text filter. To automatically filter the list of
decision entities, type your filter text in the input field. To delete
the filter text, click .

Show/Hide Description The button to suppress or restore the descriptions entered by the
rule developer. To hide the descriptions, click Hide Description.
To restore them, click Show Description. To modify a description,
see “Modifying the Description of a Decision Entity” on page 71.

Decision entity category (only The category that the decision entities are sorted by in a rule set:
applicable for rule sets) Decision Tables, Decision Trees, or Event Rules.

Decision entity icon The icon that specifies the type of decision entity: (decision
table icon), (decision tree icon), or (event rule icon).

Decision entity name The name of the decision entity. Clicking a decision entity name
opens the decision entity in the Decision Entity Editor window
where it can be modified as described in “Modifying a Decision
Table” on page 32, “Modifying a Decision Tree” on page 48, and
“Modifying an Event Result” on page 62.

Processing mode (only The processing mode specified by the rule developer: Inferential
applicable for decision tables, (order of decision entities does not correspond to order of
decision trees, and rule sets) execution), Sequential All (order of decision entities corresponds
to order of execution; rules are executed from top to bottom), or
Sequential First (order of decision entities corresponds to order
of execution; rules are executed from top to bottom; execution
stops when first rule fires).

For rule sets, the processing mode is shown in the table header,
above the list of decision entities. For decision tables and decision
trees, the processing mode of each decision table or decision tree
is shown in the same row along with the name and description.

For more information about processing modes, see webMethods


BPM Rules Development Help.

Description The description of the decision entity entered by the rule


developer.

Page browser The buttons and input field of the page browser. Use the
backward and forward arrows to browse through the list of
decision entities. To jump to a page, type the page number in the
Go to page input field, and click OK.

Working with Business Rules in My webMethods 10.7 21


3 Understanding the User Interface

The Decision Entity Editor Window


The following graphic shows the format of the Decision Entity Editor window.

Overview
The Decision Entity Editor window shows the decision entity that you selected from the Decision
Entity List window. You can modify this decision entity as described in “Modifying a Decision
Table” on page 32, “Modifying a Decision Tree” on page 48, and “Modifying an Event Result” on
page 62.

Decision Entity Editor Toolbar


The following table explains the buttons in the toolbar:

Button Description

Filter (decision tables only) Filters the displayed rules of a decision table, see “Filtering
Rules” on page 39.

(decision tables only) Drop-down menu to show all hidden condition or result columns,
or to open show/hide user preference dialog, see “Setting Viewing
Preferences for Conditions or Results” on page 38.

(decision tables Inserts a new rule after the last rule in a decision table, see
only) “Adding a Rule” on page 36.

(decision tables only) Deletes the selected row(s) of a decision table, see “Deleting a
Rule” on page 36.

(decision tables Moves the selected row(s) of a decision table up, see “Reordering
only) Rules” on page 37.

(decision tables Moves the selected row(s) of a decision table down, see
only) “Reordering Rules” on page 37.

22 Working with Business Rules in My webMethods 10.7


3 Understanding the User Interface

Button Description

(decision tables Specifies the in effect date of a decision table, see “Setting an In
only) Effect Date at Decision Table Level” on page 39.

(decision tables and Locks the decision entity, see “Locking a Decision Entity” on
event rules only) page 70.

(decision tables and Unlocks a locked decision entity, see “Locking a Decision
event rules only) Entity” on page 70.

Hot deploys the rule project the displayed decision entity is part
of, see “Hot Deploying a Rule Project” on page 85.

(decision tables and Saves the changes to the decision entity, see “Saving Changes to
event rules only) a Decision Entity” on page 71.

(decision tables and Discards the changes to the decision entity.


event rules only)

(decision trees only) Expands all nodes of a decision tree.

(decision trees Collapses all nodes of a decision tree.


only)

(decision trees Shows the properties of a decision tree (description, missing


only) value approach, and processing mode).

(decision trees Hides the properties of a decision tree.


only)

(decision trees only) Maximizes the depiction of a decision tree.

(decision trees only) Minimizes the depiction of a decision tree.

(decision trees only) Resets the zoom of a decision tree.

Page browser (decision tables The buttons and input field of the page browser (only for decision
only) tables with more than 100 lines). Use the backward and forward
arrows to browse through the lines of the decision table. To jump
to a page, type the page number in the Go to page input field,
and click OK.

Decision Entity Description

Clicking the button opens the description field that shows the description entered by the rule
developer. To modify a description, see “Modifying the Description of a Decision Entity” on
page 71.

Working with Business Rules in My webMethods 10.7 23


3 Understanding the User Interface

The Rule Project Verification Window


Errors and warnings that are detected when verifying rules are logged in the Rule Project
Verification window. The following graphic shows the format of this window.

The upper part of the Rule Project Verification window contains the filters and the Verify button.
The following table explains the existing filters:

For this filter You can do this

Text filter Type a filter text in the input field to filter the entries in the
problems table. To delete the filter text, click .

Error/Warning filter Select All Errors/Warnings to see all errors and warnings in the
problems table, or select All Errors to see only errors in the
problems table, or select All Warnings to see only warnings in
the problems table.

Decision entity filter After you verified a rule set, select a decision entity to see only
the errors and warnings that are associated with this decision
entity in the problems table.

The middle part of the Rule Project Verification window contains the problems table. The table
lists all errors and warnings sorted by verification categories. For more information about
verification categories, see “About Verification Categories” on page 78.

If you click a link in the Resource column of the problems table, the respective decision entity
opens in the Decision Entity Editor window, and it is highlighted in the Decision Entity List
window.

On the left side of the lower part, there are the numbers of errors, warnings and hidden warnings.
Hidden warnings are warnings that were suppressed by the filters. On the right side of the lower
part, you can click Show all suppressed warnings to display warnings that were suppressed
when creating the decision entities in Software AG Designer. To hide the warnings, click Hide all

24 Working with Business Rules in My webMethods 10.7


3 Understanding the User Interface

suppressed warnings after the page has been reloaded. For more information, see “Showing or
Hiding Suppressed Warnings” on page 78.

Working with Business Rules in My webMethods 10.7 25


3 Understanding the User Interface

26 Working with Business Rules in My webMethods 10.7


4 Modifying Rule Projects Overview
The following table explains the stages to be done when modifying rule projects with My
webMethods:

Stage 1 Log on to My webMethods. Ask your My webMethods


administrator to assign the needed access privileges.

For more information, see “Getting Started” on page 9.

Stage 2 Modify the rule project.

For more information, see “Working with Decision Tables” on


page 29, “Working with Decision Trees” on page 45, “Working
with Event Rules” on page 59, and “Global Functions
Overview” on page 69.

Stage 3 (optional) Hot deploy the rule project.

For more information, see “Hot Deploying Rule Projects to


Integration Server” on page 83.

Working with Business Rules in My webMethods 10.7 27


4 Modifying Rule Projects Overview

28 Working with Business Rules in My webMethods 10.7


5 Working with Decision Tables
■ Modifying a Decision Table ........................................................................................... 32

Working with Business Rules in My webMethods 10.7 29


5 Working with Decision Tables

A decision table is a decision entity. It is a compact way to depict a complex set of rules in an IF
Condition THEN Result syntax.

Decision Table Structure


In a decision table, the conditions and corresponding results are sorted into rows and columns. A
column can either represent a condition (blue color) or a result (green color) of a rule. There can
be more than one condition and more than one result. Each row in a decision table represents one
individual rule.

Figure 1. Decision Table in the Decision Entity Editor

Condition
A condition is specified by a parameter element.

Condition Value
A condition value can consist of:

An operator and a literal value.

An operator and a parameter element (marked by a dotted line).

An operator and an action that delivers an output value (marked by a dotted line and () behind
the name).

An operator and a constant (marked by a dotted line).

An operator and an expression (marked by a dotted line).

Result
The following table explains the result types.

Result Description

Assignment Result An assignment result is specified by a parameter element. This


result type is applied, whenever you want to assign a value to a
result.

30 Working with Business Rules in My webMethods 10.7


5 Working with Decision Tables

Result Description

Action Result An action result is specified by an action. This result type is


applied, whenever you want to execute an action from a decision
table.

Assignment Result Value


An assignment result value can consist of:

An operator and a literal value.

An operator and a parameter element (marked by a dotted line).

An operator and an action that delivers an output value (marked by a dotted line and () behind
the name).

An operator and a constant (marked by a dotted line).

An operator and an expression (marked by a dotted line).

Action Result Value


The action result value expresses the action status. There are two types:

(action is enabled).

(action is disabled).

The following table shows two sample rules can be modeled in a decision table:

Rule 1: IF a customer has a good credit history, and the annual order value is equal to
or larger than $ 5,000, THEN this customer is a VIP customer.

Rule 2: IF a customer is a VIP customer, THEN he/she will receive a bonus at the end of
a year and will be notified of this by email.

The corresponding decision table uses two conditions, two assignment results, and one action
result:

Figure 2. Decision Table Example

Working with Business Rules in My webMethods 10.7 31


5 Working with Decision Tables

Modifying a Decision Table


The Decision Entity Editor supports the following actions for decision tables:

Adding and modifying condition values or result values.

Clearing condition values or result values.

Adding and deleting rules.

Reordering rules.

Assigning a principal to condition values or result values.

Setting viewing preferences for conditions or results.

Filtering rules.

Specifying the in effect date at decision table level or at rule level.

Working with a preconfigured data provider service.

Important:
You must lock the decision table before you can modify it. For more information, see “Locking a
Decision Entity” on page 70.

Adding an Operator and a Literal Value in Direct Edit Mode


You can add an operator and a literal value in direct edit mode.

To add an operator and a literal value:

1. Open the decision table as described in “Opening a Decision Entity” on page 70.

2. Lock the decision table as described in “Locking a Decision Entity” on page 70.

3. Click the cell you want to modify.

4. Select an operator as specified in “About Condition Operators” on page 41 or “About Result


Operators” on page 42.

Important:
Adding only an operator without entering a literal value results in a semantically invalid cell.

5. Enter a literal value in the input field as explained in the following table:

Note:
The literal value must match the data type as specified in “About Data Type Assignment” on
page 43.

32 Working with Business Rules in My webMethods 10.7


5 Working with Decision Tables

For this data type You can do this

Boolean Select true or false from the drop-down list.

Date a. Click .

b. Select the date.

c. Enter a time of day (optional).

Note:
The format and time zone of displayed date and time
values can be configured in the My Profile settings.
Business Rules only supports hours, minutes, and
seconds.

Byte Type the literal value.


Character
Double
Float
Integer
Long
Short

String Type the literal value.

6. Press ENTER, or click anywhere in the Decision Entity Editor window to remove the focus
from the cell.

Modifying an Operator in Direct Edit Mode


You can modify any operator you set in direct edit mode.

To modify an operator:

1. Open the decision table as described in “Opening a Decision Entity” on page 70.

2. Lock the decision table as described in “Locking a Decision Entity” on page 70.

3. Click the operator you want to modify.

4. Select a new operator as specified in “About Condition Operators” on page 41 or “About


Result Operators” on page 42.

Modifying a Literal Value in Direct Edit Mode


You can modify any literal value you set in direct edit mode.

Working with Business Rules in My webMethods 10.7 33


5 Working with Decision Tables

To modify a literal value:

1. Open the decision table as described in “Opening a Decision Entity” on page 70.

2. Lock the decision table as described in “Locking a Decision Entity” on page 70.

3. Click the literal value you want to modify.

4. Do one of the following:

a. Type a new literal value as described in “Adding an Operator and a Literal Value in Direct
Edit Mode” on page 32, Step 4.

b. Press DEL to delete the literal value.

5. Press ENTER.

Adding a Condition or Result Value with the Editor


You can add a condition value or a result value with a built-in editor.

To add a condition value or a result value with the editor:

1. Open the decision table as described in “Opening a Decision Entity” on page 70.

2. Lock the decision table as described in “Locking a Decision Entity” on page 70.

3. Click the cell you want to modify.

4. Click (in conditions) or (in results).

5. In the [Value Type] Modification dialog box, modify the value as explained in the following
table:

For this field or option You can do this

Select an operator Select an operator as specified in “About Condition


Operators” on page 41 or respectively “About Result
Operators” on page 42.

Note:
If you select a range operator, the dialog box splits so that
you can specify a literal value or parameter element for each
side of the range.

34 Working with Business Rules in My webMethods 10.7


5 Working with Decision Tables

For this field or option You can do this

Select an option > Literal Enter a literal value in the Enter value field as described in
“Adding an Operator and a Literal Value in Direct Edit
Mode” on page 32, Step 5.

Note:
The literal value must match the data type as specified in
“About Data Type Assignment” on page 43.

Select an option > Constants From the Select constant drop-down, select a constant. For
more information on constants, see “About Constants” on
page 72.

Note:
The constant must match the data type as specified in “About
Data Type Assignment” on page 43.

Select an option > Parameters Expand the parameter, and select a parameter element from
the list. The parameter element is then displayed above the
parameter element list. To filter the list of parameter elements,
enter a filter text in the search field above the parameter
element list.

Note:
The data type of the parameter element must match the data
type as specified in “About Data Type Assignment” on
page 43.

Select an option > Expression Add an expression as described in “Adding an


Expression” on page 94.

6. Click .

Modifying a Condition or Result Value with the Editor


You can modify any condition value or result value you set with a built-in editor.

To modify a condition value or a result value with the editor:

1. Open the decision table as described in “Opening a Decision Entity” on page 70.

2. Lock the decision table as described in “Locking a Decision Entity” on page 70.

3. Click the cell you want to modify.

4. Click (in conditions) or (in results).

Working with Business Rules in My webMethods 10.7 35


5 Working with Decision Tables

5. Modify the condition or result value as described in “Adding a Condition or Result Value with
the Editor” on page 34.

Clearing a Condition or Result Value


You can clear condition values or result values in direct edit mode.

To clear a condition value or a result value:

1. Open the decision table as described in “Opening a Decision Entity” on page 70.

2. Lock the decision table as described in “Locking a Decision Entity” on page 70.

3. Click the operator of the cell you want to clear.

4. Select Clear from the context menu.

Adding a Rule
You can add a new rule to a decision table.

To add a rule:

1. Open the decision table as described in “Opening a Decision Entity” on page 70.

2. Lock the decision table as described in “Locking a Decision Entity” on page 70.

3. Do one of the following:

a. Select one or multiple contiguous rules by clicking the row number, and click
in the upper left corner of the Decision Entity Editor window. The new rule is inserted
after the last rule you selected.

b. Click in the upper left corner of the Decision Entity Editor window. The new
rule is inserted after the last rule of the decision table.

Deleting a Rule
You can delete a rule from a decision table.

To delete a rule:

1. Open the decision table as described in “Opening a Decision Entity” on page 70.

36 Working with Business Rules in My webMethods 10.7


5 Working with Decision Tables

2. Lock the decision table as described in “Locking a Decision Entity” on page 70.

3. Select the rules you want to delete by clicking the row number. To deselect a rule, click the
row number again.

4. Click in the upper left corner of the Decision Entity Editor window.

Note:
If you delete the only rule of a decision table, an empty rule is automatically inserted.

Reordering Rules
You can determine a specific order for rules. In inferential processing, this does not affect the order
of execution. In sequential processing, the order of rules corresponds to the order of execution.
For more information about processing modes, see webMethods BPM Rules Development Help.

To reorder rules:

1. Open the decision table as described in “Opening a Decision Entity” on page 70.

2. Lock the decision table as described in “Locking a Decision Entity” on page 70.

3. Select one or more contiguous rules by clicking the row number. To deselect a rule, click the
row number again.

4. Click or in the upper left corner of the Decision Entity Editor window.

The rule order is modified as requested.

Assigning a Principal to a Condition or Result Value


A principal is a user, a group, or a role on My webMethods Server. You can assign a principal to
a condition value or result value of a string type condition or result. This is only possible if the
rules developer who created the decision table with the Rules Development feature in Software
AG Designer annotated the condition or result column as principal. For more information, see
webMethods BPM Rules Development Help.

You can configure if users, groups, or roles are available to the user for selection in the Select
Principals window. For more information, see “Configuring Principal Types” on page 38.

To assign a principal to a condition value or a result value:

1. Open the decision table as described in “Opening a Decision Entity” on page 70.

2. Lock the decision table as described in “Locking a Decision Entity” on page 70.

Working with Business Rules in My webMethods 10.7 37


5 Working with Decision Tables

3. Click the condition value cell or result value cell you want to modify.

4. Click (in conditions ) or (in results ).

5. In the Select Principals window, select one or more principals, and click . For more
information on the Select Principals window, see Working with My webMethods.

Configuring Principal Types


You can configure if users, groups, or roles are available to the user when assigning a principal
to a condition value or a result value.

To configure principal types:

1. Navigate to Applications > Administration > My webMethods > System Settings >
webMethods Business Rules Settings.

2. Under PRINCIPAL TYPES, select Users, Groups, or Roles. You can select multiple or no choices.

3. Click Save.

Setting Viewing Preferences for Conditions or Results


You can specify which condition columns or result columns of a decision table should be displayed.
These preferences only apply to your user account.

To set viewing preferences for a decision table:

1. Open the decision table as described in “Opening a Decision Entity” on page 70.

2. Click > Show/hide columns for current user.

3. In the Show/Hide Decision Table Columns dialog, select the conditions or results to be displayed
from the Available list on the left side.

4. Click to move the selection to the Selected list on the right side.

5. To hide conditions or results, select the conditions or results to be hidden from the Selected
list on the right side, and click .

6. Click .

38 Working with Business Rules in My webMethods 10.7


5 Working with Decision Tables

Only the conditions or results in the Selected list are displayed. A dotted line between conditions
or results indicates hidden columns. To restore all hidden conditions or results, click > Show
all hidden columns.

Important:
Restoring all hidden columns discards the viewing preferences for a decision table.

Filtering Rules
You can specify which rules of a decision table should be displayed.

Note:
Any selected rules are deselected when you modify the filter.

To filter the rules to be displayed:

1. Open the decision table as described in “Opening a Decision Entity” on page 70.

2. Lock the decision table as described in “Locking a Decision Entity” on page 70.

3. Do one of the following:

a. In the toolbar, enter a text in the filter, and press ENTER.

Important:
When filtering rules with the text filter, the data in hidden columns is ignored. If any
hidden column contains filtered data, a warning message is displayed.

b. In the toolbar, click in the filter, and select a user, a group, or a role from the drop-down
list.

4. To restore all rules, click in the filter.

Setting an In Effect Date at Decision Table Level


As a default, the rules of a decision table are always in effect. You can set an in effect date at rule
level or at decision table level. If you set an in effect date at rule level, it only applies to this rule.
If you set an in effect date at decision table level, it applies to all rules of this decision table.

To set an in effect date at decision table level:

1. Open the decision table as described in “Opening a Decision Entity” on page 70.

2. Lock the decision table as described in “Locking a Decision Entity” on page 70.

Working with Business Rules in My webMethods 10.7 39


5 Working with Decision Tables

3. In the toolbar, click .

4. In the Edit in effect dates dialog box, select Always in effect (default), Never in effect, or Date
and time frame in effect. If you click Date and time frame in effect, select an operator as
described in “About In Effect Operators” on page 43, and specify a date and time (optional).
Click .

The decision table is now marked with a clock icon in the upper left corner. If you move the pointer
over the clock icon, a tooltip indicates the specified in effect date.

Setting an In Effect Date at Rule Level


As a default, the rules of a decision table are always in effect. You can set an in effect date at rule
level or at decision table level. If you set an in effect date at rule level, it only applies to this rule.
If you set an in effect date at decision table level, it applies to all rules of this decision table.

To set an in effect date at rule level:

1. Open the decision table as described in “Opening a Decision Entity” on page 70.

2. Lock the decision table as described in “Locking a Decision Entity” on page 70.

3. In the In Effect column, select the rule you want to edit.

4. Do one of the following:

a. Click , and select a date. Enter a time (optional).

b. Click . In the Edit in effect dates dialog box, select Always in effect (default), Never in
effect, or Date and time frame in effect. If you click Date and time frame in effect,
select an operator as described in “About In Effect Operators” on page 43, and specify a
date and time (optional). Click .

Working with a Preconfigured Data Provider Service


When creating a decision table with the Rules Development feature of Software AG Designer, the
rules developer can restrict the input options for a condition column or a result column by assigning
a preconfigured REST service that provides a predefined list of values. For instance, the service
can provide a list of valid zip codes for a zipCode condition or result column.

For more information about the required structure of this REST service, see webMethods Business
Rules Reference. For more information about how to assign the REST service to a condition column
or a result column of a decision table, see webMethods BPM Rules Development Help.

When you modify the corresponding decision table cells in the Rules Management Console, you
are only allowed to select an item from a drop-down list that offers the predefined values and

40 Working with Business Rules in My webMethods 10.7


5 Working with Decision Tables

their descriptions. Before you can use the data provider service, you must configure the connection
to the server the REST service is running on. For more information, see “Configuring a Server
Connection for a Preconfigured Data Provider Service” on page 41.

Configuring a Server Connection for a Preconfigured Data Provider Service


You must configure a connection for the server the preconfigured data provider service is running
on.

To configure a server connection:

1. Navigate to Applications > Administration > My webMethods > System Settings >
webMethods Business Rules Settings.

2. Under DATA PROVIDER, select Enabled, and define Protocol, Host, Port, and Base Path.

3. (Optional) Specify an authentication method, and enter a User Name and User Password if
required.

4. Click Save.

About Condition Operators


The following table lists the operators that can be assigned to the different data types of decision
table conditions:

Data Type(s) Operator Definition

Boolean = (Equals; default operator)


!= (Does not equal)

Character = (Equals; default operator)


!= (Does not equal)
< (Less than)
<= (Less than or equal)
> (Greater than)
>= (Greater than or equal)
< ... <= (Less than ... less than or equal)
<= ... <= (Less than or equal ... less than or equal)
< ... < (Less than ... less than)
<= ... < (Less than or equal ... less than)

Working with Business Rules in My webMethods 10.7 41


5 Working with Decision Tables

Data Type(s) Operator Definition

Date = (Equals; default operator)


!= (Does not equal)
< (Less than)
<= (Less than or equal)
> (Greater than)
>= (Greater than or equal)
< ... <= (Less than ... less than or equal)
<= ... <= (Less than or equal ... less than or equal)
< ... < (Less than ... less than)
<= ... < (Less than or equal ... less than)

Numeric = (Equals; default operator)


(Byte != (Does not equal)
Double < (Less than)
Float <= (Less than or equal)
Long > (Greater than)
Integer >= (Greater than or equal)
Short) < ... <= (Less than ... less than or equal)
<= ... <= (Less than or equal ... less than or equal)
< ... < (Less than ... less than)
<= ... < (Less than or equal ... less than)

String = (Equals; default operator)


!= (Does not equal)

About Result Operators


The following table lists the operators that can be assigned to the different data types of decision
table assignment results:

Data Type(s) Operator Definition

Boolean = (Equals; default operator)

Boolean list = (Equals; default operator)

Byte array = (Equals; default operator)

Date = (Equals; default operator)

Date list = (Equals; default operator)

Document = (Equals; default operator)

Document list = (Equals; default operator)

Numeric = (Equals; default operator)


(Byte

42 Working with Business Rules in My webMethods 10.7


5 Working with Decision Tables

Data Type(s) Operator Definition

Character
Double
Float
Integer
Long
Short)

Numeric list = (Equals; default operator)


(Byte list
Character list
Double list
Float list
Integer list
Long list
Short list)

String = (Equals; default operator)

String list = (Equals; default operator)

String table = (Equals; default operator)

About In Effect Operators


The following table lists the operators that can be assigned when specifying an in effect date:

In Effect Operator Definition

In Effect != (Does not equal)


< (Less than)
<= (Less than or equal)
> (Greater than)
>= (Greater than or equal)
< ... <= (Less than ... less than or equal)
<= ... <= (Less than or equal ... less than or equal)
< ... < (Less than ... less than)
<= ... < (Less than or equal ... less than)

About Data Type Assignment


The following table lists the data types that can be assigned to a parameter element that was
specified for a condition or result:

Working with Business Rules in My webMethods 10.7 43


5 Working with Decision Tables

Data type of the Literal value must be Constant must be Data type of assigned
parameter element for parameter element
the condition or result must be
is

Boolean Boolean NULL Boolean

Boolean list (results n/a NULL Boolean list


only)

Byte array (results only) n/a NULL Byte array

Date Date NULL Date

Date list (results only) n/a NULL Date list

Document (results only) n/a NULL Document

Document list (results n/a NULL Document list


only)

Numeric (Byte, Same data type or NULL Any numeric data type.
Character, Double, numeric data type with Numeric data types
Float, Integer, Long, a smaller value. with a greater value are
Short) truncated.

Numeric list (Byte list, n/a NULL Any numeric list.


Character list, Double Numeric data types
list, Float list, Integer with a greater value are
list, Long list, Short list) truncated.
(results only)

String String NULL or EMPTY_ String


STRING

String list (results only) n/a NULL String list

String table (results n/a NULL String table


only)

44 Working with Business Rules in My webMethods 10.7


6 Working with Decision Trees
■ Modifying a Decision Tree ............................................................................................. 48

Working with Business Rules in My webMethods 10.7 45


6 Working with Decision Trees

A decision tree is a decision entity. It uses a tree-like structure to depict a complex set of rules in
an IF Condition THEN Result syntax.

Decision Tree Structure


A decision tree consists of nodes and links. A node can represent the root, a condition (blue color),
an assignment result and its assigned result value (green color), or an action result and its action
status (green color). A link can be a root link or a condition link. A root node can be linked to one
or more condition nodes, and a condition node can be linked to one or more condition nodes or
result nodes.

Figure 3. Decision Tree in the Decision Entity Editor

The following table explains the decision tree elements and their graphical representation:

Element Name Graphical Representation Description

Root Node The root node is the root of the decision tree. All
decision branches start from here.

Root Link A root link connects the root node with a


condition node on the first level. A root link
represents an unconditional branch to a
condition node and is not evaluated.

Condition A condition node contains a reference to one


input or input/output parameter element.
Condition links can branch off of this node.

Condition Link Three types of condition links exist:

Condition link that contains an operator and


a condition value. It represents a conditional
branch to the element on the right side of the
condition line when the condition evaluates
to true.

Condition link that is left empty. It represents


an unconditional branch and is not
evaluated. Tree evaluation continues with
the successor node if there is any.

Otherwise condition link. It contains the


otherwise operator and a condition value,

46 Working with Business Rules in My webMethods 10.7


6 Working with Decision Trees

Element Name Graphical Representation Description

and it represents the last branch of a


condition node. Its path is taken if none of
the previous branches from the parent
condition evaluate to true.

The following types of condition values exist:

Literal value.

Value range.

Parameter element (marked by a dotted line).

Action that delivers an output value (marked


by a dotted line and () behind the action
name).

Constant (marked by a dotted line).

Expression.

Assignment An assignment result node contains a reference


Result Node to one output or input/output parameter
element, an operator, and the assigned result
value. The following types of result values exist:

Literal value.

List.

Parameter element (marked by a dotted line).

Action that delivers an output value (marked


by a dotted line and () behind the action
name).

Constant (marked by a dotted line).

Expression.

Assignment result nodes can be chained together


along with action result nodes.

Action Result An action result node contains a reference to the


Node action that is to be invoked and one of the
following action statuses:

(action is enabled).

(action is disabled).

Working with Business Rules in My webMethods 10.7 47


6 Working with Decision Trees

Element Name Graphical Representation Description

Mapping can be specified. Action result nodes


can be chained together along with assignment
result nodes.

In Effect Indicator The in effect indicator shows the date at which


a rule is in effect.

Example
The following table shows two rules that can be modeled in a decision tree:

Rule 1: IF a customer has customer status silver, THEN this customer gets a discount of
10%.

Rule 2: IF a customer has customer status gold, THEN this customer gets a discount of
20%.

The decision tree uses one condition node with two condition values and two assignment result
nodes:

Figure 4. Decision Tree Example

The following image shows the decision table that corresponds to this decision tree:

Modifying a Decision Tree


The Decision Entity Editor supports the following actions for decision trees:

Modifying condition links and assignment result nodes.

Setting a label for condition nodes, condition links, and assignment result nodes.

Setting a default value for condition nodes.

Setting an in effect date at decision tree level or at branch level.

48 Working with Business Rules in My webMethods 10.7


6 Working with Decision Trees

Showing and hiding the properties of a decision tree.

Expanding and collapsing decision tree nodes.

Zooming and reseting the decision tree depiction.

Important:
You must lock the decision tree before you can modify it. For more information, see “Locking a
Decision Entity” on page 70.

Modifying Condition Links or Assignment Result Nodes in Direct


Edit Mode
You can modify condition links or assignment result nodes in direct edit mode.

To modify a condition link or assignment result node in direct edit mode:

1. Open the decision tree as described in “Opening a Decision Entity” on page 70.

2. Lock the decision tree as described in “Locking a Decision Entity” on page 70.

3. Click the condition link or assignment result node you want to modify.

4. In the inline editor, select an operator as specified in “About Condition Operators” on page 54
or “About Result Operators” on page 56.

Important:
Adding only an operator without entering a literal value results in a semantically invalid
condition link or assignment result node.

5. Enter a literal value in the input field as explained in the following table:

Note:
The literal value must match the data type as specified in “About Data Type Assignment” on
page 57.

For this data type You can do this

Boolean Select true or false from the drop-down list.

Date a. Click .

b. Select the date.

c. Enter a time of day (optional).

Note:

Working with Business Rules in My webMethods 10.7 49


6 Working with Decision Trees

For this data type You can do this

The format and time zone of displayed date and time


values can be configured in the My Profile settings.
Business Rules only supports hours, minutes, and
seconds.

Byte Type the literal value.


Character
Double
Float
Integer
Long
Short

String Type the literal value.

6. Click to save the changes, to discard the changes, or to clear the values. To open
the built-in editor, click (condition link) or (assignment result node), and modify the
condition link or assignment result node as described in “Modifying Condition Links or
Assignment Result Nodes with the Editor” on page 50.

Modifying Condition Links or Assignment Result Nodes with the


Editor
You can modify condition links and assignment result nodes with a built-in editor.

To modify condition links and assignment result nodes with the editor:

1. Open the decision tree as described in “Opening a Decision Entity” on page 70.

2. Lock the decision tree as described in “Locking a Decision Entity” on page 70.

3. Click (condition link) or (assignment result node).

4. In the Link Modification dialog or the Result Node Modification dialog, modify the value
info as explained in the following table:

For this field or option You can do this

Select an operator Select an operator as specified in “About Condition


Operators” on page 54 or respectively “About Result
Operators” on page 56.

Note:

50 Working with Business Rules in My webMethods 10.7


6 Working with Decision Trees

For this field or option You can do this

If you select a range operator, the dialog box splits so that


you can specify a literal value or parameter element for each
side of the range.

Select an option > Literal Enter a literal value in the Enter value field as described in
“Modifying Condition Links or Assignment Result Nodes
in Direct Edit Mode” on page 49, Step 5.

Note:
The literal value must match the data type as specified in
“About Data Type Assignment” on page 57.

Select an option > Constants From the Select constant drop-down, select a constant. For
more information on constants, see “About Constants” on
page 72.

Note:
The constant must match the data type as specified in “About
Data Type Assignment” on page 57.

Select an option > Parameters Expand the parameter, and select a parameter element from
the list. The parameter element is then displayed above the
parameter element list. To filter the list of parameter elements,
enter a filter text in the search field above the parameter
element list.

Note:
The data type of the parameter element must match the data
type as specified in “About Data Type Assignment” on
page 57.

Select an option > Expression Add an expression as described in “Adding an


Expression” on page 94.

5. Click .

Setting and Modifying Labels


You can set and modify a label (meaningful name) for a condition node, a condition link, or an
assignment result node.

To set or modify a label:

1. Open the decision tree as described in “Opening a Decision Entity” on page 70.

Working with Business Rules in My webMethods 10.7 51


6 Working with Decision Trees

2. Lock the decision tree as described in “Locking a Decision Entity” on page 70.

3. Click (condition node, condition link) or (assignment result node).

4. In the Condition Node Configuration dialog, the Link Modification dialog, or the Result
Node Modification dialog, enter a value in the Label field.

5. Click .

Setting a Default Value for a Condition Node


In the Rules Development feature of Software AG Designer, you can specify an execution behavior
for a decision tree if parameter elements that are used by condition nodes are missing at runtime.

The following missing value approaches are available:

Null resolves to false. (Default.) The decision tree is executed. When a condition is checked,
it evaluates to false if the referenced parameter element is missing. The execution then continues.

Null value. Referenced parameter elements for conditions are checked before execution. If a
referenced parameter element is missing, the decision tree is not executed.

Default value. You can specify a default value that is evaluated substitutionally if a referenced
parameter element for a condition is missing.

In My webMethods, you can set a default value for a condition node.

To set a default value for a condition node:

1. Open the decision tree as described in “Opening a Decision Entity” on page 70.

2. Lock the decision tree as described in “Locking a Decision Entity” on page 70.

3. Click in the condition node for which you want to specify a default value.

4. In the Condition Node Configuration dialog, enter a value in the Default Value field.

Note:
Note that you can only enter literal values. The data type of the literal value must correspond
to the data type of the parameter element that was assigned to the condition node.

5. Click .

Setting an In Effect Date at Decision Tree Level


As a default, the rules of a decision tree are always in effect. You can set an in effect date at branch
level or at decision tree level. If you set an in effect date at branch level, it only applies to the rule
52 Working with Business Rules in My webMethods 10.7
6 Working with Decision Trees

that is represented by this branch. If you set an in effect date at decision tree level, it applies to all
rules of this decision tree.

To set an in effect date at decision tree level:

1. Open the decision tree as described in “Opening a Decision Entity” on page 70.

2. Lock the decision tree as described in “Locking a Decision Entity” on page 70.

3. In the toolbar, click .

4. In the Edit in effect dates dialog box, select Always in effect (default), Never in effect, or Date
and time frame in effect. If you click Date and time frame in effect, select an operator as
described in “About In Effect Operators” on page 56, and specify a date and time (optional).
Click .

Setting an In Effect Date at Branch Level


As a default, the rules of a decision tree are always in effect. You can set an in effect date at branch
level or at decision tree level. If you set an in effect date at branch level, it only applies to the rule
that is represented by this branch. If you set an in effect date at decision tree level, it applies to all
rules of this decision tree.

To set an in effect date at branch level:

1. Open the decision tree as described in “Opening a Decision Entity” on page 70.

2. Lock the decision tree as described in “Locking a Decision Entity” on page 70.

3. Select the In Effect node at the end of the branch.

4. Click . In the Edit in effect dates dialog box, select Always in effect (default), Never in effect,
or Date and time frame in effect. If you click Date and time frame in effect, select an
operator as described in “About In Effect Operators” on page 56, and specify a date and time
(optional). Click .

Showing and Hiding Decision Tree Properties


You can show and hide the properties of a decision tree. Properties are description, missing value
approach, and processing mode. If you lock the decision tree, you can also modify the description.

To show or hide properties:

1. Open the decision tree as described in “Opening a Decision Entity” on page 70.

Working with Business Rules in My webMethods 10.7 53


6 Working with Decision Trees

2. Lock the decision tree as described in “Locking a Decision Entity” on page 70.

3. Click in the upper right corner to show the decision tree properties, or click
to hide them.

4. To modify the description, click in the properties field. Click to save the changes, or
click to discard the changes.

Expanding and Collapsing Nodes


You can expand and collapse single nodes or all nodes of a decision tree.

To expand or collapse nodes:

1. Open the decision tree as described in “Opening a Decision Entity” on page 70.

2. To expand or collapse a single node, click or in the node.

3. To expand or collapse all nodes, click or in the toolbar.

Zooming In and Out


You can minimize or maximize the depiction of the decision tree in the Decision Entity Editor
window.

To zoom in or out:

1. Open the decision tree as described in “Opening a Decision Entity” on page 70.

2. Select (zoom in) or (zoom out) from the left side of the Decision Entity Editor window.

3. To reset the zoom, click .

About Condition Operators


The following table lists the operators that can be assigned to a condition link depending on the
data type of the value this link contains:

54 Working with Business Rules in My webMethods 10.7


6 Working with Decision Trees

Data Type(s) Operator Definition

Boolean = (Equals; default operator)


!= (Does not equal)
otherwise (Only last branch of condition node)

Character = (Equals; default operator)


!= (Does not equal)
< (Less than)
<= (Less than or equal)
> (Greater than)
>= (Greater than or equal)
< ... <= (Less than ... less than or equal)
<= ... <= (Less than or equal ... less than or equal)
< ... < (Less than ... less than)
<= ... < (Less than or equal ... less than)
otherwise (Only last branch of condition node)

Date = (Equals; default operator)


!= (Does not equal)
< (Less than)
<= (Less than or equal)
> (Greater than)
>= (Greater than or equal)
< ... <= (Less than ... less than or equal)
<= ... <= (Less than or equal ... less than or equal)
< ... < (Less than ... less than)
<= ... < (Less than or equal ... less than)
otherwise (Only last branch of condition node)

Numeric = (Equals; default operator)


(Byte != (Does not equal)
Double < (Less than)
Float <= (Less than or equal)
Long > (Greater than)
Integer >= (Greater than or equal)
Short) < ... <= (Less than ... less than or equal)
<= ... <= (Less than or equal ... less than or equal)
< ... < (Less than ... less than)
<= ... < (Less than or equal ... less than)
otherwise (Only last branch of condition node)

String = (Equals; default operator)


!= (Does not equal)
otherwise (Only last branch of condition node)

Working with Business Rules in My webMethods 10.7 55


6 Working with Decision Trees

About Result Operators


The following table lists the operators that can be assigned to a result node depending on the data
type of the value this node contains:

Data Type(s) Operator Definition

Boolean = (Equals; default operator)

Boolean list = (Equals; default operator)

Character = (Equals; default operator)

Character list = (Equals; default operator)

Date = (Equals; default operator)

Date list = (Equals; default operator)

Document = (Equals; default operator)

Document list = (Equals; default operator)

Numeric = (Equals; default operator)


(Byte
Double
Float
Integer
Long
Short)

Numeric list = (Equals; default operator)


(Byte array
Byte list
Double list
Float list
Integer list
Long list
Short list)

String = (Equals; default operator)

String list = (Equals; default operator)

String table = (Equals; default operator)

About In Effect Operators


The following table lists the operators that can be assigned when specifying an in effect date:

56 Working with Business Rules in My webMethods 10.7


6 Working with Decision Trees

In Effect Operator Definition

In Effect != (Does not equal)


< (Less than)
<= (Less than or equal)
> (Greater than)
>= (Greater than or equal)
< ... <= (Less than ... less than or equal)
<= ... <= (Less than or equal ... less than or equal)
< ... < (Less than ... less than)
<= ... < (Less than or equal ... less than)

About Data Type Assignment


The following table lists the data types that can be assigned to a parameter element that was
specified for a condition link or assignment result node:

Data type of the Literal value must Data type of Data type of Constant must be
parameter element be assigned action output
for the condition parameter element must be
link or result node must be
is

Boolean Boolean Boolean Boolean NULL

Boolean list n/a Boolean Boolean NULL


(results only)

Character Character Character Character NULL

Character list n/a Character Character NULL


(results only)

Date Date Date Date NULL

Date list (results n/a Date Date NULL


only)

Document (results n/a Document Document NULL


only)

Document list n/a Document list Document list NULL


(results only)

Numeric Same data type or Any numeric data Any numeric data NULL
(Byte, Double, numeric data type type. Numeric type. Numeric
Float, with a smaller data types with a data types with a
Integer, Long, value. greater value are greater value are
Short) truncated. truncated.

Working with Business Rules in My webMethods 10.7 57


6 Working with Decision Trees

Data type of the Literal value must Data type of Data type of Constant must be
parameter element be assigned action output
for the condition parameter element must be
link or result node must be
is

Numeric list n/a Any numeric list. Any numeric list. NULL
(Byte array, Byte Numeric data Numeric data
list, Double list, types with a types with a
Float list, greater value are greater value are
Integer list, Long truncated. truncated.
list,
Short list) (results
only)

String String String String NULL or


EMPTY_STRING

String list (results n/a String list String list NULL


only)

String table n/a String table String table NULL


(results only)

Important:
Integer values are converted to Java doubles before being assigned to parameter elements. The
conversion might introduce imprecision due to truncation or rounding. As the conversion to a
Java double only handles up to 15 significant digits, it is highly recommended not to use integers
with more than 15 digits in conjunction with decimal point parameter elements.

58 Working with Business Rules in My webMethods 10.7


7 Working with Event Rules
■ Modifying an Event Result ............................................................................................. 62

Working with Business Rules in My webMethods 10.7 59


7 Working with Event Rules

An event rule is a decision entity that specifies the results triggered by an event. There are two
types of events:

Internal Events.

External Events.

Internal events are triggered by other event rules and decision tables during rule execution. External
events are predefined event types that were created with the webMethods Event Type Editor, see
webMethods Event Processing Help.

Important:
To work properly, internal and external event rules must be part of a rule set.

Event Rule Structure


An event rule consists of an event (blue color) and one or more results (green color).

Figure 5. Event Rule in the Decision Entity Editor

Event
The event consists of an event source that is specified by a parameter element and a type. The
following table explains the supported types:

Event Type Description

Internal Event changed This type triggers one or more results whenever
the event source changes. The change must be
triggered by other event rules or decision tables.
Changed type event rules have the following
syntax:

WHENEVER an Event Source CHANGED THEN


Result.

External Event occurred This type triggers one or more results whenever
the external event has occurred. Occurred type
event rules have the following syntax:

60 Working with Business Rules in My webMethods 10.7


7 Working with Event Rules

Event Type Description

WHENEVER an Event Source OCCURRED THEN


Result.

Results
There are two types of results which are explained in the following table:

Result Description

Assignment Result An assignment result is specified by a parameter element. This


result type is applied whenever you want to assign a value to a
result.

Action Result An action result is specified by an action. This result type is


applied whenever you want to execute an action from an event
rule.

Assignment Result Value


An assignment result value can consist of:

An operator and a literal value.

An operator and a parameter element (marked by a dotted line).

An operator and an action that delivers an output value (marked by a dotted line and () behind
the action name).

An operator and a constant (marked by a dotted line).

An operator and an expression (marked by a dotted line).

Action Result Value


The action result value expresses the action status. There are two types:

(action is enabled).

(action is disabled).

The following table shows a rule that can be modeled in an event rule using an action result:

Rule WHENEVER a permitted payment method changes for a customer, THEN this
customer is notified of this by email.

Figure 6. Event Rule Example

Working with Business Rules in My webMethods 10.7 61


7 Working with Event Rules

Modifying an Event Result


The Decision Entity Editor supports the following actions for event rule results:

Adding and modifying result values.

Clearing result values.

Important:
You must lock the event rule before you can modify it. For more information, see “Locking a
Decision Entity” on page 70.

Adding an Operator and a Literal Value in Direct Edit Mode


You can add an operator and a literal value in direct edit mode.

To add an operator and a literal value:

1. Open the event rule as described in “Opening a Decision Entity” on page 70.

2. Lock the event rule as described in “Locking a Decision Entity” on page 70.

3. Click the cell you want to modify.

4. Select an operator as specified in “About Result Operators” on page 66.

Important:
Adding only an operator without entering a literal value results in a semantically invalid cell.

5. Enter a literal value in the input field as explained in the following table:

Note:
The literal value must match the data type as specified in “About Data Type Assignment” on
page 67.

For this data type You can do this

Boolean Select true or false from the drop-down list.

62 Working with Business Rules in My webMethods 10.7


7 Working with Event Rules

For this data type You can do this

Date a. Click .

b. Select the date.

c. (Optional) Enter a time of day.

Note:
The format and time zone of displayed date and time
values can be configured in the My Profile settings.
Business Rules only supports hours, minutes, and
seconds.

Byte Type the literal value.


Character
Double
Float
Integer
Long
Short

String Type the literal value.

6. Press ENTER, or click anywhere in the Decision Entity Editor window to remove the focus
from the cell.

Modifying an Operator in Direct Edit Mode


You can modify any operator you set in direct edit mode.

To modify an operator:

1. Open the event rule as described in “Opening a Decision Entity” on page 70.

2. Lock the event rule as described in “Locking a Decision Entity” on page 70.

3. Click the operator you want to modify.

4. Select a new operator as specified in “About Result Operators” on page 66.

Modifying a Literal Value in Direct Edit Mode


You can modify any literal value you set in direct edit mode.

To modify a literal value:

Working with Business Rules in My webMethods 10.7 63


7 Working with Event Rules

1. Open the event rule as described in “Opening a Decision Entity” on page 70.

2. Lock the event rule as described in “Locking a Decision Entity” on page 70.

3. Click the literal value you want to modify.

4. Do one of the following:

a. Type a new literal value as described in “Adding an Operator and a Literal Value in Direct
Edit Mode” on page 62, Step 4.

b. Press DEL to delete the literal value.

5. Press ENTER.

Adding a Result Value with the Editor


You can add a result value with a built-in editor.

To add a result value with the editor:

1. Open the event rule as described in “Opening a Decision Entity” on page 70.

2. Lock the event rule as described in “Locking a Decision Entity” on page 70.

3. Click the cell you want to modify.

4. Click .

5. In the Result Value Modification dialog box, modify the value info as explained in the following
table:

For this field or option You can do this

Select an operator Select an operator as specified in “About Result


Operators” on page 66.

Select an option > Literal Enter a literal value in the Enter value field as described in
“Adding an Operator and a Literal Value in Direct Edit
Mode” on page 62, Step 5.

Note:
The literal value must match the data type as specified in
“About Data Type Assignment” on page 67.

64 Working with Business Rules in My webMethods 10.7


7 Working with Event Rules

For this field or option You can do this

Select an option > Constants From the Select constant drop-down, select a constant. For
more information on constants, see “About Constants” on
page 72.

Note:
The constant must match the data type as specified in “About
Data Type Assignment” on page 67.

Select an option > Parameters Expand the parameter, and select a parameter element from
the list. The parameter element is then displayed above the
parameter element list. To filter the list of parameter elements,
enter a filter text in the search field above the parameter
element list.

Note:
The data type of the parameter element must match the data
type as specified in “About Data Type Assignment” on
page 67.

Select an option > Expression Add an expression as described in “Adding an


Expression” on page 94.

6. Click .

Modifying a Result Value with the Editor


You can modify any result value you set with a built-in editor.

To modify a result value with the editor:

1. Open the event rule as described in “Opening a Decision Entity” on page 70.

2. Lock the event rule as described in “Locking a Decision Entity” on page 70.

3. Click the cell you want to modify.

4. Click .

5. Modify the result value as described in “Adding a Result Value with the Editor” on page 64,
Step 4.

Clearing a Result Value


You can clear result values in direct edit mode.

Working with Business Rules in My webMethods 10.7 65


7 Working with Event Rules

To clear a result value:

1. Open the event rule as described in “Opening a Decision Entity” on page 70.

2. Lock the event rule as described in “Locking a Decision Entity” on page 70.

3. Click the operator of the cell you want to clear.

4. Select Clear from the context menu.

About Result Operators


The following table lists the operators that can be assigned to the different data types of an event
rule assignment result:

Data Type(s) Operator Definition

Boolean = (Equals; default operator)

Boolean list = (Equals; default operator)

Byte array = (Equals; default operator)

Date = (Equals; default operator)

Date list = (Equals; default operator)

Document = (Equals; default operator)

Document list = (Equals; default operator)

Numeric = (Equals; default operator)


(Byte
Character
Double
Float
Integer
Long
Short)

Numeric list = (Equals; default operator)


(Byte list
Character list
Double list
Float list
Integer list
Long list
Short list)

66 Working with Business Rules in My webMethods 10.7


7 Working with Event Rules

Data Type(s) Operator Definition

String = (Equals; default operator)

String list = (Equals; default operator)

String table = (Equals; default operator)

About Data Type Assignment


The following table lists the data types that can be assigned to a parameter element that was
specified for an event result:

Data type of the Literal value must be Constant must be Data type of assigned
parameter element for parameter element
the result is must be

Boolean Boolean NULL Boolean

Boolean list n/a NULL Boolean list

Byte array n/a NULL Byte array

Date Date NULL Date

Date list n/a NULL Date list

Document n/a NULL Document

Document list n/a NULL Document list

Numeric (Byte, Same data type or NULL Any numeric data type.
Character, Double, numeric data type with Numeric data types
Float, Integer, Long, a smaller value. with a greater value are
Short) truncated.

Numeric list (Byte list, n/a NULL Any numeric list.


Character list, Double Numeric data types
list, Float list, Integer with a greater value are
list, Long list, Short list) truncated.

String String NULL or String


EMPTY_STRING

String list n/a NULL String list

String table n/a NULL String table

Working with Business Rules in My webMethods 10.7 67


7 Working with Event Rules

68 Working with Business Rules in My webMethods 10.7


8 Global Functions Overview
■ Opening a Decision Entity ............................................................................................. 70

■ Locking a Decision Entity ............................................................................................... 70

■ Saving Changes to a Decision Entity ............................................................................. 71

■ Modifying the Description of a Decision Entity .............................................................. 71

■ Creating and Modifying Lists with the Inline Editor ....................................................... 72

■ About Constants ............................................................................................................ 72

Working with Business Rules in My webMethods 10.7 69


8 Global Functions Overview

The Business Rules User Interface in My webMethods supports the following functions that apply
to all decision entities:

Opening a decision entity.

Saving changes to a decision entity.

Modifying the description of a decision entity.

Locking a decision entity.

Creating and modifying lists with the inline editor (decision table results and event rule results
only).

Important:
You must lock the decision entity before you can modify it. For more information, see “Locking
a Decision Entity” on page 70.

Opening a Decision Entity


You can open a decision entity.

To open a decision entity:

1. On the Navigate tab, do one of the following:

a. Click [RuleProjectName] > Decision Tables (for decision tables).

b. Click [RuleProjectName] > Decision Trees (for decision trees).

c. Click [RuleProjectName] > Event Rules (for event rules).

d. Click [RuleProjectName] > Rule Sets >[RuleSetName] (for all decision entities of a rule
set).

2. In the Decision Entity List window, click the decision entity name.

The decision entity opens in the Decision Entity Editor window. The order of rules corresponds
to the order specified by the rule developer in Software AG Designer.

Locking a Decision Entity


You must lock a decision entity before you can modify it.

To lock a decision entity:

1. Open the decision entity as described in “Opening a Decision Entity” on page 70.

70 Working with Business Rules in My webMethods 10.7


8 Global Functions Overview

2. Click in the upper right corner of the Decision Entity Editor window.

3. Modify and save the decision entity.

4. To make the decision entity available to others for modification, click in the upper
right corner of the Decision Entity Editor window.

Saving Changes to a Decision Entity


You can save changes you made to a decision entity.

To save your changes:

1. Open the decision entity as described in “Opening a Decision Entity” on page 70.

2. Lock the decision entity as described in “Locking a Decision Entity” on page 70.

3. Modify the decision entity.

4. For decision tables and event rules, click in the upper right corner of the Decision
Entity Editor window. For decision trees, changes are saved automatically after modification,
and the save status is displayed in the upper left corner of the Decision Entity Editor window.

Note:
You cannot save a decision entity that contains errors.

Modifying the Description of a Decision Entity


You can modify the description text of a decision table or an event rule.

To modify the description of a decision entity:

1. Open the decision entity as described in “Opening a Decision Entity” on page 70.

2. Lock the decision entity as described in “Locking a Decision Entity” on page 70.

3. In the Decision Entity Editor window, click .

4. Type a new description.

5. Click .

Working with Business Rules in My webMethods 10.7 71


8 Global Functions Overview

Creating and Modifying Lists with the Inline Editor


In decision table assignment results and in event rule results of any list data type, you can create
and modify lists with an inline editor.

Note:
You can only create a list if the result cell is empty or contains a createList function.

To create and modify lists:

1. Open the decision entity as described in “Opening a Decision Entity” on page 70.

2. Lock the decision entity as described in “Locking a Decision Entity” on page 70.

3. Click the result cell, and select = from the operator list.

4. In the inline editor, click .

5. Do one of the following:

a. Type a value in the entry field.

b. Click , and select a parameter from the pop-up list.

c. For date list entries: Select a date from the calendar that opens if you click the entry field.

6. To use the cell editor, click . Add the result value as described in “Adding a Condition or
Result Value with the Editor” on page 34 (for decision tables) or “Adding a Result Value with
the Editor” on page 64 (for event rules).

Note:
You cannot add a literal value.

7. To delete an entry, select it, and click .

8. To sort entries, click or behind the entry.

9. Click .

The list is created. To see the entries, mouse over the respective result cell in the decision entity.

About Constants
There are two types of predefined constants:

72 Working with Business Rules in My webMethods 10.7


8 Global Functions Overview

EMPTY_STRING.

NULL.

They can be used in decision table condition values, decision table assignment result values,
decision tree condition values, decision tree assignment result values and event rule assignment
result values.

If EMPTY_STRING is assigned to a parameter element in a condition value of a decision table or


a decision tree, the condition is fulfilled if the parameter element contains an empty string as a
value in a parameter instance at runtime.

If NULL is assigned to a parameter element in a condition value of a decision table or a decision


tree, the condition is fulfilled if:

The parameter element is missing in a parameter instance at runtime.

The parameter element exists and contains null as a value in a parameter instance at runtime.

The superordinated parameter element is missing in a parameter instance at runtime.

Example
You work with a customer parameter that contains the parameter elements name, age and address,
and the parameter element address contains the subordinated parameter elements street,
street_number, zip and city. You assign the constant NULL to the parameter element
customer.address.zip in a decision table condition value.

Then the condition is fulfilled if:

The parameter element zip is missing in a specific instance of the customer parameter at
runtime.

The parameter element zip exists but contains null as a value in a specific instance of the
customer parameter at runtime.

The superordinated parameter element address is missing in a specific instance of the customer
parameter at runtime.

Working with Business Rules in My webMethods 10.7 73


8 Global Functions Overview

74 Working with Business Rules in My webMethods 10.7


9 Rule Verification Overview
■ About Automatic Verification ......................................................................................... 76

■ Verifying Rules Manually ................................................................................................ 76

■ Working with a Preconfigured Verification Service ........................................................ 77

■ Configuring a Server Connection for a Preconfigured Verification Service ................... 78

■ Showing or Hiding Suppressed Warnings ...................................................................... 78

■ About Verification Categories ........................................................................................ 78

Working with Business Rules in My webMethods 10.7 75


9 Rule Verification Overview

The Business Rules User Interface in My webMethods supports three kinds of verification:

Automatic Verification is performed on decision entities when they are opened or saved after
modification. It can reflect both errors and warnings. For more information, see “About
Automatic Verification” on page 76.

Manual Verification is performed on-demand at rule set or at decision entity level. It is


designed to detect potential logic problems in decision entities and only creates warnings. For
more information, see “Verifying Rules Manually” on page 76.

Preconfigured Verification Services. You can verify decision tables on the basis of
preconfigured REST services. For more information, see “Working with a Preconfigured
Verification Service” on page 77.

For more information about verification categories, see “About Verification Categories” on page 78.

About Automatic Verification


Automatic verification is performed on decision entities when they are opened or saved after
modification. It can reflect both errors and warnings.

Representation of Warnings and Errors in the Decision Entity List Window

Decision tables with errors or warnings are marked by or . Event rules with errors or warnings
are marked by or .

Representation of Warnings and Errors in the Decision Entity Editor Window


The respective cell of the decision entity in the Decision Entity Editor window is marked red (error)
or yellow (warning).

Representation of Warnings in the Rule Project Verification Window


The warnings and errors appear in the Rule Project Verification window in the verification
categories Syntax, Empty cells, Processing Modes, or Other. For more information about
verification categories, see “About Verification Categories” on page 78.

Errors are marked by , warnings are marked by .

If you click a link in the Resource column of the problems table, the respective decision entity
opens in the Decision Entity Editor window, and it is highlighted in the Decision Entity List
window.

Verifying Rules Manually


Manual Verification is performed on-demand at rule set or at decision entity level. It is designed
to detect potential logic problems in decision entities and only creates warnings.

Keep the following points in mind when verifying rules:

76 Working with Business Rules in My webMethods 10.7


9 Rule Verification Overview

Rules can be verified at rule set or at decision entity level.

If you verify a rule set, all of its decision entities are combined and tested as a single entity.

Decision entities with errors cannot be verified.

Only conditions with more than one value are considered, and each condition value is processed
independently.

Condition values containing a parameter element or an action are not considered.

There can be multiple warnings for one condition value.

Event rules are not considered as they do not have condition values.

Condition values of the data type date are not considered.

To verify rules manually:

1. Click in the upper right corner of the Rule Project Verification window.

The warnings appear in the problems table of the Rule Project Verification window and are sorted
by verification categories. For more information about verification categories, see “About
Verification Categories” on page 78. If the warning can be associated with a decision entity, the
respective decision entity is marked by (decision table) or (event rule) in the Decision Entity
List window.

Working with a Preconfigured Verification Service


You can verify a condition column or a result column of a decision table on the basis of a
preconfigured REST service. For instance, you can check if the values at runtime for a zipCode
parameter start with the figure 0.

To enable verification on the basis of a preconfigured verification service, the following is necessary:

You need a preconfigured REST service. For more information about the required structure
of this REST service, see webMethods Business Rules Reference.

The REST service must run on a server, and you must configure the server connection. For
more information, see “Configuring a Server Connection for a Preconfigured Verification
Service” on page 78.

You must assign the REST service to a condition column or result column of a decision table
in the Rules Development feature of Software AG Designer. For more information, see
webMethods BPM Rules Development Help.

You can then verify the rules manually in My webMethods as described in “Verifying Rules
Manually” on page 76. Rules are automatically verified when a rule project is hot deployed. The
verification results of a preconfigured verification service can be seen in the Rule Project Verification
window in the category Business Verification.

Working with Business Rules in My webMethods 10.7 77


9 Rule Verification Overview

Configuring a Server Connection for a Preconfigured Verification


Service
You must configure a connection for the server the preconfigured verification service is running
on.

To configure a server connection:

1. Navigate to Applications > Administration > My webMethods > System Settings >
webMethods Business Rules Settings.

2. Under BUSINESS VERIFICATION, select Enabled, and define Protocol, Host, Port, and Base
Path.

3. (Optional) Specify an authentication method, and enter a User Name and User Password if
required.

4. Click Save.

Showing or Hiding Suppressed Warnings


Warnings can be suppressed when creating decision entities in Software AG Designer. You can
make these suppressed warnings visible or hide them again in the Rule Project Verification window.

To show or hide suppressed warnings:

1. Click Show all suppressed warnings in the lower right corner of the Rule Project Verification
window.

2. To hide the warnings again, click Hide all suppressed warnings in the lower right corner of
the Rule Project Verification window after the page has been reloaded.

The warnings are shown or hidden in the Rule Verification window, in the Decision Entity List
window, and in the Decision Entity window.

About Verification Categories


The following verification categories exist:

Gaps
The following table describes a gap warning.

78 Working with Business Rules in My webMethods 10.7


9 Rule Verification Overview

Explanation A gap warning is reported if a value or a range of values for one condition is not
explicitly tested in a decision entity or a rule set.

Example

A gap warning is reported, because the value = 5,000 is not tested for the condition
Order value.

Action If the gap is not intended, specify the missing value or range of values for the
condition.

Overlaps
The following table describes an overlap warning.

Explanation An overlap warning is reported if the same value or range of values for one
condition is tested multiple times in a decision entity or a rule set.

Example

An overlap warning is reported, because the value = 5,000 is tested multiple times
for the condition Order value.

Action If the overlap is not intended, modify the rules so that the condition value is only
tested once.

Syntax
The following table describes a syntax warning.

Explanation A syntax warning is for instance reported if data is lost due to truncation.

Example

A syntax warning is reported, because a result value of the data type long is
assigned to a result of the data type byte and is therefore truncated.

Action If the data loss is not tolerable, assign a value of the correct data type.

Working with Business Rules in My webMethods 10.7 79


9 Rule Verification Overview

Empty cells
The following table describes an empty cell warning.

Explanation An empty cell warning is reported if a condition value or a result value is not
specified.

Example

An empty cell warning is reported, because the condition value for the first rule
is not specified.

Action If the empty cell is not intended, specify the missing value.

Processing Modes
The following table describes a processing mode warning.

Explanation A processing mode warning is reported if the processing mode of a decision table
within a rule set differs from the processing mode of this rule set, because the
processing mode of the rule set overwrites that of the decision table.

Example Differences in processing modes can occur if you add an inferential decision table
to a sequential rule set or vice versa; or if you modify the processing mode of a
rule set or of a decision table within this rule set.

Action If the different processing mode is not intended, set the same processing mode
for the decision table and rule set.

Redundancies
The following table describes a redundancy warning.

Explanation A redundancy warning is reported if parts of one rule, or rules of one decision
table, or rules of several decision tables within one rule set are dispensable.

Example

80 Working with Business Rules in My webMethods 10.7


9 Rule Verification Overview

A redundancy warning is reported, because as in the first rule no value is specified


for the condition Country, any value applies to this rule. This makes the second
rule superfluous.

Action If the redundancy is not intended, delete the dispensable rules or parts of rules.

Missing Rules
The following table describes a missing rule warning.

Explanation A missing rule warning is reported if a probable combination of conditions is not


explicitly tested in a decision entity or a rule set.

Example

A missing rule warning is reported, because the condition combination


gender=female AND olderThan45=false is not explicitly tested.

Action If the missing rule is not intended, specify the missing combination(s) of
conditions.

Business Verification
The following table describes preconfigured verification services.

Explanation Verification results for preconfigured verification services, see “Working with a
Preconfigured Verification Service” on page 77.

Other
The following table describes other verification categories.

Explanation All warnings and errors that do not fit into the other categories.

Working with Business Rules in My webMethods 10.7 81


9 Rule Verification Overview

82 Working with Business Rules in My webMethods 10.7


10 Hot Deploying Rule Projects to Integration Server
■ Configuring an Integration Server Connection .............................................................. 84

■ Hot Deploying a Rule Project ......................................................................................... 85

Working with Business Rules in My webMethods 10.7 83


10 Hot Deploying Rule Projects to Integration Server

webMethods Rules Engine executes the rules that were created with the Rules Development feature
in Software AG Designer. Rules Engine exists on Integration Server as part of the WmBusinessRules
package.

You can deploy your modified rules to Integration Server, which is used as a target runtime
environment. There these rules can be accessed and used by multiple business processes. For more
information, see webMethods BPM Process Development Help.

The Business Rules User Interface in My webMethods supports the deployment of rule projects
to a single or multiple Integration Server(s) using the hot deploy command as described in “Hot
Deploying a Rule Project” on page 85.

Before you can hot deploy a rule project, you must be connected to Integration Server(s). To
configure an Integration Server connection, follow the instructions as described in “Configuring
an Integration Server Connection” on page 84.

Note:
You can also use Command Central to configure an Integration Server connection.

Configuring an Integration Server Connection


Before you can hot deploy a rule project, you must configure the Integration Server connection(s).

If you use a cluster or a non-clustered group of Integration Servers (Integration Servers that share
the same database components), you only need to configure the connection to one Integration
Server of the group.

To configure an Integration Server connection:

1. On the Navigate tab, click Administration > My webMethods > System Settings >
webMethods Business Rules Settings.

2. In the workspace area, click Add Integration Server.

3. Modify the Integration Server info as explained in the following table:

For this field You can do this

Logical Name Type an Integration Server name.

Host Type the Integration Server address.

Port Type the Integration Server port.

Username Type your Integration Server user name.

Password Type your Integration Server password.

Use SSL Select the check box if you want to use SSL for the Integration
Server connection.

84 Working with Business Rules in My webMethods 10.7


10 Hot Deploying Rule Projects to Integration Server

For this field You can do this

Note:
To use SSL, all target Integration Servers must be configured
to use SSL as their primary port. For more information on
primary ports, see webMethods Integration Server
Administrator’s Guide.

4. Click Save.

Hot Deploying a Rule Project


Once you have configured an Integration Server connection, you can hot deploy a rule project.

To hot deploy a rule project:

1. Open any decision entity that is part of the rule project as described in “Opening a Decision
Entity” on page 70.

2. Click in the upper right corner of the Decision Entity Editor window.

Note:
You cannot hot deploy a decision entity that contains unsaved changes or errors. In this case,
the Hot Deploy button is disabled.

3. In the Hot Deployment Confirmation dialog box, the Verify rule project check box is selected
by default, and all decision entities of the rule project are verified in all verification categories
before the rule project is deployed. If the rule project contains any errors, an error dialog box
informs you in which rule sets the errors occur. You must eliminate all errors before you can
hot deploy the rule project. To skip the long-running verification of gaps, overlaps, missing
rules, and redundancies, deselect the Verify rule project check box. This accelerates hot
deployment.

4. Click to deploy the decision entity and all other components of the rule project to the
Integration Server runtime.

The Hot Deployment Results dialog box lists the results of the operation. To see a detailed list of
successfully and unsuccessfully deployed rule projects, click See Details.

Working with Business Rules in My webMethods 10.7 85


10 Hot Deploying Rule Projects to Integration Server

86 Working with Business Rules in My webMethods 10.7


11 Hot Deploying and Merging Rule Projects with
webMethods Deployer
■ Configuring My webMethods Server ............................................................................. 88

Working with Business Rules in My webMethods 10.7 87


11 Hot Deploying and Merging Rule Projects with webMethods Deployer

You can deploy rule projects to a My webMethods Server repository with webMethods Deployer.
For detailed information about working with webMethods Deployer, see webMethods Deployer
User’s Guide.

To enable usage of webMethods Deployer, you must configure My webMethods Server as described
in “Configuring My webMethods Server” on page 88.

When deploying, you can merge the structure of a new rule project contained in the deployment
set with the data of an equally named rule project that already exists in the My webMethods Server
repository. Only decision tables can be merged. The merged rule project only contains the data of
the rule project that already exists in the My webMethods Server repository. Any data in the newly
deployed rule project is deleted.

Example
The following decision table exists in the My webMethods Server repository:

Figure 7. Existing Decision Table

A new version of the decision table is deployed to the My webMethods Server repository:

Figure 8. New Decision Table

The merged decision table consists of the new structure filled with the existing data:

Figure 9. Merged Decision Table

Configuring My webMethods Server


Before you can hot deploy and merge a rule project using webMethods Deployer, you must
configure the file system location used by webMethods Deployer for Business Rules asset
deployment.

88 Working with Business Rules in My webMethods 10.7


11 Hot Deploying and Merging Rule Projects with webMethods Deployer

To configure the file system location:

1. On your file system, open YourInstallationFolder\profiles\<MWS


profile>\configuration\custom_wrapper.conf.

2. Add the path to the file system location


wrapper.java.additional.110=-DBRMS_SPI2_PERSISTENCE_PATH=YourPath.

3. Save file.

4. Restart My webMethods Server.

Working with Business Rules in My webMethods 10.7 89


11 Hot Deploying and Merging Rule Projects with webMethods Deployer

90 Working with Business Rules in My webMethods 10.7


12 Working with Expressions
■ Adding an Expression .................................................................................................... 94

Working with Business Rules in My webMethods 10.7 91


12 Working with Expressions

An expression may contain function calls, literals, parameter references, mathematical operators
(+, -, *, /), groups of parentheses, or combinations of all of these. You can assign an expression to
a decision table condition, a decision table assignment result, a decision tree condition, a decision
tree assignment result, or an event rule assignment result. Any referenced data element in a
condition must exist and have a non-null value in order for the condition to be evaluated. To assign
the expression, you can use the operators = or != for conditions in decision tables and decision
trees and = for assignment results in decision tables, decision trees, and event rules. For expressions
returning numeric values, you can also use range operators.

Note:
If you use a boolean function in a condition that is not of data type boolean, the return value of
the function is not compared to the condition, but it is compared against the value True. You
cannot use a boolean function in a result that is not of data type boolean, as the return value of a
function that is used in a result must match the data type that was specified for the result.

The most powerful component of expressions are function calls. The Business Rules User Interface
in My webMethods provides a set of predefined functions that you can use within expressions to
perform simple or even complex functionality with a minimal amount of effort. A function call
can require arguments. These arguments can be manually entered literal values, they can be
mapped to existing parameter elements, they can be the return values of other function calls, or
they can be mathematical expressions involving parameter references and/or other function calls.

Five categories of functions exist:

Date Functions.

Conversion Functions.

List and Range Functions.

Math Functions.

String Functions.

Important:
Note that all functions are truncated in the Decision Entity Editor window. To view functions in
full length, on the Navigate tab, click Administration > My webMethods > System Settings >
webMethods Business Rules Settings. In DISPLAY OPTIONS, deselect Truncate functions.

For more information about the individual functions, see webMethods Business Rules Reference.

For detailed information about how to add expressions and specify their components, see “Adding
an Expression” on page 94.

Example of a Simple Function


As an example of a simple function, you can check if the input values for a Customer.city parameter
start with the string New.

startsWith("New")

92 Working with Business Rules in My webMethods 10.7


12 Working with Expressions

Example of a Chained Function


You can call multiple functions by chaining them. As an example of a chained function, you can
check if the trimmed input values for a Customer.city parameter end with the string York.

trim().endsWith("York")

Example of a Nested Function


You can nest functions. In this case, the return value of the inner function serves as input parameter
for the outer function. As an example of a nested function, you can check if the input values for a
Customer.city parameter contains the upper case value of an Order.city parameter.

Contains(%”Order,city”%.toUpper())

Example of a Mathematical Operation


You can perform mathematical operations on the return value of functions or parameter references.
As an example of a mathematical operation, you can compute the area of a rectangle:

%"Shapes_1.Rect_Height"% * %"Shapes_1.Rect_Width"%

Example of Parentheses Groups


You can nest sub-expressions in parentheses. As an example of an expression using parentheses,
you can compute the perimeter of a rectangle:

(2* %"Shapes_1.Rect_Height"%) + (2 * %"Shapes_1.Rect_Width"%)

Example of an Expression Using a Combination of Components


You can combine the different components of expressions. As an example of an expression using
combined components, you can compute the area of a circle rounded and turn the result into a
string:

round(pi() * pow((%"Shapes_1.Circle_Diameter"% / 2),2.0)).toString()

Syntax Overview
To make a reference to a parameter element, use %”fullyqualifiedparametername”%, for example
startsWith(%”customer.name”%).

To specify a date, use single quotes '2015/02/12 12:00 AM', for example diffInDays('2015/02/12
12:00 AM').

To specify a string array, use single curly braces {}, for example inList({"gold","silver"}).

To specify a string table, use double curly braces {{}}, for example
inRange({{"a","c"},{"f","h"}},null).

Working with Business Rules in My webMethods 10.7 93


12 Working with Expressions

To specify a date array, use single curly braces {} and a single quote, for example
inRange('2015/02/02 12:00 AM','2015/02/12 12:00 AM',{'2015/02/04 12:00 AM','2015/02/05
12:00 AM'}).

To specify a date table, use double curly braces {{}}, and use single quotes for values, for example
inRange({{'2015/02/03 12:00 AM','2015/02/06 12:00 AM'},{'2015/02/16 12:00 AM','2015/02/20
12:00 AM'}},null).

To specify a double table and double array, use single curly braces {} and double curly braces
{{}}, for example inRange({{10.0,40.0},{50.0,70.0}},{60.0,65.0}).

Example of specifying parameter references inside an array and table:


inRange({{10,%"datatypeTest_1.eInteger"%},{30,40}},{35,%"datatypeTest_1.eLong"%}).

Adding an Expression
You can assign an expression to a decision table condition, a decision table assignment result, a
decision tree condition, a decision tree assignment result, or an event rule assignment result.
Expressions are automatically verified as they are added. Problems appear in the Rule Project
Verification window in the Syntax category.

Note:
Escaping is supported. A typed in value such as \n is interpreted as a single new line character.

To add a function:

1. For decision tables, execute steps 1 to 4 as described in “Adding a Condition or Result Value
with the Editor” on page 34. For decision trees, execute steps 1 to 3 as described in “Modifying
Condition Links or Assignment Result Nodes with the Editor” on page 50. For event rules,
execute steps 1 to 4 as described in “Adding a Result Value with the Editor” on page 64.

2. In the [Value Type] Modification dialog box, select an operator as specified in “About Condition
Operators” on page 41 (for decision table conditions), “About Result Operators” on page 42
(for decision table assignment results), “About Condition Operators” on page 54 (for decision
tree conditions), “About Result Operators” on page 56 (for decision tree assignment results),
or “About Result Operators” on page 66 (for event rule assignment results).

3. Select the Expression tab. There are two sub-tabs for entering functions and parameters. To
filter the functions by the data type of their return values and source elements, select a data
type from the drop-down list in the Type select field. To filter the functions by filter text, enter
the filter text in the input field below the Type select field.

4. A function always operates on the parameter element that was specified for the condition or
result (default). You may specify a different source element for the function by selecting a
parameter element that is used within the decision entity or by selecting a function that returns
a value of a compatible data type. To specify a different parameter element as source element
for the function, click the Parameters tab, expand a parameter in the list, and select a parameter
element. Move the parameter element to the right by double-clicking it. Insert the period

94 Working with Business Rules in My webMethods 10.7


12 Working with Expressions

character as separator after the parameter element name. To select a function to be provided
as a source element to another function, see Step 7.

5. To select a function, do one of the following:

a. Double-click a function. If the function has input parameters, the Function Argument dialog
pops up. Specify the input parameters as described in Step 6, and click OK.

b. Enter the function manually in the Enter/edit expression field. Press CTRL+SPACE for
auto-complete.

6. To specify the input parameters of the function, do one of the following in the Function
Argument dialog:

a. Enter a literal value.

b. Select a parameter element from the list in the pop-up window that opens after you click
. The list contains input and/or input/output parameter references whose types are
compatible with the input parameter selected for the function. After you close the dialog
by clicking OK, the input parameter is inserted in the Enter/edit expression field, where
you can modify it. To add a parameter element, select the input parameter you want to
replace with the parameter element in the Enter/edit expression field, click the Parameters
tab, expand a parameter in the list, and double-click a parameter element. The list contains
all parameters and their elements that are used in the decision table or event rule regardless
of their data type. If the data type of the selected parameter element is not compatible with
the data type of the input parameter, an error is displayed.

c. Enter the input parameters manually in the Enter/edit expression field inside %” “%. Use
the syntax as described in “Working with Expressions” on page 91, Syntax Overview.

Note:
To specify an empty string as input parameter, enter "" in the Enter/edit expression field,
or select EMPTY STRING CONSTANT from the parameter picker in the Function Argument
dialog.

7. To chain functions, do one of the following:

a. Enter the period character after a function, press CTRL+SPACE. In the pop-up dialog,
double-click a second function.

b. Enter the period character, select the Functions tab, and double-click a function in the list.
In the Function Argument dialog, enter the input parameters and click OK. For more
information about nesting functions, see “Working with Expressions” on page 91.

8. To nest functions, enter a function instead of an input parameter in the Enter/edit expression
field. The return value of the inner function then serves as input parameter of the outer function.
For more information about nesting functions, see “Working with Expressions” on page 91.

Working with Business Rules in My webMethods 10.7 95


12 Working with Expressions

9. To perform mathematical operations on the return value of functions or parameter references,


place the cursor where you want the operator to be inserted, and type it in. The mathematical
operators +, -, * and / are supported. For more information about performing mathematical
operations, see “Working with Expressions” on page 91.

10. To nest sub-expressions in parentheses, place the cursor where you want the open parenthesis
to be inserted, and type it in. Do the same for the closed parenthesis. For more information
about nesting sub-expressions, see “Working with Expressions” on page 91.

11. Click OK.

96 Working with Business Rules in My webMethods 10.7


13 Using CSV Import
■ CSV Formatting .............................................................................................................. 99

■ Importing a CSV File .................................................................................................... 102

Working with Business Rules in My webMethods 10.7 97


13 Using CSV Import

You can prepare a CSV file with the rules you want to add to a decision table and then import this
CSV file to the Business Rules User Interface in My webMethods to fill an existing decision table.
The content in the CSV file does not override the content of the existing decision table but the
input from the CSV file is appended after the last rule of the decision table.

For instructions on how to import a CSV file, see “Importing a CSV File” on page 102.

Scope
The following limitations apply to the import of CSV files:

CSV import is only enabled for decision tables.

The CSV file can contain the following content:

Operators for condition columns (including range operators): =, !=, >=, <=, <, >, <...<=, <=...<,
<...<, <=...<=

Operators for assignment result columns: =

Literals

Principal definitions

Expressions

Constants, parameter elements, actions, and in effect dates must not be contained.

You can import values for the following column types:

Condition columns

Assignment result columns

Verification service columns

Data provider service columns

Values for action result columns cannot be imported.

Requirements
For a successful import, keep the following points in mind:

The CSV file must have the same number of columns as the decision table in My webMethods,
with exception of the In Effect column. The in effect date cannot be specified in the CSV file
but is set to Always as a default.

The column names in the header line of the CSV file do not have to match the column names
of the decision table in My webMethods. The columns of the CSV file are assigned from left
to right.

98 Working with Business Rules in My webMethods 10.7


13 Using CSV Import

Very large CSV files may result in an import error if they exceed the allowed HTTP request
size. By default, this is 20 MB on My webMethods Server. Should your CSV file be very large,
you can split up the data into two or more CSV files and import them one after the other.

The values in the CSV file must be formatted as described in “CSV Formatting” on page 99.

CSV Formatting
The following describes how data in the CSV file must be formatted.

For instructions on how to import a CSV file, see “Importing a CSV File” on page 102.

Separator
Use ; (semicolon) as separator.

Example: =North;=yes;=SupportTeam;>= 300;=GROUPS[ServiceCenterNorth]

Header Line
The first line of the CSV file must be a header line. The number of values in the header line must
match the number of columns in the target decision table, with exception of the In effect column.

Example: targetGroup;isVIP;team;score;assignee

for a decision table with 5 columns and 1 In effect column.

CSV Data Contains Separator


If a value in the CSV file contains the separator character ; (semicolon), the whole value must be
wrapped in double quotes "".

Example: = North;East must be written as "= North;East".

CSV Data Contains Double Quotes


If a value in the CSV file contains a double quote, the whole value must be wrapped in double
quotes "", and a double quote " must be prepended to each double quote in the value.

Note:
Excel does this automatically when saving as CSV.

Example: != Team "VipCustomers" North must be written as

"!= Team ""VipCustomers"" North".

CSV Data Contains Line Break


If a value in the CSV file contains a line break, the whole value must be wrapped in double quotes
"".

Working with Business Rules in My webMethods 10.7 99


13 Using CSV Import

Example:

= North
East

must be written as

"= North
East".

Whitespace
Whitespace before or after a CSV value will be trimmed during import.

Example: ;>= 5;, ; >=5;, or ;>=5 ;

will all be imported as operator >= and literal 5.

Ranges
Write ranges with upper and lower bounds as follows:

<...<=

<=...<

<...<

<=...<=

Example: 10 <...<= 20 specifies a range where the value is greater than 10 and less than or equal
to 20.

Decimal Separator
Use . (dot) as decimal separator.

Example: > 3.141592

UTF-8 Characters
Values containing UTF-8 characters can be imported without any special considerations.

Example: = @

Date Columns
If the target decision table contains a column of data type Date, the corresponding value in the
header line must contain the date pattern and timezone information. For more information about
time formats, see the Java documentation for SimpleDateFormat.

Example:

100 Working with Business Rules in My webMethods 10.7


13 Using CSV Import

targetGroup;isVIP;team;incidentSubmission[dd/MM/yyyy
HH:mm:ss|Europe/Berlin];score;assignee

(values for header line)

=North;=yes;=SupportTeam;>=31/10/2019 18:00:00;>= 300;= GROUPS[ServiceCenterNorth]

(values for rule)

Expressions
If you import an expression into a decision table, the expression must be wrapped in FUNC[].

Example: = isLeapYear(2015) must be written as = FUNC[isLeapYear(2015)].

If an expression contains

a double quote, the whole value must be wrapped in double quotes "", and a double quote "
must be prepended to each double quote in the value.

a semicolon, the whole value must be wrapped in double quotes "".

a line break, the whole value must be wrapped in double quotes "".

Note:
Excel does this automatically when saving as CSV.

Example: For example, an expression containing a double quote and a semicolon,

e.g. = inList({"North;East", "APAC", "East"})

must be written as

"=FUNC[inList({""North;East"", ""APAC"", ""East""})]".

Principals
If the target decision table contains a column which was annotated as principal, you can specify
any combination of users, groups, and roles. The CSV value must be formatted as follows:

= USERS[userId1] GROUPS[groupId1] ROLES[roleId1]

If more than one user, group, or role is specified, they must be separated by a comma:

=USERS[userId1,userId2] GROUPS[groupId1,groupId2] ROLES[roleId1,roleId2]

Principals from a directory service such as LDAP must follow their backend-specific notation (e.g.,
cn=James,ou=marketing,o=ABC). For more information, see Administering My webMethods Server,
Managing External Directory Services.

If a user ID itself contains a comma, the comma must be escaped by a backslash \.

Example: = USERS[cn=James\,ou=marketing\,o=ABC],

= USERS[userId1,cn=James\,ou=marketing\,o=ABC]

Working with Business Rules in My webMethods 10.7 101


13 Using CSV Import

If a user ID itself contains a semicolon or double quote, the whole value must be wrapped in double
quotes "", and a double quote " must be prepended to each double quote in the value.

Example: = "USERS[Tom ""T"" Miller,cn=James;Smith\,ou=marketing\,o=ABC]"

Example of a CSV File


The following is an example of a CSV file to be imported into a decision table that contains 5
columns and 1 In effect column:

targetGroup;isVIP;team;score;assignee
= North;= no;=SupportTeamVIP;> 0.50;=GROUPS[082358North]
= East;= no;=SupportTeamVIP;> 0.50;=GROUPS[082379East]
= East;= yes;=SupportTeamVIP;> 0.70;=USERS[Supervisor]

Importing a CSV File


You can add values to an existing decision table by importing a CSV file.

For more information on scope and requirements, see “Using CSV Import” on page 97.

For more information on formatting and examples, see “CSV Formatting” on page 99.

To import a CSV file:

1. Open the decision table as described in “Opening a Decision Entity” on page 70.

2. Lock the decision table as described in “Locking a Decision Entity” on page 70.

3. In the toolbar, click Import CSV.

4. In the file picker, select the CSV file on your harddrive.

The file is imported and validated. If an error occurs, an error message is shown. Click Show
details to see the error details. Click Copy to clipboard to save the error details to your
clipboard.

5. Click in the upper right corner of the Decision Entity Editor window to save your
changes to the decision table.

102 Working with Business Rules in My webMethods 10.7

You might also like