Thursday, February 26, 2015

SAP Add-On Tool Info Days in NYC - April 22nd and 23rd

On April 22nd and 23rd of this year we will host the second SAP Add on Tool Info Days. Marc Hoppe from SAP, Thorsten Raab from Blue Harbors and myself will present Inventory Optimization strategies, effective Materials Planning and Production Scheduling methods; all enhanced, automated and made more effective with the integrated SAP Add On Tools

Also speaking will Cheryl Jones from the Tennant Company and Jim McCann from Greene Tweed, both SAP customers enjoying the Add On Tools.

It will be an interesting, fun filled two days in downtown Manhattan.

Register today




Thursday, December 11, 2014

Introducing Flow, Part II – Balancing a Repetitive Line


When you’re in the business of manufacturing parts that you sell through a catalog, chances are you’re a repetitive manufacturer. And if you produce the same product over and over on a mixed model line, SAP has great functionality for you to schedule and level your production plan – readily available in ECC 6.0. No need for extensive customizing or running a project with 5 consultants over the next 6 months; just yesterday I configured a demo into a client’s ‘sandbox system’ within 3 hours.
As we discussed in part I, to introduce flow into the production line means reducing WiP and with it cycle times. So flow is very desirable, especially if you’re in the repetitive business and to achieve it, you need to balance the operations of the line. Balancing the line means that you allow the same amount of time a product can spend on a work center for every operation. In that case there will be no buildup of WiP (no product has to wait until it can processed on the next work center) in front of any work center.

Let’s see how SAP-ERP can help you do that: First you need to set up your products for repetitive manufacturing and create at least one production version through which you assign the products to the Line Hierarchy. This represents your mixed model line. The production version relates to a routing that contains all operations and work stations the product undergoes while being produced (it ‘flows’ through the line).

The routing may be a Rate (Line) Routing that can be represented graphically…


…and has all the details necessary for lean production.


Once all products are assigned to the Line Hierarchy, you can create a Line Balance for a short term planning horizon of, let’s say, 4 weeks. In that Line Balance, you copy the demand for the next 4 weeks and calculate a takt time by which you need to run the model mix to fulfill exactly that demand. This works in the following way: The system looks at the total demand for all products in the model mix for the next 4 weeks and calculates a daily rate for the model mix, which is necessary to meet the total demand over 4 weeks. Imagine you have 3 products - A, B and C – and a demand of 200, 400 and 100 pieces over the next week for these products. If there are 20 working days in your next 4 weeks, you need to produce 10 As, 20 Bs and 5 Cs every day to fulfill the demand over the next 4 weeks (according to EPEI heijunka leveling). Therefore you need to produce 35 pieces on the line every day. If you have 7 hours available every day, you need to produce 5 pieces per hour or introduce a piece into the line every 12 minutes… this is called the takt time. That, in turn, means that every work center has 12 minutes of work content before it needs to move the product to the next work center.



In above example we have a maximum rate of 35 pieces per 7 hours and a model mix that adheres to the maximum rate. Now we have to make sure that all operations in any work center do not exceed the maximum allowable time in any work center – the takt time. That, in essence, is Line Balancing and may be carried out graphically in standard SAP.


In the Line Balance we can see that product 188 causes a takt violation with operation 0080 on work center 65030TRY (note that work station 65030TRY has more work content available. This is because we have more capacities available – either more labor or more machine capacity). You could now do either one of two things: either you increase the amount of machines used on work center 65030TRY or you could move the operation to another work center, in the flow, that has more work content available. Either way the takt violation is cured.
In any case, you have now calculated a takt time – the speed by which the line must be run to meet demand – and you can now use takt-based scheduling to determine the sequence plan as follows.



From here we can now perform a collective availability check, print the daily schedule or fill a heijunka board on the shop floor. The schedule may also be connected with a Kanban control cycle but that is stuff for another blog post…

Saturday, November 22, 2014

Discrete Manufacturing in SAP versus Repetitive

