Calculating the order priority
Summarize
Summary of Calculating the order priority
Order priority in ServiceNow Order Management for Telecommunications is calculated using ranks and weightages defined in decision tables. This priority helps determine how orders and order line items are handled based on their urgency and importance. Priority levels range from Critical to Low, assisting customers in managing workflows effectively.
Show less
Key Features
- Priority Calculation: Priority is computed as the weighted average of ranks from multiple decision tables using the formula:
Priority = (sum of (rank × weight)) / (sum of weights). - Priority Levels: Defined as Critical (80-100), High (60-80), Medium (40-60), and Low (below 40).
- Customizable Priority Rules: Customers can modify rank and weight values in the
snindtmtorm.PriorityManagementextension script, which overrides decision table values. - Adding New Priority Rules: Customers can create additional decision tables and script implementations to introduce new priority rules. This involves:
- Creating a new decision table with inputs and rank results.
- Implementing a scripted extension point by editing
getRank()andgetWeightage()methods to return appropriate values.
- Propagation of Priority: The highest priority among order line items sets the priority for the overall customer order and propagates to domain orders and order tasks.
- External Orders: For orders from external systems, if a valid priority is provided, it is used; otherwise, the system calculates priority using decision tables. For customer orders, the system-calculated priority overrides any external priority.
Key Outcomes
- Facilitates prioritization of orders based on customizable business rules, improving operational efficiency.
- Enables flexible extension and customization to align priority calculations with unique organizational needs.
- Ensures consistent priority propagation across order line items, customer orders, domain orders, and tasks.
- Supports integration with external order capture systems while maintaining control over priority assignment.
Order priority is calculated based on the rank defined in the decision table and the weightage assigned to each table.
- Critical: 80 - 100
- High: 60 - 80
- Medium: 40 - 60
- Low: <40
Priority is calculated as follows:
sum of (rank * weight)/sum of weight
For example, if the rank and weight for each decision table is defined as follows:
| Decision table | Rank | Weight |
|---|---|---|
| Customer | 100 | 10 |
| Specification | 80 | 25 |
| Order type | 80 | 35 |
| Urgency | 60 | 30 |
In this example, priority is calculated as:
Priority = (100 * 10 + 80 * 25 + 80 * 35 + 60 * 30) / (10 + 25 + 35 + 30) = (7600)/100 = 76
Adding a priority rule
- Navigate to.
- Click New and select Decision table.
- Enter a name for the decision table, select the application and application scope for the decision table and click Build decision table.
- Define the inputs and conditions for the decision table.
- Add the Rank in the Result column and click Save.
- Navigate to .
- Click the sn_ind_tmt_orm.PriorityManagement script.
- Click Create implementation in the Related Links section.
- Enter a name for the new script (implementation) and edit the getRank() and getWeightage() methods in the script to return the rank and weightage values and click Update. A sample implementation script is shown below:
var PriorityManagement = Class.create();
PriorityManagement.prototype = {
initialize: function() {},
getRank: function(customerOrderItemGr) {
/*
get rank from decision policy or scripting
return rank;
*/
return getRankFromNewDecisionTable(customerOrderItemGr);
},
getWeightage: function(){
/*
get weightage to calculate priority
weight should be an integer value, and range is from 0 to 100.
return weight;
*/
return weight_value_for_this_decision_policy;
},
type: 'PriorityManagement'
};
Calculating the priority for external orders
Orders created by external order capture systems can also be processed by Order Management for Telecommunications. In this case, for
- Order line items:
- If a valid priority value has been defined for the external order, this value is used to calculate the priority.
- If a priority value has not been defined or is invalid, the order priority is calculated by the Order Management for Telecommunications system.
- Customer orders: The priority value is calculated based on the categories defined in the decision tables and this value overrides the value specified in the external order.