<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
I considered BigDecimal but I do not know if sum works with BigDecimal and afert that I think I have to &nbsp;use the long version of accumulate.<div>I think convert all to Integer or Long could be a better idea...</div><div><br></div><div>Again, thanks Thomas<br><br><hr id="stopSpelling">From: TSwindells@nds.com<br>To: rules-users@lists.jboss.org<br>Date: Fri, 12 Mar 2010 09:06:37 +0000<br>Subject: Re: [rules-users] Problems count and sumarizing data in facts<br><br>






<style>
.ExternalClass .ecxshape
{;}
</style>
<style>
.ExternalClass p.ecxMsoNormal, .ExternalClass li.ecxMsoNormal, .ExternalClass div.ecxMsoNormal
{margin-bottom:.0001pt;font-size:12.0pt;font-family:'Times New Roman','serif';}
.ExternalClass a:link, .ExternalClass span.ecxMsoHyperlink
{color:blue;text-decoration:underline;}
.ExternalClass a:visited, .ExternalClass span.ecxMsoHyperlinkFollowed
{color:purple;text-decoration:underline;}
.ExternalClass p
{margin-right:0cm;margin-left:0cm;font-size:12.0pt;font-family:'Times New Roman','serif';}
.ExternalClass p.ecxecxmsonormal, .ExternalClass li.ecxecxmsonormal, .ExternalClass div.ecxecxmsonormal
{margin-right:0cm;margin-left:0cm;font-size:12.0pt;font-family:'Times New Roman','serif';}
.ExternalClass p.ecxecxmsochpdefault, .ExternalClass li.ecxecxmsochpdefault, .ExternalClass div.ecxecxmsochpdefault
{margin-right:0cm;margin-left:0cm;font-size:12.0pt;font-family:'Times New Roman','serif';}
.ExternalClass span.ecxecxmsohyperlink
{;}
.ExternalClass span.ecxecxmsohyperlinkfollowed
{;}
.ExternalClass span.ecxecxemailstyle18
{;}
.ExternalClass p.ecxecxmsonormal1, .ExternalClass li.ecxecxmsonormal1, .ExternalClass div.ecxecxmsonormal1
{margin-right:0cm;margin-bottom:0cm;margin-left:0cm;margin-bottom:.0001pt;font-size:12.0pt;font-family:'Times New Roman','serif';}
.ExternalClass span.ecxecxmsohyperlink1
{color:blue;text-decoration:underline;}
.ExternalClass span.ecxecxmsohyperlinkfollowed1
{color:purple;text-decoration:underline;}
.ExternalClass span.ecxecxemailstyle181
{font-family:'Calibri','sans-serif';color:#1F497D;}
.ExternalClass p.ecxecxmsochpdefault1, .ExternalClass li.ecxecxmsochpdefault1, .ExternalClass div.ecxecxmsochpdefault1
{margin-right:0cm;margin-left:0cm;font-size:10.0pt;font-family:'Times New Roman','serif';}
.ExternalClass span.ecxEmailStyle28
{font-family:'Calibri','sans-serif';color:#1F497D;}
.ExternalClass .ecxMsoChpDefault
{font-size:10.0pt;}
@page Section1
{size:612.0pt 792.0pt;}
.ExternalClass div.ecxSection1
{page:Section1;}
</style>


<div class="ecxSection1">
<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">Rather than having a toDouble method have a toPennies method which converts the string into an integer instead.&nbsp; This would make sure that there are no rounding
 issues and be a bit cleaner.&nbsp; BigDecimal would be another option but probably slightly more complicated.</span></p>
<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">Even better would be fix it all the way upstream but I’m guess that that probably isn’t an option.</span></p>
<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">&nbsp;</span></p>
<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">Thomas</span></p>
<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">&nbsp;</span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="ecxMsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:'Tahoma','sans-serif'">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:'Tahoma','sans-serif'"> rules-users-bounces@lists.jboss.org [mailto:rules-users-bounces@lists.jboss.org]
<b>On Behalf Of </b>Yamil Bracho<br>
<b>Sent:</b> 11 March 2010 19:00<br>
<b>To:</b> Drools UserList<br>
<b>Subject:</b> Re: [rules-users] Problems count and sumarizing data in facts</span></p>
</div>
</div>
<p class="ecxMsoNormal">&nbsp;</p>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Thomas, I am aware about this issue and it is my second item in the list to fix.</span></p>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">The only solution I got is convert all to String and this way works OK</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">rule "Sumatoria de lineas detalle vs Header"</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;salience 10</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;when</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; Number( $total : doubleValue) from accumulate(</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Map(this["_TYPE_"] == "D",</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $monto : this["MONTO"]),</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sum(toDouble($monto)))</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; $map : Map(this["_TYPE_"] == "H",</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$totEnc : this["MT_TOTAL"]) &amp;&amp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;not (eval(isNumEquals($totEnc, $total)))</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;then</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp;listBitacora.add(new BitacoraDTO($map.get("_NUMLINE_"),</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;"Error en el Detalle: El total de las lineas de detalle (" + &nbsp;formatDouble($total) +</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;") no empareja con lo del encabezado (" + formatDoubleObj($totEnc) + ")"));</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;end</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">function boolean isNumEquals(Object oNum1, double num2) {</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;return formatDoubleObj(oNum1).equals(formatDouble(num2));</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">}</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">function String formatDouble(double d) {</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;return (new DecimalFormat("#,###.00")).format(d);</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">}</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">function String formatDoubleObj(Object obj) {</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;return formatDouble(toDouble(obj));</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">}</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">The "isNumEquals" compare the numbers by comparing their String representations.</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">yes, I think this is not so elegant and I would like a better solutions...</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Regards</span></p>
</div>
</div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
<div class="ecxMsoNormal" align="center" style="text-align:center"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">
<hr size="2" width="100%" align="center" id="ecxstopSpelling">
</span></div>
<p class="ecxMsoNormal" style="margin-bottom:12.0pt"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">From: TSwindells@nds.com<br>
To: rules-users@lists.jboss.org<br>
Date: Thu, 11 Mar 2010 16:17:05 +0000<br>
Subject: Re: [rules-users] Problems count and sumarizing data in facts</span></p>
<div>
<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">Well done for getting this working shame how complex it has to be. It would be nice/very very useful if drools provided a simple way of converting between
 numeric strings and numbers as I’ve also faced this problem before and it seems to require really big ugly hacks to work round the issue.</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>
<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">&nbsp;</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>
<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">With respect to your solution I’d still reiterate the point I made in the post below about the fact that you may not get the result you are expecting,
</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>
<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">As 0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1 != 1.0 you may get spurious error messages when you shouldn’t. &nbsp;</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>
<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">&nbsp;</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>
<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">Thomas</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>
<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">&nbsp;</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>
<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">&nbsp;</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="ecxMsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:'Tahoma','sans-serif'">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:'Tahoma','sans-serif'"> rules-users-bounces@lists.jboss.org [mailto:rules-users-bounces@lists.jboss.org]
<b>On Behalf Of </b>Yamil Bracho<br>
<b>Sent:</b> 11 March 2010 15:52<br>
<b>To:</b> Drools UserList<br>
<b>Subject:</b> Re: [rules-users] Problems count and sumarizing data in facts</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>
</div>
</div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Thanks Enda.</span></p>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Yes, I read carefully the docs and understand that eval expected a boolena expression.</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">I succesfully change the rule to :</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">rule "Sumatoria de lineas detalle vs Header"</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;salience 10</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;when</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; Number( $total : doubleValue) from accumulate(</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Map(this["_TYPE_"] == "D",</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $monto : this["MONTO"]),</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sum(toDouble($monto)))</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; $map : Map(this["_TYPE_"] == "H",</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$totEnc : this["MT_TOTAL"]) &amp;&amp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;eval(toDouble($totEnc) != $total)</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;then</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp;System.out.println("Encabezado:" + toDouble($totEnc) + ", Detalle=" + $total);</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp;listBitacora.add(new BitacoraDTO($map.get("_NUMLINE_"),</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;"Error en el Detalle: El número del lineas de detalle (" + &nbsp;$total +</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;") no empareja con lo del encabezado (" + $map.get("NU_REGISTROS") + ")"));</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;end</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Where "toDouble" is a function :</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">function double toDouble(Object oMonto) {</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; String strMonto = oMonto.toString();</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; int len = strMonto.length();</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; int pos = len - 2;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; strMonto = StringUtils.left(strMonto, pos) + "." + StringUtils.right(strMonto,2);</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; //return Double.valueOf(strMonto) &nbsp;;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp;double d = Double.parseDouble(strMonto);</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; return d;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">}</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Thanks to Enda and Thomas for help me to solve this...</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
</div>
</div>
<div class="ecxMsoNormal" align="center" style="text-align:center"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">
<hr size="2" width="100%" align="center">
</span></div>
<p class="ecxMsoNormal" style="margin-bottom:12.0pt"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Date: Thu, 11 Mar 2010 15:02:33 +0000<br>
From: ejdiggins@gmail.com<br>
To: rules-users@lists.jboss.org<br>
Subject: Re: [rules-users] Problems count and sumarizing data in facts<br>
<br>
Hi Yamil,<br>
<br>
'eval()' expects a primitive boolean value as a result of the expression. You may need to look into creating a custom accumulate function that can accept a string and do the conversion in java. Have a look at section 6.5.2.10.1 Accumulate Function in the Drools
 documentation:<br>
