Requirements Calculation

You use this program to take a snapshot of the relevant data files (i.e. Inventory, Purchase orders, etc.) and use the information to net-off supply against demand and calculate the future capacity and/or material positions.

The requirements calculation schedules on a date basis and not an individual demand basis. For example, if there are demands for an item from two different jobs on the same day, only one suggested requisition is raised and not two.

Although this program can be run as often as required without interfering with ongoing live transaction posting, we recommend that you run this program at the beginning of the working day to ensure accurate results. If the calculation is run at the end of the working day, the calculation date should be changed to the next working day.

This program can be invoked using command line parameters.

Action reports and queries can be used to analyze, change or accept suggestions made by the system.

If you are using Inventory optimization, then refer to IO and MRP for information on how the IO current min/max levels are used in the requirements calculation.

Toolbar and menu

Field Description
Print

This prints the information currently displayed in the listview, Report or output pane.

Save Form Values
This option is only enabled in Design mode (Automation Design).

Your selections are saved and applied when the program is run in automated mode.

Form values and defaults are applied at operator level (i.e. they are not saved at role or group level).

Information

Field Description
Processing options  
Function
Option Description
Retain snapshot & recalculate

Retains the existing snapshot and recalculates requirements (i.e. uses any changes you made to the primary demand in the snapshot directory to recalculate the net requirements).

No files are copied to the snapshot directory before the calculation commences.

This function is designed primarily for use where a previous calculation has been run and you have maintained some (or all) of the data files in the snapshot directory. The calculation is based on the modified data to provide a what-if capability.

This option is only displayed when a snapshot currently exists.

Take a new snapshot

Takes a new snapshot of the system.

All files in the snapshot directory are deleted before the live files are copied to the snapshot directory.

This option is the only one displayed if no current snapshot is found in the snapshot directory.

Although your live data files are locked by default during the process of taking a snapshot, you can optionally indicate that you do not want to lock these live files while creating snapshot files (Requirements Planning Setup).

However, snapshot files that are created without locking the source files may contain invalid data or be corrupted. For this reason, we recommend that you take a snapshot when users are not working on the SYSPRO system.

Delete snapshot

Deletes the snapshot and exits the program. Results of the previous requirements calculation will be deleted, increasing free disk space.

You would typically use this option when the program reports errors during the snapshot or recalculation functions. This ensures that you have uncorrupted snapshot data for the next MRP run.

Re-create suggested jobs

Deletes all suggested jobs and recreates them when re-running the requirements calculation.

This option is only available when the Retain snapshot & recalculate function is selected. It pertains to the suggested jobs created in a previous run of the program. It does not mean that Requirements Calculation will not create additional suggested jobs. The only way to prevent Requirements Planning from creating suggested jobs for an item which has a shortage, is to set its batching rule (or order policy if by warehouse) to Suppress MRP ordering.

Deselect this option to re-run the calculation, incorporating any changes made to suggested jobs (the suggested jobs will not be deleted).

Date entry
Option Description
Use today's date Uses the current company date as the calculation date.

This option is useful if you want to run the Requirements Calculation program automatically as part of an automated task.

Manual entry Enter the date you want to use as the calculation date.
Run date

This defaults to the current company date, but can be changed.

If you do not use the company date, then any supply or demand occurring before this date is assumed to be past due and is accumulated together in a single past due period.

The quantity available from the inventory warehouse file is placed into the past due period as it is assumed to have been available at the end of the day prior to the calculation date.

Snapshot status The current status of the snapshot.
Run calculation in legacy mode

This option is enabled by default and indicates that you want to continue using the file system as a scratchpad for calculating material requirements. This ensures that existing requirement calculations remain unchanged. Ensure that the snapshot folder still exists.

Uncheck this option if you want to use the SQL database as a scratchpad for calculating material requirements.

When using the new MRP SQL Optimization process, the progress bar only displays the text: Processing Requirements Calculation during the entire process.

Read more...

After processing completed

These options are displayed within programs that can be automated. They let you indicate the action you want to perform once processing is complete.

Report

This pane displays the results of the processing function you selected once processing is complete (unless you selected the option to close the application from the After processing completed section).

The Level column on the report indicates whether the output from the calculation is information, a warning or an error. Information and Warnings mean that the calculation has run successfully, but some phases were possibly omitted. An Error means that the MRP Calculation could not complete the run.

Phases

This pane displays the processing phases and the start time of each phase. This is especially useful for trouble shooting.

Quantities in MRP

The following quantity fields are defined in the MRP table:

  • Available stock

    This quantity is the supply (or shortage) brought forward from the last date where movement exists. On the very first entry for a stock code/warehouse it is the stock available against the inventory warehouse.

  • Planned Quantity Due

    This quantity is the total planned supply from existing sources which will be available on the date in the record. Existing supply sources are: Jobs, Purchase orders, Requisitions, Supply Chain Transfers and Goods in Transit.

  • Suggested Quantity

    This is the total supply from suggested sources which will be available on the date in the record. Suggested supply sources are: suggested Jobs, suggested Requisitions and suggested Supply Chain Transfers.

  • Demand Quantity

    This contains the total demand on the item for the date on the record. Existing demand comes from Safety stock, Quotations, Sales orders, Forecasts, Job allocations, Supply Chain Transfers. Suggested demand is raised from allocations on suggested Jobs and suggested Supply Chain Transfers.

  • Net Result

    This is the supply, or shortage, after the available and supply and demand have been netted off. This is carried forward to the next date where there is movement.

Processing Sequence

When you run the calculation, a pegging record is written to the pegging file for each demand or supply quantity added to the requirements file.

  • Schedule jobs and purchase orders according to demand

    • It is assumed that this option is enabled in the Requirements Planning Setup program. When enabled, existing supply is rescheduled before new suggestions are made.

    • When this option is not enabled, you can have suggestions being made in addition to some late supply. Although this may result in excess stock and unnecessary work being performed, this approach may reflect the needs of project-based companies.

    • Note that when the job date is set to be calculated by the system, then a demand must exists for the parent item, otherwise MRP will suggest that the job is canceled if no demand exists for the item.

    • When the job is defined with Manual dates, then the system assumes that you definitely require the job to be processed at this time, regardless of any demand.

  • Schedule specific supply

    • If this option is enabled in the Requirements Planning Setup program, then a specific supply (existing job, sub job, purchase order or requisition) can be scheduled to the specific demand to which it is linked. This means that, for example, supply for a job linked to a sales order will be scheduled according to the sales order.

    • If a job is linked to a quotation which was created using a Product Configurator configuration with the Allow in process configurations option enabled (Product Configurator Header Maintenance) then the job is scheduled according to the quotation.

      Only the quotation number is linked to the job, not the quotation line number. Thus, if more than one of the same stock code exists against the same quotation, the first quotation line loaded in terms of ship date is the one linked to the job.

Pegging for sequential co-products is based on the operation completion date. Pegging for concurrent co-products is the job delivery date. Negative allocations are due at the end of the operation to which they are attached.

The calculation of the total number of days required to complete all operations (i.e. queue time, elapsed time, start time, complete time and move time) is affected by your selection at the option: Operation to end earlier than prior (Work in Progress Setup).

The Requirements Calculation program completes the following phases:

  • Lot traceability calculation
  • Initialize requirements planning files

  • Calculating low level codes
  • Processing build schedule file
  • Processing forecast file
  • Processing sales order file
  • Processing work in progress file
  • Processing purchase order file
  • Processing requisition file
  • Processing goods in transit
  • Processing stock on hand
  • Processing non-stocked
  • Processing notional parts
  • Netting-off requirements calculation
  • Rebuilding dynamic capacity profile

Lot Traceability Calculation

Stock on hand for expired lots can be excluded or included when determining material requirements by setting the Make provision for lot expiry in requirements calculation option as required (Requirements Planning Setup).

For example:

A made-in stock item is lot traceable and has a lot with a quantity of 2.

The lot expiry date is before today's date.

You have a forecast for 10 of this stock item.

You run the Requirements calculation as of today's date.

When the option: Make provision for lot expiry in requirements calculation is enabled, the Requirements calculation shows a demand of 10 and a suggested job for 10. The quantity of 2 in the expired lot is seen as unavailable.

