SPP Runtime Performance Guide

29
Runtime Performance Guide Running High Volume Business with SAP Service Parts Planning Edition 2009 Document Version 1.0 December 2009

description

SPP Runtime Performance Guide

Transcript of SPP Runtime Performance Guide

Page 1: SPP Runtime Performance Guide

Runtime Performance Guide

Running HighVolume Businesswith SAP ServiceParts Planning

Edition 2009

Document Version 1.0

December 2009

Page 2: SPP Runtime Performance Guide

Copyright

© Copyright 2008 SAP AG. All rights reserved.

No part of this publication may be reproduced or transmitted in any formor for any purpose without the express permission of SAP AG. Theinformation contained herein may be changed without prior notice.

Some software products marketed by SAP AG and its distributors containproprietary software components of other software vendors.

Microsoft, Windows, Excel, Outlook, and PowerPoint are registeredtrademarks of Microsoft Corporation.

IBM, DB2, DB2 Universal Database, System i, System i5, System p,System p5, System x, System z, System z10, System z9, z10, z9, iSeries,pSeries, xSeries, zSeries, eServer, z/VM, z/OS, i5/OS, S/390, OS/390,OS/400, AS/400, S/390 Parallel Enterprise Server, PowerVM, PowerArchitecture, POWER6+, POWER6, POWER5+, POWER5, POWER,OpenPower, PowerPC, BatchPipes, BladeCenter, System Storage, GPFS,HACMP, RETAIN, DB2 Connect, RACF, Redbooks, OS/2, ParallelSysplex, MVS/ESA, AIX, Intelligent Miner, WebSphere, Netfinity,Tivoli and Informix are trademarks or registered trademarks of IBMCorporation.

Linux is the registered trademark of Linus Torvalds in the U.S. and othercountries.

Adobe, the Adobe logo, Acrobat, PostScript, and Reader are eithertrademarks or registered trademarks of Adobe Systems Incorporated inthe United States and/or other countries.

Oracle is a registered trademark of Oracle Corporation.

UNIX, X/Open, OSF/1, and Motif are registered trademarks of the OpenGroup.Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame,VideoFrame, and MultiWin are trademarks or registered trademarks ofCitrix Systems, Inc.

HTML, XML, XHTML and W3C are trademarks or registeredtrademarks of W3C®, World Wide Web Consortium, MassachusettsInstitute of Technology.

Java is a registered trademark of Sun Microsystems, Inc

JavaScript is a registered trademark of Sun Microsystems,Inc., used under license for technology invented andimplemented by Netscape.

SAP, R/3, xApps, xApp, SAP NetWeaver, Duet,PartnerEdge, ByDesign, SAP Business ByDesign, andother SAP products and services mentioned herein as wellas their respective logos are trademarks or registeredtrademarks of SAP AG in Germany and in several othercountries all over the world. All other product and servicenames mentioned are the trademarks of their respectivecompanies. Data contained in this document servesinformational purposes only. National productspecifications may vary.

These materials are subject to change without notice.These materials are provided by SAP AG and its affiliatedcompanies ("SAP Group") for informational purposesonly, without representation or warranty of any kind, andSAP Group shall not be liable for errors or omissions withrespect to the materials. The only warranties for SAPGroup products and services are those that are set forth inthe express warranty statements accompanying suchproducts and services, if any. Nothing herein should beconstrued as constituting an additional warranty.

DisclaimerSome components of this product are based on Java™.Any code change in these components may causeunpredictable and severe malfunctions and is thereforeexpressively prohibited, as is any decompilation of thesecomponents.Any Java™ Source Code delivered with this product isonly to be used by SAP’s Support Services and may notbe modified or altered in any way.

Documentation in the SAP Service MarketplaceYou can find this documentation at the following Internetaddress:service.sap.com/instguides

SAP AGNeurottstraße 1669190 WalldorfGermanyT +49/18 05/34 34 24F +49/18 05/34 34 20www.sap.com

Page 3: SPP Runtime Performance Guide

Typographic ConventionsType Style Represents

Example Text Words or characters thatappear on the screen. Theseinclude field names, screentitles, pushbuttons as well asmenu names, paths andoptions.

Cross-references to otherdocumentation

Example text Emphasized words or phrasesin body text, titles of graphicsand tables

EXAMPLE TEXT Names of elements in thesystem. These include reportnames, program names,transaction codes, tablenames, and individual keywords of a programminglanguage, when surrounded bybody text, for example,SELECT and INCLUDE.

Example text Screen output. This includesfile and directory names andtheir paths, messages, namesof variables and parameters,source code as well as namesof installation, upgrade anddatabase tools.

Example text Exact user entry. These arewords or characters that youenter in the system exactly asthey appear in thedocumentation.

<Example text> Variable user entry. Pointedbrackets indicate that youreplace these words andcharacters with appropriateentries.

EXAMPLE TEXT Keys on the keyboard, forexample, function keys (suchas F2) or the ENTER key.

IconsIcon Meaning

Caution

Example

Note

Recommendation

Syntax

Page 4: SPP Runtime Performance Guide

Running High Volume Business with SAP Service Parts Planning

4 November 2009

Contents1 Introduction .............................................................................. 62 Support Package Strategy ...................................................... 63 Volume Testing ........................................................................ 64 Sizing......................................................................................... 7

4.1 Quicksizing .............................................................................. 74.2 Expert Sizing: Outline for Batch Window Setup .................. 74.3 Verification: Detailed Batch Window Setup and RuntimePredictions ......................................................................................... 8

