Please click here for full reference on Random DSC
Using the Avoka Random Number DSC
Scenario
Due to external or internal requirements a business process needs to have 5% of its instances to be audited for purposes of compliance or quality control.
So we essentially need to send 5% of cases down another path, in parallel to the primary flow of work.
Of course we could perform some obtuse scripting to do this, however a far simpler technique is to use the Random Number DSC within a chained process.
The Random Number DSC
|

|
The Random Number DSC is able to generate random numbers between a minimum value and a maximal value. It generates integer values or float values.
It can also generate random numbers according to a bell-curve distribution, where the user enters in a mean (average) value, and a standard deviation (the variance). |
|
To obtain an evaluation copy of the Random Number DSC, go to the Avoka Website: http://www.avoka.com and follow the links.
The Random Number DSC, once installed, will appear as a new service with two operations in your LiveCycle WorkBench. |

|
The Process
For 5% of cases we need to begin a compliance checking process. This compliance check cannot just be spliced into the main flow of the process, as this will slow the primary process down. Therefore we use a Gateway set to "no-wait", in conjunction with the chained sub process "Compliance Check". Setting the gateway to no-wait allows the task "Do Action" to begin in parallel to the chained sub-process.
In 95% of cases the sub-process completes immediately, and in 5% of cases the sub-process (below) begins the first step of the compliance process. To do this we use the Random Number DSC to generate a number between 1..100, and if the number is 1..5 we route the case differently, as shown.
Setting Properties on the Random Number Step
|

|
To configure the Random Number properties we first click on the Random Number step and view the properties tab.
Next select 1 and 100 as the min and max numbers respectively.
Rounding to the nearest integer makes the routing logic cleaner at the process split.
Then we apply the result to the variable "random". |