I want to build a excel decision table to implement the logic described as
the following drl script:

======

global pricebook.PricingResult result;

rule "pricing"
when
    $so : SalesOrder( customer.name=="customer1", from == "location1", to
=="location2")
    *$sol : SalesOrderLine($sol.count >= 0, $sol.count < 100) from $so.lines
*
then
        result.setPricingMode("A");
        result.setUnitPrice(300.0f);
end
======

The java model for the script above is something like this:

======
class SalesOrder{
    ...
    List<SalesOrderLine> lines;
    ...
}
======

In the excel decision table, I defined variables with the following text in
excel cells:
======
$so : SalesOrder
*$sol : SalesOrderLine ( ) from so.lines*
...
======

The CONDITION column is defined as :* $sol.count >= $1, $sol.count < $2*


The decision table is translated into the following drl script:

global pricebook.PricingResult result;

rule "pricing"
when
    $so : SalesOrder( customer.name=="customer1", from == "location1", to
=="location2")
   * $sol : SalesOrderLine from $so.lines($sol.count >= 0, $sol.count < 100)
*
then
        result.setPricingMode("A");
        result.setUnitPrice(300.0f);
end

We can see that* "$soi : SalesOrderLine ( ) from so.lines"* in the excel
decision table is translated into* "$sol : SalesOrderLine from
$so.lines($sol.count >= 0, $sol.count < 100)" * instead of *"$sol :
SalesOrderLine($sol.count >= 0, $sol.count < 100) from $so.lines"*, which
causes an error.

My question is, how to write the variable definition of SalesOrderLine in
excel so that drools can translate it into something like "$sol :
SalesOrderLine($sol.count >= 0, $sol.count < 100) from $so.lines " ?

Any ideas?

Thanks in advance...
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to