5 Design of Batch Windows....................................................... 86 Trigger Concept and Batch Job Design .............................. 10

6.1 Business Event Driven Planning ......................................... 106.2 Modeling SPP Process Chains by Using Triggers ............ 116.3 List of Triggers ...................................................................... 12

7 Application Specific Considerations ................................... 127.1 Demand Realignment ........................................................... 137.2 Forecasting – Auto Model Selection (AMS) ........................ 137.3 Forecasting – Historical Forecast ....................................... 137.4 Forecasting – Composite Forecast ..................................... 147.5 EOQ / Safety Stock ................................................................ 157.6 Stocking/Destocking ............................................................. 157.7 DRP ......................................................................................... 157.8 Deployment ............................................................................ 167.9 Supersession Planning ........................................................ 167.10 Surplus Determination Service .......................................... 177.11 Obsolescence Check Service ............................................ 177.12 Inventory Balancing ............................................................ 177.13 Version Copy for Simulation .............................................. 17

8 Planning Service Manager (PSM) ......................................... 188.1 General Execution of PSM ................................................... 188.2 Parallel Processing ............................................................... 188.3 Option “Read Trigger First” ................................................. 208.4 Option “PSM Selection Result” ........................................... 218.5 Option “Buffer Selection Result” ........................................ 22

9 Performance-Related AGS-Services ................................... 23

Page 5: SPP Runtime Performance Guide

Running High Volume Business with SAP Service Parts Planning

November 2009 5

10 Summary ............................................................................... 2411 Appendix ............................................................................... 25

Page 6: SPP Runtime Performance Guide

Running High Volume Business with SAP Service Parts Planning

6 November 2009

1 IntroductionThis document provides information related to the performance of an SAP Service Parts Planning(SPP) implementation. To start off with, this document’s scope is set and an overview is given.

Focus will be put on efficient setup, runtime behavior, and hardware consumption. Topics related tothe overall business performance of the service parts supply chain are not in focus of thisdocument (e.g. stock reduction). However, for some application areas options are available whichprovide different business logics at different levels of hardware consumption. In such cases theimpact to business performance is indicated.

To optimize the performance of an SPP implementation various areas are of interest. To start offwith, suggestions to the project manager are given. Typical implementation specific constraints arediscussed; the most important decisions are explained. In the application the batch window designsets boundary conditions. Typical constraints and most important decisions are explained.Available functionality is outlined with respect to runtime cost. Finally, the concept of parallel batchruns and triggers is explained and options available are shown.

Please note that this document was prepared to get project members of the various teams (e.g.functional team, basis team etc.) thinking about performance in all phases of an implementationproject. It is touching the major performance-relevant topics; however, details need to beelaborated in the course of a project.

2 Support Package StrategySAP recommends regular application of Support Package Stacks (SP Stacks). SP stacks containthe optimal combination of Support Package and patch statuses for the individual components atthe given time. Every SP contains all error corrections which were carried out in a certain period. Inthe course of the release cycle the number of corrections will reduce.

As a customer you must define a strategy in which periods you want to import a SP into yoursystem landscape. For production systems, SAP is recommending a period of 3 to 6 months.

Before a SP is released by SAP, most important transactions and core processes are tested. Dueto the large number of processes and due to customer-specific enhancements, you still need to testyour own customer-specific processes as soon as you have implemented a SP.

When beginning an SPP implementation project it is advisable to always install with the highestavailable support pack.

3 Volume TestingAs part of SAP’s development cycle, SAP has proven performance and scalability of SPM, incl.SPP in a comprehensive joint SAP/IBM performance project.

http://www-03.ibm.com/support/techdocs/atsmastr.nsf/585741c64201a45286256ccf00653ad4/2f1d01a14eac61808625732a0062f31e/$FILE/ISICC-Press-CTB-2007-2.1.PRS2833.pdf

Nevertheless a customer-specific volume test is crucial in a high-volume environment due to thefollowing customer-specific factors:

- hardware and database equipment (e.g. determining degree of parallelization)

Page 7: SPP Runtime Performance Guide

Running High Volume Business with SAP Service Parts Planning

November 2009 7

- network (e.g. local vs. global servers)

- data volume (e.g. number of products, number of sales orders, numer of triggers etc.)

- batch-job design and batch-window

- functional scope (e.g. alternative methods for historical forecast calulation)

- enhancements of functionality

- implementation design (e.g. interchangeability master data, PSM set up)

- interfaces with legacy systems

- etc.

A customer-specific volume test offers additional chances: First of all the cutover process andrelated programs can be tested thoroughly and with real volume when setting up the appropriatesystem. And secondly it allows gaining experience on running high or full volume before runningthe production system.

4 SizingThis section describes various sizing activities. The information is based on SAP note 1270069.That note also contains references to other performance related SAP notes.

Performance and sizing considerations for the SPP solution can happen at various levels of detailand accuracy. The suggested steps are 'Quicksizing', 'Expert Sizing' and 'Verification'. Beyondthese steps please also consider that in SPP

- Options with different hardware consumption are available to choose from (e.g. planninghorizons, period based planning vs. reorder point based planning)

- By using triggers regular planning activities can be configured to run only if a newcalculation is needed. Using trigger based planning can significantly limit the size of regularplanning jobs without sacrificing accuracy in results ('delta mode').

4.1 QuicksizingFor general feasibility considerations and initial sizing recommendations please consider the SAPQuickSizer. The SAP QuickSizer is available via http://service.sap.com/quicksizing. Furtherinformation is provided on this website.