When the option Make provision for lot expiry in requirements calculation is disabled, the Requirements calculation shows a demand of 10 and a suggested job for 8. The fact that the quantity of 2 is in an expired lot is ignored and treated as available.

Quantities in lots on hold are included in the requirements calculation.

Processing occurs as follows when the Make provision for lot expiry in requirements calculation and the Include in requirements calculation - Stock on hand options (Requirements Planning Setup) are enabled:

  1. For lots that have been assigned an expiry date, details are accumulated into a temporary file in date sequence.

    These details include the following:

    • Stock code
    • Revision and Release - only when the item is ECC controlled.
    • Warehouse
    • Expiry date
    • Quantity on hand

      The lot number is not stored in the temporary file. For this reason multiple lots for the same stock code, expiring on the same date, are accumulated.

  2. Demand generated for a traceable item is subtracted from the temporary lot file based on the demand dates and quantities. The quantities in the temporary lot file are reduced as required.

    If the demand date is before the calculation date, then MRP uses its calculation date as the starting point to reduce quantities (in the temporary lot file) as required.

    The temporary lot file record is deleted when the quantity in this file reaches zero.

  3. Once quantities are netted-off, any remaining balance of expired lots in the temporary file is treated as demand.

    This demand is indicated with a source of Lot Expiry on the pegging records and is a demand to (in effect) write off the quantity remaining in the expired lots.

    For this reason, it is important that stock on hand is included in the MRP calculation as this cancels out lot expiry demand raised by MRP. In other words, lot expiry demand is not true demand, but rather a provisional demand to reduce the available stock to the correct levels after taking lot expiry dates into account.

    Because all demand for MPS items is controlled by build schedules, records for MPS items are written to the pegging file but the demand raised by them is not written to the requirements master file.

ECC Deplete Oldest Calculation

The demand and supply for non-current specific rev/rels, including the quantity available, will be accumulated before processing those existing and suggested job allocations which use deplete oldest.

This is so that:

  • all non-current specific rev/rel demand can be checked first and any remaining quantity can be applied to deplete oldest demand.

  • If there is a shortage for the non-current specific rev/rel and suggestions can be raised then using the order policy rules a suggestion is calculated for the specific rev/rel. If the suggested supply + existing supply then exceeds the total demand quantity due to an order policy rule then the remaining quantity can then be used for deplete oldest demand.

If the option to make provision for lot expiry is enabled, then any lots which will expire before the demand date will be applied before those job allocations using deplete oldest. If any job allocations with demand have a demand date of cancel, then these will be applied as demand records to the current rev/rel.

If the option to deplete from multiple rev/rels is not enabled, then the remaining supply quantity against a rev/rel must be equal to or exceed the job allocation demand quantity.

If the item is lot traceable and you can only select a single lot then the remaining supply quantity against a rev/rel must be equal to or exceed the job allocation demand quantity.

When processing current rev/rels any remaining deplete oldest demand will be applied and the current rev/rel will be netted off as per normal.

  • We recommend you enable the Suppress MRP ordering option (Requirements Planning Setup) so that run out can be performed without any new orders being raised.

  • If the Suppress MRP ordering option (Requirements Planning Setup) is not enabled:

    • and the order policies which check warehouse/IO min/max levels are used then these will be processed as per normal and you may have unnecessary supply raised for non-current rev/rels. If this does happen then you will have a remaining quantity which will not be used up by deplete oldest demand.

    • and an item's order policy is also not to suppress ordering and the option to schedule supply according to demand is also not switched on then you may have a case where suggestions are raised unnecessarily for non-current rev/rels. If this does happen then you will have a remaining quantity which will not be used up by deplete oldest demand.

Initialize Requirements Planning files

The following files are cleared during this phase:

  • Requirements
  • Pegging
  • Suggested job master
  • Suggested job allocation
  • Suggested requisition

A control record is inserted into the Requirements file. This control record stores the options selected, as well as the operating system date and time that the calculation started.

Calculating Low Level Codes

This phase is performed if both the Inventory Control and Bill of Materials modules are installed. If there have been no changes to the structure master file since the last low level code calculation (and structure on/off dates are not in use) then this phase runs very quickly.

Each structure in the Bill of Materials system is processed to calculate the low level codes. This information is used during the netting-off phase to ensure that top level items are processed before lower items. This is necessary because the demand caused by a top level item on a lower level item needs to be exploded through the levels to calculate the quantity required at the lower level item.

  • Bill of Material structure on/off dates are ignored.

  • A check is made to ensure that no component is attached below level 15, and that a parent part is not attached to its own structure as a component.

    If either of the above occurs, then this is printed on the Requirements calculation error log and the program aborts.

  • Archived BOM structures are ignored when the option: Suppress MRP ordering is enabled (Requirements Planning Setup). This does not apply to Phantom parts as these are always included, irrespective of whether they are archived.

For a notional part, the low level code is one lower than the lowest co- product attached to it.

For example:

You have a Notional part, with co-products A, B and C attached to it.

The low level for co-product A is 0, for co-product B is 3 and for co-product C is 2. The low level code for the notional part is therefore 4 (one lower than co-product B).

It is important to note that the number of levels remains at 15 and that includes notional parts.

The low level code is stored on the Inventory master table and is updated when you run the BOM Structure validation program and select to Validate structure levels (Structure Validation).

Build Schedule file

This phase is performed if you enable the option: Build schedule at the Include in requirements calculation field (Requirements Planning Setup).

Only stock codes defined as MPS items are included. The demand profile for these items will not show an opening stock, nor use safety stocks or any buying rule other than buying rule A (lot-for-lot). These parameters are assumed to have been taken into account by the planner in constructing the build schedule. Multiple build schedules for a day will be accumulated and a single suggestion for the entire quantity will be made.

Each build schedule record either creates a new requirements record or updates an existing one, depending on whether a requirement record already exists for the same stock code/warehouse/date combination.

Build schedules are inserted as a demand into the requirements file.

Forecast file

This phase is performed if you enable the option: Forecasts at the Include in requirements calculation field (Requirements Planning Setup).

Each active forecast record either creates a new requirements record or updates an existing one, depending on whether a requirement record already exists for the same stock code/warehouse/date combination.

Forecasts are inserted as a demand into the requirements file. If a forecast is for a planning item, then the components of the stock code are inserted as demand records.

If the option: Build schedule is selected at the Include in requirements calculation field (Requirements Planning Setup) then only non-MPS items are processed during this phase. The MPS items would have been processed in the Processing build schedule file phase.

When processing a planning bill item, the warehouse defined against the BOM components is used and not the warehouse against the planning bill's forecast that raised the demand. If the component's warehouse is not defined then the warehouse defined against the planning bill's forecast is used. If the warehouse defined on the BOM structure record is not included in the Requirements Calculation then the component entry is ignored.

Sales Order file

This phase is performed if you enable the option: Sales orders at the Include in requirements calculation field (Requirements Planning Setup) and the Sales Order module is installed.

Each sales order in a status of 1, 2, 3, 4 or 8 is processed.

Sales orders and SCTs excluded from the MRP calculation in the Sales Order Entry, Sales Order Entry Express and SO Supply Chain Transfer Creation programs are ignored. When orders are excluded at header level, their detail lines are excluded, regardless of whether they are included at line level.

Sources of supply (e.g. jobs, purchase orders, etc) attached to excluded Sales orders are excluded from the calculation as a source of supply. However, if the options: Schedule jobs and purchase orders according to demand and Schedule specific supply are both disabled, then supplies remain untouched when the sales order is excluded. When a sales order (or sales order line) is excluded from the MRP calculation, it is no longer seen as a source of demand and if a shortage exists, no suggested purchase orders, requisitions or jobs are raised for the item(s) on that specific sales order/line and any supplying jobs are not suggested to be canceled as they are ignored.

When a sales order is linked to a purchase order, the MRP calculation only applies to the quantity outstanding against the purchase order, so when the purchase order has been received fully it is ignored by MRP from a supply perspective. For a stocked item, the quantity on hand against the warehouse will be increased by the purchase order receipt quantity and if the quantity is allocated to a sales order and in ship, then the quantity on hand against the warehouse will still reflect the purchase order receipt quantity up until the sales order is complete (thus MRP will still take account of the ship quantity against the sales order, otherwise it may be perceived that there is excess stock).

