Example 1 - No stock

This topic describes the process of defining an item, location based on ROP schedule logic when the available stock is zero.

The Pre-requisites for this scenario:

The Calculate Schedules input values for the Macro or worksheet:

  • Order Start Offset: “” (macro) or 0 (macro or worksheet)
  • Requirements horizon: “” (macro) or 365 (worksheet)

Global inputs (cycle period and engine call values):

  • Current Planning Period: FY16 M07 (2016-06-27 – 2016-07-24)
  • Start_date: 2016-06-27 (Start Date of the Current Planning Period)
  • Cycle Future Horizon: 52 weeks
  • End_date: 2017-06-27 (Start Date of the Current Planning Period + Cycle Future Horizon in days)

Item code: 10541

Location code: B1

Measure mapping inputs:

  • Default Source Method: 1 (Transfer)
  • Opening stock: 0
  • Reorder Point (ROP): 100
  • Receiving calendar ID: 1
  • Freeze Period: 7
  • Lead Time (Transfer): 7
  • Minimum Lot Quantity (Transfer): 20
  • Increment (Transfer): 5

ROP schedule logic

If the Opening Stock < ROP, get the corresponding interpolation calendar from current Engine Settings based on the Measure mapping for Receiving Calendar ID (ID = 1). The default pattern for the interpolation calendar (All days Available):
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
1 1 1 1 1 1 1

For No override pattern for the order receiving dates:

  • The first possible order date in the future horizon is calculated as Start_date + MAX of Order Start Offset (0), (Transfer) Lead Time (=7), Freeze period (=7). First_order_date = 2016-06-27 + 7 = 2016-07-04.
  • Receiving_date = 1st non-zero day in the receiving calendar >= first_order_date AND <=End_date: 2016-07-04.
  • If the receiving_date is identified, check for any existing orders available prior to receiving_date:
    • Get Orders (Start_date: 2016-06-27, receiving_date: 2016-07-11). See, Get Orders logic flow.
    • Sum of the orders (planned, fixed, firm and scheduled) prior to receiving_date is displayed.
    • Get Orders: 0
  • Available stock (Opening stock + Get Orders): 0

If the Available Stock < ROP, determine the order type and order locations:

  • From measure mapping: Default Source Method = 1 (Transfer)
  • For Order Locations (Transfer):
    Table 1. For Supply allocation of type = Transfers In, these are the populated attributes
    Allocation Type Measure Item attribute Location attribute Source Location
    Transfers In Receipt Combination item_id destination_location_id source_location_id
    Transfers Out Shipment Combination item_id destination_location_id source_location_id
  • Transfers In and Transfers Out measures populated = TRUE
  • Item Attribute mapped for this allocation = TRUE
  • Location attribute mapped for this allocation = TRUE
  • Source Location attribute mapped for this allocation = TRUE
  • Check the Scenario Values for allocation type ‘Transfer In’ with measure ‘Receipt Combination’ (SPLS_RECEIPT_TUPLE) and matching attributes:
    • Item_id: 10534
    • Destination_location_id: B1
    • PCONST for a value ! = 0
  • The first match that is returned:
    Measure Name Item Location Value Item_id Destination_location_id Source_lovation_id
    Receipt combination 10534 IN: F1 to B1 1 10534 B1 F1

If Allocation! = 0 found = TRUE:

  • Note the source_location_id attribute value.
  • Check the Scenario Values for allocation type ‘Transfer Out’ and measure ‘Shipment Combination’ (SPLS_SHIPMENT_TUPLE) and matching attributes:
    • Item_id: 10534
    • Destination_location_id: B1
    • Source_location_id: F1
    • PCONST for a value ! = 0
  • The first match that is returned:
    Measure Name Item Location Value Item_id Destination_location_id Source_lovation_id
    Shipment combination 10534 OUT: F1 to B1 1 10534 B1 F1

If Allocation! = 0 found = TRUE:

  • Return order destination (Destination Location) as matched Transfers In location element: IN:F1 to B1.
  • Return order item as matched Transfers In item element: 10534
  • Return order source (Source Location) as matched Transfers Out location element: OUT:F1 to B1
  • Return: TRUE
  • If valid elements Get Order Locations = TRUE, check for a possible critical expedite exception for the planned order based on the Receiving Date and Start Date (need date) using the standard Get Critical Flag process for an order. Critical_flag = Get Critical Flag (Receiving_date, Start_date).
  • A Planned Transfer Order with this data is generated:
    • Value = 100 (ROP - Available Stock, rounded to min lot + n increments)
    • Source Measure = Planned Shipment (Derived from: Order mapping for planned order type)
    • Destination Measure = Planned Receipt (Derived from: Order mapping for planned order type)
    • Item = 10534
    • Destination Location = IN: F1 to B1 (Derived from Get Order Locations)
    • Source Location = OUT: F1 to B1 (Derived from Get Order Locations)
    • Delivery date = 2016-07-04 (receiving_date)
    • Ship date = 2016-06-27 (receiving_date - lead time)
    • Need date = 2016-06-27 (Start_date)
    • Critical Flag = Critical_flag