4.2 Expert Sizing: Outline for Batch Window SetupTo design the batch window setup for your SPP implementation please use the quicksizing resultsas a starting point.

From there on please set up SPP processes based on your business blueprint and use this setupto match your batch schedule with your individual SPP processes. Amongst others, aspects toconsider are

- daily/weekly/monthly jobs

- batch windows for integration with external systems

- backup schedules

- business process exception handling

Page 8: SPP Runtime Performance Guide

Running High Volume Business with SAP Service Parts Planning

8 November 2009

4.3 Verification: Detailed Batch Window Setup and RuntimePredictions

For detailed runtime verification on your production environment please perform runtimemeasurements that represent the final system configuration and the required data throughput. Thisincludes

- the final configuration of SPP planning processes

- the final batch window design

- production-like data volume

- production-like user load

- production-like interface load

- production hardware or equal

5 Design of Batch WindowsThe batch-window is probably the most important constraint for runtime requirements. It fixes theearliest start time of the first batch job in a job chain and the latest end time of the last batch job. Inthe middle of the batch-window there can be further dependencies. So usually there is a mix ofaspects which need to be considered to determine the batch-window.

- Availability of hardware

o Working hoursDepending on the hardware setup, running batchjobs can impact performance ofonline transactions significantly. Therefore hardware might be reserved for onlineusers during the regular working hours and available for batchruns outside only.

o Maintenance windowHardware might be unavailable during periodic maintenance activities; duringappropriate time slots batch jobs cannot be run.

- Input data as a constrainto Availability of input data

Usually, batch jobs require specific input data (e.g. DRP to be run on actualinventory figures). If such input data is transferred from a legacy system into theSAP environment, there will be a defined time of day for its availability in SAP.Even if it is created within the SAP environment (e.g. EWM) and transferred onlineinto SCM, a specific time needs to be determined when the data is complete andstable enough to ensure proper planning results.The availability time of input data can be determined e.g. by warehouse shifts,scheduled processing time of dealer orders etc.

o Time-criticality of input data and related planning processAssuming a specific input file can only be provided after midnight and the sizedoes not allow to complete the job chain in time. Then it must be taken intoconsideration to run the related process based on data of the previous day. Acustomer-specific weighting of time-wise accuracy of planning and available batch-window is required.Example:Assuming the sales order file is available only after midnight, but the time aftermidnight is required to run operational planning. Then it might be more efficient torun tactical planning based on previous day’s sales orders than buying additionalhardware.

Page 9: SPP Runtime Performance Guide

Running High Volume Business with SAP Service Parts Planning

November 2009 9

- Specific requirements from partners (e.g. suppliers)Example: agreements on reaction times of suppliers (e.g. confirm releases daily until noon)might require that releases are sent out latest on a defined time of day.

- Requirements related to output datao Working hours

Output data of planning jobs are basis for the users’ daily work. Therefore the starttime of regular working hours can narrow the required completion time for batchjobs providing the required data.

o Subsequent processing of SPP resultsIt can also be required to further process SPP results in other systems, e.g. ifreleases are dispatched out of a legacy system. In such cases the processing timein the other system plus the related partner requirement will determine the latestcompletion time.

Example:

Batch jobs for tactical operational planning shall be scheduled for daily processing. Tacticalplanning covers jobs like stocking / destocking, forecasting, demand realignment, calculation ofsupersession dates etc. Operational planning covers distribution requirements planning, releasecreation and transfer, internal network planning and deployment etc.

Restrictions:

- Working hours of SPP system usersThe regular working hours of system users (planners, buyers, suppliers etc.) start at 8 a.m.and end at 6.p.m. To handle their high workload, users require minimal system responsetimes. Therefore and due to the hardware architecture, batch jobs shall not be scheduledduring regular working hours.

- Availability of goods receipts, goods issues and stock updatesThe warehouse is working three shifts per day. Activities significantly impacting inventorychanges are completed around 12 p.m. An additional buffer of 1.5 hours shall beconsidered.

- Supplier agreement regarding releasesAs agreed with key suppliers, transfer of releases shall start at 6 a.m.

Resulting batch-window:

- Batch-window starts at 6 p.m. and ends at 8 a.m.

- 0 – 1:30 a.m. is the fixed slot for final GR, GI and stock updates.

- Due to the required accuracy of inventory figures, a part of tactical and the operationalplanning needs to be run after 1:30 a.m.

- All jobs aiming to create and transfer releases to the supplier have to be completed at 6a.m.

Page 10: SPP Runtime Performance Guide

Running High Volume Business with SAP Service Parts Planning

10 November 2009

6 Trigger Concept and Batch Job Design6.1 Business Event Driven PlanningHigh data volume is a key-characteristic of service parts management. Coping with that aspect wasa major reason to develop a new SAP solution for planning of service parts. The idea behind theSPP design is to reduce the high data volume to a relevant volume by filtering out those parts forwhich a specific business event causes the necessity to renew the planning.

Business events can be e.g.:

- over-deliveries by a supplier

- pick denials in the warehouse

- increase of warehouse efficiencies leading to reduced GR/GI processing times

- stock updates

- changed demand pattern

- customer demand in a non-stocked location

- reduction of storage space at a warehouse

- change of the distribution network

Such business events will require new evaluation by determined planning sub-processes.Examples:

Page 11: SPP Runtime Performance Guide

Running High Volume Business with SAP Service Parts Planning

November 2009 11

- A pick denial in the warehouse for a stock transfer order will require a new decision on howto distribute the inventory in the network.

