Building Inventory Demand Transactions

This section provides an overview of the Build Inventory Demand process (PO_REQINVS) and discusses how to run the Build Inventory Demand process.

Page Name

Definition Name

Usage

Inventory Demand Page

RUN_PO_REQINVS

Enter the selection criteria for the Build Inventory Demand process and run the process.

This section discusses how to build inventory demand transactions from PeopleSoft Purchasing staging tables rows using the Build Inventory Demand process (PO_REQINVS).

At the start of processing, the Build Inventory Demand process reserves all rows in the staging tables that are identified for inventory demand (Inventory Source option set to Y (yes), have a stage status of S (staged), and meet the user-defined selection criteria.

The process then builds the demand table, IN_DEMAND, which is built at the distribution level; therefore, there is generally one row in the demand table for every selected, staged distribution. If partial quantities are allowed and the quantity on the distribution must be satisfied by more than one warehouse, there can be several rows on the demand table for one staged distribution.

Note: Partial sourcing is not allowed in the Build Inventory Demand process when the distribution is distributed by amount.

Because some distributions may be sourced entirely from inventory demand and others from a purchase order, distributions are renumbered by the Create Purchase Orders process, when necessary.

Most of the information for the demand table comes directly from the staging tables. All requisition keys are provided in the demand table to reference the requisition.

Reviewing How Inventory Demand is Sourced

The Build Inventory Demand process determines which warehouse (Inventory business unit) to use to fill demand by accessing the distribution network specified for the ship to location and evaluates the warehouses included in the network.

Note: The Build Inventory Demand process never sources demand from the PeopleSoft Inventory business unit that creates the request.

The Inventory Demand process also calculates available quantity.

To calculate available quantity, the Build Inventory Demand process takes the available quantity in BU_ITEMS_INV, then subtracts the sum of QTY_REQUESTED from all rows in IN_DEMAND with the same BUSINESS_UNIT and INV_ITEM_ID. If the demand is an interunit transfer, the interunit par quantity is also subtracted from the available quantity.

Transfer yield is calculated after the Inventory business unit is selected and the available quantity is checked. The requisition quantity is increased by the transfer yield percentage.

To see the requested quantity satisfied by inventory demand, check the Qty Demand field on the Sourcing Workbench - Sourcing Details page. You can also view the inventory demand created by the Build Inventory Demand process using the Update Unreserved Orders page.

The Build Inventory Demand process uses this logic to determine the method by which inventory demand should be sourced, as well as which warehouses to utilize:

  1. The process first verifies that the requested item exists in the BU_ITEM_INV table for the inventory business units in the assigned distribution network.

    If the item does exist and the process finds at least one Inventory business unit eligible for inventory demand sourcing, the process moves on to step 3.

  2. If the item does not exist in the Inventory business units in the distribution network, the process continues with this logic using the settings of the When Item Not Stocked in INBU option on the Purchasing Options page.

    • If the Source to PO option is selected, the process sets the inventory source status for the request to N, so that the PO Calculation process can source it to a purchase order.

    • If the Error Out option is selected, the process sets the stage status to Error in PO Stage tables.

  3. If the item does exist in the Inventory business units in the distribution network, the process continues with this logic using the settings of the Check Inv Available Qty and Partial Qtys Can Ship options on the Purchasing Options page.

    These settings work together to create any of these processing scenarios when you run the Build Inventory Demand process.

  • Check Inv Available Qty and Partial Qtys Can Ship are both clear.

    If the process finds one eligible Inventory business unit, the entire requested quantity is sourced to the business unit regardless of the available quantity.

    If the process finds multiple eligible Inventory business units, the entire requested quantity is sourced to the business unit with the highest priority ranking, regardless of the available quantity.

  • Check Inv Available Qty is selected and Partial Qtys Can Ship is clear.

    If the process finds one eligible Inventory business unit and it contains enough quantity, the entire requested quantity is sourced to the business unit.

    If the process finds one eligible Inventory business unit, but it does not contain enough quantity, the entire requested quantity is sourced to a purchase order. The process sets the inventory source flag for the request to N, so that the PO Calculations process (PO_POCALC) can source it to a purchase order.

    If the process finds multiple eligible Inventory business units with enough quantity, the entire requested quantity is sourced to the business unit with the highest priority ranking.

    If the process finds multiple eligible Inventory business units, but none contain enough quantity, the entire requested quantity is sourced to a purchase order. The process sets the inventory source flag for the request to N, so that the PO Calculations process (PO_POCALC) can source it to a purchase order.

  • Check Inv Available Qty and Partial Qtys Can Ship are both selected.

    If the process finds one eligible Inventory business unit, the requested quantity is sourced from the Inventory business unit, with any outstanding quantity being sourced to a purchase order. The process sets the inventory source flag for the request to N, so that the PO Calculations process (PO_POCALC) can source it to a purchase order.

    If the process finds multiple eligible Inventory business units, the requested quantity is sourced from each Inventory business unit in order of priority. Any outstanding quantity is sourced to a purchase order. The process sets the inventory flag status for the request to N, so that the PO Calculations process (PO_POCALC) can source it to a purchase order.

For example:

You have two requisitions, both with the Check Inv Available Qty and Partial Qtys Can Ship options selected:

  • Requisition 100 for 80 units of item 10000.

  • Requisition 200 for 40 units of item 10000.

Warehouse A and warehouse B are in the distribution network for the ship to location on the requisition and stock item 10000, as defined in BU_ITEMS_INV.

Warehouse A has 60 units and warehouse B has 40 units in inventory. The inventory quantity, unreserved demand, and available quantity before the Build Inventory Demand process runs are appear in this table:

Warehouse

Inventory Quantity

Unreserved Demand

Available Quantity

Warehouse A

60

0

60

Warehouse B

40

0

40

When the Build Inventory Demand process performs quantity checking for requisition 100 for 80 units, it sources 60 from warehouse A and 20 from warehouse B.

When the Build Inventory Demand process performs quantity checking for requisition 200 for 40 units, it calculates that there is unreserved demand in warehouse A from the first requisition and that there is no available quantity in warehouse A. It calculates that the available quantity in warehouse B is 20 units.

The quantities now look like this:

Warehouse

Inventory Quantity

Unreserved Demand

Available Quantity

Warehouse A

60

60

0

Warehouse B

40

20

20

There is not enough available quantity in the warehouses to fill the entire demand for requisition 200, so the Build Inventory Demand process sources 20 units from warehouse B and identifies the balance of 20 units to be sourced to a purchase order. The purchase order is created in the next run of the PO Calculations and Create Purchase Orders processes.

The end result is that requisition 100 for 80 units, gets 60 units from warehouse A and 20 units from warehouse B. Requisition 200 for 40 units, gets 20 units from warehouse B and 20 units from a purchase order.

Once the Build Inventory Demand process runs successfully, these updates are made for rows fully converted, partially converted, and not converted to inventory demand transactions:

IN Demand Created

PO_ITM_STG Stage Status

Req Line Source Status

IN Source Option

Req Line

In Process Status

PO_ITM_STG Demand Qty

Full

C (completed)

C (completed)

Y (yes)

N (no)

Releases requisition line for updates by online and batch processes.

Quantity sourced to inventory demand, appears in requisition UOM.

Partial

S (staged)

PO_POCALC and PO_POCREATE source the balance to a purchase order.

No update to the requisition.

N (no)

No update to the requisition.

Quantity sourced to inventory demand, appears in requisition UOM.

None

S (staged)

PO_POCALC and PO_POCREATE source the balance to a purchase order.

No update to the requisition.

N (no)

No update to the requisition.

0

Backorders and the Build Inventory Demand Process

When the Check Inv Available Qty option is clear and the target Inventory business unit is set up for fulfillment, the Build Inventory Demand process sources unfulfilled quantities to a backorder, rather than to purchase orders.

For example, suppose that you have the previously described setup in place, and you have a requisition quantity of 10. The Distribution Network Inventory business unit has an available quantity of 6. When you run the AutoSelect Requisitions process and the Build Inventory Demand process, all 10 units are sourced from the Distribution Network Inventory business unit, where the 6 available units will be used to partially fulfill the resulting demand and the remaining 4 units are backordered until the Inventory Business Unit has a quantity available to fulfill the rest of the request.