Siebel Field Service Guide > Fulfillment >

About the Fulfillment Engine


The Fulfillment Engine automatically finds and allocates (or reserves) the products for a selected order, and creates pick tickets for the order. The engine uses the following information to find a product:

  • The distances from the source inventory locations to the order address.
  • The priority of an order. Priority can influence fulfillment relationships. For more information about the Order Priority field, see Defining Relationships Between Inventory Locations (End User).
  • The types of inventory locations.
  • The preferred inventory location for the customer. Each account has a default inventory location.
  • The relationships between inventory locations. The engine uses relationships to determine the next location to query if it does not find a product at a location.
  • The product information (for example, available substitutes).

The engine can run from the Siebel Field Service user interface, from Siebel Business Process Designer, or in batch mode using a repeat interval. As a batch process, you can initiate fulfillment at regular intervals (for example, twice a day for pending high-priority orders, or once a day for other orders) or according to conditions (for example, immediately for high-priority orders).

The engine uses the information in Siebel Field Service to fulfill an order. For example, the engine uses account information to select the default source inventory location if the order and the order line items have no source inventory location. If necessary, the engine uses the substitutes for a product. If the product is out of stock at the warehouse of first choice, then the engine evaluates the fulfillment relationships between inventory locations to determine another warehouse to fulfill the order. For more information, see Inventory Relationships.

The Fulfillment Engine produces the following information:

  • Allocated (or reserved) products for the order.
  • Pick tickets for the products in the order. Employees use pick tickets to pick, pack, and ship the order.
  • Inventory transactions for product allocation.

NOTE:  For the Fulfillment or Part Locator Engines to allocate a product in an order line item from inventory, the product must have an Availability field value of On-Hand for the inventory level.

Figure 19 shows the process flow for the Fulfillment Engine.

Figure 19. Process Flow for the Fulfillment Engine

For each order line item to fulfill, the Fulfillment Engine completes the following steps:

  1. Sets the source as the default source for the line item or the customer site.
  2. Generates a prioritized list of inventory locations by using the distance to the order address, order priority, and warehouse type.
  3. If the prioritized list of inventory locations is not empty, then populates inventory from the list and sets the source as the inventory location.
  4. Allocates the lesser of the quantity available for the product and the pending order quantity.
  5. If the allocated quantity does not equal the pending quantity, then reviews possible substitute products and allocates as appropriate.
  6. If the allocated quantity still does not equal the pending quantity, then sets the source as the next source for the order priority.
  7. If there is a next source, then repeats Step 2 through Step 6. If there is no next source, then starts again at Step 1.
  8. When no line items remain for fulfillment, generates a pick ticket for each selected inventory location.

Product Searches for Fulfillment

When fulfilling an order, the Fulfillment Engine looks for products in the following sequence:

  1. The source inventory location, if any, in the Line Details view in the Line Items view of the Service Orders screen.
  2. The source inventory location in the Fulfillment view of the Service Orders screen. This location might be different from the source location in the Line Details view.
  3. The inventory location, if any, in the Accounts screen.
  4. The value in the SysPref_DefaultFulfillInvLoc server component parameter. For more information, see Component Parameters for the Fulfillment and Part Locator Engines.

Pick Ticket Generation

The Generate PickTickets command in the Service Orders screen creates a pick ticket record. The processing logic for the command follows:

  • For each order line item action of the Allocate type, when the product is not on a pick ticket (when the Shipment number field is blank in the Actions view in the Line Items view in the List view of the Service Orders screen), the Generate PickTickets function tries to create a valid pick ticket (a new row in table S_SHIPMENT) by reviewing the source inventory for the allocation.

    If the source inventory is not the type in the InventoryTypeForPT system preference, then the Generate PickTickets function tries to find a parent inventory for the source inventory with the type in the InventoryTypeForPT system preference. (The default value for this system preference is Warehouse.) If a parent inventory is found, then a pick ticket record for this location is generated. For other line item actions with the same source, the same pick ticket applies. A new pick ticket is generated only when the sources are different.

  • The Generate PickTickets function associates the line item action to the pick ticket by updating the Shipment number field.

You can process pick tickets in the Shipments view of the Shipments screen.

Siebel Field Service Guide Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Legal Notices.