- Customer demand in a non-stocked location requires to re-think whether the concernedpart should be stocked in that location.

- If the distribution network is being changed for a product, the customer demand must bere-allocated accordingly. E.g. launching a new warehouse in Poland means, that Polishcustomers are not supplied from the German warehouse any longer. Therefore a newforecast must be calculated for Poland and the one for Germany must be reducedappropriately.

If no relevant business event has happened, planning must not be executed (an exception might bethe requirement for e.g. a monthly re-planning). So business event driven planning is key to reducedata volume to be processed to a reasonable level.

Technically, business event driven planning is realized as the “trigger concept”. The system setstriggers in various places as a result of certain events, for example if specific master data ortransaction data is changed. Triggers have to be activated for the relevant services in Service PartsPlanning (SPP). You do this by specifying the services that are to be triggered via

- Customizing for Advanced Planning and Optimization under Supply Chain PlanningService Parts Planning (SPP) Basic Settings in the IMG activity Activate Triggers forSPP

- Customizing for SCM Basis under Data Management Layer Triggers (for PlanningFile Entry) in the IMG activity Configure Triggers.

Further information can be found underhttp://help.sap.com/saphelp_scm70/helpdata/en/47/9dc8cf86511596e10000000a42189d/content.htm.

In chapter 7.3 you will find the list of SPP triggers in SCM 7.0.

6.2 Modeling SPP Process Chains by Using TriggersFollowing simplified example is demonstrating dependencies between business events and relatedplanning sub-processes:

If customers are placing sales orders at a non-stocked location, the decision about not stocking thispart needs to be reviewed. Assuming the new decision is to stock the part in the concernedlocation, replenishment must be initiated. The replenishment process will require information likeforecast, EOQ and safety stock. To calculate the forecast, information on historical demands mustbe available. Therefore the demand of those customers, who will be replenished from the newlystocked location, must be realigned accordingly.

The translation into a sequence looks like this:

1. A sales order in a non-stocked location requires a review of the stocking decision.

2. The revised decision to stock the location requires realignment of the historical demand.

3. Once the demand is realigned, a new forecast must be calculated for the completedistribution network of the concerned product.

4. Based on the new forecast, EOQ and safety stock must be re-calculated.

5. Based on new forecast, EOQ and safety stock, replenishment from supplier must be re-planned.

6. Based on the new stocking decision as well as new forecast, EOQ and safety stock,distribution in the network must be re-planned.

Technically spoken, the sequence looks like this:

1. Run SPP: Stocking Decision Service based on trigger SPP_NON_ST_DEMAND.

Page 12: SPP Runtime Performance Guide

Running High Volume Business with SAP Service Parts Planning

12 November 2009

2. Run SPP: Data Real. for Stocking/Destocking based on triggerSPP_REPL_INDI_CHANGE.

3. Run SPP: Forecast Service based on trigger SPP_RLG_DONE.

4. Run SPP: EOQ/SFT Service based on trigger SPP_FCST_CHANGE.

5. Run SPP: DRP Service based on trigger SPP_INV_PL_CHANGES.

6. Run SPP: Deployment Service based on trigger SPP_REPL_INDI_CHANGE.

6.3 List of TriggersFollowing link will guide you to the list of standard triggers in the SAP Application Help. In theappendix of this document you will find the latest list, dated 05. Nov. 2009.http://help.sap.com/saphelp_scm70/helpdata/EN/47/9dc8cf86511596e10000000a42189d/content.htm

Please note that customers can create new triggers for their specific purposes.

SAP recommends to use triggers for all planning jobs if number of objectswith a trigger is less than the number of selected products. This usuallyapplies to jobs which do not need to run periodically but upon occurrenceof a specific business event. Setting up trigger driven planning processesdecreases the overall computational work for the SPP system – executingfull size planning jobs can be reduced to a regular schedule, e.g. withmonthly periodicity.

7 Application Specific ConsiderationsThis section documents performance aspects in each application area of SPP. For structuringpurpose a two-fold consideration is chosen:

Main drivers for runtimeThe input data driving the runtime is given. This is to describe what the process runtime dependson for a given setup. While there may be many influencing factors, focus is on the main driver(s).

Performance critical settingsSettings with impact on performance are given. Such settings can be located on the generalcustomizing level, it can be service specific settings and also product specific planning settings.This information describes which runtime impact a change in the setup can lead to.

This information can be used to determine candidates for a change in theSPP setup. Some parameters may be given by outside conditions whileothers may be subject to adjustment.

In many cases the number of location products or stocked locationproducts (stock keeping units) is impacting runtime. SAP recommends touse triggers to limit the amount of processed data in a batch run. This isalso known as delta or net change approach.

Beyond the information listed below, runtime can be impacted by other factors in data volume orconfiguration. However, the main impact is expected to come from the listed factors.

Customer enhancements may also have runtime impact. The actual level of impact needs to beanalyzed during custom development and in the implementation project, a general estimationcannot be given upfront in this document.

Page 13: SPP Runtime Performance Guide

Running High Volume Business with SAP Service Parts Planning

November 2009 13

7.1 Demand RealignmentDemand realignment is used to restructure the demand data after a structural change happened inthe supply chain. Such changes can be stocking decisions, BoD changes or switching to a differentforecast model.

Main drivers for runtime

Runtime is mainly driven by the number of sales order items to realign.

Performance critical settings

The business related settings for Demand History are not expected to have significant impact onruntime.