<br>
<a href="http://downloads.jboss.com/drools/docs/4.0.7.19894.GA/html_single/index.html">http://downloads.jboss.com/drools/docs/4.0.7.19894.GA/html_single/index.html</a><br>
<br>
Alternatively, you could change the type of your map to something like Map&lt;String, Double&gt;<br>
<br>
Hope it helps,<br>
<br>
Enda</span></p>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">2010/3/11 Yamil Bracho &lt;<a href="mailto:yamilbracho@hotmail.com">yamilbracho@hotmail.com</a>&gt;</span></p>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">I rewrote as :</span></p>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">rule "Sumatoria de lineas detalle vs Header"</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;salience 10</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;when</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; Number( $total : doubleValue) from accumulate(</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Map(this["_TYPE_"] == "D",</span></p>
</div>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $monto : this["MONTO"]),</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sum(eval(toDouble($monto))))</span></p>
</div>
<div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; $map : Map(this["_TYPE_"] == "H",</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;this["MT_TOTAL"] != $total)</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;then</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp;System.out.println("TOTAL=" + $total);</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp;listBitacora.add(new BitacoraDTO($map.get("_NUMLINE_"),</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;"Error en el Detalle: El número del lineas de detalle (" + &nbsp;$total +</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;") no empareja con lo del encabezado (" + $map.get("NU_REGISTROS") + ")"));</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;end</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Where "toDouble" is :</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">function Double toDouble(Object oMonto) {</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; String strMonto = oMonto.toString();</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; int len = strMonto.length();</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; int pos = len - 3;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; strMonto = StringUtils.left(strMonto, pos) + "." + StringUtils.right(strMonto,2);</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; return Double.valueOf(strMonto) &nbsp;;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">}</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">And I got</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Rule Compilation error : [Rule name='Sumatoria de lineas detalle vs Header']</span></p>
</div>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;rule/Rule_Sumatoria_de_lineas_detalle_vs_Header_0.java (9:1350) : The method eval(Double) is undefined for the type Rule_Sumatoria_de_lineas_detalle_vs_Header_0</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Thanks again, Thomas..!</span></p>
</div>
</div>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
<div class="ecxMsoNormal" align="center" style="text-align:center"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">
<hr size="2" width="100%" align="center">
</span></div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">From:
<a href="mailto:TSwindells@nds.com">TSwindells@nds.com</a><br>
To: <a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a></span></p>
</div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Date: Thu, 11 Mar 2010 09:25:31 +0000</span></p>
<div>
<div>
<p class="ecxMsoNormal" style="margin-bottom:12.0pt"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"><br>
Subject: Re: [rules-users] Problems count and sumarizing data in facts</span></p>
<div>
<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Verdana','sans-serif';color:#1F497D">Have you tried assigning the string to $monto and then performing the evel within the sum?</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"><br>
</span><span style="font-size:11.0pt;font-family:'Verdana','sans-serif';color:#1F497D">&nbsp;</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>
<div style="border:none;border-left:solid windowtext 1.5pt;padding:0cm 0cm 0cm 4.0pt;border-color:-moz-use-text-color -moz-use-text-color -moz-use-text-color blue">
<div>
<div style="border:none;border-top:solid windowtext 1.0pt;padding:3.0pt 0cm 0cm 0cm;border-color:-moz-use-text-color -moz-use-text-color">
<p class="ecxMsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:'Verdana','sans-serif'">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:'Verdana','sans-serif'">
<a href="mailto:rules-users-bounces@lists.jboss.org">rules-users-bounces@lists.jboss.org</a> [mailto:<a href="mailto:rules-users-bounces@lists.jboss.org">rules-users-bounces@lists.jboss.org</a>]
<b>On Behalf Of </b>Yamil Bracho<br>
<b>Sent:</b> 10 March 2010 19:38<br>
<b>To:</b> Drools UserList<br>
<b>Subject:</b> Re: [rules-users] Problems count and sumarizing data in facts</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>
</div>
</div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;<br>
Thanks Thomas.</span></p>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">I rewrote the rule as:</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">rule "Sumatoria de lineas detalle vs Header"</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;salience 10</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;when</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; Number( $total : doubleValue) from accumulate(</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Map(this["_TYPE_"] == "D",</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $monto : eval(Double.parseDouble(this.get("MONTO")))),</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sum($monto))</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; $map : Map(this["_TYPE_"] == "H",</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;this["MT_TOTAL"] != $total)</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;then</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp;System.out.println("TOTAL=" + $total);</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp;listBitacora.add(new BitacoraDTO($map.get("_NUMLINE_"),</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;"Error en el Detalle: El número del lineas de detalle (" + &nbsp;$total +</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;") no empareja con lo del encabezado (" + $map.get("NU_REGISTROS") + ")"));</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;end</span></p>
</div>
<div>
<p class="ecxMsoNormal" style="margin-bottom:12.0pt"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">but I am getting errors in the parseDouble:</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">[828,29]: [ERR 101] Line 828:29 no viable alternative at input 'Double' in rule "Sumatoria de lineas detalle vs Header" in pattern Map[828,67]: [ERR 102] Line 828:67 mismatched
 input ')' expecting 'then' in rule "Sumatoria de lineas detalle vs Header"</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Any hint...</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