I am seeing a positive trend within the SAP eco system, of clients better understanding what their options are when it comes to repetitive manufacturing. As we all know, SAP's Repetitive was developed much later than the original PP - the discrete system for job shops. REM was developed because the discrete model didn't fit very well for repetitive manufacturers. So now the big question is: are you a repetitive or a discrete manufacturer? And once you know that answer the decision to go to repetitive or not should be an easy one. After all, you're not using the HR module to manage your inventory, do you? In the same sense you should'nt run a repetitive manufacturing environment with discrete production orders.

So a repetitive manufacturer typically exhibits a number of telling characteristics:
- they offer a product catalog to their customers. As soon as you have a standard product in a catalog you will make that product more than once (you can still make it to stock or make it to order). You repeatedly have that product on your line and you should actually measure how many of the product you made this period, as compared to any other period (its more like a rate than a discrete quantity). This brings me to costing...
- repetitive manufacturers cost the products on a period basis. If you make widgets in lots of 1000 over a period of a year, would you want to cost out every single discrete production order or would you want to see how much production of that materials had cost you in May compared to June? I think the answer is easy and what I see happening a lot, is that companies started out on discrete (because they didn't know any better or were not told any better) and the costing people transfer all cost to spreadsheets and then normalize the cost to a parts / period basis
- repetitive manufacturers want their operations to flow. In a discrete environment, where a customer wants exactly one lot size of a thing that has two holes, a handle and is welded onto a stick, you create a discrete production order with a routing describing the exact steps to make that thing. If the plate has to be fabricated first, you might want to create a second discrete production order to fabricate the plate and then you can see how much inventory of those fabricated plates you have and how much each plate has cost you to make. If you make standard products that always look alike you want to run a thousand per day and you are not concerned about how much inventory of the fourth level intermediate you have or how much that one piece had cost you... you want to know how much WiP (work in process) is in the system and how long it takes to get a product made (if your lines flow your wip is low and cycle times are short and then your cost is low too). Flow is what makes a repetitive manufacturer tick and that is why SAP's REM provides a lot of functionality (mostly unknown) to lean and flow your production environment. To do the same with discrete is impossible.
- capacity planning! in discrete manufacturing, capacity planning is looking at a specific work center (usually the bottleneck) and compares capacity offer to capacity requirements and then levels all the orders on a bottleneck to stay within available capacity. usually a mid-point scheduling is carried out then and earlier and later operations of the order are scheduled on the respective work centers to avoid orders getting stuck. That is a novel idea and often perceived as impossible to do when a repetitive environment is managed with discrete orders in SAP  (Consultants are very quick to point out that repetitive can't do capacity planning and they then point to discrete where they feel more comfortable). Capacity planning in REM is absolutely efficient... you have much more options and you can 'flow' the lines with takt-based scheduling and integrated Kanban withdrawals. Refer to my other blog posts or read some of SAP's REM documentation for further detail. You just have to rethink your basic idea about capacity planning a little but REMs capacity planning is much more superior to discrete - at least when you operate in a repetitive environment.

I could go on for days... explore SAP REM... it's worth it and it was developed just for you because discrete doesn't work so well for you... at least if you are a repetitive manufacturer - and that you are if you don't happen to make plates with holes and handles (or you're running a jumbled job shop environment)

Sunday, November 9, 2014

SAP's safety stock does NOT buffer demand fluctuations during the planning process !

Does the headline in this blog confuse you? Sorry, that is nit my intention. I just want to point out a not-so-well-known fact.

When you set a safety stock level in the MRP2 screen of the material master it is subtracted from available inventory in the MD04 stock / requirements list. Therefore the MRP run ignores that part of the inventory. Imagine the following situation: There is a forecast of 50 pieces for next month and you have maintained a safety stock of 30 pieces. The system will plan to have an inventory of 80 pieces in stock at the beginning of next month. As we are approaching the next month and actual customer orders drop in, the forecast is replaced by actual orders. Should the actual order exceed the forecast - lets say that customers demand 60 pieces instead of 50 - the MRP run will generate a new replenishment proposal for an extra 10 (instead of using the safety stock) and you end up with 90 pieces in inventory, even though you only need 60.

This type of behavior creates dead stock and misses the purpose of using a safety stock as a buffering strategy. The situation worsens if you have a rounding value or a fixed lot size.

So what can you do? Use a range of coverage profile that drives a dynamic safety stock if the situation allows for it. In a range of coverage profile you have a target safety coverage and a minimum safety coverage (in days of coverage). The MRP run can 'see' the safety levels and ONLY generates a replenishment order when the minimum safety coverage is broken. Therefore you have to make sure that the minimum safety coverage is set to 1 day and the target is higher. In that case the MRP planning run uses all the days in the target coverage as a buffer to counter demand variability.

By the way... the range of coverage also has a maximum safety coverage to keep the inventory from blowing up, should the forecast be too high.

Monday, August 4, 2014

setting safety stock levels in line with the supply chain strategy

one of the critical success factors in supply chain management is the correct translation of a supply chain strategy into materials planning policies. Take as an example a directive to provide a certain service level to the customers. Management might say "we want to achieve a 98% fill rate on our most valuable products" (usually A items).

What usually happens then, is that every materials planner figures out how much inventory they need to hold and what replenishment policy to use to achieve that. If you want to standardize this kind of directive and develop a system to have everybody use the same calculation, I suggest you use the field 'service level' in MRP2 and calculate the safety stock setting for each material using the variables lead time, mean absolute deviation and a safety factor. 

You can do this on the forecasting screen of the material master. Depending on how you configured your MRP type, the forecast run can calculate  safety stock level for you. However, you have to kind of doing this for every material and you can only simulate exactly one service level.

A better solution is the SAP Add-On Tool 'Safety Stock and Reorder Point Simulator'. With it you;re also getting a new KPI: safety stock value! You can also simulate many service levels and compare the results in terms of quantity and value. On top of everything else, the safety stock calculation gives you two more - very important - parameters: the variation in replenishment lead time and a variation in demand.

Let's say management desires a service level to the customer of 95%. In that case you would pull all those materials into the simulator, set 95% nd your variation in lead time demand and click the 'calculate button. The simulator then calculates all safety stock individually for each materials and totals the value. This way you can determine what a 95% service levels means compared to your current master data settings or to other service levels. In our example, all materials currently have a service level of 96% which, with the manual calculation the materials planner was using, produced a value of $7,342 in safety stocks. However, the safty stock simulator produces a value that's higher with a lesser service level... and that calculation is using the same variables for each material across the board and therefore probably much more accurate than what the planner ever can come up with - possibly applying different methods and being totally overwhelmed doing this for hundreds, if not thousands of materials.

In the end, you push the save button and safety stock and service level are being updated into the MRP2 screen for each and every material in the list.

Management changes their mind tomorrow? no problem!

Saturday, August 2, 2014

how to use detailed scheduling in SAP-REM for the automated generation of a weekly production program

One of my favorite clients runs a mix of production orders and repetitive manufacturing. As I visited their distribution center last week, I saw that they have a fairly simple assembly and kitting operation going on in the warehouse before the ship bundled spare part kits to the customer or the manufacturing plants.

My suggestion was to use repetitive manufacturing for the scheduling of the assemblies (and kitting) to make it easy and automated. With only little customizing necessary, we put the whole thing together within 3 days. Actually, the only customizing effort that was required was for the layout key and a setup matrix (using setup group category and setup group key), so that we can dispatch a sequence that is build automatically according to 'like' setups.

The first thing we did was switching from reorder planning to the deterministic PD. the previous V1 had the effect that inventory holdings (how much to put into the reorder level) had to be calculated based on the two demand sources:
- Stock transport order requests from Manufacturing Plants
- After Market requests from Customers
With a changing demand situation it was very difficult to find the right reorder point and assembly was only triggered when a reorder point was broken. Since then a forward scheduling is executed, the inventory left, after the reorder point was broken, had to be enough to fulfill the demand. This is a very difficult planning situation and requires a lot of inventory.

That is why we decided to plan these products with PD, where future demands (from STOs or customer orders) result in the generation of supply orders in exactly the quantity and exactly the date, they are demanded. Using safety stock to buffer any variation in lead time and demand, we can now schedule production to exactly meet demand. With a fixed lot size FX that corresponds in quantity to the smallest possible run, the MRP run generates supply proposals into the order pool that are a multiple of the minimum run quantity. In scheduling we can then flexibly sequence run quantities in feasible lot sizes

after the MRP run you can then see all the various demand elements in MD04 and the supply that covers them.
Now we can move onto scheduling and in MF50 we can see - tabular or graphically how MRP, which works without any consideration of capacity, sequence or material component availability, fills the pool of orders.
using the previously customized layout key for sequencing according to 'like' setups, we can now simply select three weeks worth of orders and click the 'dispatch button. The system uses the sequencing profile and first sorts all the orders and builds a sequence, then it distributes the orders within the limits of available capacity defined in the individual work orders.

Note that there are three work centers that can be scheduled. If you define alternative routings and production versions, you can use the dispatching strategy in a way that, in case of missing capacity, the dispatching can resort to another work center and therefore perfectly distribute the orders.

since we are working with repetitive manufacturing, there is no need for a planned order conversion to production orders. The orders you see here are executable. Now you may perform a collective availability check using MDVP on the schedule and expedite missing parts for next week.

All that's left is MF51 where you can prnt the schedule and hand it to the operator who will be happy to receive instructions on a feasible plan that's checked for capacity and materials availability.

Saturday, July 12, 2014

It's more than just football (and yes, it's called football)