In case BAdI /SAPAPO/PDEM_ATP_CHECK_IF is implemented, a ‘slow’implementation will have significant negative impact on runtime.

Along with the new business logic a buffering should be implemented inBAdI /SAPAPO/PDEM_ATP_CHECK_IF. The BAdI will be called once foreach sales item to be realigned.

When system monitoring identifies RDA Daemons as a runtime bottle neckon large data volumes you can use a Standard DTP Process Chaininstead. For this you can use the setting ‘Maximum No. of Records inRDA’, please see SAP note 1327379 for a description.

Introducing BW aggregates and condensing 9ARAWDAT and 9ADEMANDcan improve runtime.

The Realignment PSM services continuously write delta records to9ARAWCRT and 9ADEMCRT. Their data volume will increase by time.These InfoProviders can be condensed to the main 9ARAWDAT and9ADEMAND InfoProviders and data volume reduced. Please see SAPnote 1322340 and 919840 for a description.

7.2 Forecasting – Auto Model Selection (AMS)Auto Model Selection determines the best fit forecast model and parameters for a givenproduct/location.

Main drivers for runtimeRuntime is mainly driven by the number of stocked location products (planning relevant).

Performance critical settings

- A large number of evaluated forecast models in AMS profile has negative runtime impact

- Number of historical periods (suggestion: 24 months)

7.3 Forecasting – Historical ForecastRecalculation of Historical Forecast rebuilds the forecast data after a structural change happenedin the supply chain. Such changes can be stocking decisions, BoD changes or switching to adifferent forecast model.

Main drivers for runtime

Runtime is mainly driven by the number of stocked location products (planning relevant).

Page 14: SPP Runtime Performance Guide

Running High Volume Business with SAP Service Parts Planning

14 November 2009

Performance critical settings

- A large number of historical periods has negative runtime impact

- A large number of forecast model changes has negative runtime impact. Each model changecauses recalculation of historical forecasts.

- The use of tracking leads to a significantly higher runtime.

Tracking can be switched on/off. Via tracking the system automaticallystores changes to forecast time series data, similar to a change history. Incase tracking is switched on, the system can access forecast data as itwas calculated at a certain point of time in the past. With tracking switchedon, the system stores additional data to introduce additional forecastaccuracy.

For an initial process setup SAP recommends to switch tracking off. Theimpact of tracking on actual forecast accuracy largely depends on thecharacteristics of demand patterns. The value added by activation oftracking should be evaluated based on actual demand data.

- Skipping periods via BAdI /SAPAPO/PFCS_HST_LOCPROD_PERID reduces runtime

In each recalculation of historical forecast, one forecast pass is executedfor each period in the past – in order to resemble the time series andtracking data like it was produced by regular forecast runs over time. ViaBAdI /SAPAPO/PFCS_HST_LOCPROD_PERID forecast passes can beskipped in this process.

The impact of skipping periods on forecast accuracy largely depends onthe characteristics of demand patterns. The value added byimplementation of this BAdI should be evaluated based on actual demanddata.

7.4 Forecasting – Composite ForecastComposite forecast is a combination of different forecast services like tracking, tripping, automaticmodel selection (see flow chart in the online documentation).

Main drivers for runtimeRuntime is mainly driven by the number of stocked location products (planning relevant).

Performance critical settings- Number of historical periods (suggestion: 24 months)

Set the parameters “Stability Periods for model XY” as high as possible foryour business to prevent the system from running into a new modelselection. The time-consuming automatic model selection within thiscomposite forecast is only called if the model meets the minimum monthrequirement (see forecast profile parameters: on tab “Model Selection”)

For tracking parameter “Tracking Signals in horizon” (tab “ModelEvaluation” in the forecast profile) define a high number. This will preventthe system from running into a new model selection too often

Page 15: SPP Runtime Performance Guide

Running High Volume Business with SAP Service Parts Planning

November 2009 15

7.5 EOQ / Safety StockEOQ / Safety Stock calculates values for safety stock and economic order quantity for eachlocation product.

Main drivers for runtime

Runtime is mainly driven by the number of stocked location products (planning relevant).

Performance critical settings

The settings in EOQ / Safety Stock are not expected to have significant impact on runtime.

A large number of ‘all-product’ lanes in the network has a negative runtimeimpact. Such ‘all-product’ lanes can be used to model transport lanes formany products with one lane. They are typically used to model the OEMinternal network, usage to model transport lanes from/to suppliers will leadto an unnecessarily increased number of ‘all-product’ lanes.

7.6 Stocking/DestockingStocking/Destocking determines if a particular location product is stocked in the network based ona set of rules (stock keeping decision).

Main drivers for runtime

Runtime is mainly driven by the number of planned location products (for Destocking: number ofstocked locations).

Performance critical settings

- A large number of historical periods has negative runtime impact.

7.7 DRPDistributed Requirements Planning (DRP) does the supply planning based on supply chainstructure and forecasts.

Main drivers for runtimeRuntime is mainly driven by

- The number of stocked location products (planning relevant)

- The number of overall location products in the network (stocked or not stocked)

Performance critical settings

- A long planning horizon will increase runtime

- Applying stability rules will increase runtime

- Reorder-point based planning needs less runtime compared to period-based planning

- A small value for PoD/EOQ has negative runtime impact

Check if your planning horizon is as large as needed and as small aspossible.

Check if you actually need any options to be active in the DRP serviceprofile area ‘Runtime-Critical Settings’.

Page 16: SPP Runtime Performance Guide

Running High Volume Business with SAP Service Parts Planning

16 November 2009

