Service parts are different that finished goods in regards to stocking/destocking, in that different combinations of parts tend to be active at different locations. For instance, expensive items tend to be stocked at RDCs, while inexpensive repetitive maintenance items (air filters, bolts, etc.) tend to be stocked at DCs that are closer to the end demand. So while stocking and de-stocking functionality is used in both finished goods and service parts planning, it is more prominent in the latter. This is because service parts have so many product location combinations that it is not generally financially feasible to keep either all products at all locations or even a majority of the products at all locations. However, I have been surprised how many times I have gone into clients that needed stocking de-stocking functionality, but did not have it because they were using a finished goods planning engine that simply did not have the functionality.
Speed
As with the Bill of Distribution, using a stocking de-stocking run allows the planning engine to run much more quickly when it is performing its normal deployment run. This is because it reduces the number of possibilities that the model needs to look at.
Stocking De-Stocking Logic
Most service parts software uses a combination of the demand history and costs to make the stock de-stock decision. Since SAP copied this software to make SPP, their software works the same way. See the graphic below.
Stocking and de-stocking analysis can be run periodically. However, after a stocking location change is made (from stock to not stocked or vice versa), a realignment in SPP must be run. Realignment is the process in the data workbench of moving the demand that was at one location, to another location. In a comparative application like Demand Works Smoothie, this would be really easy, as it would just mean combining the locations into a single location in the database, however, because the data back-end to SPP is so complex it becomes a “big deal,” and we need to have a fancy word for what really amounts to combining a few rows in a relational database. We will show this later on in this post.
Stocking De-Stocking Setup
One of the most basic pieces of information that must be setup is the stocking de-stocking replenishment indicator. This can be found at APO –> Master Data –> Product –> Define Replenishment Indicator
![]()
As you can see there are a number of options, more than simply whether the product is stocked or not stocked. The names have a number of selection that are hard coded selections for the following:
You can name your replenishment indicator anything you like, but how the system deals with it really comes down to the which combinations of options you select.
- For instance, the locked indicator locks the replenishment indicator in the Product Master so stocking and destocking cannot change it.
- The Plng.Rel indicator allows products with this setting to be planned by the planning services including forecast, inventory planning, DRP, Deployment.
You can also create your own replenishment indicator. This replenishment indicator is assigned to the SPP Inv Planning tab of the Product Location Master. Goto this link to see all of the SPP specific tabs on the Product Location Master.
http://www.scmfocus.com/sapplanning/2008/09/27/spp-product-master-setup/
Replenishment Indicator
There is a threshold that must be set. This is performed in the path IMG: APO –> Supply Chain Planning –> SPP –> Inventory Planning –> Define Limit Value for Replenishment Indicator
![]()
This is a very simple configuration screen which essentially is just a percentage insertion. This percentage is the percentage of warehouse stock. The SAP Help on this topic is badly mangled, but here it is.
If the stocked (new) replenishment indicator is assigned to a location product, at good receipt posting the system checks whether the new warehouse stock overwrites the set percentage of demand during the procurement lead time. if the replenishment indicator is set to “stocked” – SAP Help
It must have made more sense in the original German. One day SAP will be a successful enough company to actually hire English speakers to write their technical documentation. Long story short, the higher the percentage entered connects to the demand within the lead time. This percentage entered then must interoperated with the stocking decision variables that are listed at the beginning of this post. This brings up the topic of Decision Tables in the next section.
_______________________________________________
Blocking the Switch Between Stocked and De-Stocked
However, this conversion between stock and not stocked can be stopped by using the combination of not stocked, blocked, non-sales relevant. These are the criteria that are discussed in the Define Replenishment Indicator section above.
_______________________________________________
More Stocking De-Stocking Decision Tables
Decision tables are SPP’s method of configuring and controlling the stock / de-stock decision. These are maintained at the following path:
IMG: APO –> Supply Chain –> Planning –> SPP –> Inventory Planning –> Setup Decision Tables for Stocking / De Stocking
For each location, decision tables can be setup for stocking and de-stocking. Two separate planning services exist for the stocking and de-stocking decision.
- SPPINVSTOCKING = stocking
- SPPINVDESTOCKING = de-stocking
Since the parameers are maintained in the master data and decision tables, the service profiles are very lean and only contain the key figure for the demand history, TSID_HIST.
Tables are combined into stocking and destocking profiles. Profiles are assigned to locations. There are two steps to the stocking de-stocking decision. Decision profiles must be filled in.
Stocking Table
Now we need to go to the stocking table. The location specific tables need to be created and assigned to locations.

Now we need to add new entries. This configuration area is a bit confusing. The fields that require entry are the following:
It is confusing because as you can see, you are asked for Attribute, Prod Group Type twice. Also the definition given in the F1 help is identical for each, so that is not very helpful. For better implementation success, its important that SAP spend more time better documenting its system. A simple principle would be that every field should have a fully populated descriptions when the F1 Help is initiated.

After you make an entry it is necessary to add in an X Axis and a Y Axis value. However, the selection is kludgy. You must actually double click each of them to get the result below.

This configuration is completely confusing and non-intuitive. The X Axis is the demand and the Y Axis is the demand entries (so orders per item), So in this case it would be that the item should switch between stocked and de-stocked if its between 0 and 50 units if has between 0 and 100 demand entries. More than that and it should switch. Making this configuration more complex is that product groups can be used and modeled on the ABC indicator. The ABC indicator is the X Axis and the Y Axis would be procurement costs of the product master. Therefore the ABC indicator grouping of products can be used to help determine the stocking de-stocking decision. Product Groups are an important part of SPP and can be read about at the two links below.
http://www.scmfocus.com/sapplanning/2009/09/08/master-data-product-group-types-and-product-groups/
http://www.scmfocus.com/sapplanning/2009/04/23/spp-product-group/

