Defining Demand Quantities

In the PeopleSoft Inventory system tables, the processing unit for all fulfillment transactions is the demand line. Each demand line represents a request for some quantity of an item. Demand line records are created by sales orders, stock requests from other business units, return-to-vendor transactions, and so forth. As part of fulfillment processing, the demand line data is stored in the IN_DEMAND table and its child tables, as follows:

  • IN_DEMAND: The primary order fulfillment table.

    The IN_FULFILL_STATE field determines the state of the demand line within fulfillment.

  • IN_DEMAND_LOCK: This table is used to lock the demand line.

    A record exists only when the table is locked by a process or page.

  • IN_DEMAND_ADDR: The contact information for the demand line.

    Prior to shipping, this table acts as an address override.

    That is, a row only exists if a demand line address override has occurred. Once the order has been shipped, a row exists with the historical address.

  • IN_DEMAND_CMNT: The comments for the demand line.

    A row exists per comment type, only if a comment has been entered for the demand line or pro forma invoice.

  • IN_DEMAND_BI: The billing information for the demand line.

    A row exists only if the demand line has been invoiced.

If you are using PeopleSoft Manufacturing, the system stores production demand data in the SF_ISS_TRANSFER table. Once the order is depleted, the system uses the TRANSACTION_INV table and the demand fulfillment archive tables to store fulfillment history data.

Fulfillment States

To track the state of each demand line within the order fulfillment process, the IN_DEMAND table contains two state fields: IN_FULFILL_STATE is the state driving all processes and IN_PRIOR_STATE is used when a demand line is canceled to note the last state the order reached. The fulfillment states are:

State

Description

10

Pending

20

Unfulfilled

30

Releasable

40

Released

50

Picking Confirmed

60

Shipped

70

Depleted

90

Canceled

In general, most new demand lines will be created in an unfulfilled state. Here are some exceptions:

  • Sales orders from PeopleSoft Order Management (DEMAND_SOURCE = OM) in a pending status will have demand lines created in a pending state.

  • Work orders from PeopleSoft Maintenance Management (DEMAND_SOURCE = WM) will have demand lines created in a pending state.

  • Invalid demand lines (RESERVE_STATUS = 99) will be created in a pending state.

  • Non-soft reserved, non-ATP demand lines can be created in either an unfulfilled state or a releasable state depending on your settings in the Setup Fulfillment component.

Demand Quantities

The IN_DEMAND record includes the following fields related to demand quantity:

Field or Control

Description

Quantity Requested (IN_DEMAND.qty_requested)

Represents the total quantity requested to fulfill the demand line in the ordering UOM. This is the quantity that the demand source requests.

Quantity Requested Base (IN_DEMAND. qty_requested_base)

Represents the total quantity requested to fulfill the demand line in the standard UOM. This is the quantity that the demand source requests.

Quantity Reserved

The quantity soft-reserved on the demand line. The reservation process, using the reservation rules, determine whether partial reservations are allowed. With soft-reservation processing, part of the business unit's total available quantity for the item is reserved for an order line and cannot be consumed by other orders staged for fulfillment processing.

Quantity Promised (IN_DEMAND.qty_promised_base)

The quantity promised on the demand line for an ATP item. Available quantity in the business unit is promised to the demand line's scheduled shipment date based on available-to-promise (ATP) calculations of future supply and demand. Quantities can be promised by the reservation processes. The promised quantity is not subtracted from the business unit or material storage location's available quantity until the order line has been allocated by the Order Release Request process or confirmed as picked by the Picking Confirmation process.

Quantity Backordered (IN_DEMAND.qty_backorder)

The quantity backordered on the demand line. The reservation process, using the backorder rules, determines if a full or partial backorder should be created at the time the order is set to the releasable state. The shipping processes, using the backorder rules for shipping, determine if a full or partial backorder should be created at the time the order is set to the shipped state. The Shortage Workbench can be used to create backorders manually.

Quantity Backordered Base (IN_DEMAND.qty_backorder_base)

Represents the backorder quantity in the standard UOM.

Quantity Pick Override (IN_DEMAND.qty_pick_ovride)

The quantity entered on the Shortage Workbench, a fulfillment engine EIP, or Fulfillment Workbench to override the quantity to be released to picking.

Quantity Pick Override Base (IN_DEMAND.qty_pick_ovr_base)

Represents the quantity pick override in the standard UOM.

Quantity Allocated (IN_DEMAND.qty_allocated)

Represents the quantity of material stock requests that the system lot allocated in the ordering UOM.

Quantity Allocated Base (IN_DEMAND.qty_alloc_base)

Represents the allocated quantity (qty_allocated) for the demand line in the item's standard UOM.

Quantity Picked (IN_DEMAND.qty_picked)

Indicates the portion of the quantity requested that the Picking Confirmation process has been picked and recorded in the system. The system records the value in the ordering UOM.

Quantity Picked Converted (IN_DEMAND.qty_picked_conv)

Represents the quantity picked (qty_picked) and converted to the stocking UOM.

