Rules-Driven Method Invocation (RDMI)

Previous Next

Rules-Driven Method Invocation adds interoperability to the Rules Engine by enabling method calls to programmed components. This way, the Rules Engine can be made to perform complex calculations that cannot be done in SQL, or to use external data sources for validations.

You call RDMI components by using the INVOKE keyword. INVOKE is a USoft-specific extension to the industry-standard core SQL constructs that USoft otherwise uses to specify Rules Engine behaviour.

This help topic introduces the basic constructs. For details on using INVOKE, go to Invoking Components from a USoft Application.

The syntax of the INVOKE statement is:

INVOKE component.method 

WITH

SELECT     ...

FROM       ...

WHERE      ...

 

In this construct, the SELECT output list is required. The FROM and WHERE clauses are optional.

As you can see, this allows interoperability between SELECT and INVOKE. The outcome of the SELECT query is passed as the input for INVOKE:

If a FROM clause is specified, the component is called as many times as there are rows in the result of the SELECT query: 0, 1 or more times.

If no FROM clause is specified, the component is called 1 time, and is passed the values in the SELECT list.

An alternative for the INVOKE call without FROM is so-called function call Syntax

SELECT component.method(

         value(s)

)

 

Function call syntax may also be used in other places than in the SELECT output list, for example:

SELECT   ...

FROM     ...

WHERE    column = component.method( value(s) )

 

See Also

Invoking Components from a USoft Application

Possible USoft Contexts for INVOKE