OK, Ignore this one as well.&nbsp; It looks like the syntax changed slight from the blog entry.&nbsp; The connector for the fields is || versus the single | in the blog.<br><br>Thanks!<br><br><div><span class="gmail_quote">On 7/7/07, 
<b class="gmail_sendername">Ronald R. DiFrango</b> &lt;<a href="mailto:ron.difrango@gmail.com">ron.difrango@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
And it looks like the != operator is not allowed either:<span class="q"><br><br>rtvHeader : RtvHeader( status != &quot;Matched&quot; | != &quot;Approval&quot; )<br><br></span>Does not work<div><span class="e" id="q_113a15777dbaf22c_3">
<br><br><div><span class="gmail_quote">On 7/7/07, <b class="gmail_sendername">
Ronald R. DiFrango</b> &lt;<a href="mailto:ron.difrango@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">ron.difrango@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

OK, here is the problem:<br><br>I currently have this:<span><br><br>rtvHeader : RtvHeader( status != StatusConstants.MATCHED | != StatusConstants.APPROVAL )<br><br></span>but if I switch it to use a quoted string value like the following:
<br><br>rtvHeader : RtvHeader( status == &quot;Matched&quot; | == &quot;Approval&quot; )<br><br>It works...Is this a bug?<div><span><br><br><div><span class="gmail_quote">On 7/7/07, <b class="gmail_sendername">
Ronald R. DiFrango</b>
 &lt;<a href="mailto:ron.difrango@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">ron.difrango@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

OK, this does not looked correct syntax or that it is supported.&nbsp; Here is the exception I get:
<br><br>Exception in thread &quot;main&quot; java.lang.ExceptionInInitializerError<br>&nbsp;&nbsp;&nbsp; at com.circuitcity.rtvcrms.test.MainBasedTester.testRules
(MainBasedTester.java:31)<br>&nbsp;&nbsp;&nbsp; at com.circuitcity.rtvcrms.test.MainBasedTester.main(MainBasedTester.java:23)<br>Caused by: java.lang.RuntimeException: Failure loading the Rules<br>&nbsp;&nbsp;&nbsp; at com.circuitcity.rtvcrms.rules.RtvDecisionEngine



.&lt;clinit&gt;(RtvDecisionEngine.java:48)<br>&nbsp;&nbsp;&nbsp; ... 2 more<br>Caused by: org.drools.rule.InvalidRulePackage: [22,59]: unknown:22:59 Unexpected token &#39;|&#39;[22,89]: unknown:22:89 mismatched token: [@162,707:707=&#39;)&#39;,&lt;13&gt;,22:89]; expecting type LEFT_PAREN[33,59]: unknown:33:59 Unexpected token &#39;|&#39;[33,89]: unknown:33:89 mismatched token: [@263,1112:1112=&#39;)&#39;,&lt;13&gt;,33:89]; expecting type LEFT_PAREN[44,59]: unknown:44:59 Unexpected token &#39;|&#39;[44,89]: unknown:44:89 mismatched token: [@364,1510:1510=&#39;)&#39;,&lt;13&gt;,44:89]; expecting type LEFT_PAREN[55,59]: unknown:55:59 Unexpected token &#39;|&#39;[55,89]: unknown:55:89 mismatched token: [@465,1924:1924=&#39;)&#39;,&lt;13&gt;,55:89]; expecting type LEFT_PAREN
<br>&nbsp;&nbsp;&nbsp; at org.drools.rule.Package.checkValidity(Package.java:409)<br>&nbsp;&nbsp;&nbsp; at org.drools.common.AbstractRuleBase.addPackage(AbstractRuleBase.java:262)<br>&nbsp;&nbsp;&nbsp; at com.circuitcity.rtvcrms.rules.RtvDecisionEngine.&lt;clinit&gt;(
RtvDecisionEngine.java:44)<br>&nbsp;&nbsp;&nbsp; ... 2 more<br><br>And here is my rules:<br><br>#created on: Jul 7, 2007<br>package com.circuitcity.rtvcrms.rules<br><br>#list any import classes here.<br>import java.math.BigDecimal;<br>


import 
java.math.BigInteger;<br><br>import com.circuitcity.rtvcrms.bw.Constants;<br>import com.circuitcity.rtvcrms.bw.DocumentTypes;<br>import com.circuitcity.rtvcrms.bw.StatusConstants;<br><br>import com.circuitcity.rtvcrms.EffectivePrice



