James, To further the comments from LJ,
Think of the `! as saying that operations on this filter should do their filter work now. There are several operations that are by default deferred. Those include things like Run Process – so the process would be run NOW rather than at the end which means it is run regardless of a later error occurring and it runs with values as of right now rather than ones that may be updated later in the process Notification – same as run process Push Fields – Perform the push to the other form and all the cascading logic of that right now rather than putting this on a list of operations to perform after you have finished processing the current record <I am not saying the above list is complete, but it gives the picture> Now, this does not change the fact that ALL SQL that writes to the database is recorded in memory to be written later. We do this to manage transactions effectively and reduce DB lock windows and all kinds of optimization for many users sharing the DB. Application Release Pending simply says to write all pending SQL to the DB RIGHT NOW and to commit the transaction. So, there is no effect on Run Process or Notifications, but any other pending SQL would be written. Important to note, if you did not `! the Push Fields, it HAS NOT BEEN PERFORMED yet so there is no SQL generated yet so there is nothing to release. You would already have to be in the second phase of processing and then it would commit any previously completed Push Fields processing or to have used `! on some filter including a push fields. You can have SOME operations queued up and not others – for example you could have had a `! filter with a push and one without. Only the one with the `! would have been performed by the time you release (again, unless the Release was workflow triggered by the push fields and then some previous Push Fields may have completed in the second phase you are in). All in all, these are very different operations, but they do have an interaction that you can take advantage of and that you need to understand. `! is all about eliminating our deferral of some operations so that those operations work on final data rather than intermediate data and that they are performed only if the main operation in progress was successful. Release Pending is all about writing any queued up SQL to the database and committing it I hope this has helped, Doug Mueller From: Action Request System discussion list(ARSList) [mailto:arslist@ARSLIST.ORG] On Behalf Of LJ LongWing Sent: Monday, June 20, 2016 9:20 AM To: arslist@ARSLIST.ORG Subject: Re: Filter Override ** James, The two are entirely different functions. 1 - Use of `! makes THIS filter have all of its functions run in phase 1 2 - Application-Release-Pending tells the Remedy server to take any actions that have happened previous to this command and go ahead and commit all of those records to the DB, thus impacting your ability to do a rollback if an error occurs after that command, but also makes the new data available for other subsequent commands to query the data. On Mon, Jun 20, 2016 at 9:32 AM, James Smith <bmcremedyarslis...@gmail.com<mailto:bmcremedyarslis...@gmail.com>> wrote: Hi, I was wondering what would be the difference if I override a filter with Application Release Pending process than with a naming convention? Is there any difference between the two methods of filter override options? Cheers, James _______________________________________________________________________________ UNSUBSCRIBE or access ARSlist Archives at www.arslist.org<http://www.arslist.org> "Where the Answers Are, and have been for 20 years" _ARSlist: "Where the Answers Are" and have been for 20 years_ _______________________________________________________________________________ UNSUBSCRIBE or access ARSlist Archives at www.arslist.org "Where the Answers Are, and have been for 20 years"