For a non-stocked code, a sales order line linked to a purchase order which has been fully received (or is set to complete) is ignored by MRP from a demand perspective and the sales order Include in MRP flag is automatically set to ignore the sales order line. If the purchase order receipt is subsequently reversed, then the Include in MRP option in sales orders must be set manually by the operator if the sales order line must be re-included in MRP.

The demand quantity for each merchandise line is calculated by adding the ship and back order quantity and converting it to the stocking unit of measure. The order ship date (line ship date for scheduled orders) is used to determine which requirement record must be inserted or updated. Sales orders are inserted as a demand into the requirements file.

If the option: Build schedule is selected at the Include in requirements calculation field (Requirements Planning Setup) then only non-MPS items are processed during this phase as the MPS items would have been processed in the earlier phase.

If the option Reserve stock for allocations is enabled (Work in Progress Setup) and you exclude both confirmed jobs and sales orders, but enable the option: Reduce quantity on hand by allocated (Requirements Planning Setup) then the warehouse quantity available is reduced by both the WIP reserved quantity and sales order quantity against included warehouses for items.

If the option Reserve stock for allocations is enabled (Work in Progress Setup) and you include confirmed jobs and exclude sales orders, but enable the option: Reduce quantity on hand by allocated (Requirements Planning Setup) then the warehouse quantity available is reduced by the sales order quantity against included warehouses for items.

If you are excluding Sales Orders (Requirements Planning Setup) but you enabled the option: Reduce quantity on hand by allocated (Requirements Planning Setup) then the on hand quantity is reduced by the quantity allocated to sales orders. The Available quantity in MRP is also affected by Sales Orders.

Work in Progress file

This phase is performed if you enable either of the options: Confirmed jobs or Unconfirmed jobs at the Include in requirements calculation field (Requirements Planning Setup) and the Work in progress module is installed.

Each incomplete job is processed. In addition, the options defining whether confirmed jobs, unconfirmed jobs, or jobs on hold must be included, is checked against the job status.

A job is ignored by the MRP calculation if it is linked to a sales order which is excluded form the MRP calculation.

Jobs are excluded when the quantity manufactured equals or exceeds the quantity to make. If a job has made more than originally anticipated (quantity manufactured is greater than quantity to make) but the material allocations are outstanding (they may be issued at the end of the job) then MRP assumes that the materials are no longer required and removes them from the MRP pegging.

The Requirements Planning calculation takes cognizance of subcontract operations attached to both live and suggested jobs and jobs created from quotations and treats them as material allocations insofar as raising demand within the requirements calculation and therefore raising suggested supplies for the non-stocked item.

When a subcontract operation contains both offsite time and lead time, then the result of the calculation includes both these elements when a suggested order date is proposed. The calculation subtracts the offsite days from the demand date (which is the time consumed by the subcontractor to perform the task) and then subtracts the lead time (which is the time required by the subcontractor from the time you notify him of your need until he performs the task). The result is the suggested purchase order date.

If you are reserving stock for allocations (Work in Progress Setup) and you include both confirmed jobs and sales orders, then the warehouse quantity available includes both the WIP reserved quantity and sales order quantity against included warehouses for items.

If you are reserving stock for allocations (Work in Progress Setup) and you exclude confirmed jobs, then the warehouse quantity available is reduced by the WIP reserved quantity against included warehouses for items.

Negative material allocations that exist against a job are treated as a supply by MRP. Unlike other supplies, however, these cannot be re-scheduled according to demand.

The Requirements Calculation processes floorstock items as follows:

  • Existing jobs

    When processing floorstock allocations for an unconfirmed job, the program raises demand for the quantity required against the floorstock warehouse.

    If the job is confirmed, then the demand is raised from the warehouse defined against the material allocation.

  • Netting off

    Floorstock items are treated in the same manner as normal items when netting off takes place in Requirements Calculation.

A record is inserted into the temporary supply file. The jobs are loaded during the netting-off phase.

Excluding Jobs from the MRP calculation (Requirements Planning Setup) does not prevent the Requirements calculation from raising suggested Jobs. Selecting the options in Requirements Planning Setup merely excludes existing Job entries from supply and demand.

Quotations

MRP only deals with the default offer. It does not try and negotiate multiple offers.

The following rules apply:

  • The quotation must not be in a status of (4) confirmed, () canceled or (R) rejected.
  • The probability of the quotation must be greater than that defined in requirements planning setup (i.e. if the setup = 1 then all quotes with a probability of 2 upwards will be included).
  • The MRP option include quotations where probability is greater than (Requirements Planning Setup) always defaults to 9. On a quotation a value of 1 indicates the lowest and 9 the highest probability of acceptance.

    This means that if you leave the setup option Include quotations with probability greater than as 9, then none of your quotations will be included in the Requirements Calculation.

    In other words, although you may have elected to include quotations (Requirements Planning Setup) if you don't set this probability appropriately, none of the quotations will be selected. (See examples below).

  • Customer details must be defined against the quotation so that a 'dummy' sales order header record exists (QOTSOH).

  • A default offer entry must be defined against the quotation line.

  • If stocked, then the warehouse must be included.

  • If non-stocked made-in, then costing must be complete for the item.

  • If made-in, then the estimate structure must be flagged as available to use

  • Demand is excluded for quotations with an expiry date before the requirement calculation run date.

Examples:

To illustrate the relationship between the MRP option Include quotations with probability greater than and the probability factor against the quote, the following scenarios are provided:

  • Scenario 1

    Include quotations where probability is greater than = 0

    Quotation probability = 1

    Result = included in MRP calculation

  • Scenario 2

    Include quotations where probability is greater than = 0

    Quotation probability = 9

    Result = included in MRP calculation

  • Scenario 3

    Include quotations where probability is greater than = 1

    Quotation probability = 9

    Result = included in MRP calculation

  • Scenario 4

    Include quotations where probability is greater than = 1

    Quotation probability = 2

    Result = included in MRP calculation

  • Scenario 5

    Include quotations where probability is greater than = 1

    Quotation probability = 1

    Result = NOT included in MRP calculation

  • Scenario 6

    Include quotations where probability is greater than = 4

    Quotation probability = 2

    Result = NOT included in MRP calculation

  • Scenario 7

    Include quotations where probability is greater than = 9

    Quotation probability = 2

    Result = NOT included in MRP calculation

Purchase Order file

This phase is performed if you enabled the option: Purchase orders at the Include in requirements calculation field in the Requirements Planning Setup program and the Purchase Order module is installed. Each purchase order in a status of 0, 1, or 4 is processed.

The supply quantity for each incomplete stocked or non-stocked line is calculated by subtracting the quantity received from the original order quantity and converting it to the stocking unit of measure.

  • Excluding purchase orders from the MRP calculation in the Requirements Planning Setup, Purchase Order Entry or PO Creation programs merely excludes the stocked and non-stocked items on the purchase orders/lines from being seen as a source of supply. It does not prevent the Requirements calculation from raising suggested purchase orders. For example, if a purchase order for a job allocation exists, but the order or order line was excluded from the MRP calculation, then a new supply will be suggested.

    When purchase orders are excluded at header level, their detail lines are excluded, regardless of whether they are included at line level.

    Purchase orders linked to excluded Sale orders are ignored by the MRP calculation.

  • When a purchase order is linked to a Landed Cost Tracking (LCT) shipment, the due date is set as "firm" and it might not be practical for it to be changed.

    When an LCT is raised, the purchase order line is flagged so that MRP cannot move it. As it is fixed in this manner, if it is late, then it will not satisfy the demand and Requirements Planning raises a suggestion to cover the shortage. MRP does not schedule purchase orders linked to a LCT shipment. The planner must therefore review late supplies and potential oversupplies.

The sequence in which the calculation determines the warehouse for creating suggested purchase orders is:

  1. The warehouse for the components as defined against the Bill of materials
  2. The component warehouse to use defined against the warehouse
  3. The warehouse to use defined against the stock code

