Lyle, my take on that is that Remedy is trying to be DB agnostic.  Rather than 
compete with how each DB processes SQL, or trying to anticipate how a receiver 
of an API call might do so, they just kept it simple. 


Rick

-----Original Message-----
From:         Lyle Taylor <tayl...@ldschurch.org>
Date:         Mon, 2 Nov 2009 12:29:40 
To: <arslist@ARSLIST.ORG>
Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active Link 
(for example)

From what I've been able to tell, there is no such thing as operator precedence 
in AR System aside from parentheses.  It all seems to be dictated on the 
parentheses which seems to correspond to the tree that their parser build 
internally.  There's a lot of room for improvement in the area of 
qualifications in Remedy, in my opinion.

Lyle


-----Original Message-----
From: Action Request System discussion list(ARSList) 
[mailto:arsl...@arslist.org] On Behalf Of Misi Mladoniczky
Sent: Thursday, October 29, 2009 2:13 AM
To: arslist@ARSLIST.ORG
Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active Link 
(for example)

Hi,

Just tested some things.

I am working on ARServer/Developer 7.5.0 patch 3.

In the Run-If and Set/Push-Fields-If-Qualification, it still puts in extra
brackets:

What I entered:
'CU:ID' = $CU:ID$ AND 'CO:ID' = $CO:ID$ AND 'Status' = "Active"
After reopen:
(('CU:ID' = $CU:ID$) AND ('CO:ID' = $CO:ID$)) AND ('Status' = "Active")

It seems like they did some efforts on the the VALUE in the
Set/Push-Fields Action.

The problem is that i does not work, the new BMC parenthesis optimizer is
faulty!!!

I entered:
(1.0 + 2.0) * 3.0
This is shown after reopening the filter:
1.0 + 2.0 * 3.0

They must take into account that the * has a higher priority than the +,
and put in parenthesis accordingly, if needed.

        Best Regards - Misi, RRR AB, http://www.rrr.se

Products from RRR Scandinavia:
* RRR|License - Not enough Remedy licenses? Save money by optimizing.
* RRR|Log - Performance issues or elusive bugs? Analyze your Remedy logs.
* RRR|Translator - Manage and automate your language translations.
Find these products, and many free tools and utilities, at http://rrr.se.

