Requirement
An association is available to link a Parameter to a ProductOrderFlow. In the Parameter screen of the Fulfillment Provisioning Catalog GUI a checkbox allows users to define ProductOrderFlow associations. Conditions can be used upon those associations. If more than one association is set, the first valid one is used.
There are three reasons why Fulfillment Provisioning Catalog may start a new iteration to retrieve a value of an unknown parameter:
-
Before any decomposition, Fulfillment Provisioning Catalog checks if some parameter in ProductOrderData dataset has been valued with the constant kop::VALUE_RETRIEVE (that is, "GETDEF").
-
During decomposition/validation step, some "mandatory" parameter is missing.
-
During decomposition/enrichment step, Fulfillment Provisioning Catalog enriches with a parameter valued to kop::VALUE_RETRIEVE (set in Pattern / TechProduct or Product Definition).
For each of these three cases, an error is raised if the parameter has no POF association, or none of its POF associations are valid. Each POF related to these "to be retrieved" parameters is processed in the same slice. No specific ordering can be set. If a parameter is present in two different PODs, two POFs (even if they are equal) will be processed. Fulfillment Provisioning Catalog stops the current iteration and forces POP to try and resolve the missing value(s). During this iteration, in Fulfillment Provisioning Catalog, if resolution fails (that is, if the parameter still has no value) Fulfillment Provisioning Catalog returns an error. Each pre-iterated POF is bound to a temporary TechProductOrderData which is deleted once successfully processed after Fulfillment Provisioning Catalog has copied all parameters of its dataset within the dataset of TPO that initially had the "GETDEF" parameter. No rollback is possible on this temporary TPO.
In the decomposition step, Fulfillment Provisioning Catalog stops its current iteration when a TPO requires one to many POF to be processed. When SO is returned to SOP, Fulfillment Provisioning Catalog looks for the value of the missing parameters among the dataset of temporary TPO, stores this dataset for immediate use if early enrichment is chosen (in the Domain definition) or will apply them as final step if late enrichment is chosen. Up to ten iterations will be made.
Consider the following example:
SOD has six POD. Four of these POD have missing parameters Fulfillment Provisioning Catalog resolves the four corresponding POF and stops its iteration, forcing POP to process those four POFs. When the SO goes back to SOP, Fulfillment Provisioning Catalog updates the missing values (enrich dataset in early enrichment mode).