As I am looking forward to the World Cup final tomorrow, the world around me has no other thought (at least the world where I am right now). I am currently in Germany, in the Black Forest, where I was born. The excitement about the match against Argentina is without bounds and the unbelievable game against Brazil will not be forgotten in a long time - if ever. However, in my chosen home - New York City - and the United States of America, there are probably many more things that are of interest tomorrow. There was a burst of excitement going on and many people were talking about the 'rise of American soccer', but, as always when the team gets eliminated from the World Cup, the attention quickly shifts to other (American) sports or worldly events.


In my personal opinion, US football will never dominate the world - and that is the problem. Americans need to be the best and if they're not, they will consider it uninteresting, not important, less challenging. Focus is lost and if you don't focus, you can't become the world's best. In football nations like Brazil, Argentina, Italy, the Netherlands, Uruguay, Spain, Germany there are very elaborate programs to support and focus on the youths. In the US, if there is a good young athlete, they focus on the usual suspects... american football, basketball, baseball, hockey. And that's also where the money is. Besides, the US does not have the football IQ necessary to rise towards becoming a football nation. Attempts like bringing in Klinsmann or some old players from European clubs into MLS are not enough. You would need a structure underneath. In Germany, the DFB develops support programs, provides detailed seminars for youths coaches, has talent events and raises tomorrow's superstars through a program that starts at age 8 and stands by their sides until they finish school.