;<br>import com.circuitcity.rtvcrms.RtvHeader;<br><br><br>#declare any global variables here<br><br>rule &quot;Line Set Open #1&quot;<br>&nbsp;&nbsp;&nbsp; salience -10<br>&nbsp;&nbsp;&nbsp; when<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rtvDetailLine : DetailLine(rtvNumber != null, rtvNumber == cmRtvNumber, lineNumber != null, status == 
StatusConstants.OPEN)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rtvHeader : RtvHeader( status == StatusConstants.MATCHED | == StatusConstants.APPROVAL )<br>&nbsp;&nbsp;&nbsp; then <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; System.out.println(&quot;Line Set Open #1&quot;);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rtvHeader.setStatus



(StatusConstants.PARTIALLY_MATCHED);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; update(rtvHeader);<br>end<br><br>rule &quot;Line Set Open #2&quot;<br>&nbsp;&nbsp;&nbsp; salience -10<br>&nbsp;&nbsp;&nbsp; when<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rtvDetailLine : DetailLine(rtvNumber != null, rtvNumber == cmRtvNumber, lineNumber != null, status == 
StatusConstants.OPEN)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rtvHeader : RtvHeader( status != StatusConstants.MATCHED | != StatusConstants.APPROVAL )<br>&nbsp;&nbsp;&nbsp; then<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; System.out.println(&quot;Line Set Open #2&quot;); <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rtvHeader.setStatus



(StatusConstants.OPEN);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; update(rtvHeader);<br>end<br><br>rule &quot;Line Set Matched #1&quot;<br>&nbsp;&nbsp;&nbsp; salience -10<br>&nbsp;&nbsp;&nbsp; when<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rtvDetailLine : DetailLine(rtvNumber != null, rtvNumber == cmRtvNumber, lineNumber != null, status == 
StatusConstants.MATCHED)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rtvHeader : RtvHeader( status != StatusConstants.MATCHED | != StatusConstants.APPROVAL )<br>&nbsp;&nbsp;&nbsp; then <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; System.out.println(&quot;Line Set Matched #1&quot;);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rtvHeader.setStatus



(StatusConstants.PARTIALLY_MATCHED);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; update(rtvHeader);<br>end<br><br>rule &quot;Line Set Matched #2&quot;<br>&nbsp;&nbsp;&nbsp; salience -10<br>&nbsp;&nbsp;&nbsp; when<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rtvDetailLine : DetailLine(rtvNumber != null, rtvNumber == cmRtvNumber, lineNumber != null, status == 
StatusConstants.MATCHED)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rtvHeader : RtvHeader( status == StatusConstants.MATCHED | == StatusConstants.APPROVAL )<br>&nbsp;&nbsp;&nbsp; then <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; System.out.println(&quot;Line Set Matched #2&quot;);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rtvHeader.setStatus



(StatusConstants.MATCHED);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; update(rtvHeader);<br>end<br><br>rule &quot;Line Set Approval #1&quot;<br>&nbsp;&nbsp;&nbsp; salience -10<br>&nbsp;&nbsp;&nbsp; when<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rtvDetailLine : DetailLine(rtvNumber != null, rtvNumber == cmRtvNumber, lineNumber != null, status == 
StatusConstants.APPROVAL)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rtvHeader : RtvHeader( status == StatusConstants.MATCHED )<br>&nbsp;&nbsp;&nbsp; then <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; System.out.println(&quot;Line Set Approval #1&quot;);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rtvHeader.setStatus(StatusConstants.APPROVAL



);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; update(rtvHeader);<br>end<br><br>rule &quot;Line Set Approval #2&quot;<br>&nbsp;&nbsp;&nbsp; salience -10<br>&nbsp;&nbsp;&nbsp; when<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rtvDetailLine : DetailLine(rtvNumber != null, rtvNumber == cmRtvNumber, lineNumber != null, status == 
StatusConstants.APPROVAL)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rtvHeader : RtvHeader( status == StatusConstants.OPEN )<br>&nbsp;&nbsp;&nbsp; then <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; System.out.println(&quot;Line Set Approval #2&quot;);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rtvHeader.setStatus(StatusConstants.PARTIALLY_MATCHED



);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; update(rtvHeader);<br>end<br><br>rule &quot;Line Set Approval #3&quot;<br>&nbsp;&nbsp;&nbsp; salience -10<br>&nbsp;&nbsp;&nbsp; when<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rtvDetailLine : DetailLine(rtvNumber != null, rtvNumber == cmRtvNumber, lineNumber != null, status == 
StatusConstants.APPROVAL)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rtvHeader : RtvHeader( status != StatusConstants.OPEN )<br>&nbsp;&nbsp;&nbsp; then <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; System.out.println(&quot;Line Set Approval #3&quot;);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rtvHeader.setStatus(StatusConstants.PARTIALLY_MATCHED



);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; update(rtvHeader);<br>end<br><br><br>As another note, the JBoss Rules IDE is NOT reporting any errors with the syntax.<div><span><br><br><div><span class="gmail_quote">On 7/7/07, 
<b class="gmail_sendername">Ronald R. DiFrango
</b> &lt;<a href="mailto:ron.difrango@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">ron.difrango@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">



Answered my own question:<br><br>MyObject (status == StatusConstants.MATCHED | == StatusConstants.APPROVAL)<div><span><br><br><div><span class="gmail_quote">On 7/7/07, <b class="gmail_sendername">
Ronald R. DiFrango</b> &lt;<a href="mailto:ron.difrango@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
ron.difrango@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">All,<br><br>If I remember correctly, in the 4.x



 version of Drools you were adding an or type syntax where you could compare a value against multiple values.&nbsp; What is the new syntax for it?
<br><br>I am looking to do something logically like:
<br><br>MyObject (status in (&quot;Open&quot; or &quot;Matched&quot;)<br><br>Ron<br>
</blockquote></div><br>
</span></div></blockquote></div><br>
</span></div></blockquote></div><br>
</span></div></blockquote></div><br>
</span></div></blockquote></div><br>