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:[email protected]] On Behalf Of LJ LongWing
Sent: Monday, June 20, 2016 9:20 AM
To: [email protected]
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
<[email protected]<mailto:[email protected]>> 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"