Latest Blog Entries

14 Sep Heuristic and Priority Based Capacity Leveling with SNP

(By Sanjay Jelaji)

I came across this business requirement to level production capacity simultaneously at multiple BOM levels, using the standard SAP SNP Capacity Leveling process. The standard process levels only one resource at a time without considering other dependent resources or products. There were circumstantial restrictions that prevented the utilization of other supply planning engines such as SNP Optimizer or CTM. This article provides a brief explanation of how the standard SAP SNP Capacity Leveling transaction was enhanced to level load bottleneck resources and simultaneously adjust dependent demand at the higher BOM levels, based on priorities of the higher-level products.

The business process was mainly driven off of bottleneck resources at lower levels and so it generally led to shortages and delays for higher-level products with lower priorities. This was acceptable, as the rules were based on profit maximization and the associated product priorities. The business process and required solution can be demonstrated through a simplified example. It explains the business need and the results that were expected.

A simplified BOM structure will be used for this exercise. Component Product is produced on capacity constrained resource RESOURCE-2 and is used to make Parent Product A and B. There is a 1:1 ration between component and parent products.

No 1

The example first walks through standard behavior of the SNP Capacity Leveling transaction (/SAPAPO/SNP05). It shows capacity consumption for both higher and lower level resources and results based on product priority, heuristics and backwards scheduling.

The example shows capacity consumption at 150% in week 3 for RESOURCE-2. This is after executing an unconstrained supply plan at both the higher and lower level products. The resources for Parent Product A and B are not overloaded and can be adjusted accordingly. The standard leveling process schedules backwards and overloads week 1.

No. 4

The enhanced version uses product priorities of parent products to determine what can be cut instead of overloading the resource. Product A has the lower priority and some of the available capacity in week 1 is utilized but the rest (6 hours) is cut.

No. 5

The screenshot below shows selection criteria for the standard SAP SNP capacity leveling program /SAPAPO/SNP05. The program was enhanced with the BADI Method option that utilizes BADI /SAPAPO/SNP_CAP provided by SAP.  For the resources selected, it used dependent demand of higher-level products and their priorities to determine what orders need to be adjusted or created.

No. 6

Product Master in APO (/SAPAPO/MAT1) shows product priority
No. 7

This is a simplified explanation of what was a fairly complex ABAP enhancement. The program had to deal with traversing PDS structures and scheduling scenarios (Backwards, Forwards, Backwards and Forward).  You can choose to make it more complex (robust) with logic to allocate excess or shortages of the component product or use fair-share rules for shortage scenarios.

For a more detailed explanation, you can get in touch with me directly at  Thanks for reading.