<div class="ecxMsoNormal" align="center" style="text-align:center"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">
<hr size="2" width="100%" align="center">
</span></div>
<p class="ecxMsoNormal" style="margin-bottom:12.0pt"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">From:
<a href="mailto:TSwindells@nds.com">TSwindells@nds.com</a><br>
To: <a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
Date: Wed, 10 Mar 2010 15:13:49 +0000<br>
Subject: Re: [rules-users] Problems count and sumarizing data in facts</span></p>
<div>
<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Verdana','sans-serif';color:#1F497D">To convert from string to double you have to full back to java:</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"><br>
</span><span style="font-size:11.0pt;font-family:'Verdana','sans-serif';color:#1F497D">Something along the lines &nbsp;of</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"><br>
</span><span style="font-size:11.0pt;font-family:'Verdana','sans-serif';color:#1F497D">$monto : eval(Double.parseDouble(this.get(“MONTO”)))</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"><br>
</span><span style="font-size:11.0pt;font-family:'Verdana','sans-serif';color:#1F497D">&nbsp;</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"><br>
</span><span style="font-size:11.0pt;font-family:'Verdana','sans-serif';color:#1F497D">However even with doing this your rules are unlikely to work consistently as you expect.&nbsp; Using equality tests on doubles is fundamentally unsafe as doubles aren’t represented
 exactly and may not exactly match the value you think you have.&nbsp; Force instance 0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1 != 1.0 (dependent on floating point chipset etc).&nbsp; If you are dealing with currency then it is far simpler and safer to just operate with
 integers and divide by 100 when you want to display the value.&nbsp; The other alternative is to use BigDecimal which will store an exact representation but will probably require more work with getting your accumulate function correct.&nbsp; Your last option is to use
 Math.abs(left-right) &lt; 0.1 to see if they are approximately equal.&nbsp; More details can be found here
