<br>&nbsp;&nbsp; Sergey,<br><br>&nbsp;&nbsp; I don&#39;t think you will get the behavior you described, out of the box. What you can do, is delegate to the engine the actual update work.<br><br>rule &quot;on updated cost write to archive old value&quot;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;when<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $cost : Cost( $oldAmount : amount )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $event : CostUpdateEvent( $newAmount : amount, object == $cost )&nbsp;  <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;then<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //... write to archive $oldAmount
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $cost.setAmount( $newAmount );<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; update( $cost );<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; retract( $event );<br>end<br><br>&nbsp;&nbsp; Right now, shadow facts don&#39;t expose it&#39;s cache for use in rules in a safe way. So, I believe something like the above is the best approach.
<br><br>&nbsp;&nbsp;&nbsp; []s<br>&nbsp;&nbsp;&nbsp; Edson<br><br><div><span class="gmail_quote">2007/8/2, Manukyan, Sergey &lt;<a href="mailto:SManukyan@lear.com">SManukyan@lear.com</a>&gt;:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>Folks,<br><br>I need a rule that will track changes to cost amount and do something<br>with his old value.<br><br>Like that :<br><br>rule &quot;on updated cost write to archive old value&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;when<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cost : Cost()
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;old_cost : Cost(amount != cost.amount)&nbsp;&nbsp;// how can I<br>specify the OLD cost object before it was updated???<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;then<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;... write to archive $old_cost.amount<br>end<br><br><br>Is it possible at all?
<br><br>Something like in database system triggers, when you have &quot;on update&quot;<br>and then you have OLD value and NEW values available...?<br><br>Thanks a lot!<br><br>-Sergey<br><br><br><br>**********************
<br>** LEGAL DISCLAIMER **<br>**********************<br><br>This E-mail message and any attachments may contain<br>legally privileged, confidential or proprietary<br>information. If you are not the intended recipient(s),<br>
or the employee or agent responsible for delivery of<br>this message to the intended recipient(s), you are<br>hereby notified that any dissemination, distribution<br>or copying of this E-mail message is strictly<br>prohibited. If you have received this message in
<br>error, please immediately notify the sender and<br>delete this E-mail message from your computer.<br><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">https://lists.jboss.org/mailman/listinfo/rules-users</a><br></blockquote></div><br><br clear="all"><br>-- <br>&nbsp;&nbsp;Edson Tirelli
<br>&nbsp;&nbsp;Software Engineer - JBoss Rules Core Developer<br>&nbsp;&nbsp;Office: +55 11 3529-6000<br>&nbsp;&nbsp;Mobile: +55 11 9287-5646<br>&nbsp;&nbsp;JBoss, a division of Red Hat @ <a href="http://www.jboss.com">www.jboss.com</a>