Rabi, I'm curious about one thing you just said.
-- One peculiar thing active links can do that filters can't is that if you want to take the current (transaction) value of a diary field and change it in any way other than adding to the end, active links are the way to go. Filters can't do it. -- I may be off base on this one.but if you take the proposed action, what happens is you take the current transaction value and modify it..true.essentially doing "some string" + "TR.work log"..diaries are treated as char strings essentially via AL's..but once it hits the filter.what's in the worklog is already there, so the best you can do is append to the end.is that what you meant? From: Action Request System discussion list(ARSList) [mailto:arsl...@arslist.org] On Behalf Of Rabi Tripathi Sent: Tuesday, April 20, 2010 4:02 PM To: arslist@ARSLIST.ORG Subject: Re: Logic in active links vs. filters ** One common issue I have seen in a lot of custom Remedy code is the use of Active Links to enforce business rules, data validation etc. Not always a good idea, because if the client is not Remedy User, these rules will be bypassed. Think API programs, Web Services, Remedy Import, runmacro.exe, DSO and also transactions initiated by Push Field actions (and macros as well??). Active links exist/run in Remedy User only (and thru browser/mid-tier, of course), so unless a record is being created or updated because the user clicked on the Save button on that very record on Remedy User, active links (that are set to execute on, say, submit/modify) will never get to execute on the record. It still makes sense to write rules/validation using active links, to provide immediate feedback to the user based on her actions, before the record is saved. But if the rules need to be enforced all the time, you want filters as well, as a foolproof gatekeeper. No transaction can bypass them. -- One thing I learned the hard way (on my RAC exam), was that filters can throw a message, but not an actionable prompt, such as a Yes/No question. I had to redo a lot of my code on the exam because of this surprise. In my defense that was many many years ago and I didn't fully understand how transactions were processed. Now I understand that filters can't in any way cause anything to happen at Remedy User, other than pop a message box after the transaction has completed (or errored out). All the messages from that transaction are lumped together in that one pop up, and the only choice is to click on the "Ok" button. It's not going to affect the transaction in any way, because it already processed. -- One peculiar thing active links can do that filters can't is that if you want to take the current (transaction) value of a diary field and change it in any way other than adding to the end, active links are the way to go. Filters can't do it. For example, you can do this in Active links Work Log = "Some string" + Work Log But if you do the same thing in a filter, the result is Work Log = Work Log + "Some string" Not a big deal most of the time. _______________________________________________________________________________ UNSUBSCRIBE or access ARSlist Archives at www.arslist.org attend wwrug10 www.wwrug.com ARSlist: "Where the Answers Are"