<a href="http://firstclassthoughts.co.uk/java/traps/java_double_traps.html">http://firstclassthoughts.co.uk/java/traps/java_double_traps.html</a></span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"><br>
</span><span style="font-size:11.0pt;font-family:'Verdana','sans-serif';color:#1F497D">&nbsp;</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"><br>
</span><span style="font-size:11.0pt;font-family:'Verdana','sans-serif';color:#1F497D">Thomas</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"><br>
</span><span style="font-size:11.0pt;font-family:'Verdana','sans-serif';color:#1F497D">&nbsp;</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"><br>
</span><span style="font-size:11.0pt;font-family:'Verdana','sans-serif';color:#1F497D">&nbsp;</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>
<div style="border:none;border-left:solid windowtext 1.5pt;padding:0cm 0cm 0cm 4.0pt;border-color:-moz-use-text-color -moz-use-text-color -moz-use-text-color blue">
<div>
<div style="border:none;border-top:solid windowtext 1.0pt;padding:3.0pt 0cm 0cm 0cm;border-color:-moz-use-text-color -moz-use-text-color">
<p class="ecxMsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:'Verdana','sans-serif'">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:'Verdana','sans-serif'">
<a href="mailto:rules-users-bounces@lists.jboss.org">rules-users-bounces@lists.jboss.org</a> [mailto:<a href="mailto:rules-users-bounces@lists.jboss.org">rules-users-bounces@lists.jboss.org</a>]
<b>On Behalf Of </b>Yamil Bracho<br>
<b>Sent:</b> 10 March 2010 14:27<br>
<b>To:</b> Drools UserList<br>
<b>Subject:</b> Re: [rules-users] Problems count and sumarizing data in facts</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>
</div>
</div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;<br>
I solved the counting of detail lines this way:</span></p>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">rule "Contador de lineas detalle vs Header"</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;salience 10</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;when</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; Number($count : intValue) from accumulate(</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$mp : Map(this["_TYPE_"] == "D"), count($mp))</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; $map : Map(this["_TYPE_"] == "H",</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;this["NU_REGISTROS"] != $count)</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;then</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp;System.out.println("NumRecs=" + $count);</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp;listBitacora.add(new BitacoraDTO($map.get("_NUMLINE_"),</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;"El número del lineas de detalle (" + $count +</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;") no empareja con lo del encabezado (" + $map.get("NU_REGISTROS") + ")"));</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;end</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">However, I still got problem with summarize the amounts. I wrote</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">rule "Sumatoria de lineas detalle vs Header"</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;salience 10</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;when</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; Number( $total : doubleValue) from accumulate(</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Map(this["_TYPE_"] == "D",</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $monto : ((Number) this["MONTO"]),</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sum($monto)))</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; $map : Map(this["_TYPE_"] == "H",</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;this["MT_TOTAL"] != $total)</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;then</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp;System.out.println("TOTAL=" + $total);</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp;listBitacora.add(new BitacoraDTO($map.get("_NUMLINE_"),</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;"Error en el Detalle: El número del lineas de detalle (" + &nbsp;$total +</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;") no empareja con lo del encabezado (" + $map.get("NU_REGISTROS") + ")"));</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;end</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">And i am getting&nbsp;&nbsp;mismatched input" so my question is how to convert a string to double in this line "$monto : ((Number) this["MONTO"])," ?</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">TIA</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Yamil</span></p>
</div>
</div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
<div class="ecxMsoNormal" align="center" style="text-align:center"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">
<hr size="2" width="100%" align="center">
</span></div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">From:
<a href="mailto:yamilbracho@hotmail.com">yamilbracho@hotmail.com</a><br>
To: <a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
Date: Tue, 9 Mar 2010 17:41:43 +0000<br>
Subject: [rules-users] Problems count and sumarizing data in facts<br>
<br>
Hi,&nbsp;I have two kind of facts in a map.</span></p>
<div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">There is a field called _TYPE_ (H)eader, D)etail)</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">In the Header line I have two String fields, one for the number of details lines ("NU_REGISTROS") and another for the sum of the detail line ("MT_TOTAL")</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">In the detail lines I only have a String field called "MONTO"&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">I would like to build two rules. One to check the count of detail lines versus the field in the header line so I wrote :</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">rule "Contador de lineas detalle vs Header"</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;salience 10</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;when</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; $numRecs : Number()</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;from accumulate(Map(this["_TYPE_"] == "D", $d : this["_NUMLINE_"]), count($d))</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; $map : Map(this["_TYPE_"] == "H",</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;this["NU_REGISTROS"] != $numRecs)</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;then</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp;System.out.println("NumRecs=" + $numRecs);</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp;listBitacora.add(new BitacoraDTO($map.get("_NUMLINE_"),</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;"Error en el Detalle: El número del lineas de detalle (" + &nbsp;$total +</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;") no empareja con lo del encabezado (" + $map.get("NU_REGISTROS") + ")"));</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;end</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;However I always got "NumRecs=1" when i print out the value of $numRecs but I am absolute sure there is two details lines...</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;Second when i try to sumarize the total field in the details line i got (MONTO in the detail line is a string):</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;rule "Sumatoria de lineas detalle vs Header"</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;salience 10</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;when</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; $total : Number()</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;from accumulate(Map(this["_TYPE_"] == "D",</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$monto : this["MONTO"]),</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sum(eval(Double.valueOf((String) $monto ))))</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; $map : Map(this["_TYPE_"] == "H",</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;this["MT_TOTAL"] != $total)</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;then</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp;System.out.println("TOTAL=" + $total);</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp;listBitacora.add(new BitacoraDTO($map.get("_NUMLINE_"),</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;"Error en el Detalle: El número del lineas de detalle (" + &nbsp;$total +</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;") no empareja con lo del encabezado (" + $map.get("NU_REGISTROS") + ")"));</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;end</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;but I got</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;Rule Compilation error : [Rule name='Sumatoria de lineas detalle vs Header']</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;rule/Rule_Sumatoria_de_lineas_detalle_vs_Header_0.java (9:1313) : The method eval(Double) is undefined for the type Rule_Sumatoria_de_lineas_detalle_vs_Header_0</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;Any help in those tow problems</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;TIA</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
</div>
<div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Yamil</span></p>
</div>
</div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
<div class="ecxMsoNormal" align="center" style="text-align:center"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">
<hr size="2" width="100%" align="center">
</span></div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Actualízate gratis al nuevo Internet Explorer 8 y
<a href="http://www.microsoft.com/spain/windows/internet-explorer/default.aspx">navega más seguro</a></span></p>
</div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
<div class="ecxMsoNormal" align="center" style="text-align:center"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">
<hr size="2" width="100%" align="center">
</span></div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Compartir tus mejores FOTOS es fácil en Messenger
<a href="http://events.es.msn.com/windows-live/redes-sociales/default.aspx">¡DESCUBRE cómo!</a></span></p>
</div>
</div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
<div class="ecxMsoNormal" align="center" style="text-align:center"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">
<hr size="2" width="100%" align="center">
</span></div>
<p class="ecxMsoNormal" style="margin-bottom:12.0pt"><span style="font-size:7.5pt;font-family:'Verdana','sans-serif';color:gray"><br>
**************************************************************************************<br>
This message is confidential and intended only for the addressee. If you have received this message in error, please immediately notify the
<a href="mailto:postmaster@nds.com">postmaster@nds.com</a> and delete it from your system as well as any copies. The content of e-mails as well as traffic data may be monitored by NDS for employment and security purposes. To protect the environment please do
 not print this e-mail unless necessary.<br>
