
Also um die Rule mal auseinander zu nehmen:
Code: Alles auswählen
rule "Update Modus"
when
Item P_Netz changed
then
end
Code: Alles auswählen
P_Netz.state instanceof Number
Code: Alles auswählen
if(!(boolean))
Code: Alles auswählen
return;
Rule beenden
Dieser Schritt (Prüfung auf Type Number) ist essentiell, denn ein Item vom Typ Number kann auch den Status NULL oder UNDEF halten, beide sind nicht vom Typ Number, ein Type Casting (as Number) wird dann eine Nullpointer Exception auslösen.
Code: Alles auswählen
val String strP_Netz =
Code: Alles auswählen
Math::abs(Zahl)
Code: Alles auswählen
.toString
Code: Alles auswählen
Modus.postUpdate(Wert)
Code: Alles auswählen
(if(0 < P_Netz.state as Number) "Netzeinspeisung: " else "Netzbezug: ")
Code: Alles auswählen
(if((P_Netz.state as Number) > 0)