Single Use
Single Use ensures that if the products have same product ID and have been defined for single use with the order line actions as PROVIDE then those products are not provisioned more than once. It deletes one of the instances and ensures that the dependencies point to the single instance, which still remains in the plan. This is done for products with the same parent only.
E.g. for a batch of phones typically we would only want to only send one shipment.
Product Model description in relation to Single Use:
The Product Model diagram shows the Single Use feature. If the Order is a 'BUNDLE in a single Order line', the UserID is generated only once, although it has been ordered twice by the products Broadband and VOIP respectively.
If the product exists more than once on the order, then it is only included once in the final plan. If the product exists on the order and in the inventory, it is not included in the plan.
Provide Single Use
The product catalog contains 2 bundles BundleA and BundleB. BundleA contains 2 sub products A and B. Both the sub products have sequence set to “1” and auto provision set to “True”. A has the attribute single use set to “True” while B has the attribute set to “False”. BundleB contains 2 sub products A and C. Both the sub products have sequence set to “1” and auto provision set to “True”. A has the attribute single use set to “True” while C has the attribute set to “False”.
The order sent into AFF will contain 2 order lines. Order line 1 contains BundleA with order line action Provide. Order line 2 contains BundleB with order line action Provide. Both the order lines will contain a UDF with name SingleUseID and the value will be the same for both BundleA and BundleB.
The generated plan will contain only one instance of sub product A. BundleA which will contain a dependency to sub product A and B. BundleB will contain a dependency to sub product A and C. The UDFs will not be merged into the retained product.
Cease Single Use
This functionality ensures that if the products have same product ID and have been defined for single use with their order line actions as PROVIDE and CEASE then those products are not provisioned more than once. It deletes instance which has its order line action as CEASE, mark the action as UPDATE and also ensure that the dependencies point to the PROVIDE instance which still remains in the plan. This is done for products with the same parent only. Single Use is modeled in product model by setting record attribute single use as true.
In this scenario the Cease instance of the product will be removed from the plan. Bundle A will have a dependency to both sub product A and B. BundleB will have a dependency to both sub product A and C. The instance of A still left in the plan will have a new line action of UPDATE. The UDFs will not be merged into the retained product.
The plan fragment as well as the plan description will be set to the Update fragments from the product information.
In cases where the sub product A has dependent products all those dependent products will be made dependent to the remaining instance of product A.
Update Single Use
This functionality ensures that if the products have same product ID and have been defined for single use with their order line actions as PROVIDE and UPDATE then those products are not provisioned more than once. It deletes instance which has its order line action as PROVIDE and also ensure that the dependencies point to the UPDATE instance which still remains in the plan. This is done for products with the same parent only.
In the following scenario the Update instance of sub product A will remain in the plan. Bundle A will have a dependency to both sub product A and B. BundleB will have a dependency to both sub product A and C. The instance of product A will retain the line action of UPDATE. The UDFs will not be merged into the retained product.
The plan fragment as well as the plan description will be set to the Update fragments from the product information
Sequenced Single Use
In this scenario OfferingA contains both BundleA and BundleB which have been sequenced 2 and 1 respectively. Since both bundles contain sub product A, this product will be merged into a single instance. BundleB will be the only product to contain a dependency to sub product A since it is the 1st product to be provisioned in the plan. BundleA will have the dependency to sub product A deleted.
The UDFS will be merged as mentioned in the above scenarios. The lineIDs and EOL attributes will merged as well with a comma as a separator.
Unconditional Removal of Child Products
The hierarchy single use flag in ConfigValues_AOPD.xml enables the unconditional removal of child products from the Plan. To enable this functionality, set the following flags:
- HierarchySingleUse = true (in AOPD).
- Merge inventory in AOPD request = true (in the OMS UI Configurator/ Member1/OMS AFI Configuration/Orchestrator-AOPD Integration Configuration).
The HierarchySingleUse flag needs to be set for the Inventory Single Use functionality to work irrespective of Unconditional Removal of products. Unconditional removal of products removes all the child products of a product deleted due to single use. The MergeInventory flag should be set to true even if products are removed conditionally for inventory single use.
After implementing these settings, the HierarchySingleUse use case works for SingleUse as well as InventorySingleUse cases.
TIBCO Fulfillment Order Management provides an inbuilt integration with TIBCO Fulfillment Subscriber Inventory. In order to use this component, configure the properties in the ConfigValues_OMS.xml file described in "Post Installation Task: Integrating with TIBCO Fulfillment Subscriber Inventory" in the Fulfillment Order Management Installation and Configuration guide.