A record is inserted into the temporary supply file. The purchase order line is loaded during the netting-off phase.

  • Blanket Purchase Orders (BPO

    The Requirements Calculation program ignores Call-off single type blanket purchase orders that are configured as a Fixed contract and not in a status of completed or canceled. This is because the program assumes that the contract cannot be changed and, therefore, the purchase order receipt cannot be re-scheduled.

    The Requirements Calculation runs through the blanket purchase order header file and reads in all the Blanket Purchase Orders associated with a contract type of Call-off single which are not defined as a Fixed contract. This effectively suppresses suggested requisitions from being displayed in the Purchase Order Review program and instead passes them to the Blanket Purchase Order Review program.

    This means that no supply is recognized against active live lines and no pegging is output.

    If there is demand for items which are linked to these blanket purchase orders, then the purchase order lines are removed from the snapshot files and the program creates new blanket purchase order lines as suggested requisitions in accordance with the required supply. So, because no existing supply is output all demand raised is satisfied by raising a suggested requisition. The Blanket Purchase Order Review program matches the existing Blanket Purchase Order (in the live system) to any suggestions and maps the changes required.

Requisition file

This phase is performed if you enabled the option: Purchase orders at the Include in requirements calculation field (Requirements Planning Setup) and the Purchase Order module is installed.

Requisition lines excluded from the MRP calculation in the Requisition Entry Maintenance program are ignored by the calculation and are therefore not seen as a source of supply. Excluding requisition lines from the calculation does not prevent the Requirements calculation from raising suggested requisitions for the demand of those items. For example, if a requisition for a job allocation exists, but the requisition line was excluded from the MRP calculation, then a new supply will be suggested.

For requisitions which are not Stores Issues or Transfers, only requisitions created with the user code MRP and having a status of normal or approved are processed. A record is inserted into the temporary supply file. The requisition line is loaded during the netting-off phase.

For requisition Stores Issues:

  • The requisition Stores warehouse (Requisition Entry Maintenance) is used. If this is spaces, then the Warehouse is used.

  • The Due date (Requisition Entry Maintenance) of the requisition is used as the demand date.

  • Where applicable, the lot expiry check is performed.

  • If the item is an MPS item and build schedules are included in the Requirements Calculation, then the pegging is written to the MPS pegging record.

  • When updating the pegging, the pegging source type N is used.

For requisition Stores Transfers:

  • Stores transfers mimic Supply Chain Transfers (SCTs).

  • The requisition Stores warehouse (Requisition Entry Maintenance) which is the issuing warehouse, is the source used and the requisition Warehouse is the target warehouse used.

  • The dock to stock for the supply side is taken from the target warehouse.

  • When scheduling supply according to demand and the GIT supply chain exists, the supply ad demand sides are rescheduled.

    If the GIT matrix does not exist, then the supply side is rescheduled and the demand side remains fixed.

  • If the item is an MPS item and build schedules are included in the Requirements Calculation, then the demand side pegging is written to the MPS pegging record.

  • When updating the demand pegging, the pegging source type V is used.

  • When updating the supply pegging, the pegging source type Y is used.

  • It is possible for either the supply or demand side to be excluded based on your Warehouse selection at the time of running the Requirements Calculation (see Requirements Planning Setup).

  • When scheduling specific supply, a stores transfer can be rescheduled according to a job allocation or a sales order.

Requisition Stores Issues and Transfers are ignored by the Requisition Review and Supply Date Reinstatement programs.

Goods in Transit

This phase is performed if the following conditions are met:

  • you have enabled the options: Sales orders, Supply chain transfer orders and Goods in transit at the Include in requirements calculation field (Requirements Planning Setup)

  • you have enabled the option: Use full Goods in Transit transfers facility (Requirements Planning Setup)

  • you are not consolidating warehouses (Inventory Setup). If you define a range (or list) of warehouses and a warehouse within a supply chain is not included in this selection then the warehouse is excluded from the requirements calculation.

Before taking the snapshot, the Requirements Calculation program validates warehouse supply chains. If any errors are detected during this validation phase, the requirements calculation aborts indicating that errors were detected during the calculation.

Tip: To generate a report of the validation errors detected:

  1. Open the GIT Supply Warehouse Validation program.

  2. Enable the Print the report option from the After processing completed section.

  3. Right-click the form and ensure that the Load Previous Form Values option is enabled from the Options submenu.

  4. Run the Requirements Calculation program.

    When the program runs GIT Supply Warehouse Validation and stops with Errors detected during calculation, the results and error messages are printed to the operator's default Windows printer. This avoids having to re-run GIT Supply Warehouse Validation to establish the validation errors.

If a stock item for a warehouse is supplied by another warehouse, instead of a purchase order or job, then it is defined as being transfer-supplied. The Requirements Planning program recognizes these transfer-supplied items and creates a suggested supply chain transfer instead of a suggested job or purchase order to meet the demand. In order for a GIT stock item to be included in the MRP calculation, that stock item may only have one source warehouse defined.

  • The option: Allow MRP to reschedule goods in transit due dates (Requirements Planning Setup) dictates whether existing Goods in Transit are rescheduled or not.

    If this option is not selected, then existing Goods in Transit can be moved out to fill a future requirement, and the demand created by this action can be filled either by suggesting a new supply chain transfer and/or moving existing supply chain transfers in.

  • The option Use absolute days when applying lead time to transfer supplied items (Inventory Setup) is applied when creating suggested SCTs and calculating the transaction date and demand date of the transfer supplied item.

MRP includes any quantity that has been dispatched but not invoiced for a Supply Chain Transfer sales order as part of the supply for the item in the target warehouse.

If the supply chain is broken because a warehouse in the supply chain is excluded, a suggested job or purchase order is raised, as the system is unable to raise a supply chain transfer.

A new suggested supply chain transfer can trigger a series of suggested supply chain transfers, as each one in turn creates a new demand. If the demand cannot be satisfied at the top of the supply chain, then a suggested job (for made-in items) or a suggested purchase order (for bought-out items) is raised against the warehouse at the beginning of the chain. The suggested supply chain transfer is based on the warehouse designated as the supply warehouse for the stock item.

Where the transfer warehouse has not been defined at stock code level, the supply chain transfer is based on the warehouse move matrix. Similarly, lead times are based on the warehouse designated as the supply warehouse for the stock item or (if not defined at stock code level) from the warehouse move matrix.

If a transfer supplied item exists in Goods in Transit, but the supplying warehouse is not the normal supplying warehouse then the Requirements Calculation program still takes account of the remaining demand and raises suggestions against the normal supplying warehouse.

Replenishment rules defined against the warehouse for the stock item take precedence over the rules defined against the stock item (i.e. if the re-order quantity for the stock item is defined against the warehouse, then the economic batch quantity defined against the stock item is ignored). Similarly, if the pallet quantity for the stock item is defined against the warehouse, then the pan size defined against the stock item is ignored. (i.e. the EBQ for the item becomes the Re-order quantity against the warehouse and the PAN is the pallet quantity. This is an intentional design to cater for varying sizes. The EBQ and PAN on the stock master are only applied when ordering externally or raising a job).

In addition, the Requirements Calculation program uses the Lead time, Dock to stock and Fixed time periods defined against the warehouse (where defined) instead of the times defined against the stock code. The available date for an existing goods in transit transfer is calculated as the expected due date plus the dock to stock days plus the number of days after stock arrives that it can be used (Requirements Planning Setup).

Batching rules are applied using the rules defined against the target warehouse for the stock item. If these are not defined against the target warehouse, the rules defined against the stock code are used.

If you are not using the full goods in transit facility (Inventory Setup) or you have excluded goods in transit from the requirements calculation (Requirements Planning Setup) then items that are in transit are treated as received by the target warehouse, regardless of whether the target warehouse has received the items.

You use the Supply Chain Review program to review and update suggested supply chain transfers and to create live supply chain transfer orders based on the suggestions from the snapshot files.

Excluding Goods in Transit and Supply Chain Transfers from the MRP calculation (Requirements Planning Setup) does not prevent the Requirements calculation from raising suggested SCTs. Selecting the options in Requirements Planning Setup merely excludes existing GIT/SCT entries from supply and demand.

A suggested SCT is raised if the item/warehouse is defined as transfer supplied - this is the purpose of the option against the stock code / warehouse (Inventory Warehouses for Stock Codes).

The same applies to jobs and purchase orders - if you choose to exclude the jobs and purchase orders the Requirements Calculation will still generate suggested jobs/purchase orders to satisfy demand.

Stock on hand Requirements file

This phase is only performed if you selected the option: Include all stock codes in requirements (Work in Progress Setup) and the Inventory Control module is installed.

This phase processes each stocked item already in the requirements file and determines the quantity available. This quantity is moved into the quantity available bucket in the past due record.

If there is a quantity in transit then this is added to the quantity available and a separate pegging record is created.

If there is a quantity in inspection then this is added to the quantity available, but no separate pegging record is created. Quantities in inspection that are marked as scrapped and/or rejected are excluded from the quantity available. This applies to both stocked and non-stocked items.

For MPS items where the option: Build schedule is selected at the Include in requirements calculation option (Requirements Planning Setup) the quantity available and safety stock is assumed to be zero.

Stock on hand for expired lots can be included or excluded when determining material requirements.

In addition, for both stocked and non-stocked items, a temporary index in low level code sequence is created. This is used by the netting-off phase. If the processing stock on hand - requirements file phase is performed, then the next phase will be netting-off.

Stock on hand Inventory file

This phase is performed if you enable the option: Include all stock codes in requirements file (Requirements Planning Setup) and the Inventory Control module is installed.

This phase processes the entire inventory master file and determines the quantity available for each warehouse. This quantity is moved into the quantity available bucket in the past due record.

If there is a quantity in transit, then this is added to the quantity available and a separate pegging record is created.

If there is a quantity in inspection then this is added to the quantity available, but no separate pegging record is created.

If you are using multiple bins (Inventory Setup) and a bin is on hold, then the quantity in that bin is included in the quantity available for the item.

  • Quantities in inspection that are marked as scrapped and/or rejected are excluded from the quantity available.

  • Items that are on Full hold (Stock Codes) are included in the calculation and in the pegging information. You will, however, not be able to raise purchase orders or create jobs for these items.

  • Available quantities in bins that are on hold are included in the requirements calculation.

For MPS items where the option: Build schedule is selected at the Include in requirements calculation option (Requirements Planning Setup) the quantity available and safety stock is assumed to be zero. In addition, a temporary index in low level code sequence is created. This is used by the netting-off phase.

Non-stocked Requirements file

This phase is performed if you enable the option: Include all stock in requirements (Requirements Planning Setup).

This phase processes each non-stocked item already in the requirements file and ensures that the quantity available bucket in the past due record is zero. If it does not already exist, then it is created.

In addition, the temporary index in low level code sequence is updated to reflect all the non-stocked items. This is used by the netting-off phase.

Non-stocked Supply file

This phase is performed if you enabled the options: Schedule jobs and purchase orders according to demand and Include all stock in requirements (Requirements Planning Setup).

This phase processes each non-stocked item in the temporary supply file and ensures that the quantity available bucket of the past due record in the requirements file is zero. If it does not already exist, then it is created.

If there is a quantity in inspection then this is added to the quantity available, but no separate pegging record is created.

Quantities in inspection that are marked as scrapped and/or rejected are excluded from the quantity available. This applies to both stocked and non-stocked items. In addition, the temporary index in low level code sequence is updated to reflect all the non-stocked items. This is used by the netting-off phase.

Notional Parts

When using consolidate warehouses, Route 0 is used for the notional part.

The earliest demand date for the co-products for the notional part is used to create the suggested job, even if a co-product is not the driver. The co-product with the highest planning sequence for the first period is selected and the notional part's batching rule is applied to the notional quantity.

When dealing with sequential co-products, the following batching rules do not apply:

  • G - Multiple EBQ lots
  • H - Multiple pan lots
  • M - Multiple EBQ lots (fixed time)
  • N - Multiple pan lots (fixed time)
  • O - Minimum of EBQ thereafter multiples of pan
  • E - Order to maximum if less than minimum
  • Q- Apply warehouse order policies

When dealing with concurrent and proportional co-products, the following do not apply:

  • Batching rule - E - Order to maximum if less than minimum
  • Order policy - M - Order to maximum if less than minimum

The calculation reverts to using A - Lot for lot when the incorrect batching rule is applied and a message is printed on the report to indicate this.

Fixed time is not applied to the batching rules, because the supply and demand for co-products are accumulated according to the Requirements Planning days defined against the co-products themselves (Setup Options).

One suggested job is created for each period/notional part, using the highest weighted entry for each notional part. Based on the quantities to make for the suggested job, the quantities required for the co-products are reduced across the periods. The shortages are recalculated for the co-products attached to the notional part.

If the planning weighting defined against the co-product (Structures and Routings) is set to zero, then the co-product has no bearing in calculating demand for the notional part. This will mean that, for example, MRP will not suggest a works order for notional parts when demand is a sales order for a co-product.

Co-Product Processing

Following is an example of how co-products are processed by the Requirements Calculation program.

You have a notional part N, with co-products A, B, C.

All relationships are 1 to 1 for ease of use (i.e. for each one notional part made, a quantity of one each of the co-products is made).

All co-products are receipted in at the end of the job. The calculation is based on a planning period of 1 day.

An existing job for 10 is due in on 20 October (i.e. 10 of each co-product will be available on 21 October)

Low level code calculation:

Co-product A is calculated as level 0 Co-product B is calculated as level 1 Co-product C is calculated as level 2 This means that notional part N has low level code 3 (one lower than the lowest co-product which is co-product C). The following demands exist:

Co-Product Demand Quantity Demand Date
A 20 25 October
B 15 10 October
C 17 05 October

Processing co-product A we find:

  • A demand of 20 for 25 October and a supply of 10 for 21 October (the existing job)
  • The calculated shortage is therefore 10. A requirement of 10 for co-product A is raised if its planning weight is greater than zero (BOM Co-Product Maintenance).

Processing co-product B we find:

  • A demand for 15 for 10 October and a supply of 10 for 21 October (the existing job)
  • The calculated shortage is therefore 5. A requirement of 5 of co-product B is raised if its planning weight is greater than zero (BOM Co-Product Maintenance).

Processing co-product C we find:

  • A demand for 17 for 5 October and a supply of 10 for 21 October (the existing job)
  • The calculated shortage is therefore 7. A requirement of 7 of co-product C is raised if its planning weight is greater than zero (BOM Co-Product Maintenance).

The following are the outstanding requirements for the co-products against the notional part:

Notional Part Date Co-Product Co-product Demand Quantity Notional Part Quantity
N 4 October C 7 7
N 9 October B 5 5
N 21 October A 10 10

Therefore, the earliest date for which we need to create a notional part job is 4 October.

Create a job for the notional part for 4 October for a quantity of 7. This also satisfies the requirement for the quantity of 5 of co-product B and 7 of the 10 required for co-product A (creating a job for 7 of the notional part creates a quantity of 7 of each of the co-products). The process is repeated to meet the outstanding demand of 3 for co-product A on 21 October.

Netting off Requirements Calculation

This phase is always executed.

In this explanation of the netting-off phase, the term dock-to-stock is assumed to mean the sum of the dock-to-stock held on the inventory record of the item under review and the general stock use delay held in the Requirements planning options.

This phase processes the temporary index in low level code sequence, starting from the highest level items working its way to the lowest level items. Non-stocked items are processed last.

During the netting-off process, the current level (together with the stock code being netted-off at that level) is displayed.

For each stock code the following general logic applies:

  • The first record (usually the past due record) for the stock code/warehouse combination is netted-off according to the calculation: Available quantity plus Supply quantity less Demand quantity

  • The result is placed back onto the requirements record. If the result is greater than (or equal to) zero, then the next record for the same stock code/warehouse combination is processed.

  • The result is then moved to the available quantity on this new record. The netting-off calculation shown above is then performed on this record. If the result is less than zero the following applies: The temporary supply file is accessed to determine whether there is any remaining supply (purchase order, requisition, job or estimate) that can satisfy the shortage.

    You can select the option: Suppress MRP ordering (Requirements Planning Setup) to prevent the Requirements Calculation from raising suggested supplies (i.e. jobs, requisitions or SCTs) for non current revision/releases of ECC items.

Purchase order and requisition supply

If the remaining supply is a purchase order then the outstanding quantity on order is added to the supply field on the requirements file and the due date of the purchase order changed to reflect the date that the shortage occurred (less any dock-to-stock).

Job supply

If the remaining supply is a job then the outstanding quantity to make is added to the supply field on the requirements file and the delivery date changed to reflect the date that the shortage occurred (less any dock-to-stock).

Once the delivery date has been established, each operation's queue, start and delivery dates are calculated (as if the date calculation method were S).

The start date of the job is calculated as the queue date of the first operation. Thereafter, the material allocations are loaded onto the requirements file, each allocation causing the demand field to be increased. (These will be netted-off later as the allocations must have a lower low level code.)

Once the supply has been loaded, the netting-off calculation is performed again to see if there is still any shortage. If not, then the next requirement record is processed.

If there is a shortage and there is further supply that is available, then it is used. Once a shortage exists and there is no supply to satisfy it then the following applies: Shortage exists and a suggested job or requisition is to be generated. The result from the last netting-off calculation (see above) is modified using the buying rules. This results in a suggested number of orders and the quantity required for each order.

For notional part jobs, the time when the job needs to be completed to meet demand is calculated as the requirement date less the co-product dock to stock date. If the job is for a notional part with sequential co-products and the calculated date is not the highest date, then the calculated date represents the operation end date at which the co-product will be available and the job delivery date is calculated from this point forward.

The netting off of the principle grade of a multi-grade co-product structure is done in the same way as a normal made in item except that the components and operations of the notional part are used when creating suggested jobs.

Suggested requisition

If the item is bought-out (or non-stocked, or made-in but flagged as bought-out in a specific warehouse) a suggested requisition is generated. The due date of the requisition is calculated as the date of the shortage less the dock-to-stock days.

When calculating the demand date for a subcontract operation, the operation dock to stock and the Number of days after stock arrives that it can be used (Requirements Planning Setup) at the time of raising suggested supply (requisitions) is used. It is also applied when you have the option to schedule specific supply and an existing job is moved, therefore moving any attached requisition or purchase order. It is important to note that if you are not scheduling specific supply (e.g. you may have a purchase order/requisition to supply 200 jobs) then the dock to stock against the operation is not applied when moving the due date. If you wish to apply an extra dock to stock in this manner then you must define a non-stocked item matching that in subcontract operations and define a lead time and dock to stock against it.

Suggested job

If the item is made-in, then a suggested job is generated. The delivery date of the job is calculated as the date of the shortage less the dock-to-stock days.

If the stock code to make is a Phantom or Planning item, then the operations are not processed. The routing file (route 0) is accessed to add operations to the suggested job allocation file.

The queue, start and finish dates are calculated (as if the date calculation method is S). The start date of the job is calculated as the queue date of the first operation. Thereafter, the structure file (route 0) is accessed to add material allocations to the suggested job allocation file.

Each material allocation is loaded as a demand onto the requirements file. (These will be netted-off later as the allocations must have a lower low level code than the stock code to make).

If you are using structure on/off dates, then by default the start date of the job is used as the date to be verified. The reason for this is that most jobs require some, if not all, of the material to be available at the start of the job. If the option: Apply current structure to past due jobs is enabled (Requirements Planning Setup) then the calculation date is used instead of the job start date when checking structure off dates. This means that only structures that are current at time of the calculation are used.

If the material allocation is a Bulk issue item, then the requirements file is not updated to increase the demand quantity.

If you are using progressive scrap then all suggested job quantities are according to the net quantity to make, with the gross quantity being calculated when the job is created. The material allocation requirements, however, are stated in terms of the gross quantity required. In other words, if you have a scrap quantity of 1 defined against an operation and the quantity per for the material allocation is defined as 3 against the bill of material, then a job that requires a net quantity of 4 will have a material allocation requirement of 15 (you need 3 for every parent plus another 3 for the parent that will be scrapped).

The program copies the Allow override Rev/Rel option from the Bill of Material for an ECC component that has an ECC consumption method of Deplete oldest to the material allocation, when creating a suggested job.

Rebuild dynamic capacity profile

This phase is performed if you enabled the option: Requirements planning load leveling (Requirements Planning Setup).

The dynamic capacity profile file is rebuilt by running through all existing and suggested jobs.

The dynamic capacity profile is used to identify and manipulate capacity shortages and bottlenecks using the Load Leveling program.

Ensure that your capacity calendars are correctly defined and valid. You can also run the Balance function in the WIP Period End program and select the Recreate dynamic capacity profile option.

Snapshot of Data Files

When the Requirements Calculation program is run, information is extracted from live data files and copied to a snapshot directory. All calculations and manipulations are performed on the information residing in this snapshot directory.

Live files are only updated using the Review and Update programs.

The files copied during snapshot creation depend on which modules are installed, and the Requirements Planning Setup options indicated.

Then all programs within the Requirements Planning folder on the menu look at the snapshot directory and not at the live files. This allows you to manipulate jobs and purchase orders in a 'what if' scenario without affecting live data. Until you select to create live purchase orders and jobs, everything is manipulated within the snapshot directory.

In a SQL environment however, this is not true.

The reason is that the copying of SQL tables is extremely resource intensive and hence the Requirements Planning Calculation was taking more than double the amount of time to run when in a SQL environment. A decision was therefore made, based on the fact that you plan for the future, that completed jobs and purchase orders are not be copied to the 'snapshot' directory when run within a SQL environment. Because all Requirements Planning programs are oriented to look at the snapshot files, completed purchase orders and jobs cannot be viewed from the WIP Query program as they were never copied to the 'snapshot' folder.

The following is a list of all the files that could be copied:

  • Inventory Control

    • Inventory Warehouse
    • Inventory Inspection Ctl
    • Lot Traceability Detail
    • Goods in Transit Detail
    • Goods in Transit Master
    • Goods in Transit Supply Chain
  • Purchase orders

    • Purchase Order Detail
    • Purchase Order Header
    • Requisition Detail
    • Requisition Header
  • Sales Orders

    • Sales Order Detail
    • Sales Order Header
  • Bill of Materials

    • Bill of Materials Work Center Capacity
    • Bill of Materials Narrations
  • Quotations

    • Quotation Master
    • Quotation Detail
    • Quotation Offers
    • Quotation Non-stocked Master
    • Quotation Sales Order Detail
    • Quotations S/Order Dummy
    • Quotation Estimate Operations
    • Quotation Estimate Structure
  • Work in Progress

    • WIP Control
    • Job Master
    • Job Material Allocations
    • Job Labor Allocations
    • Job Classifications
    • Dynamic Capacity Profile
  • Requirements Planning

    • Requirements Control
    • Requirements Master
    • Build Schedule
    • Requirements Pegging
    • Forecast

For the following tables, only the information for the warehouses included in MRP (Requirements Planning Setup program) are copied when copying data into snapshot:

Changes to the warehouses to include in Requirements Calculation in Requirements Planning Setup are only applied when a new snapshot is taken. If you take a snapshot and subsequently change the warehouses to include, then you need to rerun the snapshot.

  • Job header (WipMaster)

  • Quotation details (QotDetails)

  • Sales order header for SCT orders (SorMaster)

  • Sales order details for non-SCT orders (SorDetails)

  • Purchase order details (PorMasterDetail)

  • Requisition details (ReqDetail)

  • Forecasts (MrpForecast)

  • Build schedules (MrpBuildSchedule)

  • Goods in transit files (GtrMaster and GtrDetails)

  • Stock in inventory inspection (InvInspect)**

  • Stock in WIP inspection (WipInspect)**

  • Lot Details (LotDetail) **

The tables marked with ** are filtered at the time of copying the data into snapshot to reduce the number of rows copied. For example in Lot details, only entries with a quantity on hand are copied.

IO and MRP

When using the Inventory Optimization module, you can apply time-phased minimum and maximum stock item levels in Requirements Planning as opposed to fixed minimum and maximum levels.

The Inventory Optimization module is used to calculate and output minimum and maximum (min/max) stock levels for stock items by calendar period. The IO current min/max levels (in the IopStockLevel table) are copied to the snapshot MRP min/max stock level table (MrpStockLevel) and used by the Requirements Calculation to derive an optimal requirement in an environment where demand varies over time. This enables you to more accurately provide sufficient stock cover for the expected variability of the demand at your target service level (IO Policies).

MRP only uses the current min/max levels in its calculations, so you need to ensure that these are updated before running the Requirements Calculation program. Current min/max levels can be updated using the IO Stock Levels Modeling (Functions menu - Update Current) and IO Draft Levels Approval programs.

If you do not update the current min/max levels, then the Requirements Calculation uses the min/max levels defined against the warehouse for the stock item (Inventory Warehouse Maintenance for Stock Code) and outputs the error message: IO min/max levels not found for Stock code ' ', Inventory warehouse min/max levels used.

When using Inventory Optimization, the following batching rules and order policies are used by MRP in relation to the current maximum levels (see Stock Codes):

  • Q - Apply warehouse order policy

    If you select this rule, then one of the following Order policies must be set against the warehouse for the stock code (Inventory Warehouse Maintenance for Stock Code):

    • M - order to max if less than minimum

      The goal of this rule is to monitor when demand causes available to be less than minimum. When this happens, MRP will recommend supply up to the maximum.

    • I - Cover shortages if less than minimum

      If available minus demand is less than the minimum level, then MRP will recommend supply to meet demand and to top up to the minimum level.

      For example, if Available = 7, Demand = 40 and Minimum = 33, then MRP will suggest supply of 66. This is the 33 required to meet the demand (7-40 =33) plus 33 to meet the minimum. The opening available for the next period in this example will be 33, which is the minimum.

      This ignores the Fixed time period option (Inventory Warehouse Maintenance for Stock Code). It uses the Inventory Optimization min/max levels.

    • S - Order to maximum if shortage

      The difference between this rule and the M - order to max if less than minimum rule is that this rule ignores the minimum. The order point is reached when available is insufficient for the demand at hand.

  • E - Order to max if less than min

  • D - Order to maximum if shortage

Min/max levels are only applied in MRP if there is demand for the item and the demand is such that if min/max levels are not applied, a stock-out situation will arise. However, if there is sufficient stock on hand to meet demand and the demand does not violate min/max levels (e.g. cause the level to fall below minimum), then the min/max levels do not affect MRP. Min/max levels therefore address demand.

When a quantity on hand for a stock item drops below its minimum level, MRP tries to replenish the order immediately, which may result in he unnecessary expediting of orders. The Apply safety stock time fence rule option in the Requirements Planning Setup program enables you to indicate a time fence during which MRP will not raise demand for minimum levels. When IO min/max levels are applied in the calculation, they will only be applied from the calculation date plus the time fence rule selected (i.e. the demand, manufacturing or planning time fence).

When IO is installed, the safety time fence rule is applied and the min and max levels will only be accounted for outside of the time fence selected.

The IO Min/Max Levels pane in the Requirements Planning Query program displays the minimum and maximum IO levels used in the MRP calculation.

The Target Service Level - defined against the policy (IO Policies) - is crucial in determining the resultant min/max levels.

The higher the Target Service Level, the higher the suggested Minimum, and by implication, the higher the suggested Maximum. These min/max levels are used by the MRP calculation to address demand, in conjunction with Batching Rules set against the Inventory Master.

It follows therefore that, the higher the Target Service Level, the higher the potential inventory on-hand, and the greater the risk you bear when customers do not purchase your product in the volumes recommended by the Target Service Level.

Therefore, suggested supply generated via min/max levels are a sensitive issue in MRP, potentially affecting the profitability of your company.

It is recommended that only senior staff are involved in the determination of min/max levels, since this is the level at which decisions affecting profitability are made. In addition, suggested MRP supply must be critically reviewed for feasibility in relation to the target service level set before any action is taken.

Notional and Co-Products

The following rules apply to the use of IO min/max levels in MRP for Notional parts and Co-products:

  • Multi-grade co-products are not supported in the context of min/max levels in Inventory Optimization.

  • The Batching rule defined against the Notional part is used by the MRP calculation (Stock Codes or Inventory Warehouse Maintenance for Stock Code).

    Batching rules defined against Co-products are ignored by MRP.

  • Suggested jobs are raised against the Notional part for demand placed against the Co-products.

  • The min/max levels are set against the Co-products (Inventory Warehouse Maintenance for Stock Code). Min/max levels cannot be derived for a Notional part. No min/max levels are displayed for notional parts in the Requirements Planning Query program.

  • The Major order multiple and Minor order multiple options are not supported for Notional parts (Inventory Warehouse Maintenance for Stock Code).

  • The demand period defined against the Req planning period (days) option for the co-product (BOM Co-Product Maintenance) is used by the Requirements Calculation program to group co-product demand when calculating suggestions.

  • The Planning weighting defined against the co-products (BOM Co-Product Maintenance) determines which co-product 's min/max levels MRP uses to suggest supply.

    Where multiple co-products with different min/max levels exist against a notional part, the co-product with the highest planning weight is used by MRP to determine required supply. This is irrespective of the min/max levels defined against the co-products.

    For example:

    You have the following two co-products against a notional part:

    • C1 has a minimum of 10, a maximum of 100 and a planning weighting of 2

    • C2 has a minimum of 5, a maximum of 50 and a planning weighting of 4

    Assume you are using batching rule E- Order to max if less than min against the notional part.

    MRP will use the maximum level of 50 from co-product C2 to suggest supply because the planning weighting of C2 is higher than C1. The fact that the maximum level for C1 is higher than for C2 is ignored. Therefore, the co-product with the highest planning weighting is used to determine the order-up-to level.

    Note that if both co-products had the same planning weighting, then the maximum level for C1 (i.e. 100) would be used.

    If the batching rule was I - Cover shortages if less than minimum, then the minimum of 5 against co-product C2 would also be used even though its minimum is less than that of co-product C1.

  • If demand falls into different periods, then supply is satisfied by checking the min/max levels of the co-product with the highest planning weighting.

Error and Warning Messages

During the requirements calculation it is possible that some inconsistencies are discovered. In most cases the calculation program assumes certain defaults and continues with the calculation. In these cases an error log is produced. It is recommended that these are corrected, even if the defaults assumed by the calculation program are correct for you.

Message Description
Errors detected during calculation This may be displayed whilst the calculation is running and is displayed when:
  • checking whether the supply chain is valid when Goods in Transit is installed and an error occurs.

  • loading the WIP Dynamic capacity and an error occurs.

In these scenarios, an error would have been displayed in a message box before being able to continue with the calculation.

Missing stock code xxxxx. Low level code '16' assumed This warning indicates that the stock code (xxxxx) found outside the Inventory control module does not exist in the Inventory master file. It will be treated as a non-stocked item.
Missing floor stock warehouse This indicates that there was demand for a floor stock item and the floor stock warehouse was not defined, is invalid (Work in Progress Setup) or not defined against the stock code. (Stock Codes).
Missing warehouse yy for stock code xxxxx. Zero quantity on hand assumed This warning indicates that the stock code (xxxxx) found outside the Inventory control module does not exist in the Inventory warehouse file. It is assumed that there is zero quantity on hand.
Missing warehouse yy for stock code xxxxx. Allocation added against Wh to use

This warning can be caused by one of the following:

  • You defined a component warehouse to use (against the warehouse control).
  • You defined a warehouse to use against a Bill of Materials where a component is non-stocked or no longer stocked.
  • You are using a floorstock item that is not actually stored in the floorstock warehouse.
  • You are using co-products and the co-product is not defined against the notional parent warehouse.

When the Requirements Calculation program encounters one of these scenarios, it reverts to the component's warehouse to use and creates an allocation against that warehouse.

The calculation will have been completed, but you need to establish what is causing this warning to be displayed. Check the job(s) created where a material allocation exists for the stock code and warehouse to use and work back from that point.

Components attached to xxxxx have a low level code > '15' Process aborted

This error indicates that in excess of the maximum allowable 15 levels of structures have been added to the displayed stock code. The calculation will be aborted

You can use the MRP Low Level Code Validation program to report on all stocked and non-stocked codes that have a low level code exceeding 15, or that are part of a looping structure.

At least one stock code is attached to its own structure

This error indicates that a looping structure has been created. The calculation will be aborted.

For example, stock item B100 was added as a component to item B111, but item B111 is already a component or sub assembly of item B100. You need to use the Structure Validation program and select the option: Validate Structure levels, to identify the stock item attached to its own structure.

This error typically occurs in a 'super' Bill of Materials (i.e. a combination of Bill of Materials, Work in Progress and Quotation structures). For example, you have a BOM structure of PARENT - COMPONENT and the job was a structure of COMPONENT - PARENT. The BOM itself is valid, so checking the BOM itself is pointless.

You can use the MRP Low Level Code Validation program to report on all stocked and non-stocked codes that have a low level code exceeding 15, or that are part of a looping structure.

At least one stock code is attached to its own structure - WIP files excluded from low level calc

This error indicates that a looping structure has been created.

This error typically occurs in a 'super' Bill of Materials (i.e. a combination of Bill of Materials, Work in Progress and Quotation structures). For example, you have a BOM structure of PARENT - COMPONENT and the job was a structure of COMPONENT - PARENT. The BOM itself is valid, so checking the BOM itself is pointless.

You can use the MRP Low Level Code Validation program to report on all stocked and non-stocked codes that have a low level code exceeding 15, or that are part of a looping structure.

Allocation added against the warehouse-to-use

This error, printed against a parent item, can be caused by one of the following:

  • an allocation is being added and the actual entry in the stock warehouse has not been defined for the warehouse-to-use
  • a component warehouse-to-use is defined against the parent item's warehouse control
  • a warehouse is defined against a Bill of Materials structure and the stock warehouse record is no longer available
  • if you are using co-products, then MRP is trying to create a job where a co-product does not exist in the notional part's warehouse.
Snapshot status no info transferred to live files This indicates that the snapshot processing did not update any live files. Data was transferred from the live files to the snapshot files.
Structure in a loop

This indicates that the program encountered at least one Bill of Materials structure which contains parent-component-parent loop.

For example: You have a BOM in which you have a PARENT - COMPONENT setup, but in WIP you have a job where you are making COMPONENT with PARENT as a component.

If MRP fails to run, then the looping structure is in the BOM. Use the Structure Validation program and select the option: Validate Structure levels, to identify the bill of materials which contains this loop.

If MRP has not failed, but issues a warning that certain files were excluded from the low level code calculation then you can run the MRP MRP Low Level Code Validation report. This will indicate what is looping when the files are combined.

Error occurred on BULK INSERT for: MrpJopAllLab [Microsoft][ODBC SQL Server Driver][SQL Server] cannot bulk load. Invalid column number in the format file "MRPLAL.fmt

This is a known intermittent error with the BULK INSERT on SQL 2005.

Ensure that you have latest version of the program IMPSQM (015 or later) or that you have downloaded SYSPRO SP2 port 20 or later.

If you are on the latest version as specified above, re-run the MRP Requirements Calculation and you should no longer get the error.

IO min/max levels not found for Stock code ' ', Inventory warehouse min/max levels used

This message is displayed if you are using the Inventory Optimization module.

The stock item is set to a batching rule of Q - Apply warehouse order policy or E - Order to max if less than min or D - Order to maximum if shortage, but no minimum or maximum levels are defined against the item from IO.

You need to update the Current min/max levels using the IO Stock Levels Modeling (Functions menu - Update Current) and/or the IO Draft Levels Approval program.

The message further indicates that as no Current min/max levels were found, the calculation used the min/max levels defined against the warehouse for the stock item (Inventory Warehouse Maintenance for Stock Code).

Notes and warnings

Prerequisites

  • Before running the Requirements Calculation program, define the setup options you require for Requirements Planning. In particular:

    • The Include in requirements calculation setup option (Requirements Planning Setup) enables you to indicate what you want to include in the calculation.
    • The Warehouses selection setup option enables you to indicate the warehouses you want to include in the calculation (Requirements Planning Setup).

  • See also Processing large data in the Troubleshooting section.

Program access

  • You cannot run the Requirements Calculation program when:

    • the snapshot directory path is the same as one of your data directories. This is to prevent the possible corruption of your live data.
    • the Job Entry program is currently being run by any operator, regardless of whether the Do not lock live files during snapshot option is enabled (Requirements Planning Setup).
    • the Job numbering method is set By job classification (Set Key Information) and a valid default Job class is not defined against the operator running the Requirements Calculation (Operators).

    • the Job numbering method is set to Manual (Set Key Information) and Component inclusion by job number is enabled (Bill of Materials Setup).

Restrictions/Inclusions

  • MPS items

    MRP does not suggest SCTs for MPS items, because an MPS item only sees build schedules as demand.

  • Component inclusion by job number

    If you are using Scripted job numbering and the Component inclusion by job number option is enabled (Bill of Materials Setup) then any suggested jobs created will be created ignoring any component inclusion/exclusion logic based on job numbering. A warning is displayed if/when the MRP process attempts to create a suggested job.

  • Build schedules

    • If you are including the build schedule in the requirements calculation (Requirements Planning Setup) then stock on hand and safety stocks are ignored when calculating net requirements for MPS items, and the lot-for-lot batch rule is used, regardless of the rule you have set against the stock code.

      This is because these parameters are taken into account during the master production scheduling activities.

    • If you are including the build schedule in the requirements calculation (Requirements Planning Setup) then the ONLY demand seen for an MPS item is the build schedule.

      MPS only supports a single level of dependent demand (i.e. demand in the form of job allocations).

    • If Build schedules are excluded from the requirements calculation, then MPS items are treated as normal items in that demand comes from the normal sources included (e.g. sales orders).

  • Sub jobs

    Sub jobs are never created in MRP, because MRP needs to apply batching rules, etc., to the components and therefore demand is 'containerized' into daily demand (as opposed to individual demand).

  • Stock on hold

    Stock items that are on Full hold (Stock Codes) are included in the calculation and in the pegging information. You will not, however, be able to raise purchase orders or create jobs for these items.

  • Lots and bins

    Quantities in lots and bins that are on hold are included in the requirements calculation.

  • Save Form Values

    The Snapshot status and Run date details are not saved when you use the Save Form Values function to configure the program for automation. This prevents the display of misleading information when running the program at a later date and a more recent snapshot exists.

Bought-out at warehouse level considerations

  • If an item is defined as bought-out at warehouse level (Inventory Warehouse Maintenance for Stock Code) then the supplier, lead time and dock to stock days defined against the warehouse is used instead of the values held against the stock code. This is ignored if using consolidated warehouses.

  • When items are defined as bought out by supplier at warehouse level, it makes little sense to consolidate warehouses, for the same reason as when forecasting is used and warehouses are consolidated - visibility is lost.

eSignature considerations

Electronic Signatures provide security access, transaction logging and event triggering. This enables you to increase control over your system changes.

Access to the following eSignature transactions within this program can be restricted at Operator, Group, Role or Company level. You configure this using the eSignature Setup program.

eSignature Transaction Description
MRP Requirements calculation - retain

Controls access to the Retain snapshot & recalculate processing function in the Requirements Calculation program.

MRP Requirements calculation - new

Controls access to the Take a new snapshot processing function in the Requirements Calculation program.

MRP Requirements calculation - delete

Controls access to the Delete snapshot processing function in the Requirements Calculation program.

Troubleshooting

Time taken to run

  • If the snapshot takes a long time to create, then check the Visibility factor (days) setting in the Requirements Planning Setup program. This should not be set to 999.

Files in use

  • Despite enabling the Do not lock live files while creating snapshot files option (Requirements Planning Setup) unknown processes may be running which can cause a 9-065 error.

    If killing unknown processes does not remedy the situation, then restarting the server may be the only option.

Processing large data

The Requirements Calculation can create and process temporary files that exceed 4 GB. In addition, the MRP Pegging files (MRPPEG and MRPMPP) can be accessed in all programs, even when they exceed the 1GB file size limit.

To enable this functionality a text file: _large_mrp_temp.txt must be defined in the ..\base folder on the server.

When you first load SYSPRO, a check is made for the existence of the _large_mrp_temp.txt file and if found will create a dictionary of all the temporary files used in Requirements Calculation and the two pegging files (MRPPEG and MRPMPP).