<br>
NDS Limited. Registered Office: One London Road, Staines, Middlesex, TW18 4EX, United Kingdom. A company registered in England and Wales. Registered no. 3080780. VAT no. GB 603 8808 40-00<br>
**************************************************************************************</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>
<div class="ecxMsoNormal" align="center" style="text-align:center"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">
<hr size="2" width="100%" align="center">
</span></div>
<p class="ecxMsoNormal"><span style="font-size:7.5pt;font-family:'Verdana','sans-serif';color:gray">This message is confidential and intended only for the addressee. If you have received this message in error, please immediately notify the
<a href="mailto:postmaster@nds.com">postmaster@nds.com</a> and delete it from your system as well as any copies. The content of e-mails as well as traffic data may be monitored by NDS for employment and security purposes.<br>
To protect the environment please do not print this e-mail unless necessary.<br>
<br>
An NDS Group Limited company. <a href="http://www.nds.com">www.nds.com</a></span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>
</div>
</div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
<div class="ecxMsoNormal" align="center" style="text-align:center"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">
<hr size="2" width="100%" align="center">
</span></div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">¿Sabes que la Videollamada de Messenger es GRATIS
<a href="http://events.es.msn.com/windows-live/redes-sociales/default.aspx">¡Descúbrela!</a></span></p>
</div>
</div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
<div class="ecxMsoNormal" align="center" style="text-align:center"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">
<hr size="2" width="100%" align="center">
</span></div>
<p class="ecxMsoNormal" style="margin-bottom:12.0pt"><span style="font-size:7.5pt;font-family:'Arial','sans-serif';color:gray"><br>
**************************************************************************************<br>
This message is confidential and intended only for the addressee. If you have received this message in error, please immediately notify the
<a href="mailto:postmaster@nds.com">postmaster@nds.com</a> and delete it from your system as well as any copies. The content of e-mails as well as traffic data may be monitored by NDS for employment and security purposes. To protect the environment please do
 not print this e-mail unless necessary.<br>
