Collecting stuff from several matches into a single Collector fact is best done<br>by letting matches occur with rules at salience N. Then, put a single rule<br>matching the Collector, without any constraints, at salience < N.<br>
This matches any Collector fact, and, in the consequence you should<br>remove this fact, which has done its duty. To distinguish (as in your case)<br>the successful case (one match) from others, you might just use an if<br>
statement in the consequence. (Well, yes, this isn't quite comme-il-faut,<br>but it'll get the job done.) So, don't bother with updates on the Collector fact.<br><br>As for the frequently used && to connect the constraints, it is preferred<br>
to use individual constraint groups, separated by a comma, for matches<br>with different fact attributes. Constraint groups can be shared among<br>rules (in the Rete node network) which is the essence of Rete being<br>fast enough to cope with the many-many pattern matching effort.<br>
<br>-W<br> <br><br><div class="gmail_quote">2009/9/28 Costigliola Joel (EXT) <span dir="ltr"><<a href="mailto:joel.costigliola-ext@natixis.com">joel.costigliola-ext@natixis.com</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div link="blue" vlink="purple" lang="FR">
<div>
<div>
<div>
<p><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB">Hello,</span></font></p>
<p><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB"> </span></font></p>
<p><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB">Me again and no it is not spamming, and I’m still
drools newbie ;-)</span></font></p>
<p><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB"> </span></font></p>
<p><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB">I was facing a problem of infinite loop with one of
my rule, I have solved it but I’m wondering if my solution is not too
costful on a performance point of view.</span></font></p>
<p><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB">So my question is really on the most efficient way
of solving the infinite loop problem I’m gonna expose you right now.</span></font></p>
<p><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB"> </span></font></p>
<p><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB">First of all, a few words the problem I want to
solve with Drools :</span></font></p>
<p><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB">My company is a bank where traders are making deals
on markets, these deals must be classified in book, this is what we call
“booking process”.</span></font></p>
<p><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB">Booking is done according to booking criteria :
which trader has made the deal ? on which product ? etc … </span></font></p>
<p><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB">A booking rule defines a set of criteria and the
target book where the deal will classified. </span></font></p>
<p><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB"> </span></font></p>
<p><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB">The guilty rule’s job was to fill </span></font><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB">DealMatchingBookingRules</span></font><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB">
with the booking rules applicable on a deal, (</span></font><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB">DealMatchingBookingRules</span></font><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB">
references a unique deal). </span></font></p>
<p><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB">I have put below a corrected version by commenting
the update</span></font><font size="2" color="olive" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: olive;" lang="EN-GB">(</span></font><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB">$dealMatchingBookingRules</span></font><font size="2" color="olive" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: olive;" lang="EN-GB">)</span></font><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB"> instruction
of the RHS.</span></font></p>
<p><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB"> </span></font></p>
<p><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB">With update uncommented, the problem occurred when
2 booking rule were matching the same deal in here’s my understanding of
the problem </span></font></p>
<p><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB">Facts inserted in the session : </span></font></p>
<p style="margin-left: 36pt;"><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB"><span>-<font size="1" face="Times New Roman"><span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">
</span></font></span></span></font><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB">dmbr1 (instance of DealMatchingBookingRule)
referencing a deal</span></font></p>
<p style="margin-left: 36pt;"><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB"><span>-<font size="1" face="Times New Roman"><span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">
</span></font></span></span></font><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB">br1 and br2 matching
the deal referenced in dmr1</span></font></p>
<p><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB">Results : </span></font></p>
<ol style="margin-top: 0cm;" start="1" type="1">
<li><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB">rule is activated with
(dmbr1, br1), dmbr1 is updated</span></font></li>
<li><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB">rule is activated with
(dmbr1, br2), dmbr1 is updated - (dmbr1, br1) does not activate the rule
because of no-loop rule attribute</span></font></li>
<li><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB">rule is activated AGAIN
with (dmbr1, br1), dmbr1 is updated : back to step 1</span></font></li>
<li><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB">rule is activated AGAIN
with (dmbr1, br2), dmbr1 is updated : back to step 2</span></font></li>
<li><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB">infinite loop on
step1 & step 2</span></font></li>
</ol>
<p><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB"> </span></font></p>
<p><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB">I have fixed the problem by removing the call to
update, but for the next steps of my process (not shown here) Drools need to aware
of the modified </span></font><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB">DealMatchingBookingRules.
</span></font><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB">I thus have written a rule which only update all DealMatchingBookingRules.</span></font></p>
<p><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB"> </span></font></p>
<p><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB">Is there a better way to solve this infinite loop ?</span></font></p>
<p><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB">Feel free to make comments, I’m really open
to any suggestion/enhancement. </span></font></p>
<p><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB"> </span></font></p>
<p><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB">Regards,</span></font></p>
<p><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB"> </span></font></p>
<p><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;">Joël Costigliola</span></font></p>
<p><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB"> </span></font></p>
<p><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB"> </span></font></p>
<p><b><font size="2" color="#960000" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(150, 0, 0); font-weight: bold;" lang="EN-GB">rule</span></font></b><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB"> </span></font><font size="2" color="green" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: green;" lang="EN-GB">"Find
matching level 1 booking rules by deal"</span></font><font size="2" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-GB"></span></font></p>
<p><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB">
</span></font><b><font size="2" color="#960000" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(150, 0, 0); font-weight: bold;" lang="EN-GB">salience</span></font></b><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB"> 10</span></font><font size="2" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-GB"></span></font></p>
<p><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB">
</span></font><b><font size="2" color="#960000" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(150, 0, 0); font-weight: bold;" lang="EN-GB">no-loop</span></font></b><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB"> </span></font><font size="2" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-GB"></span></font></p>
<p><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB">
</span></font><b><font size="2" color="#960000" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(150, 0, 0); font-weight: bold;" lang="EN-GB">ruleflow-group</span></font></b><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB"> </span></font><font size="2" color="green" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: green;" lang="EN-GB">"Find
level 1 matching booking rules by deal group"</span></font><font size="2" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-GB"></span></font></p>
<p><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB">
</span></font><font size="2" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-GB"></span></font></p>
<p><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB">
</span></font><b><font size="2" color="#960000" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(150, 0, 0); font-weight: bold;" lang="EN-GB">when</span></font></b><font size="2" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-GB"></span></font></p>
<p><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB">
$dealMatchingBookingRules : DealMatchingBookingRules($dealModel : deal,
$dealProductRelatedIndexes : dealProductRelatedIndexes)</span></font><font size="2" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-GB"></span></font></p>
<p><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB">
$bookingRule : BTExecutionBookingRuleModel (</span></font><font size="2" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-GB"></span></font></p>
<p><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB">
priority == 1</span></font><font size="2" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-GB"></span></font></p>
<p><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB">
</span></font><font size="2" color="olive" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: olive;" lang="EN-GB">// when a
criterion is not set, it is considered as satisfied. </span></font><font size="2" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-GB"></span></font></p>
<p><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB">
&& (traderCriterion == </span></font><b><font size="2" color="#960000" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(150, 0, 0); font-weight: bold;" lang="EN-GB">null</span></font></b><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB"> || $dealModel.trader == traderCriterion)</span></font><font size="2" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-GB"></span></font></p>
<p><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB">
&& (portfolioCriterion == </span></font><b><font size="2" color="#960000" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(150, 0, 0); font-weight: bold;" lang="EN-GB">null</span></font></b><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB"> || $dealModel.portfolio == portfolioCriterion)</span></font><font size="2" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-GB"></span></font></p>
<p><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB">
</span></font><font size="2" color="olive" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: olive;" lang="EN-GB">// when a
product type criterion is set to unknown, it is considered as satisfied
whatever deal product type is. </span></font><font size="2" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-GB"></span></font></p>
<p><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB">
&& (productTypeStringCriterion == </span></font><b><font size="2" color="#960000" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(150, 0, 0); font-weight: bold;" lang="EN-GB">null</span></font></b><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB"> || productTypeCriterion ==
ProductType.Unknown </span></font><font size="2" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-GB"></span></font></p>
<p><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB">
|| $dealModel.product.productType == productTypeCriterion) </span></font><font size="2" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-GB"></span></font></p>
<p><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB">
&& (listedIndexCriterion == </span></font><b><font size="2" color="#960000" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(150, 0, 0); font-weight: bold;" lang="EN-GB">null</span></font></b><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB"> || $dealProductRelatedIndexes.relatedIndexes
</span></font><b><font size="2" color="#960000" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(150, 0, 0); font-weight: bold;" lang="EN-GB">contains</span></font></b><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB"> listedIndexCriterion)</span></font><font size="2" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-GB"></span></font></p>
<p><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB">
)</span></font><font size="2" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-GB"></span></font></p>
<p><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB">
</span></font><b><font size="2" color="#960000" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(150, 0, 0); font-weight: bold;" lang="EN-GB">then</span></font></b><font size="2" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-GB"></span></font></p>
<p><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB">
$dealMatchingBookingRules.addMatchingBookingRule($bookingRule);</span></font></p>
<p><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB"> </span></font><font size="2" color="olive" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: olive;" lang="EN-GB">// update(</span></font><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB">$dealMatchingBookingRules</span></font><font size="2" color="olive" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: olive;" lang="EN-GB">) : COMMENTED BECAUSE WAS CAUSING
INFINITE LOOP !</span></font><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB"> </span></font><font size="2" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-GB"></span></font></p>
<p><b><font size="2" color="#960000" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(150, 0, 0); font-weight: bold;" lang="EN-GB">end</span></font></b><font size="2" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-GB"></span></font></p>
<p><font size="2" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-GB"> </span></font></p>
<p><font size="2" color="olive" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: olive;" lang="EN-GB">// Does
the job of update(</span></font><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB">$dealMatchingBookingRules</span></font><font size="2" color="olive" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: olive;" lang="EN-GB">) but without INFINITE LOOP.</span></font><font size="2" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-GB"></span></font></p>
<p><b><font size="2" color="#960000" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(150, 0, 0); font-weight: bold;" lang="EN-GB">rule</span></font></b><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB"> </span></font><font size="2" color="green" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: green;" lang="EN-GB">"Refresh
facts in level 1 booking rule process"</span></font><font size="2" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-GB"></span></font></p>
<p><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB">
</span></font><b><font size="2" color="#960000" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(150, 0, 0); font-weight: bold;" lang="EN-GB">salience</span></font></b><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB"> 5</span></font><font size="2" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-GB"></span></font></p>
<p><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB">
</span></font><b><font size="2" color="#960000" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(150, 0, 0); font-weight: bold;" lang="EN-GB">no-loop</span></font></b><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB"> </span></font><font size="2" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-GB"></span></font></p>
<p><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB">
</span></font><b><font size="2" color="#960000" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(150, 0, 0); font-weight: bold;" lang="EN-GB">ruleflow-group</span></font></b><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB"> </span></font><font size="2" color="green" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: green;" lang="EN-GB">"Refresh
facts in level 1 booking rule process group"</span></font><font size="2" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-GB"></span></font></p>
<p><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB">
</span></font><font size="2" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-GB"></span></font></p>
<p><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB">
</span></font><b><font size="2" color="#960000" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(150, 0, 0); font-weight: bold;" lang="EN-GB">when</span></font></b><font size="2" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-GB"></span></font></p>
<p><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB">
$dealMatchingBookingRules : DealMatchingBookingRules()</span></font><font size="2" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-GB"></span></font></p>
<p><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB">
</span></font><b><font size="2" color="#960000" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(150, 0, 0); font-weight: bold;" lang="EN-GB">then</span></font></b><font size="2" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-GB"></span></font></p>
<p><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB">
</span></font><b><font size="2" color="#960000" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(150, 0, 0); font-weight: bold;" lang="EN-GB">update</span></font></b><font size="2" color="black" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: black;" lang="EN-GB">($dealMatchingBookingRules);</span></font><font size="2" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-GB"></span></font></p>
<p><b><font size="2" color="#960000" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(150, 0, 0); font-weight: bold;" lang="EN-GB">end</span></font></b><font size="2" face="Courier New"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-GB"></span></font></p>
<p><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB"> </span></font></p>
<p><font size="2" face="Verdana"><span style="font-size: 10pt; font-family: Verdana;" lang="EN-GB"> </span></font></p>
<p><font size="3" face="Times New Roman"><span style="font-size: 12pt;"> </span></font></p>
</div>
</div>
<div>
</div>
<div>
<hr>
</div>
<div align="justify">
<font size="1" color="gray" face="Arial"><span style="font-size: 12pt;"><font face="Arial">
<font size="3" color="#000000" face="Times New Roman">
</font>
</font></span></font> </div>
<div align="justify">
<font color="gray"><span style="font-size: 12pt;"><font size="2" color="#000000">Ce courriel et toutes les pièces jointes sont confidentiels et peuvent être couverts par un privilège ou une protection légale. Il est établi à l’attention exclusive de ses destinataires. Toute utilisation de ce courriel non conforme à sa destination, toute diffusion ou toute publication, totale ou partielle, est interdite, sauf autorisation expresse préalable. Toutes opinions exprimées dans ce courriel ne sauraient nécessairement refléter celle de Natixis, de ses filiales. Elles sont aussi susceptibles de modification sans notification préalable. Si vous recevez ce courriel par erreur, merci de le détruire et d’en avertir immédiatement l’expéditeur. L’Internet ne permettant pas d’assurer l’intégrité de ce courriel, Natixis décline toute responsabilité s’il a été altéré, déformé ou falsifié et chaque destinataire qui utilise ce mode de communication est supposé en accepter les risques.</font></span></font>
</div>
<div align="justify">
<font color="gray"><span style="font-size: 12pt;"></span></font> </div>
<div align="justify">
<font color="gray"><span style="font-size: 12pt;"></span></font>
<font color="gray"><span style="font-size: 12pt;"><font size="2" color="#000000">This email and any attachment are confidential and may be legally privileged or otherwise protected from disclosure. It is intended only for the stated addressee(s) and access to it by any other person(s) is unauthorised. Any use, dissemination or disclosure not in accordance with its purpose, either in whole or in part, is prohibited without our prior formal approval. Any opinion expressed in this email may not necessarily reflect the opinion of Natixis, its affiliates. It may also be subject to change without prior notice. If you are not an addressee, you must not disclose, copy, circulate or in any other way use or rely on the information contained in this email. If you have received it in error, please inform us immediately and delete all copies. The Internet can not guarantee the integrity of this email therefore Natixis shall not be liable for the email if altered, changed or falsified and anyone who communicates with us by e-mail is taken to accept these risks.</font></span></font>
</div>
<p align="justify">
</p><hr>
<p>
</p>
<p>
</p>
</div></div>
                                        <br>_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
<br></blockquote></div><br>