That's actually the approach I took.  It's a bit complicated...but Push to
Form 1 causes Push to Form 2 that does a Run Process that pushes back to
Form 1 (yes, it's necessary).  That final push back to Form 1 can cause
errors.  I tried to do an error handler on the filters that fire on modify
of Form 1 to capture the errors and silently log them, but alas, because I
was handling the error silently it wasn't causing a rollback, so Remedy was
trying to update 'Last Mod By' fields on records that weren't created which
was throwing 'entry does not exist' errors back to my script which was
causing a rollback anyway, and my error handling ended up not doing
anything...so I do my error handling in the script that's called in Push 2,
the script causes another 'push' to happen to update the record I need with
the error and it's all working the way I need, so thanks for the suggestion
:)

-----Original Message-----
From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of Carey Matthew Black
Sent: Thursday, August 06, 2009 7:41 PM
To: arslist@ARSLIST.ORG
Subject: Re: Handle the error, but still cancel the transaction

LJ,

There are a few actions that will not be "rolled back". Unfortunately they
are not as trivial to setup as a Push action. :(

I would suggest this approach...

Create a DB table of your own. Keep it simple and focused with just a few
columns.
Message number (integer column) AKA: $FILTER-ERRNO $ ) MessageText (varchar
[or the like] AKA: $FILTER-ERRMSG $ ) MessageTextAppended (varchar [or the
like] AKA: $FILTER-ERRAPPENDMSG $ )

Then I would have the error handler do a non-phased SQL action to insert a
row into the DB table. Last throw the ARS Error to role back the ARS event
as much as it can.

Another approach would be to use a non-phased Run Process, or $PROCESS$ call
to an external script and pass the values out to the script. That way the
external process will be a separate transaction that will not be rolled back
by the error. Then the script can login to ARS (or your DB) or just log it
to a local file system, or send email.. etc... etc...

Maybe that approach would help?

You still have to throw the error, but you also get to leave behind the
information you want to keep.

--
Carey Matthew Black
BMC Remedy AR System Skilled Professional (RSP) ARS = Action Request
System(Remedy)

Love, then teach
Solution = People + Process + Tools
Fast, Accurate, Cheap.... Pick two.



On Thu, Aug 6, 2009 at 3:44 PM, LJ Longwing<lj.longw...@gmail.com> wrote:
> **
> ARS 7.1 Patch 6
>
> Here is the situation...I'm wondering if it's possible, but don't 
> think it is.
>
> I have some transaction that causes an error to occur.  I want to be 
> able to capture that Error in a record in the system, but roll back the
transaction.
>
> If I build an error handler that performs the set/push field to 
> capture the data, but don't throw an error, the error is considered 
> 'handled', and Remedy continues on it's merry way....is there a way to 
> get an error, capture it in a record, but not continue without throwing
that error?

____________________________________________________________________________
___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org Platinum
Sponsor:rmisoluti...@verizon.net ARSlist: "Where the Answers Are"

_______________________________________________________________________________
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Platinum Sponsor:rmisoluti...@verizon.net ARSlist: "Where the Answers Are"

Reply via email to