<br>
NDS Limited. Registered Office: One London Road, Staines, Middlesex, TW18 4EX, United Kingdom. A company registered in England and Wales. Registered no. 3080780. VAT no. GB 603 8808 40-00<br>
**************************************************************************************</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>
<div class="ecxMsoNormal" align="center" style="text-align:center"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">
<hr size="2" width="100%" align="center">
</span></div>
<p class="ecxMsoNormal"><span style="font-size:7.5pt;font-family:'Arial','sans-serif';color:gray">This message is confidential and intended only for the addressee. If you have received this message in error, please immediately notify the
<a href="mailto:postmaster@nds.com">postmaster@nds.com</a> and delete it from your system as well as any copies. The content of e-mails as well as traffic data may be monitored by NDS for employment and security purposes.<br>
To protect the environment please do not print this e-mail unless necessary.<br>
<br>
An NDS Group Limited company. <a href="http://www.nds.com">www.nds.com</a></span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>
</div>
</div>
</div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
<div class="ecxMsoNormal" align="center" style="text-align:center"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">
<hr size="2" width="100%" align="center">
</span></div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">¿Quieres saber qué móvil eres?
<a href="http://www.quemovileres.com/">¡Descúbrelo aquí!</a></span></p>
</div>
<p class="ecxMsoNormal" style="margin-bottom:12.0pt"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"><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></span></p>
</div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"><br>
<br clear="all">
<br>
-- <br>
Enda J Diggins</span></p>
</div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
<div class="ecxMsoNormal" align="center" style="text-align:center"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">
<hr size="2" width="100%" align="center">
</span></div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Actualízate gratis al nuevo Internet Explorer 8 y
<a href="http://www.microsoft.com/spain/windows/internet-explorer/default.aspx">navega más seguro</a></span></p>
</div>
</div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
<div class="ecxMsoNormal" align="center" style="text-align:center"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">
<hr size="2" width="100%" align="center">
</span></div>
<p class="ecxMsoNormal" style="margin-bottom:12.0pt"><span style="font-size:7.5pt;font-family:'Arial','sans-serif';color:gray"><br>
**************************************************************************************<br>
This message is confidential and intended only for the addressee. If you have received this message in error, please immediately notify the postmaster@nds.com and delete it from your system as well as any copies. The content of e-mails as well as traffic data
 may be monitored by NDS for employment and security purposes. To protect the environment please do not print this e-mail unless necessary.<br>
