[rules-users] Problems count and sumarizing data in facts

Yamil Bracho yamilbracho at hotmail.com
Wed Mar 10 09:26:47 EST 2010


I solved the counting of detail lines this way:
rule "Contador de lineas detalle vs Header"  salience 10  when       Number($count : intValue) from accumulate(              $mp : Map(this["_TYPE_"] == "D"), count($mp))       $map : Map(this["_TYPE_"] == "H",                  this["NU_REGISTROS"] != $count)  then    System.out.println("NumRecs=" + $count);    listBitacora.add(new BitacoraDTO($map.get("_NUMLINE_"),                                          "El número del lineas de detalle (" + $count +                                          ") no empareja con lo del encabezado (" + $map.get("NU_REGISTROS") + ")")); end
However, I still got problem with summarize the amounts. I wrote
rule "Sumatoria de lineas detalle vs Header"  salience 10  when       Number( $total : doubleValue) from accumulate(               Map(this["_TYPE_"] == "D",               $monto : ((Number) this["MONTO"]),               sum($monto)))       $map : Map(this["_TYPE_"] == "H",                  this["MT_TOTAL"] != $total)  then    System.out.println("TOTAL=" + $total);    listBitacora.add(new BitacoraDTO($map.get("_NUMLINE_"),                                          "Error en el Detalle: El número del lineas de detalle (" +  $total +                                          ") no empareja con lo del encabezado (" + $map.get("NU_REGISTROS") + ")")); end
And i am getting  mismatched input" so my question is how to convert a string to double in this line "$monto : ((Number) this["MONTO"])," ?
TIA
Yamil
From: yamilbracho at hotmail.com
To: rules-users at lists.jboss.org
Date: Tue, 9 Mar 2010 17:41:43 +0000
Subject: [rules-users] Problems count and sumarizing data in facts








Hi, I have two kind of facts in a map.There is a field called _TYPE_ (H)eader, D)etail)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")In the detail lines I only have a String field called "MONTO" 
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 :
rule "Contador de lineas detalle vs Header"  salience 10  when       $numRecs : Number()                from accumulate(Map(this["_TYPE_"] == "D", $d : this["_NUMLINE_"]), count($d))       $map : Map(this["_TYPE_"] == "H",                  this["NU_REGISTROS"] != $numRecs)  then    System.out.println("NumRecs=" + $numRecs);    listBitacora.add(new BitacoraDTO($map.get("_NUMLINE_"),                                          "Error en el Detalle: El número del lineas de detalle (" +  $total +                                          ") no empareja con lo del encabezado (" + $map.get("NU_REGISTROS") + ")")); end  However I always got "NumRecs=1" when i print out the value of $numRecs but I am absolute sure there is two details lines...  Second when i try to sumarize the total field in the details line i got (MONTO in the detail line is a string):  rule "Sumatoria de lineas detalle vs Header"  salience 10  when       $total : Number()                from accumulate(Map(this["_TYPE_"] == "D",                                $monto : this["MONTO"]),                                sum(eval(Double.valueOf((String) $monto ))))       $map : Map(this["_TYPE_"] == "H",                  this["MT_TOTAL"] != $total)  then    System.out.println("TOTAL=" + $total);    listBitacora.add(new BitacoraDTO($map.get("_NUMLINE_"),                                          "Error en el Detalle: El número del lineas de detalle (" +  $total +                                          ") no empareja con lo del encabezado (" + $map.get("NU_REGISTROS") + ")")); end  but I got Rule Compilation error : [Rule name='Sumatoria de lineas detalle vs Header']        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

  Any help in those tow problems  TIA
Yamil 		 	   		  
Actualízate gratis al nuevo Internet Explorer 8 y navega más seguro 		 	   		  
_________________________________________________________________
¿Quieres saber qué PC eres? ¡Descúbrelo aquí!
http://www.quepceres.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20100310/2480269d/attachment.html 


More information about the rules-users mailing list