Custom Component IDs Based on Requested Delivery Date and Duration
In some scenarios, you may want to create custom Order Component IDs based on order item requested delivery date and duration. For example, the following custom component ID XQuery creates order component grouping based on the order item requested delivery dates:
declare namespace osm="http://xmlns.oracle.com/communications/ordermanagement/model"; declare namespace prop="http://oracle.communications.ordermanagement.unsupported.centralom"; declare namespace osmfn = "java:oracle.communications.ordermanagement.orchestration.generation.OrchestrationXQueryFunctions"; let $groupDuration := "P2D" return osmfn: getGroupIdByDateTime ($groupDuration)
The XQuery creates a new order component for an order item based on the order item's requested delivery date and includes all order items within this group that fall within two days of the first order item's requested delivery date in the group. The XQuery does the same thing for all other order items within the order.
The following table shows how five order items would be grouped given a custom Order Component ID XQuery that creates a new component IDs.
Note:
The group ID names are static with the first order component always called Group1 and the next Group2, and so on.
Order Item | Requested Delivery Date | Group ID |
---|---|---|
A |
June 9, 2014 |
Group1 |
B |
June 10, 2014 |
Group1 |
C |
June 11, 2014 |
Group2 |
D |
June 12, 2014 |
Group2 |
E |
June 12, 2014 |
Group3 |
See "About Component Specification Custom Component ID XQuery Expressions" for more information about the context, prolog, and body of this XQuery. See "OSM XQuery Functions" for more information about the OrchestrationXQueryFunctions class.