Wait, wait...

This statement isn't right:

"..the discussion isn't TRversus DB values, but rather whether or not there is 
a need to use theTR values (DB values are useful)."

No, the point is in a filter qualification when you refer to a field name on 
the form, it is assumed by the AR Server engine that the value *is* the TR 
value.  Hence, many people argue that adding the TR prefix merely adds fluff or 
noise.  This qualification:

  ('TR.Fieldname' != 'DB.Fieldname')

...is identical to:

  ('Fieldname' != 'DB.Fieldname')

To your first point, that you don't need the first half of:

  ( 'TR.Fieldname != $NULL$ ) AND ( 'Fieldname' != 'DB.Fieldname' )

...be sure you understand what you really want the filter to do.  What this is 
saying is, "I want the filter to fire if the transactional value -- i.e., what 
the user just entered in the field -- is not null, *AND* it's different from 
what's in the database."  

And you could write it like this:

  ( 'Fieldname != $NULL$ ) AND ( 'Fieldname' != 'DB.Fieldname' )

...because field names without the TR prefix are presumed to be references to 
the current value in the form as the filter is executing.

However, I've said it before -- I frequently will add the TR "fluff" if I think 
it helps readability.  



--Tim


----- Original Message ----
From: Thad K Esser <[EMAIL PROTECTED]>
To: [email protected]
Sent: Friday, February 22, 2008 12:52:17 PM
Subject: Re: [ARSLIST] Interview questions

**
"We settled on 'TR.Fieldname != $NULL$ AND 'Fieldname'
!= 'DB.Fieldname'  
What's wrong with this?"

Its more complicated than it needs to
be.   ('Fieldname' != 'DB.Fieldname') by itself will give you the
same results.

By the way, the discussion isn't TR
versus DB values, but rather whether or not there is a need to use the
TR values (DB values are useful).  My contention is that using TR
values introduces unnecessary confusion and can cause unexpected results,
without any benefit.

I'll drop the topic for now, but if
anyone wants to continue the discussion off-list feel free to email me.

Thad Esser
Remedy Developer
"Argue for your limitations, and sure enough, they're yours."--Richard Bach


"Mike White"
<[EMAIL PROTECTED]> 
Sent by: "Action Request System
discussion list(ARSList)" <[email protected]>02/22/2008 08:27 AMPlease 
respond to
[email protected]


To
[EMAIL PROTECTED]

Subject
Re: Interview questions






** Hello, Matt!

This TR-vs-DB discussion usually gives me a headache that only a few beerscan 
cure, but I'll weigh-in, anyway (proving that I can't learn from history!).

Unless I misunderstood, Richard offered 

( 'TR.lesson_status' = "Completed") 

as an alternative to 

('DB.lesson_status' != "Completed" AND 'lesson_status' = "Completed")

Good point about the db search, but I'd add the obvious - using only theTR 
value exposes the Filter to workflow updates. If another Filter 
pushes"Completed" to the record, even though it's already populatedwith 
"Completed", the Filter will fire.

We settled on 'TR.Fieldname != $NULL$ AND 'Fieldname' != 'DB.Fieldname'

What's wrong with this? And more to the point, what was wrong with 
David'soriginal Run If:

( 'lesson_status' = "Completed" ) AND ( 'DB.lesson_status' !="Completed" )

I don't see where it would be a problem, either. ('Not sure I understoodhow API 
updates impact it).

Mike White
Office: 813-978-2192
E-mail: [EMAIL PROTECTED]
Carey Matthew Black <[EMAIL PROTECTED]>



Carey Matthew Black <[EMAIL PROTECTED]>
Sent by: "Action Request System discussion list(ARSList)" <[email protected]>
02/22/2008 10:52
Please respond to arslist


To: [email protected]
cc: 
Subject: Re: Interview questions


Actually...

Run If qualifications (for Filters) do not cause "searches" tothe DB.
( Which are the only context that the 'TR' vs 'DB' discussion makes
any sense in.) Run If's (for Filters and Active Links) are evaluated
by the ARS application (server or client) and not sent to the RDBMS.
However, Escalations Run If's are sent to the RDBMS as well as
Set/Push field qualifications.


Yes.. Yes... if you reference 'Field' or 'DB.Field' in a Filter Run If
then the record of interest for the transaction is fetched from the
DB. But that is based on 'Entry ID' (Field 1) and is the unique
clustered index on the form so that search is mute. It is the best
that the DB can do and the value of having the DB values at had
generally far out ways the cost of that trip to the RDMBS. (IMHO)

-- 
Carey Matthew Black
Remedy Skilled Professional (RSP)
ARS = Action Request System(Remedy)

Love, then teach
Solution = People + Process + Tools
Fast, Accurate, Cheap.... Pick two.

On Fri, Feb 22, 2008 at 10:15 AM, McCabe, Richard A. (CMS/CTR)
<[EMAIL PROTECTED]> wrote:
> **
>
>
>
> The following statements would fire the same, but the first statementwould
> be cleaner to read, and more efficient as it would not cause a fullquery of
> the table by causing the database to run a "not equal to"search bypassing
> your indexes. ( 'TR.lesson_status' = "Completed") vs. ('DB.lesson_status'!=
> "Completed" AND 'lesson_status' = "Completed")
>
>
>
> Richard McCabe
>
>
>
>
> ________________________________
>
>
> From: Action Request System discussion list(ARSList)
__Platinum Sponsor: www.rmsportal.com ARSlist: "Where the AnswersAre" html___ 

***IMPORTANT NOTICE: This communication, including any attachment, contains 
information that may be confidential or privileged, and is intended solely for 
the entity or individual to whom it is addressed.  If you are not the intended 
recipient, you should delete this message and are hereby notified that any 
disclosure, copying, or distribution of this message is strictly prohibited.  
Nothing in this email, including any attachment, is intended to be a legally 
binding signature.***

__Platinum 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