Quantity Picked Base (IN_DEMAND.qty_pick_base)

Represents the sum of the quantity picked in the item's standard UOM.

Quantity Packed Base (IN_DEMAND.qty_pack_base)

Represents the portion of the quantity requested base that has been packed into a ship container. The system records the value in the item's standard UOM.

Quantity Shipped (IN_DEMAND.qty_shipped)

Represents the quantity shipped for the demand line from the physical location in the ordering UOM.

Quantity Shipped Converted (IN_DEMAND.qty_shipped_conv)

Represents the quantity shipped for the demand line from the physical location in the shipping UOM.

Quantity Shipped Base (IN_DEMAND.qty_ship_base)

Represents the quantity shipped for the demand line from the physical location in the item's standard UOM.

Quantity Last Shipped (IN_DEMAND.last_qty_ship)

Represents the sum of the quantity shipped for the demand line less any quantity that was short shipped and put away online. The system records the value in the order UOM.

Quantity Last Ship Base (IN_DEMAND.last_qty_ship_base)

Represents the sum of the quantity shipped base for the demand line less any quantity that was short shipped and putaway online. The system records the value in the item's standard UOM.

You can create backorders in the following ways:

  • Through the Reserve Materials process if the requested quantity could not be fully reserved.

  • Through the Shortage Workbench if less than the full requested quantity is allocated to a demand line.

  • Through the Shipping/Issues component if the entire picked quantity was not shipped.

  • Through the partial lot allocation of sales orders.

  • Through the Picking Confirmation process if you run auto-processing for shipping when the quantity shipped is less than the quantity requested (when you do not select soft reservations processing) or less than the quantity reserved (when you do select soft reservations processing).

  • By decreasing the quantity on a demand line, a canceled backorder can be created.

Within fulfillment, the main quantity to be processed by state is calculated as follows:

State

Description

Pending

N/A

Unfulfilled

qty_requested_base less qty_backorder_base

Releasable

  1. Use qty_alloc_base if > 0

  2. If qty_alloc_base = 0, then use qty_pick_ovride if > 0

  3. If qty_pick_ovride = 0, then use qty_requested_base less qty_backorder_base

Released

Same as Releasable

Picking Confirmed

  1. If (qty_requested_base less qty_backorder_base) = 0 and (qty_pick_base - qty_backorder_base) > 0, then use (qty_pick_base - qty_backorder_base)

  2. Otherwise if qty_backorder_base > 0 and last_qty_ship_base > 0 and last_qty_ship_base < qty_pick_base, then use last_qty_ship_base

  3. Otherwise use qty_pick_base

Shipped

qty_ship_base

Depleted

qty_ship_base

Canceled

N/A

This diagram illustrates how component demand data flows through the PeopleSoft Manufacturing tables from the SF_COMP_LIST table, creating a production picking plan, using the Review Plan page, and using the Material Release process:

Component demand data flow in PeopleSoft Manufacturing

The component lists attached to production IDs and production schedules listed in the SF_COMP_LIST table include all component requirements. When you create a production picking plan for a production ID or production schedule, the system requests and reserves the required components in PeopleSoft Inventory. The system assigns item quantities in specific material storage locations to fulfill the picking plan's requested quantities. The system temporarily stores picking plan lines on the SF_ISS_TRANSFER table.

You use the Review Plan page to adjust picking quantities or locations, and the changes are recorded in the SF_ISS_TRANSFER table. When you confirm that a pick line on a pick batch ID has been picked, the Review Plan process updates the pick line record in the SF_ISS_TRANSFER table. The Review Plan process also updates the item quantity balances in the BU_ITEMS_INV (if the soft reservations option is selected), PHYSICAL_INV, and LOT_CONTROL_INV tables to reflect the quantity that has been reserved in the business unit's material storage locations.

Once the system indicates that a pick line has been picked on the Review Plan page, the Material Release process (SFS6001) updates the item quantity balances in the BU_ITEMS_INV table to reflect the quantity that has been issued to production (kit method) or moved to a WIP location (issue method). The system permanently maintains the pick line record in the TRANSACTION_INV table as fulfillment history data.

Quantities on the SF_ISS_TRANSFER Record

The SF_ISS_TRANSFER table tracks the portion of production's required quantity that was fulfilled using stock from a specific material storage location. When you generate a push or pull picking plan, the Production Picking Plan process (SFS6000) inserts demand line records in the SF_ISS_TRANSFER table. Pull picking plans do not record the picking location information in the table. When you specify picking line information for pull picking plans using the Review Plan page and save the page, the system inserts picking location records into the SF_ISS_TRANSFER table.

The SF_ISS_TRANSFER record includes two quantity fields:

Field or Control

Description

Quantity Picked (SF_ISS_TRANSFER_INV. qty_picked)

Represents the portion of the quantity that has been assigned to a pick batch ID in the standard UOM.

Quantity Picked Converted (SF_ISS_TRANSFER _INV.qty_picked_conv)

Represents the quantity picked (qty_picked), converted to the stocking UOM.