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"

Reply via email to