<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
</style>
</head>
<body class='hmmessage'>
I'm really not on form today the real data does have negatives and thus my example should have been as follows<br><br> Account :<br>&nbsp;&nbsp; accountBalanceInPence : 70000<br>&nbsp;&nbsp; transactions :<br>&nbsp;&nbsp;&nbsp;&nbsp; - transactionDate : 2009/07/10<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; amountInPence : 50000<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; transactionCode : charge<br>&nbsp;&nbsp;&nbsp;&nbsp; - transactionDate : 2009/07/12<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; amountInPence : -45000<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; transactionCode : Type 1<br><br>and<br><br>Account :<br>&nbsp;&nbsp; accountBalanceInPence : 70000<br>&nbsp;&nbsp; transactions :<br>&nbsp;&nbsp;&nbsp;&nbsp; - transactionDate : 2009/07/10<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; amountInPence : 50000<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; transactionCode : charge<br>&nbsp;&nbsp;&nbsp;&nbsp; - transactionDate : 2009/07/12<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; amountInPence : -45000<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; transactionCode : Type 1<br>&nbsp;&nbsp;&nbsp;&nbsp; - transactionDate : 2009/07/13<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; amountInPence : -5000<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; transactionCode : Type 2<br><br>&gt; Date: Tue, 14 Jul 2009 17:05:21 +0200<br>&gt; Subject: Re: [rules-users] Comparing multiple accumulations<br>&gt; From: wolfgang.laun@gmail.com<br>&gt; To: rules-users@lists.jboss.org<br>&gt; <br>&gt; The second accumulate has "amountInPence &lt; 0" but the values in your<br>&gt; data are all positive. Therefore,...<br>&gt; -W<br>&gt; <br>&gt; 2009/7/14 Richard Sherman &lt;rsherman315@hotmail.com&gt;:<br>&gt; &gt; Thanks Wolfgang,<br>&gt; &gt;<br>&gt; &gt; Here's the extra information as requested.<br>&gt; &gt; Firstly the When creating the email I was removing all references to rent<br>&gt; &gt; and missed one hence RentTransaction should read Transaction. I've also<br>&gt; &gt; noticed that the sum($value) in the third accumulation should read<br>&gt; &gt; sum(-$value).<br>&gt; &gt;<br>&gt; &gt; Below is a typical set of Transactions that should cause a message to occur.<br>&gt; &gt;<br>&gt; &gt; Account :<br>&gt; &gt; &nbsp; accountBalanceInPence : 70000<br>&gt; &gt; &nbsp; transactions :<br>&gt; &gt; &nbsp;&nbsp;&nbsp; - transactionDate : 2009/07/10<br>&gt; &gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; amountInPence : 50000<br>&gt; &gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; transactionCode : charge<br>&gt; &gt; &nbsp;&nbsp;&nbsp; - transactionDate : 2009/07/12<br>&gt; &gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; amountInPence : 45000<br>&gt; &gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; transactionCode : Type 1<br>&gt; &gt;<br>&gt; &gt; Below is a similar set of Transactions that shouldn't cause a message to<br>&gt; &gt; occur.<br>&gt; &gt;<br>&gt; &gt; Account :<br>&gt; &gt; &nbsp; accountBalanceInPence : 70000<br>&gt; &gt; &nbsp; transactions :<br>&gt; &gt; &nbsp;&nbsp;&nbsp; - transactionDate : 2009/07/10<br>&gt; &gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; amountInPence : 50000<br>&gt; &gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; transactionCode : charge<br>&gt; &gt; &nbsp;&nbsp;&nbsp; - transactionDate : 2009/07/12<br>&gt; &gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; amountInPence : 45000<br>&gt; &gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; transactionCode : Type 1<br>&gt; &gt; &nbsp;&nbsp;&nbsp; - transactionDate : 2009/07/13<br>&gt; &gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; amountInPence : 5000<br>&gt; &gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; transactionCode : Type 2<br>&gt; &gt;<br>&gt; &gt; Thanks<br>&gt; &gt; Richard<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;&gt;From: wolfgang.laun@gmail.com<br>&gt; &gt;&gt;To: rules-users@lists.jboss.org<br>&gt; &gt;&gt;Date: Tue, 14 Jul 2009 12:43:40 +0200<br>&gt; &gt;&gt;Subject: Re: [rules-users] Comparing multiple accumulations<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;You'll have to provide one full set of $acc.transaction values<br>&gt; &gt;&gt;(indicating class and relevant field values) where you think the rule<br>&gt; &gt;&gt;should fire, but doesnt, for people to be able to check what's going<br>&gt; &gt;&gt;on.<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;Also, it is necessary to know how the types of Account.transactions<br>&gt; &gt;&gt;(List&lt;???&gt;), Transaction and RentTransaction are related.<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;-W<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;On 7/14/09, Richard Sherman &lt;rsherman315@hotmail.com&gt; wrote:<br>&gt; &gt;&gt;&gt; First I'm new to drools and secondly where I'm working we're using<br>&gt; &gt;&gt;&gt; version<br>&gt; &gt;&gt;&gt; 4.0.7.<br>&gt; &gt;&gt;&gt;<br>&gt; &gt;&gt;&gt; I have a list of accounts and each account contains a list of<br>&gt; &gt;&gt;&gt; transactions.<br>&gt; &gt;&gt;&gt; I wish to accumulate charge transactions and compare them to an<br>&gt; &gt;&gt;&gt; accumulation<br>&gt; &gt;&gt;&gt; of payment transactions for a given time period (such as the last month).<br>&gt; &gt;&gt;&gt; And it gets slightly more awkward in that if a payment transaction is of<br>&gt; &gt;&gt;&gt; a<br>&gt; &gt;&gt;&gt; certain type it needs to be converted from a 4 weekly figure to a monthly<br>&gt; &gt;&gt;&gt; figure ( using / 4 / 7 * 365 / 12). I've tried to use structures as<br>&gt; &gt;&gt;&gt; follows<br>&gt; &gt;&gt;&gt; but they are causing the then part of the rule never to fire.<br>&gt; &gt;&gt;&gt;<br>&gt; &gt;&gt;&gt; rule "Account in arrears"<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; salience 10<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; no-loop<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; when<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $acc : Account( // balance between £500 and £1000<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; accountBalanceInPence &gt;=&nbsp; 50000 &amp;&amp;<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; accountBalanceInPence &lt;= 100000<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br>&gt; &gt;&gt;&gt;<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $s&nbsp; : MessageInfo( accountNumber == $acc.accountNumber )<br>&gt; &gt;&gt;&gt;<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Number($charges : intValue) from<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; accumulate(<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (Transaction(<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; transactionDate &gt; oneMonthAgo &amp;&amp;<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; amountInPence &gt; 0 &amp;&amp;<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $value : amountInPence)<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from $acc.transactions),<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sum($value)<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br>&gt; &gt;&gt;&gt;<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Number($adjustment : intValue) from<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; accumulate(<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (Transaction(<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; transactionDate &gt; oneMonthAgo &amp;&amp;<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; amountInPence &lt; 0 &amp;&amp;<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; transactionCode == "Type 1" &amp;&amp;<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $value : amountInPence)<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from $acc.transactions),<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sum(($value / 4 / 7 * 365 / 12) - $value)<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br>&gt; &gt;&gt;&gt;<br>&gt; &gt;&gt;&gt;<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Number( intValue &gt; ($charges + $adjustment)) from<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; accumulate(<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (RentTransaction<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (transactionDate &gt; oneMonthAgo<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $value : amountInPence)<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from $acc.transactions),<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sum($value)<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br>&gt; &gt;&gt;&gt;<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; then<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $s.setMessage( "Account in arrears" );<br>&gt; &gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; update($s); // flag update<br>&gt; &gt;&gt;&gt; end<br>&gt; &gt;&gt;&gt;<br>&gt; &gt;&gt;&gt; Thanks<br>&gt; &gt;&gt;&gt; Richard<br>&gt; &gt;&gt;&gt;<br>&gt; &gt;&gt;&gt; ________________________________<br>&gt; &gt;&gt;&gt; Beyond Hotmail - see what else you can do with Windows Live. Find out<br>&gt; &gt;&gt;&gt; more.<br>&gt; &gt;&gt;&gt; _______________________________________________<br>&gt; &gt;&gt;&gt; rules-users mailing list<br>&gt; &gt;&gt;&gt; rules-users@lists.jboss.org<br>&gt; &gt;&gt;&gt; https://lists.jboss.org/mailman/listinfo/rules-users<br>&gt; &gt; ________________________________<br>&gt; &gt; View your Twitter and Flickr updates from one place – Learn more!<br>&gt; &gt; _______________________________________________<br>&gt; &gt; rules-users mailing list<br>&gt; &gt; rules-users@lists.jboss.org<br>&gt; &gt; https://lists.jboss.org/mailman/listinfo/rules-users<br>&gt; &gt;<br>&gt; &gt;<br>&gt; <br>&gt; _______________________________________________<br>&gt; rules-users mailing list<br>&gt; rules-users@lists.jboss.org<br>&gt; https://lists.jboss.org/mailman/listinfo/rules-users<br><br /><hr />View your Twitter and Flickr updates from one place – <a href='http://clk.atdmt.com/UKM/go/137984870/direct/01/' target='_new'>Learn more!</a></body>
</html>