Invocation

Boxed Invocation

The Invocation button on the Decision Logic Subribbon creates a boxed invocation, signifying invocation of a user-defined function in the form of a BKM or decision service.

invocation 1

Below the invoking decision name is the name of the invoked BKM or decision service. If the BKM or decision service is linked to the invoking decision by a knowledge requirement, this name will be populated automatically.

invocation 2

Below that are listed the names of the parameters of the BKM or decision service, and next to each name its value expression. Normally the value expression is a literal expression, but it could in fact be any boxed expression type. As always, the value expression may reference only valid names in scope, i.e. the information requirements. At execution time, the value expressions of each parameter are evaluated and those values, called arguments, are passed to the invoked BKM or decision service, which returns its output value to the invoking decision.

With boxed invocation, the parameters are referenced by name. The order in which they appear in the boxed expression does not matter.

Literal Invocation

A BKM or decision service also could be invoked using a literal expression, called literal invocation. In literal invocation, arguments are passed not by name but by the original parameter order in the BKM or decision service definition, as a comma-separated list of expressions enclosed in parentheses immediately following the function name. For example, the literal invocation equivalent to the boxed invocation above would be

Affordability calculation(5000, 1200, 2000, "Medium")

Only the arguments - the parameter values, not their names - are used in literal invocation, and they must be listed in the same order as in the BKM definition.