While the TR is confusing isn't there a performance benefit? If I remember correctly a TR check will not run a query against the database (I haven't actually logged it to verify).
Say you run a daily import of 500k employees (the requirement is to do it during the business hours for whatever reason) and are looking to see if their employment status has changed, if so create a request to take action. The import will perform an initial query the DB to find the existing record to update but then you have a filter that runs if 'EMP_Status' != 'DB.EMP_Status' (a required field). Wouldn't that cause an additional query on the database to retrieve the record you just retrieved? Using 'EMP_Status' != 'TR.EMP_Status' would check the server's memory if the value has changed and eliminate a redundant trip to the DB. In this case using a TR would eliminate 500k less queries to the database. During business hours that may be a huge savings (so I added the business hours part to help my example). Is my scenario correct? Jason -----Original Message----- From: Action Request System discussion list(ARSList) [mailto:[EMAIL PROTECTED] On Behalf Of Rabi Tripathi Sent: Wednesday, October 03, 2007 6:09 PM To: [email protected] Subject: Re: Filter Problem Thad, I'm glad there's at least one person in the world who has settled on the same rule regarding use of TR values. Don't! Cause it's not necessary. There's no qualification you can't build without using TR. It's nothing but trouble. TR values tend to confuse people, as is evident from this thread. Even if you completely understand the nuances, there are many instances (many ways data can change) in which TR value will not be what you think. TR values give you what you expect only if the update is being done in Remedy user from a record that is "on display". If the update is being done from a dialog (common in ITSM 6), or if workflow is doing a query to get values and then pushing it back, use of TR values will drive you crazy. Why do you want to be driven crazy, I ask. There are enough opportunities to be driven crazy other ways. It has been around 5 years since I stopped using TR values. In with 'Field Name' != 'DB.Field Name' In with 'Field Name' != 'DB.Field Name' AND 'Field Name'!= $NULL$ Out with 'TR.Field Name' = $NULL$ (which misses blanking out of data anyway) --- Thad K Esser <[EMAIL PROTECTED]> wrote: > Also, it could have a value if the record update is > the result of a push > fields from somewhere else. One way to get a handle > on this is to run a > short SQL log and find the update statements. If a > field is included in > the SET clause, the "TR" concept applies, whatever > the actual value. > > My two rules for TR and DB values: > 1. Don't use TR values (DB values are > useful & good). > 2. If you need to use a TR value, see rule > #1. > > Thad Esser > Remedy Developer > "Argue for your limitations, and sure enough, > they're yours."-- Richard > Bach > > > > "Mayfield, Andy L." <[EMAIL PROTECTED]> > Sent by: "Action Request System discussion > list(ARSList)" > <[email protected]> > 10/03/2007 07:55 AM > Please respond to > [email protected] > > > To > [email protected] > cc > > Subject > Re: Filter Problem > > > > > > > OK, I think after a few cups of coffee I am now able > to comprehend this. > > TR.Field != $NULL$ should fire anytime the field is > changed, unless it > is actually set to NULL. > > That is rather confusing to simple minded folk such > as myself (-: > > Andy L. Mayfield > Sr. System Operation Specialist > Alabama Power Company > Office: 8-226-1805 > > > -----Original Message----- > From: Action Request System discussion list(ARSList) > [mailto:[EMAIL PROTECTED] On Behalf Of Shellman, > David > Sent: Wednesday, October 03, 2007 9:16 AM > To: [email protected] > Subject: Re: Filter Problem > > Andy, > > As Axton said TR.field really is the value of the > transaction. > > If a field doesn't change then the TR.field is null. > There isn't a > transaction because the DB.field and field are the > same. > > If a field changes TR.field evaluates to what was > just entered. So if > you change a field from Hello World to Good Morning, > TR.field will > evaluate to Good Morning, DB.field evaluates to > Hello World, and the > field evaluates to Good Morning. > > The tricky one is where the field was Hello World > but is now set to > NULL. The DB.field is Hello World and the field > value is NULL. Because > there is a change there is a transaction but the > TR.field evaluates to > NULL because the field is actually set to NULL. > > Dave > > -----Original Message----- > From: Action Request System discussion list(ARSList) > [mailto:[EMAIL PROTECTED] On Behalf Of Mayfield, > Andy L. > Sent: Wednesday, October 03, 2007 10:06 AM > To: [email protected] > Subject: Re: Filter Problem > > I thought everyone was saying that if I set a field > to NULL (that > previously had a value), the TR value would NOT be > NULL? > > I am getting confused. I may need to take a break > for coffee and a > cigarette to clear my head (-: > > >Andy L. Mayfield > Sr. System Operation Specialist > >Alabama Power Company > Office: 8-226-1805 > > > -----Original Message----- > From: Action Request System discussion list(ARSList) > [mailto:[EMAIL PROTECTED] On Behalf Of Axton > Sent: Wednesday, October 03, 2007 8:41 AM > To: [email protected] > Subject: Re: Filter Problem > > This one that probably often trips people up; if you > set the field to > null, the TR value will be null. > > The TR value represent the current transactions > value, if no change > occurred in the transaction, then the TR value is > null > > The DB value represents what was last committed to > the database; prior > to the current transaction > > The value represents the current value, regardless > of the TR or DB > values > > Axton Grams > > On 10/3/07, Mayfield, Andy L. > <[EMAIL PROTECTED]> wrote: > > ** > > > > > > > > OK, I thought I had this figured. So if while > modifying a ticket, you > > change a field that previously had a value, to > NULL (blank) then the > TR > > value is NOT NULL. > > > > > > > > I need more coffee. > > > > > > > > > > Andy L. Mayfield > > Sr. System Operation Specialist > > Alabama Power Company > > Office: 8-226-1805 > > > > ________________________________ > > > > > > From: Action Request System discussion > list(ARSList) > > [mailto:[EMAIL PROTECTED] On Behalf Of Joe > D'Souza > > Sent: Tuesday, October 02, 2007 10:57 PM > > > > To: [email protected] > > Subject: Re: Filter Problem > > > > > > > > > > > > Yes the TR value is NULL if there is no > modification even if there is > a DB > > value to that field.. > > > > > > > > > > > > This is how it works.. when you are submitting a > new record, and if > there is > > a value in the field, then the TR value is not > NULL (obviously). The > DB > === message truncated === ____________________________________________________________________________ ________ Catch up on fall's hot new shows on Yahoo! TV. Watch previews, get listings, and more! http://tv.yahoo.com/collections/3658 ____________________________________________________________________________ ___ UNSUBSCRIBE or access ARSlist Archives at www.arslist.org ARSlist:"Where the Answers Are" _______________________________________________________________________________ UNSUBSCRIBE or access ARSlist Archives at www.arslist.org ARSlist:"Where the Answers Are"

