Integrating with IBM Sterling Intelligent Promising Optimization service
You can integrate IBM Sterling® Order Management System with the IBM® Sterling™ Intelligent Promising Optimization service by seamlessly using an inbuilt adapter. This integration eliminates the need for custom implementations.
Overview
The Sterling Order Management System integrates with the Sterling Intelligent Promising Optimization service to enhance fulfillment decisions through cost-based optimization. By using the Rank API and Optimization API, this integration refines the node selection and helps to derive the most cost-efficient sourcing solutions. As a result, enterprises can improve customer experience and operational efficiency by selecting fulfillment choices that balances cost and service levels.
Sterling Order Management System continues to manage core functions such as order processing, scheduling, and fulfillment. It calls the Sterling Intelligent Promising Optimization service to improve fulfillment by evaluating shipping nodes and fulfillment options based on cost, constraints, and operational parameters.
Scope
The integration applies to the SHP delivery type and the sales order – 0001 document type. The Sterling Intelligent Promising Optimization service does not support other delivery and document types.
Also, the Procurement, Substitute, and GTIN use cases are not supported because the Sterling Intelligent Promising Optimization service does not support these use cases.
- findInventory
- scheduleOrder
- reserveAvailableInventory
Optimization APIs
- Idle API
- The Idle API that is referred to as the
idlemode in the integration enables asynchronous order optimization. - Rank API
- The Rank API returns ship nodes that ate ranked in increasing order of cost and they are limited to the rank nodes limit that is passed. The Rank API filters the ship nodes before ranking them. This is based on the inventory availability of the item that is provided during the promising process.
- Optimizer API
- The Optimizer API that is referred to as the
livemode in the integration enables synchronous order optimization.
Error handling
- When the integration is set up in the
idlemode, if any error occurs while calling the Optimization APIs, those errors are printed in the error log. The transaction continues according to the default Sterling Order Management System flow. - When the integration is set up in the
livemode, if any error occurs while calling the Optimization APIs, an error is displayed and the transaction ends.
Enabling and disabling inbuilt integration
To enable or disable the inbuilt integration, contact your system administrator.
Migrating from custom integration to inbuilt integration
If you implemented the custom integration by using the Sterling Order Management System user exits, you can migrate seamlessly to the inbuilt integration. For more information, see Migrating to inbuilt integration.
After migration, you can continue to use the OMPGetSourcingCorrectionsUE and
OMPGetExternalCostForOptionsUE user exits. These user exits override the ship nodes
and filter out the carrier services. They also override per-unit costs for the product choices or
reject the product choice.
Order processing during reschedule
In schedule, the Rank and Optimization APIs are called for all orders so that the Sterling Intelligent Promising Optimization service can capture all orders for audits. For unsupported scenarios such as PICK or DEL method, the Optimization service sends the eligibleForOptimizer attribute as N in response to Sterling Order Management System. Then, the order details are updated in Sterling Order Management System. Subsequently, if these orders are rescheduled, Sterling Order Management System does not resend the same orders again to the Sterling Intelligent Promising Optimization service.
Additional information
- In the scheduleOrder API, the OrderNo attribute is passed to the Optimization APIs.
- In the findInventory and reserveAvailableInventory APIs,
there is no order number. Therefore, a
{tenantId}-{uniqueId}unique identifier is generated and passed to the Optimization APIs. For example,us-f9aeb8a7-7b0ca9e3.