Functional Product Initializer
There are some business scenarios where you cannot use a standard TIBCO Fulfillment Order Management pattern. In these cases, there is a workaround pattern available to address your particular scenario.
Pattern Rationale
The standard TIBCO Fulfillment Order Management plan development specifies that for any action ordered on a parent product, plan items (such as process components) for children must be executed first, before the parent. This can create a problem in some scenarios because you may need to perform an operation for the parent before performing operations related to the children. For example, initializing an inventory entry for the parent product which the children need to refer to.
In this case, because the process component for the parent product is always executed last, you cannot use this pattern.
Pattern Realization
The workaround for this is to create a helper child product (functional product initializer) for the functional product, whose process components for any given action are always executed first in the plan for an order. The process component for the functional product initializer helper could, for example, create an entry for the functional product in an inventory system.
To maximize reusability, this pattern could define two helper products, one for create and one for update, which enables you to reuse the entire product across multiple functional products directly.
Splitting by action allows maximum flexibility in specifying process components. For example, if you require a create and an update process component in the same action, you could use this pattern.