A slow implementation of BAdI /SAPAPO/ROP_ADDITIONAL_QTYS canhave negative runtime impact.

-

7.8 DeploymentDeployment distributes incoming quantities according to EOQ/SS setup and demand situation.

Main drivers for runtime

Runtime is mainly driven by

- the number of stocked location products (planning relevant)

- the number of overall location products in the network (stocked or not stocked)

Performance critical settingsSee DRP (except stability rules), and

- A large value for ‘Maximum Planning Horizon’ has negative runtime impact

7.9 Supersession PlanningSupersession Planning calculates activities for product supersession according to the currentdemand and supply situation.

Main drivers for runtimeRuntime is mainly driven by

- the number of products

- the number of supersession chains which the selected products are involved in

- the time window between POD (pending obsolescence date, valid from date) and SEWD (stockexhaustion warning date):a supersession chain will be recalculated in case the POD is in the past and SEWD is in thefuture; the narrower this time window is on average the fewer times the chain will be processed

Performance critical settings

- A large value for stock exhaustion horizon has negative runtime impact

For connected supersessions the modeling of interchangeability masterdata has runtime impact. Modeling in one chain (A B C D) results inbetter runtime since only one step will be selected and calculated, whilemodeling in separate chains (A B, B C, C D) result in calculating eachchain separately.

For not related supersessions, avoid creating very large procedures ininterchangeability master data (PSP, LPSP, LDP). This can cause largeamounts of data to be processed at once. However, aim put related(connected) products into one chain.

Specify supersessions on the entry point level where possible to reducethe data volume. A supersession on the entry point level is valid for allchild locations in the BoD.

Page 17: SPP Runtime Performance Guide

Running High Volume Business with SAP Service Parts Planning

November 2009 17

7.10 Surplus Determination ServiceThe Surplus Determination Service calculates excess quantities in the network based on long termdemand patterns and actual stock levels.

Main drivers for runtime

Runtime is mainly driven by the number of location products.

Performance critical settings

- Limiting the number of processed products by “production start/end date” and “days’ supply” willhave positive runtime impact

- A large value for planning horizon has negative runtime impact

7.11 Obsolescence Check ServiceThe Obsolescence Check Service determines which products should not be actively plannedanymore and instead phased out.

Main drivers for runtime

Runtime is mainly driven by the number of location products

7.12 Inventory BalancingInventory Balancing is used to cover short term needs in the supply chain by cross-shipping fromneighbor locations.

Main drivers for runtimeRuntime is mainly driven by the number of stocked location products (planning relevant)

Performance critical settings

Inventory Balancing of Unserviceables makes significant usage of DRP, respective DRP settingswill influence the runtime.

7.13 Version Copy for SimulationThe version copy process is used to copy data from the active version into a new simulationversion. Simulations on various processes can then be performed in a ‘test’ environment.

Main drivers for runtime

Runtime is mainly driven by the overall data volume, e.g. number of location products, horizons inforecasting and capture demand.

Performance critical settings

Limit the version copy to the data you will actually be using in yoursimulations, e.g. if you only simulate forecasting then there is no need tocopy order data or stock data.

Exclude triggers from the version copy process if you do not intend tomake use of the copied triggers.

Page 18: SPP Runtime Performance Guide

Running High Volume Business with SAP Service Parts Planning

18 November 2009

8 Planning Service Manager (PSM)8.1 General Execution of PSMThe execution of a PSM job consists of two steps.

In the first step packages of objects (e.g. location products) are built based on the selection,triggers etc.. This first step cannot be executed parallelized and is therefore critical regardingperformance. In below graph, it is displayed as a three step process:

1. Resolve selection

2. Resolve trigger group

3. Build packagesIn the second step these packages are distributed across a defined number of CPUs. The actualservice (e.g. forecasting) is processing the objects package by package. In the graph below thissecond part is illustrated in the purple object “Parallel Processing”.

8.2 Parallel ProcessingThe above mentioned approach of parallel processing enables SPP to distribute work across manyCPUs. PSM then cuts the work (e.g. forecasting) into small packages and the work packages arethen distributed to many CPUs such that they can be processed in parallel. While parallelprocessing comes with PSM it requires configuration to work optimal.

The PSM process profile (transaction /SAPAPO/PE_CFG3) provides access to these settings.

Page 19: SPP Runtime Performance Guide

Running High Volume Business with SAP Service Parts Planning

November 2009 19

To start off with, parallel processing should be active for any large PSM run. The optimal setting forthe number of parallel processes used (“Max. Paral. Procs”) depends on the actual hardware used.The physically available number of cores can serve as a reference value, to start off with. However,it may be required to keep a certain number of cores ‘free’, available to other jobs. It may also be ofvalue to have more parallel processes running than CPU cores are physically available.

Determine the number of parallel processes which best suits yourenvironment in a test.

The value configured in “Max. Pack. Size” can significantly influence the performance behavior.Suitability of the actual value should be verified by a series of tests: to start off with a value of‘1000’ can be chosen and system runtime for a particular PSM job measured. The result can thenbe compared with runtimes on smaller and larger package sizes. A series of such measurementsleads towards an optimal value for a particular PSM job on a particular hardware environment.

Determine the best PSM package size for your environment by a set oftests with various package sizes. Optimal package sizes may be differentfor the various SPP jobs (e.g. Realignment, Forecasting, DRP).

ExampleThe graph below shows an example set of measurements. The results lead to setting the PSMpackage size for DRP to 750, for Forecasting to 1000 and for Realignment jobs to 1250.

