Actually, I tend to use field IDs all the time in my qualifications inside API 
programs.  Why?  Because even though nobody should ever change a field's 
database name, there is always the possibility that it could happen.  Some 
people just can't keep well enough alone.

To address the readability issue, I assign either a constant (static final) or 
create a configuration option.  Often the name I assign to the constant is more 
meaningful than the field name.  When it comes right down to it, query strings 
are still magic strings, which most good programmers try to avoid.  So the best 
solution, for me anyway, is to create configurable query strings, stored 
externally, where the field IDs are replaceable tokens.  It might sound like a 
lot of work, and it can take extra time up front, but I've never regretted it 
in the long run.

But to the question at hand, since 7 is a core field, there's already a 
built-in constant value that you can use to make the code more readable:

Contants.AR_CORE_STATUS

--Tim


----- Original Message ----
From: Jack Boespflug <[EMAIL PROTECTED]>
To: [email protected]
Sent: Thursday, February 28, 2008 9:49:19 AM
Subject: Re: [ARSLIST] 7.1 Server with 7.0 API - Qualification Error

**Joe,

There is nothing wrong with the qualification I am using.  Like I said, the 
same qualification works on the same form in ARS 6.0, 6.3, and 7.0.  Since this 
call is made through the API we have to use the field name, not the field 
label, so the last item on the list you provided isn't valid for this situation.

I have tried all of the following:
'Status' = "New"
'Status*' = "New"
'7' = "New"

The only one that worked is the last one, which uses the field ID.  This is 
less than ideal because it is unreadable by anyone other than a Remedy admin.  
Obviously this simple query isn't too hard, but using a combination of multiple 
fields will get unreadable quickly.

Jack


On 2/27/08, Joe D'Souza <[EMAIL PROTECTED]> wrote:**Jack,
 
According to the Error message 
description for this error this error occurs when:
 
The field referenced in the search line is not a recognized field on the 
current form. This error often has one of the following causes:
 
*  Omitting the single quotation marks around a field 
reference that contains spaces or other special characters
 
*  Using single quotation marks around a value when 
double quotation marks must be used
 
*  Omitting double quotation marks from around a 
value
 
*  Specifying an invalid field label
 
Fix the format of the line, and perform the search 
again.
 
Check all these and if you 
still have a problem write back..
 
Joe
  -----Original Message-----
From: Action Request System   discussion list(ARSList) [mailto:[EMAIL 
PROTECTED] Behalf Of Jack   Boespflug
Sent: Wednesday, February 27, 2008 10:34 PM
To:   [email protected]
Subject: Re: 7.1 Server with 7.0 API -   Qualification Error


** Correction, the ARERR is   1587.

  On 2/27/08, Jack 
  Boespflug <[EMAIL PROTECTED]>   wrote:  We     are using the 7.0 API with a 
7.1 AR Server, and are having problems     with
qualifications.

If a qualification used with the API accesses     a field where the field label
is the same as the field name, there is no     problem.  Qualifications work
just fine.  If a     qualification used with the API accesses a field where the
field label     and name differ, we are getting an ARERR 1589 error.

So if a form has     a status field with label 'Status' and field name 'Status',
a     qualification of 'Status' = "New" will work just fine with the 7.0 API    
 and
7.1 server.

If the form has a status field with label     'Status*', and field name
'Status', a qualification of 'Status' = "New"     will not work.  This same
query does work with a 7.0 server     however.

We cannot use the 7.1 API yet, as our codebase is still     using the old API
classes.

Does anybody have any knowledge     regarding this issue?




-- 
Jack   Boespflug
Kinetic Data, Inc.
235 E. 6th Street, Suite 400B
St. Paul,   MN 55101
651-556-0928
[EMAIL PROTECTED]

__Platinum Sponsor: www.rmsportal.com ARSlist: "Where the Answers Are" html___



-- 
Jack Boespflug
Kinetic Data, Inc.
235 E. 6th Street, Suite 400B
St. Paul, MN 55101
651-556-0928
[EMAIL PROTECTED] Sponsor: www.rmsportal.com ARSlist: "Where the Answers Are" 
html___



_______________________________________________________________________________
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Platinum Sponsor: www.rmsportal.com ARSlist: "Where the Answers Are"

Reply via email to