Push and Pull Deployment in SNP with the Deployment Heuristic

What This Article Covers

  • Using the deployment heuristic.
  • Setting push or pull for deployment.
  • The ways in which the push or pull deployment can be configured.

Background on the Deployment Heuristic

The deployment heuristic in SNP is one of the two ways that deployment is performed in SNP. The other method is the deployment optimizer, which is much less frequently used.

Push rules are used to calculate deployment in SNP if the ATD (Available to Deploy) quantity covers the demand. – SAP Help

This is where the distribution of deployment is determined. The Push Distribution field controls whether material is pushed or pulled.

Generally the controls are described by SAP as follows.

  • Pull: Materials are distributed on the due dates specified at each demand location. Nothing is distributed to the demand location in advance of the demand date.
  • Pull/Push: Supply is distributed immediately to the demand locations to cover all demand within the pull deployment horizon.
  • Push by Demands: The supply chain is distributed immediately to the demand locations. – SAP Help

Pull deploys per demand, but not above demand (aside from what is necessary to meet the lot sizes). Push, attempt to move out material immediately from the sourcing facility. “Push by demands” is confusing because it is so similar to Pull. However here the Pull deployment horizon is ignored. “Push taking the safety stock horizon into account” is push but with a consideration for safety stock, which the other Push Distribution parameters do not take into account. “Push by quota arrangement” essentially allows quota arrangements to control the deployment.

However, the specific difference between Push and Push/Pull is a bit misleading. In essence, Pull/Push is Push functionality, but is performed for the pull horizon.


Essentially the Push Distribution field is highly confusing and the documentation needs to be rewritten. However, it surely will not be. I will be continuing to update this post with more detail on this field.

{"error":"Not Found"}