But that is quite alright. The US does not need this kind of football. They have their own.Tomorrow, however, it's our (the rest of the world) day and (besides some dutch coach) the entire football world will watch the culmination of a world event that takes place only every four years and never produces surprises (another reason this will never become a US major event). It's always the same old suspects n the semi finals. Brazil, the Netherlands, Argentina, Italy, Germany, Spain, maybe Uruguay, also England or Hungary a long time ago.

Was the game Brazil - Germany a surprise? Definitely when considering the score. But if you look underneath you can clearly see that Brazil did not have a plan and Germany did. Emotions alone is what was driving Brazil and Germany executed on a step by step program. Just review the first goal: It was a set piece situation... a perfectly executed corner kick. Thomas Mueller, shadowed by David Luiz, was moving towards the back goalpost. When David Luiz was trying to follow, Miroslav Klose stood in the way and Mueller was open to score the 1:0.

What happened after that is history and we don't know all the tactics, little tricks and moves the players were executing so perfectly, but this time it worked and the Brazilians were taken by complete surprise and had nothing in the cards to avoid the unthinkable - emotions had taken over their preparation and that is why football is more than just football. It's not just the goals that are interesting in a football game. Even more it's all the little things that happen in between.

Football is culture, Italy will always beat Germany when it counts. The Spanish will either play like gods or disappoint like hell - nothing in between. Brazilians can not be successful without the child-like, beautiful, awe-inspiring samba football that they tried to replace with sober, tough and aggressive play that was adopted over the past few years. They will have to reinvent themselves and go back to what they are. The English? Well, that's another story... and the Netherlands will have to find a solution too. They played three Finals, always have an excellent team and never go all the way. Why? I do not have a clue and that's the beauty about this sport: it;s complicated and impossible to understand. Non-followers always try to figure it out during the World Cup for them it's easy: Whoever wins was the better team and if a game has a low score it wasn't good.

