Documente Academic
Documente Profesional
Documente Cultură
doc
457425880.doc
Carlsberg IT A/S
Business Application
2 Overview of SNP..................................................................................................................................... 7
2.1 Purpose.............................................................................................................................................7
2.2 Overview..........................................................................................................................................7
3 SNP Configuration.................................................................................................................................. 9
3.2.1 Customizing.............................................................................................................. 10
3.4.3 CDK_SNP................................................................................................................. 18
3.4.4 DEPLOY_STOCK.....................................................................................................22
3.4.5 PURCHASE_TLB.....................................................................................................23
4.1.1 Publications.............................................................................................................. 24
5.1 Release............................................................................................................................................30
6.2.1 Denmark................................................................................................................... 34
6.2.2 Norway...................................................................................................................... 39
6.2.3 Sweden..................................................................................................................... 41
7 Optimizer profiles................................................................................................................................. 47
8 SNP optimization.................................................................................................................................. 53
8.1.1 Preconditions............................................................................................................ 53
8.5.1 Denmark................................................................................................................... 59
8.5.2 Norway...................................................................................................................... 60
8.5.3 Sweden..................................................................................................................... 61
10 Deployment Optimization................................................................................................................. 70
10.2.1 Denmark................................................................................................................... 72
10.2.2 Norway...................................................................................................................... 74
10.2.3 Sweden..................................................................................................................... 75
11.1.2 Alerts........................................................................................................................ 82
13 BW SNP Reports............................................................................................................................... 91
1
1 Change History
2 Overview of SNP
2.1 Purpose
The purpose of SNP is to provide a rough cut production plan to lowest possible cost. The production plan
should take capacity constraints into account, so early production is planned if there is a lack of capacity on
the optimal production time. This is important, especially when planning seasonal products for Easter and
Christmas. The production is planned in the SNP optimizer, which can fulfill these demands.
The detailed planning is carried out in PP/DS after conversion of SNP plans in a short period of 2-4 weeks.
The PP/DS planning is not a part of this documentation.
It is important to state that examples in this documentation manual are screenshots of current setup. So
please be aware that things might have changed, when you need the documentation
2.2 Overview
The SAP Advanced Planner and Optimization (APO) component Supply Network Planning (SNP) integrates
the procurement, production, distribution and Transportation areas. It therefore provides users with a global
and consistent model for simulating and implementing comprehensive tactical planning decisions and
options regarding source of supply.
Using a demand plan as a basis, SNP calculates a feasible short term to medium term plan to address the
estimated demand quantities. This plan covers both quantities that are to be transported between 2 locations
(e.g., from the production plant to the distribution center) using means of transport, and quantities to be
produced and procured. Once SNP has generated a proposed plan, the system compares all the logistical
activities with the available capacity.
• After production has been completed, deployment determines which requirements can be covered by
the supply that is actually available.
• Fulfilling demands
• Only distribution!
In the standard set up, the transport load builder is collecting deployment purchase requisition for the
creation of stock transfer orders, but it is possible using a separate planning book to let the transport load
builder collect SNP purchase requisitions for creation of purchase orders.
3 SNP Configuration
3.1Optimizer servers
2 optimizer servers are allocated to APS, namely SNP01 and SNP02. The servers are set up as windows
servers. The set up and maintenance of the RFC connection is an IBM responsibility.
The SNP02 server is the main server with 8 processors, and it is linked with the SNP01 server with 4
processors in a load balance, meaning that is the first 8 processors are active, the processors in the secondary
server is used.
The servers is found using transaction SM59 RFC destinations, and is the type TCP/IP connections.
Definitions of target hosts in APS are for SNP01: 10.45.46.76 and for SNP02: DKSW0122.
The developement system APB and the quality assurance system APL are sharing 2 other servers with target
hosts dksw0004 and alcapone.
3.2Planning area
3.2.1 Customizing
Planning area and planning object structure is controlled with transaction /SAPAPO/MSDP_ADMIN. Menu
path: Supply Network Planning Environment Current Settings /SAPAPO/MSDP_ADMIN -
Administration of Demand Planning and Supply Network Planning
The info screen shows basic informations of the Planning Area, such as Planning object structure, liveCache
connection, Units of measure and change information.
The aggregate screen shows a list of the aggregates linked to the planning area.
The key figure screen shows, which key figures are assigned to the planning area. In the detail screen (press
the Details button) a list of key figures are shown with informations about Key figure function, category
group and category.
Find below the online documentation of key figure function, category group and category.
The key figure aggregation screen shows the aggregation rules of each key figure. Calculation type is defines
as S (Prorata), see documention below
N: No disaggregtion
P: Equal distribution
In the key figure assignment screen the assingment to each aggregation is shown.
First step of the job is an update of late delivery and out of stock penalties to avoid that new products is
optimized with no penalties, which will force the optimizer to skip the product from planning, as this is the
cheapest solution. Description of the Carlsberg specific report is found in the chapter SNP Master data.
Second step initialize time series for new products. Missing time series forces the optimizer to cancel.
Initialization cancel’s if a user is locking the planning area, which happens from time to time. This is not the
big problem for a shorter period of time. Optimizer cancels can be avoided by running time series
consistency check with the repair option activated.
Third step is the time series consistency check, which is executed in repair mode.
Beside this batch job, a number of batch jobs are executed of the SAP Basis group. AM Support is not
controlling these batch jobs.
With a right click on the planning area CB_SNP_PLANNING_AREA it is possible to display Initialized
Time Series Objects or to initialize new time series for a planning version.
To update time series for a planning version choose created Time Series Objects
Key in number for the planning version to be changed, and press enter
Change the time period for initialization of the planning version, flag for “Execute in Background”, and
press execute. It is important the no users are locking the planning area, as the initialization then is denied.
Check locks in transaction SM12
Initialization of the active version 000 is important for the optimizer, as this will cancel if time series for a
product is missing. If this happens, and it is not possible to initialize emidiately because of a user lock, a
consistency check for time series will create the missing liveCache anchor, and make the optimization
possible.
When a copy of a planning version has been done, it is neccesary to initialize the copied version before it is
ready for use.
Normally easiest way of creating a new planning version is to copy an existing one.
Choose source model and press the copy button, choose function Model/Version. In below example source
version 101 is chosen.
Key in number and description of the new version, and press the button Copy and Save.
After creation the new planning version has to be initialized before it is ready for use.
In the example below is version 000 copied to version 054 (Swedish budget). Update the input screen with
Source and target version, and decide which order categories should be copied
The version copy is normally scheduled by the user, who normally don’t call for AM support.
It is important to know that first step in the copy is deletion of target version, so all existing data is lost. The
copy takes app. 1 hour, and should be followed up of an initialization of target version.
3.4Planning books
3.4.1 Assignment of planning book to user
When a new user is created to the APO system, he/she should be assigned to planning books before he/she is
ready to use planning books. When created, APO controls which planning view was used in latest logon.
This will be assigned to the user, when he logs off the planning view.
Assignment is defined with using transaction /SAPAPO/SDPPLBK. Menu path: Supply Network Planning
Environment Current Settings /SAPAPO/SDPPLBK - Assign User to Planning Book.
Easiest way of assigning planning books to a new user is to copy the assignment of a similar user.
The assignment is after creation updated automaticly with the latest view, which was opened with the
transaction. In the example SAFETY STOCK was the last view in interactive SNP Planning, transaction
/SAPAPO/SNP94.
The example shows a time bucket to use for display of 12 months of data with the split in daily, weekly and
monthly buckets.
First line defines the display period of 12 months. Of those are the the first 5 months displayed in weeks, and
the first 2 weeks are displayed in days.
3.4.3 CDK_SNP
The planning book CDK_SNP is created with the possibilities of creating view for Supply Network Planning
and Capacity Planning.
IMPORTANT SUPPORT MESSAGE. Normally planning books are maintained in the development
system and then transported to QA and production, but the definition of planning books in development is so
different from the production system that changes has to be done directly in the production system. Created a
ticket to the SAP Basis group, and ask them to open customizing rights in APS.
Macros are created to planning views. It is chosen that each planning view is not documented. The same
goes for macros. Used macros is documented, where they are used.
The key figre screen shows key figures in the planning area, and which of these key figures are used the
planning book. It is also shown which key figures are used in macros, and which are not.
The Characteristics screen shows characteristics in planning area and planning book
The key figure attributes screen per key figure. Key figure 9ATSHIP is shown as example.
To document the set up of planning viwes an example – the SAFETY STOCK view - is chosen.
In this screen it is possible to assign future and history timebuckets, and to decide visibility- and input from
date.
And in the last view the key figure assignment to planning view is controlled
In the capacity view available capacity, capacity consumption and capacity utility is displayed per bucket.
In the quantity view the production quantity is displayed. This can be opened per product by pressing the
button “display dependent objects”, choose products and select all products or just a few products.
3.4.4 DEPLOY_STOCK
Planning book is used for deployment planning. Set up after same rules as documented for CDK_SNP
3.4.5 PURCHASE_TLB
Planning book is used for running transport load builder for SNP purchaserequisitions. Set up after same
rules as documented for CDK_SNP
Maintenance of publications is done in customizing, using transaction SPRO. Menu path: Integration with
SAP Components Integration of SAP SCM and SAP R/3 Basic Settings for Data Transfer
Publication Maintain Distribution Definition
The important publication types for SNP are 21 External procurement that allows transfer of purchase
requisitions and purchase orders, and 31 Inhouse production that allows transfer of planned order and
process orders.
When an SNP order is created or changed it is not transferred emidiately, but the order informations are
saved in a change pointer. Activation of change pointers are done with transaction /SAPAPO/C5, report
Change pointer activation is included in a lot of batch jobs, so normally it is not necccesary to run it
manually. Find the actual batch jobs using transaction SM37, searching use of report /SAPAPO
/RDMCPPROCESS.
4.2Integration models
Integration models are maintained in R/3, and are documented in the CIF Support Manual. Integration
models are executed on a daily basis for Denmark, Norway and Sweden, and successfully update is
important for the SNP planning.
Note that only the active version 000 is transferred through the CIF interface. For inactive version Carlsberg
specific development is introduced to transfer planned orders to an R/3 Long Term Planning Scenario.
The report is named ZRPP_APO_LTP, and the functionality is documented in details in the CIF Support
Manual.
The post processing monitor is called with transaction /SAPAPO/CPP. Menu path: APO Administration
APO Administration CIF Error Handling /SAPAPO/CPP - CIF Post processing
This example gives the result that no inconsistences for planner orders is found for product 502/1002.
The delta report openes for aligning inconsistences by sending the to APO or R/3, or by deleting them in
APO or R/3. But before doing so, be sure that the order with mismatch is without errors, so the reconsiled
order will not appear as an error in post processing or delta report again.
First step is running report /SAPAPO/SDRQCR21 to delete obsolete sales orders from APO after compare
with the R/3 table VBBE.
Next steps are cleaning SD-tables in APO to align them with the sales ordersituation after deletion of
obsolete orders in step 1. If this cleaning is not done over a longer period of time there is a risk of
performance problems.
It is important to run the variants in right order, first plant deletion in several tables. The most important is
/SAPAPO/SDFIELD (Sales order items) that could grow dramatically. Next step is adjustment of ATP, and
last step reorganisation of table /SAPAPO/POSMAPN (deliveries).
Release of forecast updates 2 key figures in planning area CB_SNP_PLANNING_AREA: Info objects
9AAFCST, forecast and ORIG_FC, original forecast. Both are assigned to category group FA.
Transfer of promotions updates planning area CB_SNP_PLANNING_AREA in key figure: Info object
CB_DUMM10, promotions from DP. This is not assigned any category groups or order types to promotions.
Release of forecast and promotions are documented in details in the Demand Planning Support Manual.
5.2Forecast consumption
5.2.1 SNP Requirements Strategies
The requirement strategy determines how production quantities are planned in SAP APO and how the
forecast is consumed by other orders
The requirement strategy is defined in transaction S_AP9_75000142, menu path: Supply Network Planning
– Environment – Current Settings – Profiles – Define SNP Requirement Strategies.
Each sales order consumes forecast in APO as defined in R/3 material master and transferred to the APO
product master. There is no consumption of the key figure “Original forecast”.
See below an example in R/3, where plant material 502/1002 is defined with planning strategy 40, and
consumption mode 2.
This means that if forecast in actual bucket is consumed, APO consumes forecast first 2 days in the past, and
then 1 day in the future. The SNP planning is executed on the basis of the sum of forecast and sales order,
meaning that if sales order quantity is less than forecast, planning is based on forecast (Sales order + non-
consumed forecast). If the sales order quantity is exceed the forecast, SNP planning will be based on the
sales order quantity.
The consumption strategy is transferred to APO with the integration model for material master. In APO the
corresponding data is found in product master. Planning strategy 40 as defined in R/3 is transferred to APO
as proposed strategy 20.
Execution of this macro will be documented with the country specific safety stock calculation.
Calculations are executed for products maintained with safety stock strategy BS.
Each country is using different calculations, so current setup will be documented with the country specific
safety stock calculation.
This step executes the DP background job DK_SAFETY0, which set safety stock to zero for all products
with SNP planner 425 (products excluded from planning)
The called activity DK_SS_ZERO executes macro Update safety stock = 0 in the SAFETY STOCK view in
planning book CDK_SNP.
Macro definition:
This step executes the DP background job DK_SAFETY6, which calculates safety stock as weekly original
forecast divided with 5 and multiplied with safety stock days of defined in product master in user defined
field. The calculation takes promotions from DP into account in the calculation.
The called activity DK_SS_ALL executes macro SAFETY ST (ORG.FC X SAF STCK D) W/ZERO in the
SAFETY STOCK view in planning book CDK_SNP.
Macro definition:
This step executes the DP background job DK_SAFETY7, which safety stock based on total demand
The called activity DK_SAFETY6 executes macros CALCULATE TOTAL DEMAND and SAFETY
STOCK (TD X SA ST DA) W/ZERO in the SAFETY STOCK view in planning book CDK_SNP.
6.2.2 Norway
Calculation of safety stock is defined as step 7 in batch job APO_NO_DP_RELEASE_FC_TO_SNP_V2
currently running daily with the exception that batch job is not executed on Sundays and holy days based on
calendar ZV.
Step 6: NO_SAFETY
This step executes the DP background job NO_SAFETY, which calculates safety stock as weekly original
forecast divided with 5 and multiplied with safety stock days of defined in product master in user defined
field. The calculation does not take promotions from DP into account in the calculation.
The called activity SE_SAFETY executes macros SAFETY STOCK (ORG.FC X SAFETY STCK DAYS) in
the SAFETY STOCK view in planning book CDK_SNP.
Macro definition:
6.2.3 Sweden
Calculation of safety stock is defined as step 2-5 in batch job APO_SE_SNP_OPTIMIZER_INITIAL
currently running daily with the exception that batch job is not executed on Sundays and holy days based on
calendar ZS.
This step executes the DP background job SE_SAFETY4, which calculates safety stock from an average of 4
weeks original forecast per day multiplied with safety stock days of defined in product master in user defined
field. The calculation takes promotions from DP into account in the calculation.
Activity SE_SAFETY4 executes the macro SAFETY STOCK (AVG4(OFC-DP) X SAF STCK D) in
planning view SAFETY STOCK, planning book CDK_SNP
Macro definition:
This step executes the DP background job SE_SAFETY3, which calculates safety stock from an average of 4
weeks total demand per day multiplied with safety stock days of defined in product master in user defined
field. The calculation does not take promotions from DP into account in the calculation.
Activity SE_SAFETY3 executes the macros CALCULATE TOTAL DEMAND and SAFETY STOCK
(AVG4(TD) X SAF STCK D) NP in planning view SAFETY STOCK, planning book CDK_SNP
This step executes the DP background job SE_SS_PROD, which calculates transfer safety stock from
product master.
Activity SE_SS_PROD executes the macro SAFETYSTCK in planning view SAFETY STOCK, planning
book CDK_SNP
This step executes the DP background job IC_SS_PROD, which calculates transfer safety stock from product
master.
Activity SE_SS_PROD is the same as for background job SE_SS_PROD, and executes the macro
SAFETYSTCK in planning view SAFETY STOCK, planning book CDK_SNP
7 Optimizer profiles
7.1 Cost profile
Cost profiles for use in the optimizer are maintained with transaction S_AP9_75000101. Menu path: Supply
Network Planning Environment Current Settings Profiles S_AP9_75000101 - Define SNP Cost
Profiles.
Prod. Cap. is the factor used for the weight of production cost as maintained in the SNP PPM. The
production cost is calculated in R/3 and transferred to the SNP PPM in the PPM transfer job.
Detailed decription of the calculation is found in the CIF Support Manual.
Trans.cap. is the factor for weight of the transportation capacity assigned to resource master in
Active variant 01. Transportation resource is assigned to transportation lane.
Stor.Cap. is the factor for weight of the storage capacity assigned to location master in Active variant
01. Storage cost used by the storage capacity is maintained in R/3 material master, APO tab, and
transferred to the APO location master, where it is found in the procurement tab
Sfty Stock. is the factor for weight of the safety stock penalties. Safety stock penalties is maintained
in R/3 material master, APO tab, and transferred to the APO location master, where it is found in the
procurement tab.
Lateness and no Deliv. is the factor for weight of the lateness and nodelivery penalties. These
penalties is maintained in the the APO location master, where it is found in the SNP1 tab. The
penalties are maintained as a global price covering all location products by executing report
ZCALC_LATE_DELIVERY_COST. The report is executed daily after activation of the material
integration model with batch job APO_NORDIC_SNP_OPTIMIZER_INITIAL.
If penalties are not maintained the optimizer will assume that lowest cost will be found with no
planning. It is there fore important to make sure that product master is updated and factors are
greater that zero.
Currently lateness and no delivery penalties are defined as global penalty costs. A report for updating these
penalties as location dependent is available, but not in use.
Profiles starting with a Z, is Carlsberg specific profiles, and the ones, we should care about:
This optimizer profile calls for a discrete optimization, meaning that roundings are taken into account.
The discrete optimization in used for planning inside the production location.
The other posibility Linear optimization is used of the optimizer profiles ZHOR_DI_ND, ZHOR_DI_N2 and
ZHOR_DI_SL. The liniar optimization creates order to fullfil requirements without rounding, and do not use
as long runtime as the discrete optimization.
The Carlsberg set up operates with running a liniar optimization for all locations in the network, to collect
the total requirement in the production location. Then a discrete optimization is run for the production
location to create order with roundings as defined in product master.
This optimizer profiles takes production capacity and safety stock into account.
The ”Solution methods” tab defines the maximum runtime allowed to find a proper solution, in this example
1 hour, and the use of product decomposition 1 %.
The product decomposition split the optimization into small sub-tasks to be optimized one of the time. It
works the way that the optimizer starts with calculating a opportunity price for each location product. The
formula is not known in details, but it is close to quantity multiplied with production price. In this way the
most important product is optimized as the first one, the second most important as the second etc.
There has been a lot of religious discussions of the use of product decompositions. Some like it, and others
do not. The product decomposition has a severe effect on performance, and as we plan with an optimization
per SNP planner (filling line), it does not harm the result too much – is my oppinion.
Additional functions are defined separately for both servers SNP01 and SNP02. Easiest way to update a new
profile is to copy one block, and then copy it to the new profile for both servers.
The Z-profiles are the Carlsberg specific ones defined for discrete optimization with product decomposition.
8 SNP optimization
8.1Preconditions and optimization flow
8.1.1 Preconditions
Integration models for master data should be finished to make sure that SNP is updated with new master data
before optimization.
Creation of time series for finished goods products has to be finalized before optimization to avoid cancel of
optimizer. If initialization of live Cache time series has failed, a time series consistency check will do.
Release of forecast and promotions from Demand Planning should be finished before calculation of safety
stock and optimization.
Forecast in SNP is deleted for the total planning period before starting a new optimization. Deletion of SNP
orders category EE is done with transaction /SAPAPO/RLCDEL or executing report /SAPAPO/RLCDELE
from transaction SA38, deletion of PP/DS orders category AI is done with report
/SAPAPO/DELETE_PP_ORDER. There is no transaction code for this deletion. The optimizer will as a part
of the optimization delete SNP orders in the planning period, but to make sure to also delete obsolete orders,
this extra deletion is introduced.
Example of selection for deletion of SNP planned orders with /SAPAPO/RLCDEL. The example is based on
variant DEL_SNP_PLO_NO deleting categories EE and AG for a specified number of Norwegian locations
for all SNP planners except 410-449 and 268 in the period between current date -50 and current date + 500.
The settings for deletion both in R/3 and APO means that when the order is deleted from APO liveCache, the
deletion is also sent to R/3 through the CIF interface. This gives from time to time a problem; if the order is
locked in R/3, it is not deleted, so orders are found in R/3 that doesn’t exist in APO. This can be corrected by
sending the order to APO from the delta report, and then delete the order in R/3 and APO again.
If you want to start a deletion manually, e.g. deletion of a single product it is recommended to run
RLCDELETE in test mode. This gives a list of orders, which are ready for deletion. After checking the list,
you can press the delete button to delete the orders from liveCache.
Example of selection for deletion of PP/DS planned orders with /SAPAPO/DELETE_PP_ORDER. The
example is based on variant DEL DS PL.O NO deleting category AI for Norwegian locations 3101 – 3105
for all PP/DS planners (planner is no specified) in the period between current date and current date + 500.
8.1.2.2 Optimization
After deletion of planned orders, a linear optimization is executed per SNP planner (or a number of SNP
planner’s) to collect requirement from the total network in the production location.
A discrete optimization is executed to per SNP planner (or a number of SNP planners) to create planned
orders with lot sizes as defined in product master.
SNP orders are category EE is converted to PP/DS orders category AI for a shorter period of 2-4 weeks,
depending on the country. This functionality is described in details in a following chapter.
As explained earlier in the chapter SNP setting, SNP orders are not transferred immediately to R/3, but a
change pointer is created for later activation. After optimization these change pointers are activated by
running batch job steps executing /SAPAPO/RDMCPPROCESS. Activation of change pointers are explained
in details in chapter ”Integration between APO and R/3”, sub-chapter “Transfer with change pointers”.
8.2Linear optimization
To collect requirement from the entire network a linear optimization is executed. This is running without
rounding’s, and therefore and therefore the run time is pretty short.
The linear optimization is normally executed with optimizer profile ZHOR_DI_ND, and cost profile could
be Z01C, in special cases another cost profile could be chosen.
The optimizer is started from transaction /SAPAPO/SNPOP or from a batch job running report
/SAPAPO/RMSNPOPT. Optimization of a single location product could also be executed from a planning
book.
Find below an example of selection screen for running linear optimization for Sweden, filling line KO65:
The selection profile 000 SE LP K65 as used in this example is defined as seen below selects products from
Norway location 3101-3144 and from Sweden location 3203 with procurement type F, and collect the
requirements in production location 3202 with procurement type E.
The updated result is visible in planning book in key figure “Production planned” as order category EE
8.3Discrete optimization
To create a production plan, which takes lot sizes into account a discrete optimization is run on the
production location with the same SNP planners as used in the linear optimization.
Most of the discrete optimizations in Nordic setup is executed with optimizer profile Z01-00TM01, allowing
the optimizer to use 60 minutes to find a solution using product decomposition with 1 %. Most used cost
profile is Z01C, but in special cases another cost profile could be chosen.
The optimizer is started from transaction /SAPAPO/SNPOP or from a batch job running report
/SAPAPO/RMSNPOPT. Optimization of a single location product could also be executed from a planning
book.
Find below an example of selection screen for running discrete optimization for Sweden, filling line KO65:
In this example another optimizer profile Z01-00TM03 is chosen. This gives the optimizer 180 minutes to
find a solution using product decomposition 1 %. Also another cost profile Z01SE is chosen, which maybe is
a little strange.
The selection profile 000 SE SNPOPT K65 as used in this example is defined as seen below, selects products
production location 3202.
The updated result is, as for the linear optimization result, visible in planning book in key figure “Production
planned” as order category EE
In below example, variant 000_SE_K53 conversion is executed in location 3202 for Production planners 409
and 442 with heuristic Z_SNP_CON_21. This converts orders in the period of 21 days after end of the SNP
production horizon as defined in product master
Menu path: Supply Chain Planning Production Planning and Detailed Scheduling (PP/DS) Heuristics
Maintain Heuristics
8.5.2 Norway
Optimizations for Norway are executed on a daily basis, but not on Sundays and Holy days, determination of
these is based on calendar NO.
Before optimizations old orders are deleted from the SNP plan by running batch job
APO_NO_APO_DELETE-OLD-PLAN_ALL. SNP orders are deleted with /SAPAPO/RLCDELETE, PP/DS
orders are deleted with /SAPAPO/DELETE_PP_ORDER and Change pointers are activated.
First job in the planning flow is repacking executed with batch job APO_NO_SNP_SNP-
OPTIMIZER_BEER_13 and intercompany planning between Norway and Sweden with batch job
APO_SE_SNP_OPTIMIZER_IC_NO-SE.
When these two jobs has ended, rest of the optimizer jobs could be run. There is no dependicies between
theese, so they can be moved around without harming the optimizer result. List of these optimizer jobs with
latest start time
Optimizations has to be finished befor 04:30, where copy to version 100 is started.
After end op the optimization SNP orders are converted to PP/DS orders for 10 days after SNP production
horizon by running batch job APO_ALL_PPDS_CONV-SNP-ORD_ALL.
8.5.3 Sweden
Optimization for Sweden is executed on Mondays and Wednesdays.
Before optimization the forecast release with batch job APO_SE_DP_RELEASE_FC_TO_SNP_V2 should
be finished
After forecast release and transfer of promotions, safety stock should be calculated with batch job
APO_SE_SNP_OPTIMIZER_INITIAL.
Intercompany planning between Norway and Sweden should also run before filling line optimization by
running batch job APO_SE_SNP_OPTIMIZER_IC_NO-SE.
Optimizations has to start with planning repack by running batch jobs APO_SE_SNP_
OPTIMIZER_RESOURCE_60 and APO_SE_SNP_OPTIMIZER_REPACK.
All swedich optimizer jobs are created per filling line including the total optimizer flow, deleting old orders,
optimizing linear and discrete, conversion to PP/DS and activating change pointers.
After execution of repack rest op the optimizer jobs can be started. There is no dependicies between theese,
so they can be moved around without harming the optimizer result. List of these optimizer jobs with latest
start time.
The SNP optimization plan sorting of crates mixed bottles product number 50007 using a PPM with 2 output
products 54864 White bottles and 54865 Coloured bottles with the split of 75 % of white bottles and 25 % of
coloured bottles.
When a demand for one of the products is fullfilled by creating a planned order, an order for joint production
of the other product is also created with category EM (Co production). In the planning book this is updated
in the key figure Manufacture of CO-products.
In below planning book view of 54864 is planned orders created after fullfilling demands of 54864, while the
manufacture of Co-Products is created as a by product fullfilling demands of 54865.
Next step in the sorting batch job is a deployment optimization planning transport of sorted white bottles
from 3202 Falkenberg to 3201 Ramlösa.
8.6Inactive versions
8.6.1 Version 100
After end of optimization a copy of active version 000 is taken into version 100. The copy is executed on a
daily basis currently at 04:30 with batch job APO_CDK/SE_SNP_100-VERSION-COPY.
This version could be used to take a snapshot of the optimizer result before the end users start there daily
planning.
An optimization of version 100 is executed on a daily basis with batch job APO_CDK_SNP_100_
OPTIMIZER to evaluate the Danish optimization.
No optimizer jobs for version 100 has been created for Norway and Sweden.
This version is also the source version for collecting APO data for transfer to BW.
There is created Danish and Norwegian batch jobs to execute an optimization after version copy
Remember for the Norwegian jobs that the delete job and optimizer 13 is prerequisites for rest of the
optimizations, as explained for optimization of the active version.
Release the process order. At release an inspection lot of origin 04 will be created. Inspection end date will
be maintained as production date in the process order + average inspection duration from the material master.
Goods receipt will be posted as usual from Astro in Norway and Sweden and from pallet system in Denmark.
Be aware that posting will be to quality stock because of the setting in material master for plant material.
The QM-lot with the expected date of quarantine end is visible in R/3 and APO.
In APO SNP the QM-lot is visible in planning book, key figure "Production (Confirmed)" together with
PP/DS orders and process orders. In details it is represented as category BU.
Production quarantine is ended by given a usage decision to the inspection lot in R/3.
In APO standard the transport load builder is used to collect deployment purchase requisitions to TLB
shipments. When sending them to R/3 a stock transfer order is created in R/3 and returned to APO with a
STO number.
By using planning book PURCHASE_TLB, view PURCHASE_TLB it is also possible to collect SNP
purchase requisitions to TLB shipments. When sending them to R/3 a purchase order is created in R/3 and
returned to APO with a Purchase order number. This functionality is very useful when planning Trading
goods transfer e.g. from vendor to production location or distribution center.
The TLB shipment is transferred to R/3 by pressing the “Orders Directly to OLTP System”.
Detailed description of the change request CR 4749 is found in appendix to this document.
10 Deployment Optimization
10.1 Deployment optimization
10.1.1 Optimizer run
Deployment optimization is scheduled to execute with batch jobs calling report /SAPAPO/RMDPLOPT.
The deployment optimizer could also be executed as a onetime job running transaction /SAPAPO/SNP03.
Menu path: Supply Network Planning Planning Supply Network Planning in the Background
/SAPAPO/SNP03 - Deployment Optimization
A lot of variants are created for this report, calling different selections. The below example displays variant
SE_DEP_54 running the deployment optimizer with the bucket definitions from planning book
DEPLOY_STOCK, view DEPLOY_STOCK for the period from current day to current day + 10, optimizer
profile ZD01_5min and cost profile Z01B. The selection profile SE FBG 54 is also opened below.
The deployment optimizer deploys according to requirements, but cannot deploy more than the content in
key figure ATD (Available to deploy) Reciepts.
ATD Receipt
This field is relevant to Deployment in Supply Network Planning (SNP). With the category group for the ATD receipt, you
specify which order categories contribute to the increase of the Available to Deploy Quantity (ATD quantity) (for example,
EE = SNP planned orders).
See chapter "configuration" of this document to see the description of all category groups and categories
ATD Issue
This field is relevant to Deployment in Supply Network Planning (SNP). With the category group for the ATD issue, you
specify which order categories contribute to the reduction of the Available To Deploy Quantity (ATD quantity) (for
example, BM = sales orders).
See chapter "configuration" of this document to see the description of all category groups and categories
Category groups used by ATD receipts and ATD issues is maintained in location master, SNP tab
Find below the content of the category groups Z03 and Z09, as is maintained in location 3202 as ATD issues
and ATD reciepts
APO_DK_SNP_DEPLOY_STOCK_BEER
APO_DK_SNP_DEPLOY_STOCK_CCTD
APO_DK_SNP_DEPLOY_STOCK_TRAD
Deployment alerts are created hourly between 07:00 and 15:00 on a daily basis by running batch job
APO_DK_SNP_DEPLOY_ALERT_CREATION
The steps DEP_DK_BL, DEP_DK2_BL and DEP_DK1_BL are running activity NL_DEP_BL with different
selections
The steps DEP_DK_BS, DEP_DK2_BS and DEP_DK1_BS are running activity NL_DEP_BLS with
different selections
DETERMINE WORKDAYS
STOCK BALANCE
SAFETYSTCK
10.2.2 Norway
Norway deployment is executed on a daily basis by running batch job APO_NO_SNP_DEPLOY_STOCK
10.2.3 Sweden
Swedish deployment is running twice a day with 3 batch jobs
APO_SE_SNP_DEPLOY_FALKENBERG
APO_SE_SNP_DEPLOY_TRADING_GDS
APO_SE_SNP_DEPLOY_RAMLOSA
The TLB is opened with transaction /SAPAPO/SNPTLB. Menu path: Supply Network Planning
Planning /SAPAPO/SNPTLB - Transport Load Builder (TLB)
Create a TLB shipment by pressing the ”Create TLB shipment” button. The TLB shipment is named APO-
000x.
Move Deployment purchase requisitions to the TLB shipment. Load is controlled according to the means of
production defined in the transportation lane.
The TLB shipment is transferred to R/3 by pressing the “Orders Directly to OLTP System”. In R/3 a Stock
Transfer Order is created on basis of the TLB shipment. The Stock Transfer Order is transferred back to APO
through the CIF interface, and replaces the TLB shipment.
To find the optimization you want to analyze, read job log for the actual optimization and note the start time.
Then find this optimization in the optimizer log. Time in batch job and optimizer log could differ a few
seconds.
In this log you find a lot of usefull information about the optimization
In these 2 files you can find information’s about the periods, for which SNP planned orders and SNP
purchase requisitions are deleted per location product.
In this folder you can find a lot of useful information about input for the optimization. A few examples will
be shown in this document, but you can yourself find more useful information
All results from the optimizer are based on planning buckets, which could be daily, weekly or monthly. In
input files bucket definitions can be controlled in file ET_BUCKDF:
In ET_LOCMAT you can find stock related informations per location product
In ET_PROMO you can find PPM information per location product, e.g. lotsizes an production cost
In ET_LOCPROD you can find informations about safetystock. This file is very useful when searching
locations products with negative safety stock after an optimizer cances with SQL error 181.
In IT_PROMO planned orders can be analyzed per PPM and period. Prod.Qty is reported as a factor to
multiply with the location product lot size.
In IT_DEMAND and IT_NOTDELI you can analyse fulfilled and unfulfilled demands per location product
and bucket. Especially the IT_NOTDELI as is showed below is interesting as unfulfilled demands can course
backlogs.
In this file the opmimization can be traced. In most cases, you would never find any use in analyzing the
trace file, but if you want to analyze the product decompositions the trace file is useful. Search for the term
“Opportunity”, and click forward until you reach the list of atomic subproblems. Here you can analyze in
which order the products are optimized.
11.1.2 Alerts
Alerts are analyzes with transaction /SAPAPO/AMON1. Menu track: Supply Chain Monitoring
/SAPAPO/AMON1 - Alert Monitor.
You can choose alert profile from the list of profiles assigned to your user account.
When alert profile is chosen, press the button ”Redetermine alerts” and flag for displaying alerts created in
planning book DEPLOY_STOCK, view DEPLOY_STOCK. The alert is listing backlogs per location
product. To minimize the alert list the backlog is only displayed once per location product.
The overall profile for the alert is displayed by pressing the “Overall profile” button.
This overall profile is analyzing backlogs the next 21 days using the SDP alert profile SE_KO53
Open “Database macro alerts” to see the alert setup. SDP Dynamic Alerts is not used in this profile.
The SDP alert profile is collecting Deployment Backlog (DB) alerts from planning book DEPLOY_STOCK,
view DEPLOY_STOCK with variant JOHLIS SE K53 SNP.
Before the alerts is available for the alert monitor, it has to be created by running a macro in planning book
DEPLOY_STOCK, view DEPLOY_STOCK. This backlog alert is created with the macro TOTAL
BACKLOG ALERT, which is displayed below:
2 other alerts is created inDEPLOY STOCK to manage backlogs. These will not be described indetails in this
document.
It goes for:
Location master
Resource master
Product master
PPM’s
Procurement relationships
These are documented in details in the CIF support manual, and don’t need further documentation in this
document.
The transportation lane is maintained with transaction /SAPAPO/SCC_TL1. Menu: Master Data
Transportation Lane /SAPAPO/SCC_TL1 - Transportation Lane
The means of transport is maintained with validity period, transportation calendar, transprotation cost,
ressource and TLB profile(load capacity).
Product specific transportaion lane is then defined per product maintaining validity period and block
indicator. When created the product is assigned to a means of transport. If there only is one means of
transport assignment is done automaticly.
Transportation lane is created automaticly after transfer of a contract item together with procurement
relationship. This transportation lane descripes the connection between an external vendor and a production
location or distribution center.
This type of transportation lane could be maintained with a means of transport, is planning of transport lots
from vendor is an issue.
Calendar maintenance can be maintained from customizing, transaction SPRO. Menu: Advanced Planner and
Optimizer (APO) -> Master Data -> Calendar -> Maintain Planning Calendar (Time Stream).
The calendar can also be maintained from location master, calendar tab.
The calendar used is Z5DAYS for Denmark, Z5DAYS_NO for Norway and for Z5DAYS_SE for Sweden
The SNP planner is customized in APO development, and from there transported to QA and production.
Call customizing with transaction SPRO, and follow menu: Advanced Planning and Optimization Supply
Chain Planning Supply Chain Planning
You could assign an SNP planner to be used for other planner too, e.g. Production planner for use in PP/DS
selections.
As a standard this is not the case with SNP PPM’s, which means that production version in a planned order
in R/3 don’t have the connection to production version used in APO. This has given problems with MRP runs
in R/3 as a wrong Bill of Materials has been chosen.
The program reads every PP/DS PPM in the table /SAPAPO/PRODVERZ, and check if a SNP PPM exists
for the production version. If not, a new entry is created in the table with the production version for the SNP
PPM. After creation, SNP planned orders are transferred to R/3 with the correct production version.
The program is used of Denmark and Sweden, included as a step in daily batch jobs, for Denmark in batch
job APO_DK_SNP-OPTIMIZER_PPDS, and for Sweden in APO_SE_SNP_OPTIMIZER_INITIAL.
The maintenance is possible using transaction /SAPAPO/MAT2. You can find the update be calling product
master. From main screen follow menu: Extras Mass maintenance product penalties cost
Maintenance of penalties for location products is possible using transaction /SAPAPO/MAT3. This is not
implemented in the Carlsberg solution, but could be used to let the optimizer prefer main products before
less important products. A program to update penalties for location products ZCALC_LATE_
DELIVERY_COST_PLANT is found in APO, but is currently not used.
13 BW SNP Reports
3 info sources is created in APO to collect SNP data in an ODS structure for later transfer to BW.
ZSNPOGL1 collecting planning data for Norway and Sweden from data source CB_SNP_
PLANNING_AREA / 9AMALO(9ASNP_PLANNING) by running the info packages “Full load
SNP PLANNING NO 000 & 101 PC” and “Full load SNP PLANNING SE 000 & 101 PC”. The info
packages are scheduled to run on a daily basis.
ZSNPOGL2 collecting transportation data is collecting data for Danish, Norwegian and Swedish
locations from data source CB_SNP_PLANNING_AREA / 9AMALA(9ASNP_ PLANNING_
MALA) by running info package “Full load SNP PLANNING NO 000 & 101 PC” on a daily basis.
ZSNPOGL3 collecting production capacity data for specified resources in Danish, Norwegian and
Swedish locations from data source CB_SNP_PLANNING_AREA / 9AMALORE(9ASNP_
PRODUCT_CAP_2) by running info package Production Capacity DK/NO/SE on a daily basis.
Selection screen for Norway is collecting data from location 3101 – 3144, products 1 – 79999 and versions
000 and 100 for a period of time defined in an ABAP routine:
Selection screen for Sweden is collecting data from location 3201 – 3211, products 1 – 9999999999 and
versions 000 and 100 for a period of time defined in an ABAP routine:
Selection screen specifies collection from version for a period of time defined in an ABAP routine:
Selection screen is collecting capacity data from specified resources and versions 101 for a period of time
defined in an ABAP routine:
TLB for SNP purchase requisitions CAN NOT be executed from transaction /SAPAPO/SNPTLB - Transport
Load Builder (TLB), but has to be executed from planning book PURCHASE_TLB.
Now clustering of SNP purchase requisitions can be planned as a normal TLB procedure
Maintenance of Old TLB profile is not possible after upgrade to version 4.1. Program error can be repaired
by running report /SAPAPO/REPAIR_TLB_PROF_MAINT implemented with note 708197. Repair is
executed in APB, APL and APS.
If it should be necessary to change from old TLB profiles to new TLB profiles this will be possible after
implementing note 707828. This will affect all countries using TLB, so it is decided to postpone it to after go
live for Norway and Sweden in TLB.
Sap note 514947 is implemented to create report Z_PB_MVWOBJ_CHANGE. The report open the
possibility to choose if SNP purchase requisitions or deployment purchase requisitions should be visible in
TLB. Allowing SNP requisitions is a onetime run.
Planning book PURCHASE_TLB with view PURCHASE_TLB is created as a copy of Planning book
DEPLOY_STOCK, view DEPLOY_STOCK. The copy is done from transaction /SAPAPO/SDP8B - Define
Planning Book, menu path: Supply Network Planning Environment Current Settings
/SAPAPO/SDP8B - Define Planning Book.
Menu path: Supply Network Planning Environment Current Settings /SAPAPO/ADVM - Define
Planning Book.
Press execute
Advanced Planning and Optimization Supply Chain Planning Supply Network Planning (SNP)
Basic Settings Maintain Category Groups
As clustering of purchase requisitions only is possible for SNP and only is possible pointing to procurement
relationships for purchase info records it is necessary to change integration model DK_TRADING, so
products to be planned by this functionality is excluded from transfer of contracts.
Check that MRP planner is 021, which is a prerequisite for transfer of procurement relationships.
As we change from planning in PP/DS to planning in SNP planning horizon has to be changed from
900 to e.g. 5 days.
The materials that should be planned as SNP instead of PP/DS have to be excluded from PP/DS heuristic and
added to a SNP optimizer step. Business takes care of the move.
Purpose of CR 4997 is to give the possibility of setting production into quarantine a number of days before it
is available in unrestricted stock. The production will be posted in quality stock, and a QM-lot is created to
report when the quantity is expected in unrestricted stock. At end of the quarantine the quantity is released
with a usage decision of inspection lot, which posts the quantity in unrestricted stock and deleted the QM-lot.
Release the process order. At release an inspection lot of origin 04 will be created. Inspection end date will
be maintained as production date in the process order + average inspection duration from the material master.
Goods receipt will be posted as usual from Astro in Norway and Sweden and from pallet system in Denmark.
Be aware that posting will be to quality stock because of the setting in material master for plant material.
The QM-lot with the expected date of quarantine end is visible in R/3 and APO.
As the QM-lot date is updated in the inspection lot at process order release calculated from expected
production date, it might from time to time be necessary to change it.
Change inspection end date and save. QM-lot will be changed in both R/3 and APO.
Now the quantity is moved from quality stock to unrestricted stock, and the QM-lot is deleted in both R/3
and APO
If not the total quantity should be released to unrestricted stock, quantities have to be posted before the usage
decision is given.
Call the usage decision from result recording or QA11 as described above, and select the tab strip
"Inspection lot stock".
In the example below 1800 of 2000 PC is released. The remaining quantity 200 PC is updated in QM-lot in
R/3 and APO.
After this 100 PC is scrapped. QM-lot is updated with the remaining 100
You can see that for the batch in example 0014092671 unrestricted stock is 1800, and quality stock is 100.
100 PC is moved from quality stock to unrestricted stock with movement type 321
1800 PC is moved from quality stock to unrestricted stock with movement type 321
Important
It is important that quality inspection stock is 0 before usage decision is given as described above from the
tab strip "Characteristics".
Menu path: Integration with Other SAP Components Advanced Planning and Optimization
Application-Specific Settings and Enhancements Settings and Enhancements for Inspection Lots Set
Up Transfer of Inspection Lots to SAP APO
You can choose logical systems defined as target systems in R/3 customizing menu path: Integration with
Other SAP Components Advanced Planning and Optimization Basic Settings for Setting Up the
System Landscape Set Target System and Queue Type
Category BU for QM-lot is added to category group FP1 to make it visible in SNP planning book in the key
figure "Production (Confirmed)"
Advanced Planning and Optimization Supply Chain Planning Supply Network Planning (SNP)
Basic Settings Maintain Category Groups
Create integration models in transaction CFM1. Save variants for use in batch jobs.
Find below example for variant for Sweden, integration model SE_FERTQM
When the functionality is introduced for a country, creation and activation of QM-lot will be included in the
master data batch job.
Transfer of stocks in the core interface need to be changed so inspection stock is no longer transferred. If not,
inspection stock is taken into account in APO at goods receipt and with QM-lot.
Maintain BAdI for stock transfer with APO, transaction ZAPOCAT, and add a new entry per plant to be
implemented:
Set flag for "Post to insp. Stock", maintain AVG inspection duration with the number of days for quarantine
and save the changes.
The inspection type will post goods receipt to quality stock, and create a QM lot in R/3 and APO on the end
of average inspection duration.