POP Execution

When POP receives a service order, it has already been enriched1 and sequenced. The sequencing defines which product orders are dependent on others within the service order. From these dependencies, POP derives a sequence of slices, representing product orders that can be executed in parallel. A slice represents a set of product orders that are not dependent on each other, and which can be executed at the same time. When one product order depends on another one, the two cannot be in the same slice. The following figure shows a set of product orders arranged in slices.
Product order slices


After the product orders are arranged into slices, POP executes the first slice. The product orders within the slice are executed in parallel and each one completes with a return status (pass, fail or retry). There are two possible outcomes from the execution of a slice:

  • all product orders in the slice executed successfully.

  • one or more product orders in the slice did not execute successfully.

You can set the onPOPError parameter of a service order to affect how the slices are executed.

1 Enriching data is to add new entries to a dataset.