Overview of the order server and promising server process flow

The Promising server and Order server interact with each other by means of user exits, APIs, and services that are supplied as part of the integration.

The diagrams and descriptions in the following topics explain the process flow.

Promising server and availability

When API calls are made on the Order server to either reserve or inquire about availability on the Promising server, the YFSGetExternalAvailabilityUE is invoked, which in turn calls the GetExternalAvailabilityService on the Promising server. The GetExternalAvailabilityService is invoked using endpoint. Endpoint enables the system to make an HTTP call to a service or an API (interface) that is available on the remote server.

  • For Order server API calls that inquire about availability, such as getPossibleSchedules, the findInventory API is called on the Promising server. The findInventory API inquires about availability on the Promising server, and passes the retrieved availability information back to the Order server.
  • For Order server API calls that request availability in update mode, such as scheduleOrder, the reserveAvailableInventory API is called on the Promising server. The reserveAvailableInventory API updates availability on the Promising server and passes the updated availability information back to the Order server.
Note: For all the existing orders that are available before the upgrade, the findInventory API is called on the Promising server.

The following diagram shows the availability process flow.

PromisingServerAndAvailability

Promising server and availability from cache

When getItemListforOrdering API calls are made on the Order server to get availability from cache, the OMPGetInventoryFromCacheUE is invoked, which in turn calls the GetInventoryAlertsService on the Promising server. The GetInventoryAlertsService internally calls the getInventoryAlertsList API.

The following diagram shows the availability from cache process flow.

PromisingServerAndAvailabilityFromCache

Promising server and inventory updates

When API calls are made on the Order server that require updates to inventory demand or inventory supply on the Promising server, an event is invoked on the Order server.

  • To create inventory demand on the Promising server, the EXTERNAL_DEMAND_CHANGE event is invoked on the Order server. The EXTERNAL_DEMAND_CHANGE event invokes a service that calls the reserveItemInventoryList API to synchronize demand on the Promising server. Reservations created for orders use ReservationID as the OrderHeaderKey.
  • To adjust inventory supply on the Promising server, the EXTERNAL_SUPPLY_CHANGE event is invoked on the Order server. The EXTERNAL_SUPPLY_CHANGE event invokes a service that calls the adjustInventory API to synchronize supply on the Promising server.
  • When a sales order is shipped, demand and supply updates occur in a single transaction based on a message that is published to the EXTERNAL_DEMAND_CHANGE event.
  • Purchase orders should be created on the Order server. The supply updates for a purchase order flow to the Promising server using messages published to the EXTERNAL_SUPPLY_CHANGE event.
  • When a sales order is backordered from a node and "Put Inventory On Hold For Sourcing On Backorder From Node" is checked, inventory node is created on the Promising server.
  • Inventory cost is updated on the Promising server when a sales order is shipped or an inbound order is received.
    Note: Inventory costing based on an Average Cost Computation Rule is not supported on the Promising server.

The ReceiveExternalDemandUpdates service and the ProcessExternalSupplyUpdates service need to run as integration servers to update the inventory picture on the Promising server.

The following diagram shows the inventory update process flow.

PromisingServerAndInventoryUpdates