So, not knowing all the workflow in your process, I can't recommend anything to 
change to make it work with phase 1 and phase 2 processing, so I'll answer your 
question directly.

There is no filter phase override to make them run in phase 3 (only phase 1).  
However, the following actions do occur in phase 3:  Notify, Run Process, and 
DSO.  The run process includes external and internal run process directives.  
We had a similar issue with phase processing that was addressed with a temp 
form and 2 filters.  Here is what we did:

1)      Create a temp form (called whatever) and create 1 filter that runs on 
"Submit" that does a "Run Process" action of "Application-Delete-Entry $SCHEMA$ 
$1$" (remember you may need to put the $SHEMA$ keyword in quotations if your 
form name has spaces in it).

2)      Create a 2nd filter on the temp form that runs on "Delete" which does a 
push to the form you need processing on phase 3 to occur.

So, if you follow the flow, you get:

1)      Push from Form A to Form B and Temp for (i.e. 2 push actions).

2)      All workflow for phase 2 runs on form B.

3)      Phase 3 processing kicks off (i.e. the run process) and deletes the 
entry on the Temp Form which triggers the update to Form B (simulating a Phase 
3 update).

Now, you'll also need to remember that because you are doing 2 pushes to Form B 
(one from Form A and one from the Temp Form), you need to disable any workflow 
processing from the 1st push (i.e. form A).  This is accomplished by pushing a 
special keyword or possibly a status value to form B in the 1st push that 
triggers a "Goto" action on Form B to jump to 1001 (i.e. jump over all workflow 
execution).  That way you don't get workflow firing twice on one update.

One other thing to note is that because the 2nd push is executed from a 
"delete" action, you don't get any feedback (i.e. messages) published back to 
the end user (if you have any).  You can get around this by creating an "After 
Modify/After Submit" active link that possibly reads the result message from 
Form B.  You'd have to store the message on Form B somewhere in a field.

Hope this is the kind of answers you were looking for.

Robert Babineau, P.Eng.
Bell Aliant
robert.babin...@bellaliant.ca

From: Garrison, Sean (Norcross) [mailto:sean.garri...@fiserv.com]
Sent: December 16, 2011 3:14 PM
Subject: How do I force a filter to only happen after save? i.e. phase 3 ....

**
I have a workaround for this but I don't really like it.  But here is the 
problem I am trying to solve:

We have a custom crm app that contains people and clients.  I am trying to 
trigger an event for each client related to a person whenever a field is 
changed on the people record.  I have set up a filter that does a push fields 
to a temp field on a join form to fire the workflow.

Here is what is happening:


1.        I change the person's last name.

2.       Filter processing begins and filters fire.

3.       Filter processing phase 2 begins.

4.       I do a push fields to a join form to trigger the event.

5.       Filter processing phase 3 begins.

<Filter Level:0 Number Of Filters:50> Checking 
"CKFR:DM:People-on_Submit/Modify-990-PushContactChangesToPeople-Assn_Join~!" 
(990)
--> Passed -- perform actions
0: Push Fields -> "CKFR:DM:People-Assn_Join"
<deferred to phase 2>

Even though I changed the name from "Smith" to "Jones" in my event I get 
"Smith" because the processing was done in phase 2.  I am not pushing the "Last 
Name" field to the join form because it already has it (that's why I created 
the join in the first place).  In addition because the "Jones" is in 
transaction it is not committed in the db yet.  I have a workaround but for the 
sake of learning was wondering if anyone has run into this before and what I 
could do to resolve it.

I have tried the following options:


1.        Put a ~! At the end of the filter name.

2.       Use "Application-Release-Pending" run process command before the 
action fires in the filter.

3.       Use "Application-Set-Filter-Phasing "value" where value = "1".  This 
didn't work either.

4.       Use the "PERFORM-ACTION-APPLY" run process command

Thanks,

Sean


_attend WWRUG12 www.wwrug.com ARSlist: "Where the Answers Are"_

_______________________________________________________________________________
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug12 www.wwrug12.com ARSList: "Where the Answers Are"

Reply via email to