Professional Documents
Culture Documents
Change History:
November 23rd, 2016: redesign of section 2.2 and new section 2.2.4 added for
Parameter NORMALIZE_RATIO_POLICY
Page 1
1. Introduction
In IBP Sales & Operations Planning the SCM Planning Operator offers the user a set
of planning algorithms. Currently these are the S&OP Heuristic “Infinite without
Shortages” and the S&OP Optimizer. There exist several parameters to control certain
functionalities of the SCM Planning Operator, i.e. of heuristic and / or optimizer. This
means some of these parameters impact the heuristic only, other might have an effect
on the optimizer only and others are relevant for both.
This documentation describes the parameters of the SCM Planning Operator of IBP
S&OP.
The parameters of the SCM Planning Operator can be set in the screen depicted by
Figure 1. This screen can be reached via the Configuration main menu, then choose
“Manage Planning Operators” from section “Miscellaneous Settings”, then click on
“SCM”. The screen to enter and change parameters appears after clicking on “Define
parameters”:
Page 2
2. Parameters of the SCM Planning Operator
2.1 ALGORITHM_TYPE
Via non-optional parameter ALGORITHM_TYPE a user has to configure which supply
planning algorithm should be performed when calling the SCM Planning Operator.
Allowed values for this parameter are:
a) INFINITE_WITHOUT_SHORTAGE
This parameter value triggers the S&OP Heuristic „Infinite without shortages”. This
heuristic does not respect the following constraints:
The following features are supported by the heuristic „Infinite without shortages”:
- Lead times
- Planning Units
- Multi-Level BOMs
- Co-Production
- Minimum Lot Size, Periodic Lot Size, Production Cycle, Periods of Supply
- Sourcing quotas are respected, i.e. demand is propagated according to the
quotas defined in the corresponding master data (sourcing rules)
- Key figure Inventory Correction
- Adjusted Key Figures
- Minimum Key Figures
- Key figure Inventory Target
b) COMPLETE_INFINITE, COMPLETE_FINITE
These two parameter values trigger a first version of a constrained heuristic, which
however does not provide most of the existing features, as for instance lead times,
Minimum Key Figures, Inventory Correction etc. SAP does not recommend to use this
beta version of a constrained heuristic. Please use the heuristic
“INFINITE_WITHOUT_SHORTAGE” instead.
Page 3
c) OPTIMIZE
This parameter value triggers the S&OP Optimizer. The optimizer computes a supply
plan based on cost key figures and respects all constraints mentioned above, except
for the sourcing quotas. The optimizer ignores quotas while computing a supply plan
as his objective is to minimize the overall costs. (Only when some special features are
used, even the optimizer requires quotas to be defined all sources of supply – see
section 2.2 below).
d) LOCAL
The Local Mode computes for each location product only the following key figures:
Other basic key figures, such as Net Demand is not updated and hence demand is not
propagated along sourcing rules to succeeding location products. The calculation is
performed “locally” at each location product without any impact on other location
products.
The Local Mode is intended to merely update the three key figures after a data upload
into IBP was performed, especially when Stock on-hand was updated. The Local Mode
updates Projected Stock for all periods, based on a newer Stock-on hand and based
on the given receipts and supplies. If consensus demand or any other input key figures
(like target stock, adjusted values, etc.) were changed as well, the local update would
not compute the impact of these changes.
e) COMPUTE_RATIOS
This parameter value triggers the computation of the quotas, as described in chapter
11 in the specification “Key Figures of the SCM Planning Operator”.
f) CHECK_MODE
This parameter value triggers certain checks against the input data, i.e. checks with
respect to master data and input key figures. These checks are performed
independently from the heuristic and optimizer by a separate operator call and do not
change any data. This operator call only returns messages for every violation detected
by the checks.
This document presents for every check its meaning (i.e. the condition which is
checked) and the message that is displayed on the UI, when a check fails (i.e. the
checked condition is not fulfilled).
Page 4
Check Message Message text
Id
Node (master data) based cycle check: 7002 Node based cycle check found cycle
for location <l> and product <p>
Checks for all location-products given by (connected component <id>)
master data, whether they form a cycle in
the SCM network. Location-products on a 7025 Node based cycle check found cycle
cycle which are connected with each other for location <l> and co-product <co>
(e.g. via a transportation lane) are grouped with main product <p> (connected
together in so called connected component <id>)
components. This is a check for cycles on
the level of location-products. It will report
a cycle if the location-products form a
cycle, although this cycle might not be a
real issue, i.e. the heuristic might not run
into an endless loop because quotas are
set in a proper way. Assume a cycle of two
nodes: an US and an European DC, in
spring US delivers to Europe, in autumn
the relation is the other way round. This is
a cycle on node (master data) level, but
not from the heuristic’s perspective.
Node (master data) based isolation 7003 Node based isolation check found
check: isolated location product sources for
location <l> and product <p>
Checks for all location-products given by (connected component <id>) which
master data, whether they are connected was introduced by sourcing master
with any customer sourcing rule within the data
SCM network. If there is no connection,
they are isolated. Isolated location- 7026 Node based isolation check found
products which are connected with each isolated location product sources for
other (e.g. via a transportation lane) are location <l> and product <p>
grouped together in so called connected (connected component <id>) which
components. Isolated location-products was introduced by master data
are not reachable by the propagation LOCATIONPRODUCT
algorithm of the heuristic and the
optimizer.
Key figure plausibility checks with 7006 No customer source found for
regard to master data: CONSENSUSDEMAND for customer
<c> and product <p>
Page 5
Check Message Message text
Id
Checks for a subset of the input key 7013 No production source found for
figures whether corresponding master ADJUSTEDPRODUCTION for source
data with regards to their planning level ID <s> and location <l> and product
keys exist. For example, if there is a <p>
customer demand but no corresponding
customer sourcing master data, the check 7014 No location source found for
will detect this and return an info message ADJUSTEDTRANSPORT for location
about this matter of fact. A heuristic or <l> and product <p> and ship-from
optimizer run would simply not consider location <lfr>
this customer demand.
7015 No customer source found for
The following key figures are checked. ADJDEPENDENTCUSTOMERDEMA
The list of key figures checked in this way ND for customer <c> and product <p>
and location <l>
will be enlarged as needed.
7016 No customer source found for
ADJDEPENDENTCUSTOMERDEMA ADJDEPENDENTCUSTOMERDEMA
ND NDDS for customer <c> and product
ADJDEPENDENTCUSTOMERDEMA <p> and location <l>
NDDS
ADJUSTEDCONSTRAINEDDEMAND 7017 No customer source found for
ADJUSTEDCONSTRAINEDDEMAND ADJUSTEDCONSTRAINEDDEMAND
DS for customer <c> and product <p>
ADJUSTEDPRODUCTION and location <l>
ADJUSTEDRECEIPT
ADJUSTEDTRANSPORT 7018 No customer source found for
ADJUSTEDTRANSPORTDS ADJUSTEDCONSTRAINEDDEMAND
COMPONENTCOEFFICIENT DS for customer <c> and product <p>
CONSENSUSDEMAND and location <l>
OUTPUTCOEFFICIENT
7019 No unspecified production source
found for ADJUSTEDRECEIPT for
product <p> and location <l>
Page 6
Check Message Message text
Id
Master data plausibility checks: 7024 No sourcing master data found for
location <l> and product <p>
Checks the plausibility of master data. If a
location-product has no sourcing at all, the
check will detect this and return an info
message about this matter of fact
Quotas are primarily used and required by the supply planning heuristic as the heuristic
propagates the net demand of each location product along all sources of supply which
are connected with that location product. The quotas define the ratio of the net demand
which is propagated along each source.
The optimizer, in contrast, decides to use alternative sources of supply based on costs
meaning that the cost-optimal alternative is chosen. Hence, the optimizer usually does
not consider quotas. However, if the key figure Adjusted Dependent Customer
Demand contains non-initial values or if the functionality subnetworks is used, then
even the optimizer considers quotas. (The reasons are explained in the documentation
about subnetworks.)
Based on their overall importance, the consistency of quotas is checked at each call
of the SCM Planning Operator (i.e. when heuristic, optimizer or check mode is called).
The parameters described in the following sections enable a user to impact these
checks.
2.2.1 ALLOWED_RATIO_DEVIATION
The SCM Planning Operator verifies (for each period and each location product) that
the quotas are consistent, which means that the quotas of all sources of supply
connected with one customer or location product add up to 100% - plus or minus an
Page 7
allowed deviation. With parameter ALLOWED_RATIO_DEVIATION a user can specify
this deviation.
If quotas are consistent, i.e. if the sum of all quotas connected with a location product
is in the (so-called epsilon) interval
the SCM Planning Operator (i.e. heuristic and optimizer) will normalize the quotas so
that they add up to exactly 100.0%.
If quotas connected with one location product add up to a value below 100% -
ALLOWED_RATIO_DEVIATON the SCM Planning Operator would not consider the
entire Customer Demand of a customer product or the entire Net Demand of a location
product. Analogously, if the sum of all quotas is above 100% +
ALLOWED_RATIO_DEVIATION, these quotas are also called inconsistent and the
SCM Planning Operator would consider more than the requested Customer or Net
Demand. In general, both inconsistencies would be difficult to detect once a supply
plan was computed. For that reason quotas are checked at each call of the supply
planning operator to ensure their consistency.
In case the net demand of a location product can also be sourced externally (i.e. there
is production source header with type U), the quota check won’t return a message if
the sum of the quotas is below (100% - ALLOWED_RATIO_DEVIATION). The
operator calculates the quota of this external source of supply so that the sum of all
quotas add up to exactly 100.0 %.
2.2.2 RATIO_CHECK_POLICY
Via parameter RATIO_CHECK_POLICY a user can turn off the quota check to make
the SCM Planning Operator tolerant towards inconsistent quotas, i.e. if their sum is not
within the epsilon interval [100% - ALLOWED_RATIO_DEVIATION; 100% +
ALLOWED_RATIO_DEVIATION].
Page 8
The default value of parameter RATIO_CHECK_POLICY is ERROR meaning that the
quota checks are performed and if inconsistent quotas are detected the errors for all
inconsistent quotas are returned before the SCM Planning Operator terminates –
without computing a new supply plan. (Quotas are called inconsistent if, for a location
product, they add up to a sum outside of the epsilon interval.)
2.2.3 RATIO_CHECK_INCLUDE_ZEROS
RATIO_CHECK_INCLUDE_ZERO is another parameter which allows a user to control
the ratio check. In detail, this parameter decides about how quotas are handled which
add up to exactly zero percent.
Page 9
generates for quotas adding up to zero percent a warning, an error or nothing –
depending on the value specified for parameter RATIO_CHECK_POLICY. This
means, with parameter value YES the quota check becomes stricter. A user might
choose this configuration if he does not expect use cases for which the sum of quotas
should be zero or he might choose this configuration temporarily to let the operator
verify the consistency of all quotas.
If the sum of the quotas is greater than zero, then the check is applied as described in
the previous section.
- the quotas of all sources connected with one customer or location product add
up to exactly 100.0 % and
- the quota of all sources connected with one customer or location product are
equivalent. (If, for example, a customer product has 4 alternative customer
source, then the quota of each source is set to 0.25.)
External sources of supply are treated like customer, transport or production sources
of supply, i.e. their computed normalized quota will have the same value as all other
sources connected with a certain location product.
Page 10
The benefits of setting parameter NORMALIZE_RATIO_POLICY to EQUAL are the
following:
- the quota check which is performed at each call of the supply planning
operator does not return any issue. Therefore, a user can run both, heuristic
and optimizer without fulfilling the time-consuming task to populate all quotas
consistently or with final values.
- all sources of supply which are defined in the system are used to compute a
supply plan
Page 11
EQUAL is used as normalization policy. In case PROPORTIONAL is used the quotas
are set to 0 % and 100 % as existing proportions are kept).
2.3 INITIALIZE_LEADTIME_HORIZON
Right at its start, the SCM Planning Operator initializes for all output key figures all
periods of the entire planning horizon. This means that an existing, i.e. the previously
computed supply plan is deleted (by overwriting zero values) if the user runs the S&OP
Heuristic or Optimizer to compute a new supply plan. However, key figures storing
transport supplies are not initialized within the first T periods, where T denotes the
transportation or lead time of the corresponding Transportation Rule. (The planning
horizon is chosen by the user before starting a planning session.) The background is
the following:
For transports between two locations the SCM Planning Operator considers the lead
time defined for the corresponding Transportation Sourcing Rule (T-rule) between
these two locations. This means, a transport starting at location L2 in period t arrives
at its destination location L1 in period (t + T) where T again denotes the lead time in
number of planning periods (days, weeks or months). So, for example, if the lead time
is 3 periods, this means that a transport which starts in period 2 at L2 arrives at L1 in
period 5 (= 2 + 3). As a consequence, the demand of L1 in periods 1, 2 and 3 can be
satisfied only by transports which have been scheduled to start in L2 already in periods
-2, -1 and 0, i.e. in the past from the perspective of the defined planning horizon (which
starts in period 1). The time span covered by periods 1, 2 and 3 – in this example – is
called the Lead Time Horizon (for this T-rule). It is the time span during which no new
transports can be planned at the receiving location as the sending date would have to
be placed in the past which is obviously not possible.
S&OP is usually used in a rolling horizon mode which means that as time moves on
the planning horizon is moved period by period into the future. Due to such a rolling
planning process all values of all key figures of the SCM Planning Operator are
automatically moved out of the planning horizon, each time the horizon is rolled one
period into the future. For transports with a lead time of at least one period this causes
a special effect, as first the period in which a transport starts is moved out of the horizon
whereas its arrival date still is within a period of the planning horizon. As a
consequence, transports started in the past (i.e. before the first period of the planning
horizon) still provide supply within the selected (rolled) planning horizon and hence still
should be considered, i.e. should not be initialized – in general. However, there might
be also use cases in which it makes sense to initialize transport supplies even within
the lead time horizon. For that reason a user can make the SCM Planning Operator to
delete these values prior to each planning run. To do so, parameter
INITIALIZE_LEADTIME_HORIZON has to be set to YES. The SCM Planning Operator
then initializes all values in key figure Transport Supply (and Transport Receipts) within
the Lead Time Horizon. To be more precise, the operator overwrites all values from
the first period of the specified planning horizon to the last period of the Lead Time
Page 12
Horizon by zeros. Values outside the chosen planning horizon are not changed
anyway, i.e. independently of parameter INITIALIZE_LEADTIME_HORIZON.
For more background about the meaning of the Lead Time Horizon we refer to the
documentation about Minimum Key Figures, chapter 2.
It is planned to extend this concept of initialization of values within the Lead Time
Horizon to the corresponding key figures related with C-rules, i.e. to key figures
Customer Receipts and Customer Supply. Currently the values of those two key
figures are not initialized within the Lead Time Horizon at each call of the operator.
2.4 COMPUTE_EXPECTED_SUPPLY
This parameter is explained in detail in the documentation about Planning Units.
Allowed values are: YES and initial. The default value for parameter
COMPUTE_EXPECTED_SUPPLY is initial.
2.5 RESET_ADJUSTED_KEY_FIGURES
If this parameter is specified and set to YES the SCM Planning Operator initializes all
Adjusted Key Figures, i.e. before doing anything else, the SCM Planning Operator
overwrites all periods of all Adjusted Key Figures by a NULL value (whereas NULL is
the empty string and therefore not the number zero). By default parameter
RESET_ADJUSTED_KEY_FIGURES is initial, i.e. not set to YES.
In case a user has selected one or several Planning Units for his planning session the
SCM Planning Operator initializes values in key figure Adjusted Transport if both
connected locations are in the selection of Planning Units or if the ship-to location is
part of one of the selected Planning Units.
2.7 BALANCE_RECEIPT_POLICY
When this parameter is set to STANDARD the S&OP Heuristic balances receipts
between alternative customer, transport, production or external sources of supply in
cases where the user has defined Adjusted or Minimum Key Figures which cause
insufficient or excessive supply on one or several sources of supply. This parameter
has an impact only for algorithm type INFINITE_WITHOUT_SHORTAGE.
Allowed values are: initial (which is the default value and means no balancing is
performed) and STANDARD.
Page 13
2.8 Supportability Parameters
This chapter describes parameters of the SCM Planning Operator which might be
needed / used during the analysis of an issue related to the S&OP Heuristic or
Optimizer. Usually, a user does not use these parameters, i.e. not without having
received the recommendation by the SAP support. Usually these parameters are set
only temporarily.
2.8.1 CREATE_OPTIMIZER_DUMP
This parameter is not set by default. It is specified and set to YES the SCM Planning
Operator creates a dump file which the SAP support might need to analyze an issue
related to the S&OP Optimizer. The dump file is written per default (see next
parameter) into the standard dump directory of the HANA database instance.
2.8.2 OPTIMIZER_DUMP_DIR
Via this parameter a user can specify the directory into which the SCM Planning
Operator writes the optimizer’s dump file - if it should not be the default directory which
is the standard dump directory of the HANA instance
2.8.3 MAX_NUM_LOG_MSG_PER_ID
This parameter limits the number of messages written by the SCM Planning Operator
into a log. The number of messages can be limited (for all message ID) via this
parameter. Its default value is 100 which means that the operator returns maximum
100 messages for each message ID.
For each parameter the user can only specify one parameter value – as shown by
Figure 1 in chapter 1 of this documentation. As an exception, parameter MSG_LIMIT
needs two values, i.e. the message ID and the maximum number of messages. To
resolve this problem you have to specify the message number as a suffix to the
parameter name. So, for instance, to limit the number of messages for message ID
7146 to 10 and for message ID 471 to zero (to suppress this message) enter the
following parameter names (which is the name MSG_LIMIT and the message ID
separated by a slash) and the corresponding parameter values:
MSG_LIMIT/7146 10
MSG_LIMIT/471 0
Page 14
2.8.5 Parameters of the Optimizer
There are several parameters to control optimizer functionality. These parameters
need to have the prefex OPT/ and the parameter names are to be set right after the
slash. In addition, a parameter value can be or has to be set – as shown by Figure 1
in chapter 1 of this documentations. Examples for such optimizer parameters (and a
corresponding value) are:
OPT/nTiersDemandNonDelivery 8
OPT/sTieringFunctionDemandNonDelivery 3
OPT/fTieringRatioDemandNonDelivery 4
2.10 CARRY_OVER_NEGATIVE_PROJECTEDINVENTORY
In IBP 4.0 this parameter is available as of IBP 4.0.2.3.
The S&OP Heuristic “infinite heuristic no shortages” will generate supply plans with
negative projected stocks if, for any reason, in a period the supply from a location
product is higher than its total receipts (and there is not enough stock on-hand from
the previous period to settle the difference). A negative projected stock indicates that
the affected location product has a problem as it cannot satisfy his entire demand. The
optimizer usually avoids negative projected stocks by supplying only the maximum
available quantity. (There might be some special and extreme cases in which even the
optimizer could return negative projected stocks.)
In case there is a negative projected stock in period t, the S&OP Heuristic uses as
stock on-hand for period (t+1) zero. If, however, parameter
CARRY_OVER_NEGATIVE_PROJECTEDINVENTORY is set to YES (default value
is initial) the heuristic carries over this negative projected stock, i.e. uses the negative
value in period (t+1) while computing the net demand of period (t+1). The effect is
shown by Figure 1 below.
Page 15
Carry Over Negative Stocks
DC1 P1
D: 40 40 40 40 40 40
Parameter I: 00 -15 00 00 00 00
CARRY_OVER_NEGATIVE_PROJECTEDINVENTORY = initial N: 40 40 40 40 40 40
R: 40 25 40 40 40 40
AP: 25
S: 40 40 40 40 40 40
DC1 P1
D: 40 40 40 40 40 40
I: 00 -15 00 00 00 00
N: 40 40 55 40 40 40
Parameter R: 40 25 55 40 40 40
CARRY_OVER_NEGATIVE_PROJECTEDINVENTORY = YES AP: 25
S: 40 40 40 40 40 40
In the example of Figure 1 the (production) receipts in period 2 are fixed to only 25
units as key figure adjusted production is set to 25. As the heuristic satisfies
nevertheless the entire demand, the resulting projected stock in period 2 goes below
zero, i.e. it is -15.
Page 16
2.11 Other Parameters of the SCM Planning Operator
The SCM Planning Operator offers further parameters. However, those which are not
explained in this document do have a very technical purpose and should be used only
after recommended by the SAP Support.
In order to pin the “Unconstrained Heuristic – Expected Supply” to the second position
(from top) in the drill-down menu (as shown in figure 1) the user has to set parameter
SAP_UI_SORT_ORDER to B – as depicted by figure 2.
Page 17
If that operator should appear in that drill-down menu on the first position the parameter
SAP_UI_SORT_ORDER would have to be set to A. If it should appear on position four,
this parameter has to be set to D, and so forth.
Page 18