Believe it or not, the setup above and below are for setting the cost and and demand. The X-Axis is for the monthly demand. Why this is not called the Demand Axis, I don’t know. Imagine the client trying to figure this out after you setup this configuration to make changes. The Y-Axis below is for the cost of the item. The two tables work together so that here the item should be stocked if the demand of the item is between 0 and 50, and the cost of the item is between 10 and 100 (the items are listed here at 10, 20, 30).

The final step for this is to setup the Decision Profile which is the next folder down. This is to configure the system to know what to do with the XY combinations.
![]()
I am not sure why this configuration screen exists as it seems rather axiomatic what will be setup, that X+Y will be used, that is both Axises will be used. These profiles must be assigned to the locations in order for them to be active. So the standards that are set in the Axis tables are then applied to the characteristics of the location, and the products that are managed by it. This is done in the SPP tab of the Location Master. You can see the SPP tab of the Location Master at the link below.
http://www.scmfocus.com/sapplanning/2009/07/05/location-master/
Different profiles can be entered for stocking and de-stocking. They are called Stock Profile (Stocking) and Stock Profile (Destocking), but they are somewhat misnamed. They should be called the Decision Profiles as that is what they are called in the IMG configuration that we just went through.
So the logic chain goes something like this.
Stability Periods as used to prevent the overly frequent movement between stocked and de-stocked. This could be used if you don’t want to reposition inventory through the supply chain as frequently and if you don’t want to run realignment as frequently. This is setup in the product location master on the SPP Inv. Planning tab. Three fields control this, the Set Date, the Stckg St per (Days) and the Dstckg St Per (Days). These fields are towards the top of the screen. Identical fields exist for the Virtual Child Locations as well. The field definitions are the following:
Set Date: The last time the the replenishment indicator changed
Stckg St per (Days) : The number of hours after the Set Date the stocking decision is allowed to change.
Dstckg St per (Days) : The number of hours after the Set Date the de-stocking decision is allowed to change.
You can see the SPP Inv Planning tab in this post.
http://www.scmfocus.com/sapplanning/2008/09/27/spp-product-master-setup/
At first glance Stability Periods don’t seem to be necessary because as I mentioned at the beginning of this post two services have to actually be run in order to change the stocking de-stocking decision.
- SPPINVSTOCKING = stocking
- SPPINVDESTOCKING = de-stocking
If it is not desired that the stocking de-stocking decision change, then simply don’t schedule the services. However, the stability periods could be useful if the company wants to change the stocking de-stocking decision for some items, but not for all items. However, this is maintenance.
Define Service Profile
Service profiles, to be run by the Planning Service Manager (PSM) are used throughout SPP. You can read about the PSM here.
http://www.scmfocus.com/sapplanning/2008/09/28/psm-planning-service-manager/
The path to setup the service profiles is IMG: APO –> Supply Chain Planning –> SPP –> Inventory Planning –> (Define Service Profile for Stocking Decision and APO or Define Service Profile for De-stocking Decision)
Both of these are very simple configuration screens. They simply require the creation of a service profile name, what historical data is to be used, and whether the profile should stock new products.
Stocking and De-stocking In Action
Now we need to assign our stocking decision table SPPSTOCKING05 to a decision or stocking profile SPPSTCK05. /N/SAPAPO/LOC3
Now we will assign the stocking profile that we just created.

The Y-Axis below is for the cost of the item.
We goto the SPP tab and enter the stock profile SPP_STCK05, save and exit the Product Master.
Now we want to maintain the stocking table for the following intervals. /N/SAPAP0/SPPINVPDEC

Now we want to set parameters for making the de-stocking decision based upon the demand and cost of product. So we will go back to the following IMG path:
IMG: APO –> Supply Chain –> Planning –> SPP –> Inventory Planning –> Setup Decision Tables for Stocking / De Stocking

Now we go into assign the destocking profile to the location master.
/N/SAPAPO/LOC3

Now we need to maintain the destocking table.
/N/SAPAPO/SPPINVPDEC
Destocking matrix.

Now we want to create a service profile. SAP760000465
So MASSD is used whenever one wants to make changes to many items in SAP SCM.
Now we want to maintain procurement costs for all of our product locations. For this we goto mass maintenance and MASSD. MASSD can be tricky, and you can read about it here.
http://www.scmfocus.com/sapplanning/2009/07/10/is-mass-maintence-dangerous/
Here we will use

Here we can change the procurement costs individually be selecting the change (pencil) icon.

Now we want to create a planning profile and execute the planning service. We will defined a planning profile called STOCK05

Now we need to add a second service.

Now we need to execute the stocking and destocking planning service using the Planning Service Manager. /N/SAPAPO/PE_RUN

Now we will check the replenishment indicator on the product.
After stocking and de-stocking has been run, it is necessary to perform a realignment as we discussed above. The path for this is
IMG: APO –> Supply Chain Planning –> SPP –> Forecasting –> Define Service Profile for Reorganization of Demand History
This is a pretty straight forward transaction.
The pre-configured service isĀ SPP_PDEM_STOCKING_RLG











Pingback: SPP Stocking and DeStocking « SAP SCM Planning