010203040506070

500 750 1000 1250

PSM Package Size

PSM

Job

Runt

ime

Realignment

Forecasting

DRP

Page 20: SPP Runtime Performance Guide

Running High Volume Business with SAP Service Parts Planning

20 November 2009

8.3 Option “Read Trigger First”If the selection results in significantly more objects than resolution of the trigger group, it isrecommended to use the “Read Trigger First” option. In this case the trigger group will be resolvedindependent of the selection first and afterwards only the resulting triggers will be filtered by thedetermined selection. By using this option the system is processing less data – under the conditionthat there are few triggers set compared to the overall size of the selection, especially for a totalgeneric selection.

Use the “Read Triggers First” option for trigger based PSM jobs where youknow that only few triggers are set compared to the overall selection.

If you are using a fully unrestricted selection (“*” selection for product andlocation), then the system will automatically not resolve the selection.

Page 21: SPP Runtime Performance Guide

Running High Volume Business with SAP Service Parts Planning

November 2009 21

8.4 Option “PSM Selection Result”Instead of resolving same selections repeatedly it might be recommendable to use the “PSMselection result” feature which allows saving and updating the result of a selection in dedicateddatabase tables. The content of these database tables is used across multiple planning runs.

Use “PSM Selection Result” if you use the same selection in multipleplanning runs and / or process blocks.

Following options exist:

Page 22: SPP Runtime Performance Guide

Running High Volume Business with SAP Service Parts Planning

22 November 2009

8.5 Option “Buffer Selection Result”If the same selection is used in multiple process blocks within one planning profile, then you canuse the “Buffer Selection Result”. In this case the selection is buffered in memory during theexecution of a specific planning run.

Use “Buffer Selection Result” if you use the same selection in multipleprocess blocks within one planning profile and if you do not use fullyunrestricted selections along with the option “Read Trigger First”.

Page 23: SPP Runtime Performance Guide

Running High Volume Business with SAP Service Parts Planning

November 2009 23

9 Performance-Related AGS-ServicesSAP’s support organization AGS is offering services supporting performance testing, analysis andoptimization. Sample wise we want to refer to following services:

Business Process Performance Optimization (BPPO)

Volume Test Optimization (VTO)

