Manual intervention in a process flow (restart, retry or reroute): Part I

As a follow up on the emailing errors from process flows, this post looks at using the Manual activity in the process flow editor to choose a path interactively. If you combine this post with the emailing post, you basically replaced the workflow notification (which requires a middle-tier) with a fully out of the box solution without middle tier.

The Manual activity is essentially a simple activity, in that it always waits for input from the OWB Browser. The input is in the form of the result codes OK, OK with Warnings or Failure. In the browser you can choose which one you have posted as the outcome for the activity. You can however now build very interesting scenarios like restarting or retrying activities based on an administrators decision to do so. And this can be done after taking the required corrective action...

For this posting (don't worry the rest will follow soon) lets just look at a basic example as to how we can get the manual interaction to work.

Create a process flow package and a process flow that looks like this:

ProcessWithManualActitity:

The idea here is to show the results as to what will happen. When I press Failure in the Browser it will go through the error stream and execute the procedure (which simply inserts 'yes' into a table, you do not need this to get Manual to work!) so I can see what is going on...

The parameter values are set as text strings, and in this case I've left the priority at 50 (medium, see the online help for details on priority):

ManualParametersToSet:

Deploy the package to workflow using the normal steps and execute the process flow.

Run the process flow, the control center now looks like this (note you can start this from the browser as well!):

RunningFlowFromCCM:

In my case it will basically sit in "Busy" until I do something with the Manual activity, so lets get going on that one. Launch the OWB browser and to into the Execution Schedule Report. Find your process flow and note it is Busy (as I said)...

MainJobExecutionScreen:

Click the Execution Job Report on the Busy line to drill into the flow, you will get the following page:

ExecutionDetailsToExpedite:

Notice the Expedite Button etc in the red box. Do NOT press that one, this will push the process flow to the end and basically aborts the entire thing. I did this and it does not do what we are trying to do here! Instead click on the Execution Job Report for the Manual Activity (the Green Box), you will get a very similar page, but now just for this activity:

ExpediteScreenForManualActivity:

Here choose Expedite after setting the status (the red box again). In the green box you can see the text and body where you can tell administrators what is going on. We tried doing some formatting with HTML tags, but that does not quite work as you can see.

Now press the Expedite Execution button and you'll see a Busy_Failure (or Busy_OK) status and after the process runs to completion you will see the approriate end status (in my case a failure).

ExpeditedStatusResult:

Next up, doing some loop backs around the manual activity...

Comments:

Post a Comment:
  • HTML Syntax: NOT allowed
About

ETL, CDC, Real-Time DI and Data Quality for the Oracle Database from the inside.

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today