There is so much more to this sport and there must be a reason for it to be the most followed in the world. I tried to figure it out since I was watching my first world cup at the age of 9, playing the sport myself and still following it until I die. But I will never fully understand what exactly is going on when Germany dismantles Brazil within a few minutes. And that is beautiful, exciting and interesting to me (no, I don't mean the dismantling - I love Brazil).

Tomorrow is huge. My team is in the Final ! and they might be the favorite because of that semi final. But this is football and we don't know what those smart people that make this sport so exciting, memorable and beautiful have in the cards for us.

May somebody win. Go Football !!

Friday, June 20, 2014

introducing flow into production

Did you know that SAP-ERP offers excellent functions and tools to implement flow? These functions are well hidden (I really don't know why) and not documented too elaborately. So let me take a shot here to introduce you to that kind of functionality and maybe you find it useful for the scheduling of your production line. It's probably taking me a couple of blog posts before I get the entire process together, so here is part 1:

Flow is usually desired on production lines which manufacture products in a sequential fashion. There may be feeder lines for components and these, more often than not, make products available for final assembly or, as in process manufacturing, the packaging lines. So, very often you have a value stream that look something like this...

In this example, two feeder lines flow into the main line and the finished product is held in a Kanban super market. As you can see, the processing times at the various work stations are all different, and therefore WiP will build up in front of some stations and other stations will starve... if the line is fed jobs without WiP control. 

And here I'd like to point out a few things:

First: A push system is defined by the fact that the Throughput is controlled (scheduled) and WiP is measured. On the other hand, in a pull system WiP is controlled and Throughput is measured. This is a fundamental statement (from the people at Factory Physics) to describe the difference between push and pull.

Second: A Kanban control cycle does not guarantee pull. The disadvantage of a Kanban system is that when the container is empty, Kanban simply says "make me", and does not tell us when or in what sequence to make the product. So you'll end up with a bunch of jobs at the beginning of the line and no one knows in what sequence and at what time to introduce the jobs into the line.

So back to push or pull... if you do what many companies do, you collect the Kanban cards at the beginning of the line and tell the people who introduce the jobs into the line to start that job first that is furthest behind (often Kanban cards are stacked into a board where each product has its own column. If a products Kanban cards pile up to push these above a red line, then that is taken as a signal for highest priority). As a result, the jobs are introduced according to what's needed at the supermarket and not according to what's flowing the line.

Look what happens in the line when you keep starting jobs...
... WiP builds up in front of the station with the longer processing time. The WiP corresponds to the difference in processing time and it increases with every new job introduced...

...and grows without bounds!

Meanwhile other stations are starving because their processing times are shorter and the previous station can't feed them fast enough. As a result, if you look on the shop floor, there is WiP everywhere, therefore it takes long until the finished product shows up at the supermarket (Mark Spearman from Factory Physics calls WiP 'visible cycle time'), and t looks like you never get what you need.

So what can you do to flow the line? You need to control the WiP and make sure that you only introduce another job into the line if there is room in the line to let it flow! The way I recommend doing this in SAp is the following:

1. Figure out a future forecast for the Kanban supermarket. Based on the forecast you can calculate the Kanban quantities for each product. You are also using that forecast to create a sequence for your product mix, but before you do so...
2. Balance the line (SAP transaction LDD1) and create a product mix with rates that exactly meet the forecasted demand. In LDD1 you can use the forecast to calculate a needed product mix and bottleneck rate that stays below the maximum rate the production line can take.
3. Based on this production rate we can now figure the takt time (the inverse of the production rate) by which we need to introduce the jobs into the line - this is the time we need to wait before we let another job into the line. If we do that, the jobs can flow through the line without getting stuck, because we gave each station a work content that allows for the line to flow (if nothing unforeseen happens in the line)
4. Now we put together the planned sequence of the jobs (with SAP transactions MF50 or LAS2). This can be done using setup optimization, heijunka or a FIFO lane.

What's important here is that we use this planned sequence ONLY to procure raw materials for the schedule and to reserve capacity on the line (yes, this is capacity planning... ). We are not executing - or introducing jobs into the line - by the plan, but rather wait for the Kanban signal. Therefore...

5. Use a replenishment strategy in the control cycle that does NOT create an order, but rather looks for an order on the Sequence and attaches itself to it.

Now we have a system that is controlling WiP - because we only introduce a job into the line when one comes out - adheres to a planned sequence that guarantees material availability and enough capacity, and  is demand driven to avoid the waste of overproduction.

Sounds too simple to be true? I try to get into more detail in follow up blogs... but it works! with standard SAP!



Tuesday, June 10, 2014

moving my Harley Davidson from Las Vegas to Denver!

Last fall I had my bike serviced in Las Vegas and got so busy, that I wasn't able to move her around. Last Friday the opportunity arose from a gig in Portland, OR and I was able to free up 5 gorgeous days to move her to Denver.

Here are some impressions from the trip from Las Vegas to Denver. Sophie will stay in Denver for the summer, so I can come back and enjoy some trekking before heading her south for the winter...












Friday, May 16, 2014

Have we SAP consultants forgotten why we do what we do?

The people who read this maybe aren't the SAP using customer and therefore you might strongly disagree with me. But before you jump my throat, ask yourself: “Is what I do really helping the customer in their efforts to use SAP software for their core business?” (and don't get me wrong, there is plenty of very valuable work done to support the customer outside of their core business - but I am talking about why customer buy SAP software in the first place: to support their core business!)

To answer that question we should first identify what the core business is. The customer that I am talking about here, is a company that transforms raw materials into a finished product (or service) that they sell. So their core business is ‘transformation’ and they need to do that in the most effective way using stocks, resources and time.

According to that definition you might now say “we are selling extraordinary technology to do just that!” Great. You also installed that technology at the customer site and they have now mobile devices that foster a full inventory report, run MRP on HANA, can use scheduling heuristics and see graphics that show forecasts and sales activity.

But does the user know how to set a planning policy that drives great service levels and low inventories for that transformation? Does their SAP functionality support lean manufacturing? Yes it does, but no one knows how to use it.
I put out a statement here: “100% of all SAP using companies use the software’s capabilities to less than 80% and 98% of all SAP using companies use the software’s capabilities to less than 40%!”

Wow! If that is true, shouldn't we all shift our focus a bit?

And it is true in what I see when I visit customers: I NEVER come across a company that uses the availability checking rules correctly. I NEVER see a company that does automated policy setting. I have NEVER seen SAP production scheduling supporting ‘flow’… to just name a few.

I’d greatly appreciate any comments to get this conversation going