You can find more details on SAP Service Marketplace (https://websmp110.sap-ag.de/enterprisesupport); go to “Maintenance & Services” SAP Service Catalog).

Page 24: SPP Runtime Performance Guide

Running High Volume Business with SAP Service Parts Planning

24 November 2009

Please contact your Support Advisory Center (for contact information see SAP note 560499), yourTQM (Technical Quality Manager) or Engagement Architect (EA) to find out how to get access tothese services.

10 SummaryVarious areas are of interest to optimize the performance of an SPP implementation. For any highvolume implementation the suggestions in this document help to create a high performing setup.The following main topics should always be discussed and optimized accordingly:

Sizing

Batch window design & constraints

Application specific settings

Technical tuning

Considering these aspects is an important step towards a successful, high volume SPPimplementation. Project planning should include these aspects and also accommodate for avolume test such that the overall implementation can be verified versus expectations, before goinglive.

Page 25: SPP Runtime Performance Guide

Running High Volume Business with SAP Service Parts Planning

November 2009 25

11 Appendix [Status: 05. Nov. 2009]

Trigger Name Name Services Affected Type ofSelection

Origin of Trigger

SPP_BOD_DELETE BOD assignmentis deleted

SPP: deletedemand historyfuture BOD

Product Change to BODmaster data under

Assignment ofProducts to BOD

Display BODAssigned to Product

SPP_CLD_CHG SPP: Changecalendar periods

Historical datamaintenance

Location Change calendarmaster data

Locationproduct

SPP_DESTOCKING Location productdestockingdecision

Inventory balancing Locationproduct

Change toreplenishmentindicator either inlocation productmaster data on theSPP InventoryPlanning tab pageunderReplenishment or inthestocking/destockingservice

Forecast approval

SPP_ENTRY_POINT_VOID Schedulingagreementdelivery schedulelines, purchaserequisitions, orpurchase ordersare rejected onthe ExternalProcurementDeliveryScheduleMaintenancescreen.

DRP Locationproduct

DRP approval

SPP_EXPEDITE_FIRMHOR Additionaldemand withinthe limited freezehorizon

Inventory balancing Locationproduct

DRP stability rules

SPP_FACILITY_REDUCED Reduction ofstorage space atlocation

Inventory balancing Locationproduct

Manual setting oftrigger

SPP_FCST_CHANGE Successfulchange offorecast

EOQ/SFT Locationproduct

Forecast

Page 26: SPP Runtime Performance Guide

Running High Volume Business with SAP Service Parts Planning

26 November 2009

SPP_FCST_CHG_PLNMODE Fcst chnge forloc. prod. forwhich plng modeis aut. defined

Determination ofDRP planningmode

Locationproduct

Forecast approval

SPP_FCSTMDL_CHG_TPOP Forecast modelchange forlocation productthat you delivervia TPOP

Recalculation offorecast in the past

Locationproduct

Change of forecastmodel

SPP_FCSTMODEL_CHANGE Forecast modelchange

Recalculation offorecast in the past

Locationproduct

Change of forecastmodel

SPP_FR_CHANGED Changes to fixeddemands andfixed receipts

Deployment Locationproduct

User interface FixedDemands and FixedReceiptsDRP

SPP_INC_CHANGED Changes tomaster data forproductinterchangeability

Supersession Locationproduct

Master data change

SPP_INV_BALANCING Inventorybalancing

DRP Locationproduct

Inventory balancing

SPP_INV_PL_CHANGES Changed resultsof inventoryplanning

DRP Locationproduct

Stock planning

DRP: Profileassignment foranticipated demandcoverage

SPP_INV_PL_MD_CHANGE Change ofinventoryplanning relevantmaster data

EOQ/SFT Locationproduct

Creation of newlocation product

Change to locationproduct master dataon SPP InventoryPlanning tab pageunder EOQ

Change to productgroup assignmentat product level

For moreinformation, seeSAP Note 1038577.

SPP_LEADTIME_CHANGED Master datachange:procurement leadtime

DRP Locationproduct

New means oftransport created

EOQ/SFT Means of transportdeleted

Change to durationof transportation

Change to total leadtime (push and pull)for DRP

Page 27: SPP Runtime Performance Guide

Running High Volume Business with SAP Service Parts Planning

November 2009 27

For moreinformation, seeSAP Note 1038577.

SPP_MANUAL_TRIGGER Manual trigger DRP Locationproduct

Manual change

EOQ/SFT

Destocking decision

Stocking decision

SPP_NEW_BOD_ASSIGN New BODassignment

Historical datamaintenance

Locationproduct

Change to BODmaster data underAssignment ofProducts to BOD

SPP_NEW_PRODUCT New Productindicator set

Phase-in planning Product Creation of newproduct master data

SPP_NEW_REGION_ASSIG Changedassignment of aproduct to aregion

Stocking decision Locationproduct

Change to regionpattern master dataunder Assignmentof Products toRegion Pattern

Destocking decision

SPP_NON_ST_DEMAND Demand at non-stocked location

Stocking decision Locationproduct

Historical datacapture

SPP_NON_TPOP Change to noTPOP

Historical datamaintenance

Locationproduct

Master data

SPP_OVERDELIVERY Overdelivery DRP Locationproduct

Core Interface (CIF)

SPP_PHASE_IN_CALC Calculate phase-in forecast

Forecast approval Locationproduct

Phase-in forecast

SPP_PICK_DENIAL Pick denial Deployment Locationproduct

WarehouseManagement

SPP_PULL_DEPLOYMENT Pull deploymenttrigger

Deployment Locationproduct

DRP

Deployment

Approval of stocktransport order

Inventory balancing

CIF

SPP_PULL_DEPL_NOSUCC Incompletedemandfulfillment for pull-deployment

DRP Locationproduct

Deployment

Inventory balancing

SPP_REPAIR_COMPONENT Dependentdemand

DRP Locationproduct

CIF

DRP

Page 28: SPP Runtime Performance Guide

Running High Volume Business with SAP Service Parts Planning

28 November 2009

SPP_REPL_INDI_CHANGE Replenishmentindicatorchanged

Deployment Locationproduct

Change toreplenishmentindicator either inlocation productmaster data on theSPP InventoryPlanning tab pageunderReplenishment or inthestocking/destockingservice

Historical datamaintenance

SPP_RLG_DONE Data realignmentof demandhistory executed

Forecast service Locationproduct

Adjustment ofdemand history,

data realignment forpromotion, datarealignment forlocationdeterminationschema,

data realignment forstocking/destocking,

data realignment forsupersession,

data realignment atTPOP

SPP_RLG_DONE_BOD Data realignmentof demandhistory performed(BOD)

Stocking/destockingdecision service

Product Data realignmentfor BOD change

Forecast service Locationproduct

Phase-in planning

Recalculation offorecast in the past

SPP_SCHEDULE_CHANGED Schedulingagreement linesnot created byDRP

DRP Locationproduct

Externalprocurement –delivery schedulemaintenance

SPP_SEASONAL_PROD Anticipateddemandcoverage forseasonal product

DRP: anticipateddemand coverage

Locationproduct

Forecast approval

SPP_STK_EXC_RULE_CHG SPP: locationexclusion ruleschanges

Stocking/destockingdecision

Locationproduct

Changes onLocation ExclusionRules screen

Location

SPP_STOCK_ADJUSTMENT Stock change Deployment Locationproduct

CIF

DRP

Page 29: SPP Runtime Performance Guide

Running High Volume Business with SAP Service Parts Planning

November 2009 29

SPP_SUPERSESSION Supersession Inventory balancing Locationproduct

Supersession

SPP_SUPPLIER_CHANGED Master datachange: supplier

DRP Locationproduct

New, changed, ordeletedtransportation lanes

EOQ/SFT New, changed, ordeleted externalprocurementrelationships

Change to quotaarrangement

For moreinformation, seeSAP Note 1038577.

SPP_TPOP Change to TPOP Historical datamaintenance

Locationproduct

Master data

SPP_UNSRV_INSUFF Not enoughunserviceablestock

PSM service forinventory balancingwith unserviceablestock

Locationproduct

DRP

SPP_UNSRV_STO_CRTD STO withunserviceablestock created

DRP Locationproduct

PSM service forinventory balancingwith unserviceablestock

SPP_UNSRV_STO_NO_CAP STO creationwith unserv.stock failed (cap.constraints)

PSM service forinventory balancingwith unserviceablestock

Locationproduct

PSM service forinventory balancingwith unserviceablestock

SPP_USEUPFLG_CHANGED Use-up strategywas changed

Surplusdeterminationservice

Locationproduct

Stock planning

SPP_WAREHOUSE_RESTR Location productlocked by storage

Deployment Locationproduct

ExtendedWarehouseManagement(EWM)