> Misi,
> There was a fix put in to....I think it was set/push action qualifications
> to fix their excess parenthesis, but I wasn't aware of any more still
> being
> in existence.  Can you give me an example of where you are seeing it?
>
> -----Original Message-----
> From: Action Request System discussion list(ARSList)
> [mailto:arsl...@arslist.org] On Behalf Of Misi Mladoniczky
> Sent: Wednesday, October 28, 2009 4:31 AM
> To: arslist@ARSLIST.ORG
> Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active
> Link (for example)
>
> Hi,
>
> It would be very nice if someone could take the time to create an
> algorithm
> that removed the unnecessary grouping parentheses...
>
>         Best Regards - Misi, RRR AB, http://www.rrr.se
>
> Products from RRR Scandinavia:
> * RRR|License - Not enough Remedy licenses? Save money by optimizing.
> * RRR|Log - Performance issues or elusive bugs? Analyze your Remedy logs.
> * RRR|Translator - Manage and automate your language translations.
> Find these products, and many free tools and utilities, at http://rrr.se.
>
>> Wow...ask a tough one....ok....took me FOREVER to figure out
>> Qualifiers....but here is basically what you need to do.
>>
>> A QualifierInfo object has three main parts, LeftOperand, Operation,
>> and RightOperand.  To explain these parts I will give you an example
>>
>> ('Status' = "Fixed") AND ('Create Date' < $DATE$)
>>
>> Ok, if that is your QualifierInfo object, here are your pieces
>>
>> LeftOperand = ('Status' = "Fixed")
>> Operation = AND
>> RightOperand = ('Create Date' < $DATE$)
>>
>> So, what I have done in several programs now is to write an iterative
>> subroutine, if you check the operation to determine if it is a
>> relational operation (< > = != etc).  If it's not, I throw
>> RightOperand back into the sub till it is, If it is then you know you
>> are down to a single operand, and then you can parse the field/value
>> on left and right for what you want to check/test for.
>>
>> Please let me know if this helps any....it's still a bit fuzzy in my
>> head, but I understand it well enough as it is to do what I need to do.
>>
>>_____
>>
>> From: Action Request System discussion list(ARSList)
>> [mailto:arsl...@arslist.org] On Behalf Of David Morgan
>> Sent: Tuesday, October 27, 2009 8:33 AM
>> To: arslist@ARSLIST.ORG
>> Subject: Java API for ARS - How to obtain a Run-If line from an Active
>> Link (for example)
>>
>>
>> **
>>
>> Hi ARSListers,
>>
>>
>>
>> I have been looking at the Java API but am stumped by Qualifiers.
>>
>>
>>
>> String name1 = "Demo";
>>
>> String swd = "etno";
>>
>> String sname = "dclha002";
>>
>> Integer tcpport = 8001;
>>
>> Integer rpcnum = 0;
>>
>>
>>
>>
>>
>> ARServerUser context=new ARServerUser(name1,swd,"",sname, tcpport);
>>
>> // Check and verify user login:
>>
>>  try {
>>
>>        // If User Pass/Acct name is wrong, this gens an error.
>>
>>        context.login();
>>
>>
>>
>>      } catch( ARException e ) {
>>
>>        System.out.println( "Login Error : " + " Possible Bad password
>> or acct name. " );
>>
>>        //This return ends all further processing and exits...
>>
>>         return;
>>
>>      }
>>
>> List<ActiveLink>
>> aLinkObjs=context.getListActiveLinkObjects("AST:WorkLog");
>>
>> int x = 0;
>>
>> for (int i = 0; i < aLinkObjs.size(); i++) {
>>
>>     System.out.format("\n%20s%60s\n\n", i,
>> aLinkObjs.get(i).getName());
>>
>>     //ActiveLink alink = aLinkObjs.get(x);
>>
>>
>>
>>             try{
>>
>>                 QualifierInfo encryptedQual =
>> aLinkObjs.get(i).getQualifier();
>>
>>                 System.out.println(encryptedQual.toString() );
>>
>>                 RelationalOperationInfo qualEnglish =
>> encryptedQual.getRelationalOperationInfo();
>>
>>
>>
>>                 System.out.println("Qual : "+ qualEnglish.toString());
>>
>>             } catch (Exception e){
>>
>>                 System.out.println("no Qualification\n");
>>
>>             }
>>
>>
>>
>>
>>
>>     if (aLinkObjs.get(i).toString().contentEquals("ASI:AWL:Close_100")
>> ) {
>>
>>         x = i ;
>>
>>        // System.out.println(x);
>>
>>     }
>>
>> }
>>
>> context.logout();
>>
>> }
>>
>>
>>
>> I can get the names of the Active links associated with the named form
>> (in this example I used AST:WorkLog)
>>
>> But I cannot seem to decode the Qualifier. All I get from the output
>> is :-
>>
>>
>>
>>                    1
>> SHR:SHR:Help_003_CheckOnlineHelpInstall_E
>>
>>
>>
>> [Operation=4,Operand Left=[Operation=2,Operand Left=[Operand
>> Type=[type=2],Operand=$LASTCOUNT$],Operand Right=[Operand
>> Type=[type=2],Operand=0]],Operand Right=<null>]
>>
>> Qual : [Operation=2,Operand Left=[Operand
>> Type=[type=2],Operand=$LASTCOUNT$],Operand Right=[Operand
>> Type=[type=2],Operand=0]]
>>
>> I just need some help in decoding the Qualifier. Anyone got any ideas?
>> Thanks in advance!!
>>
>>
>>
>> David Morgan
>>
>> Senior Technical Consultant
>>
>>
>>
>> Tiberone Technologies Limited
>>
>> Golden Cross House
>>
>> 8 Duncannon Street
>>
>> London WC2N 4JF
>>
>> Ph: +44 (0) 207 484 5069
>>
>> Fax: +44 (0) 870 8310 381
>>
>> Mob: +44 (0) 7876 450102
>>
>>  <http://www.tiberone.com/> www.tiberone.com
>>
>>
>>
>>_Platinum Sponsor: rmisoluti...@verizon.net ARSlist: "Where the
>> Answers Are"_
>>
>>______________________________________________________________________
>>_________ UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
>> Platinum Sponsor:rmisoluti...@verizon.net ARSlist: "Where the Answers
>> Are"
>>
>> --
>> This message was scanned by ESVA and is believed to be clean.
>>
>>
>
>____________________________________________________________________________
>___
> UNSUBSCRIBE or access ARSlist Archives at www.arslist.org Platinum
> Sponsor:rmisoluti...@verizon.net ARSlist: "Where the Answers Are"
>
>_______________________________________________________________________________
> UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
> Platinum Sponsor:rmisoluti...@verizon.net ARSlist: "Where the Answers Are"
>
> --
> This message was scanned by ESVA and is believed to be clean.
>

_______________________________________________________________________________
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Platinum Sponsor:rmisoluti...@verizon.net ARSlist: "Where the Answers Are"


 NOTICE: This email message is for the sole use of the intended recipient(s) 
and may contain confidential and privileged information. Any unauthorized 
review, use, disclosure or distribution is prohibited. If you are not the 
intended recipient, please contact the sender by reply email and destroy all 
copies of the original message.

_______________________________________________________________________________
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Platinum Sponsor:rmisoluti...@verizon.net ARSlist: "Where the Answers Are"

Reply via email to