The purpose of this page is to clarify the understanding of the system logic in relation to net requirement calculation and provide an example of how it works.
The Net Requirements Calculation is a phase performed for some PP/DS heuristics (SAP_PP_002 Planning of Standard Lots, for example) to identify if there is a shortage on a product. To brief understand: in this phase, the total of stock available for MRP and confirmed receipts elements (purchase orders, manufacturing/production orders, firmed planned orders, firmed purchase requisitions and so on) is contrasted with the requirements.
If insufficient stock or orders are available to cover the requirements, there is a shortage.
And an important information: it only considers fixed receipts.
The Net Requirement Calculation can be done through 3 procedures:
1) FIFO - “First In, First Out”- this means that the system will check the requirements and receipt in order by date. The first requirement will be covered by the first receipt and so on.
An example is shown in the image, where:
Blue traces - receipts
Red traces - requirements
Asterisk key (*) - fixed / firmed
Legend: those firsts fixed receipts will cover those firsts requirements, the rest will be left
2) AVOID DELAY (also called "Alert Minimization" and "Avoid Alerts")- The system will associate the requirements and receipts in order to avoid delays. With this procedure, the system performs 2 steps, as described below:
A. In the past or in the Planning Time Fence – System will check the demands that are uncovered and are in the past or inside the Planning Time Fence first.
B. In time – The system then checks if there are receipts in time to cover the others requirements.
Legend: There are 2 requirements within planning time fence, so in the first step (A) this 2 requirements will be covered by the fixed receipts that are in the past or inside planning time fence too. Then we go to the second step (B) where the requirements that can be cover in time are associated with the respective fixed receipts. At the end of this example, there will be one receipt left that cannot cover any requirement in time.
3) AVOID SURPLUSES - The system will associate the requirements and receipts in order to avoid extra production (surplus). This procedure will perform the same steps A and B described above, the difference between this and the previous procedure is that in this case, there is one more step:
C. Remaining receipts cover remaining requirements – The system will take the remain receipts to cover the remain requirements sorting by the closest date up to the current date.
Legend: Then after the step B, it will left one receipt that could not cover any requirement in time, on this step C the system will take this receipt to cover the older order.
Possible issues and their solution
1) Excess of Supply after Heuristic Run:
- Check if you are using "Avoid Surplus" procedure. If you are using "FIFO", alert minimization (avoid surplus) plays no part in the Net Requirements Calculation.
- If you are using "Avoid delays" procedure, some delayed orders, even firmed, cannot be used to cover demands (explained in item 5 too). Therefore a surplus is generated.
- Check the setting "Consider shortages outside of PP/DS Horizon", this setting will indicate if the demands which are outside of Planning Horizon will be covered or not. Considering that the system will create the receipts in the end of the planning horizon, and not on requirements date. If you do not set this indicator, then the system does not take shortages outside the PP/DS horizon into consideration
- Check if the setting "Use total receipts" or "Use total stock" is flagged, if yes, the system assigns one receipt element (or one stock element, depends on which is set) to only one requirement element during net requirement calculation, this is, even if the receipt quantity is bigger than the requirement quantity, the rest will not be used for any other requirement.
2) Heuristic does not create receipts/orders:
- If you are using procedure "Avoid surplus" then the system is probably using late receipts to cover the requirements, and therefore no new receipt is generated. Try to change the procedure to "Avoid Delays"
- If you are using "Avoid delays", check the Alert Threshold for Earliness and Alert Threshold for Lateness from the Product Master. In this case, the main idea is to keep the lateness alerts at a minimum.
Let's suppose that the value is set to 72 hours, means 3 days.
A receipt can be pegged by a requirement even if the requirement time is three days (or less) earlier than the availability time of the receipt.
But requirements which are earlier than the 3 days will not be pegged to that receipt because that would cause a lateness.
- Check if the requirements are inside PP/DS horizon (for further information check item 5)
3) Stock is not used on net requirements planning:
- Check whether the flag "Not Pegging-Relevant" is set for the elements which are not considered (you can see it on Product View). If this flag is set, the element will not be considered in net requirements calculation, this means that the element will not cover any demand. If the flag is set, but you do not want to, check the SAP KBA 2403948
- Check the Alert Threshold for Earliness and Alert Threshold for Lateness from the Product Master. As such, if there is a stock element available from 16.12.2016, a requirement on 22.12.2016, and an Alert Threshold for Earliness = 24h, the stock will not cover the requirement in alert determination because it is too early.
- Check if shelf life is activated for the location-product (and also if the flag "Plan with shelf life" is set on the heuristic), if yes and the shelf life is not specified or if the shelf life is in the past, these stocks cannot cover any requirements, this is, they will not be pegged to any demands
- Check if the stock type is set on Product Master > Demand > Available Stocks
- Check whether the requirement and the receipt (stock) have the same characteristics valuation, in case you are using CDP (Characteristics Dependent Planning).
The following can occur, as described in SAP Note 526883 - CDP: Unspecified characteristics in planning and pegging :
“A requirement is not covered because a suitable receipt is consumed by another requirement (with which this is pegged). There are other receipts available for this other requirement that are not suitable for the first requirement due to the characteristic value assignments.”
4) Net Requirements Calculation is not taking into account the fields: Maximum Earliness and Lateness of a Receipt
Net requirements calculation is not the same of pegging calculation, they use different methods. According to SAP Help: "Pegging should not be confused with the net requirements calculation: During planning, using the net requirements calculation, the system identifies shortages in order to then create receipts to remove these shortages."
The Net requirements calculation is a phase performed for some planning heuristics to identify if there is a shortage on a product and then send the shortage number to the next step which will plan how this shortage will be covered. During this phase it does take into account if the requirement matches with the receipt (regarding to quantity, time, characteristics...), however, it does not take into account if the requirement can be pegged by the receipt. They are different things and have no relationship.
The Alert Threshold for lateness is considered when planning with Avoid surpluses method (as mentioned in the note below), but the Alert Threshold for earliness is not.
Note 2010195 - Avoid surplus receipts in PPDS planning by setting Alert Threshold in product master
5) PP/DS horizon and the net requirements calculation
Issues like: Receipt is not created; or There is a surplus; or System considering shortages outside the horizon.
- PP/DS receipt elements are not created outside the PP/DS horizon. It can be checked in the note 448960.
- There is a flag, inside Heuristic Settings (/SAPAPO/CDPSC11), called "Consider Shortages Outside the PP/DS Horizon". If you set this indicator, the system considers shortages outside the PP/DS horizon during planning, and try to cover them. The system temporarily sets the uncovered requirements at the end of the PP/DS horizon and includes these requirements in the planning. If necessary, new receipts are created at the end PP/DS horizon date, to cover those demands outside the horizon.
- If you are using SAP_PP_002, during the Net Requirements Calculation, all requirements and receipts are taken into account (independently of the flag or of the planning horizon). It is the system standard behavior.
The system performs the Net requirements calculation phase, the Lot Size Calculation, Source Determination and so on... and after all, the system proposes the creation of new receipts for all requirements. If the proposed date of the receipt is within PP/DS horizon, it can be created, if it is outside it will not be created (unless the flag 'Consider Shortages Outside the PP/DS Horizon' is selected). Because of it (and mostly when the mentioned flag is set), the system can create a "surplus", this is, it creates orders to cover requirements outside PP/DS horizon.
/SAPAPO/RRP_NET_REQMTS_CALC - Function that calls Net Requirements Calculation
/SAPAPO/RRP_RECEIPT_CHECK_FIX - Checks which elements are fixed/firmed
lt_fix_io: Fixed Receipts
lt_old_io: not fixed receipts
/SAPAPO/RRP_NETTING - Executes the Net Requirements Calculation
et_io_fix - Fixed receipts
et_io_deficit - Uncovered requirements
et_reused - Receipts that can be reused
lv_method - Selected procedure (FIFO, Avoid Surpluses or Avoid Delays)
- PERFORM NETTING - This routing ran according to the selected procedure/method. Here the Net Requirement Calculation Steps are performed.
- PERFORM IS_PEGGABLE - Searches for each fixed receipts, if there is a suitable requirement element, in the table CT_DEFICITS. If such a statement is found, the deficit is covered by the fixed receipt. The unused quantity of the fixed receipt is back, so that the remaining quantity can be used for a second pegging.
There are 3 'phases' of it, Form IS_PEGGABLE, IS_PEGGABLE2 and IS_PEGGABLE3.
Related SAP Notes/KBAs
SAP KBA - 448960 - Net requirements calculation (documentation)
SAP KBA - 2010195 - Avoid surplus receipts in PPDS planning by setting Alert Threshold in product master
SAP Help - Net Requirements Calculation