<br>
NDS Limited. Registered Office: One London Road, Staines, Middlesex, TW18 4EX, United Kingdom. A company registered in England and Wales. Registered no. 3080780. VAT no. GB 603 8808 40-00<br>
**************************************************************************************</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>
<div class="ecxMsoNormal" align="center" style="text-align:center"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">
<hr size="2" width="100%" align="center">
</span></div>
<p class="ecxMsoNormal"><span style="font-size:7.5pt;font-family:'Arial','sans-serif';color:gray">This message is confidential and intended only for the addressee. If you have received this message in error, please immediately notify the postmaster@nds.com and
 delete it from your system as well as any copies. The content of e-mails as well as traffic data may be monitored by NDS for employment and security purposes.<br>
To protect the environment please do not print this e-mail unless necessary.<br>
<br>
An NDS Group Limited company. www.nds.com</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>
</div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>
<div class="ecxMsoNormal" align="center" style="text-align:center"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">
<hr size="2" width="100%" align="center">
</span></div>
<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">¿Quieres saber qué móvil eres?
<a href="http://www.quemovileres.com/">¡Descúbrelo aquí!</a></span></p>
</div>
</div>
<br>
<hr>
<font face="Arial" color="Gray" size="1"><br>
**************************************************************************************<br>
This message is confidential and intended only for the addressee. If you have received this message in error, please immediately notify the postmaster@nds.com and delete it from your system as well as any copies. The content of e-mails as well as traffic data
 may be monitored by NDS for employment and security purposes. To protect the environment please do not print this e-mail unless necessary.<br>
<br>
NDS Limited. Registered Office: One London Road, Staines, Middlesex, TW18 4EX, United Kingdom. A company registered in England and Wales. Registered no. 3080780. VAT no. GB 603 8808 40-00<br>
**************************************************************************************<br>
</font><br>
<hr>
<font face="Arial" color="Gray" size="1">This message is confidential and intended only for the addressee. If you have received this message in error, please immediately notify the postmaster@nds.com and delete it from your system as well as any copies. The
 content of e-mails as well as traffic data may be monitored by NDS for employment and security purposes.<br>
To protect the environment please do not print this e-mail unless necessary.<br>
<br>
An NDS Group Limited company. www.nds.com<br>
</font></div>                                               <br /><hr />¿Sabes que la Videollamada de Messenger es GRATIS <a href='http://events.es.msn.com/windows-live/redes-sociales/default.aspx' target='_new'>¡Descúbrela!</a></body>
</html>