Hi Misi,

The structs involved in values are similar in that they are a binary tree.
There are no parentheses.  The function that creates strings from them
(there wasn't one when I wrote my f()) may be faulty.  In particular, I
would consider your example of the missing parenthesis a serious flaw.  You
could look in the native representation of the assignment on the server
(using an sql query) and then interpret it manually to verify that the fault
is only on the new admin tool's representation of the (hopefully) correct
internal representation.

I'll have somewhat of a look when I run my schema dump program on a 7.5 ITSM
as I still use my old f() to transform these structs into human readable
strings.  This won't happen too soon though.

In any event, dropping the parentheses in your expression and then saving
your workflow again will cause a problem and is a serious bug.

Good luck in Vegas

Cheers
Ben

-----Original Message-----
From: Action Request System discussion list(ARSList)
[mailto:[email protected]] On Behalf Of Misi Mladoniczky
Sent: October 29, 2009 9:13 AM
To: [email protected]
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:[email protected]] On Behalf Of Misi Mladoniczky
> Sent: Wednesday, October 28, 2009 4:31 AM
> To: [email protected]
> 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:[email protected]] On Behalf Of David Morgan
>> Sent: Tuesday, October 27, 2009 8:33 AM
>> To: [email protected]
>> 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: [email protected] ARSlist: "Where the 
>> Answers Are"_
>>
>> _____________________________________________________________________
>> _ _________ UNSUBSCRIBE or access ARSlist Archives at www.arslist.org 
>> Platinum Sponsor:[email protected] 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:[email protected] ARSlist: "Where the Answers Are"
>
> ______________________________________________________________________
> _________ UNSUBSCRIBE or access ARSlist Archives at www.arslist.org 
> Platinum Sponsor:[email protected] 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:[email protected] ARSlist: "Where the Answers Are"

_______________________________________________________________________________
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Platinum Sponsor:[email protected] ARSlist: "Where the Answers Are"

Reply via email to