APO and I2 are Finite PLANNING tools. When MRP runs with APO or I2 (or Red
Pepper or Manugistics), it takes Capacity issues into consideration. MRP in SAP
R/3 Core does not, it assumes infinite capacity available. (MRP only looks at
material availablity.)
However, SAP R/3 DOES do finite SCHEDULING, which is where the system
'dispatches" operations on a production order until it fills up the capacity
available, then moves to the next time period and dispatches until that period
is filled up. In SAP speak, that is called capacity leveling.
I believe APO should only be used in very large companies (billions) because
of the amount of master data that must be maintained, and that data better be
ACURATE, or you've wasted a heck of a lot of time. By the way, APO stands for
Advanced Planner and Optimizer tool, obviously a German sort of name!
Differences between planning and scheduling, finite and infinite
R/3 does planning without consideration for capacity situations. So if MRP
says you need 500 parts on 3/1/04, it schedules them all to be built at the same
time, even though you can only do 100 at a time. Assume you have a fixed lot
size of 100, you'll get 5 planned orders for 100 to start on the same day. This
is "Infinite Planning". APO would recognize that constraint, and instead
schedule out the 5 orders over time. The important part of that is that it also
will schedule out the deliveries of the components for 5 different days. This is
"Finite Planning".
Now, assume old fashion MRP. It schedules all 5 orders for the same day, and
the buyers go out an get all of the components for the same day. Then the
planner realizes he can't do all 5, and manually changes the schedule, and
manually spreads out the 5 orders. The buyers will recieve rescheduling
notifications, but not until the scheduler does the manual rescheduling. You
could call this "Infinite Scheduling", but that only means the same thing as
Infinite Planning.
But, SAP has "Capacity Leveling". What that means is you run another program
after MRP (CM27 and CM28), which can be run in batch mode overnight. (There is a
ton of configuration and thinking that will be required to do this!). The
capacity leveling program will recognize the constrant at the work center level,
and fill up the first day, then re-schedule the next order to the next available
capacity, then the next order searches for available capacity, and so on. This
is called "Finite Scheduling". The problem with this is the opposite of Infinite
Planning, which is it doesn't take Material availablity into consideration! The
system will re-schedule a production order without thinking about whether the
materials will be available or not.
Finite Planning does Finite Sheduling at the same time. If there is no
capacity available on the desired date, the system looks for when capacity IS
available. Then it stops to see if Materials will also be available (usually
based on the lead-time for those components). If there is a material problem,
then the system figures out when the materials WILL be available, and then
checks to see if capacity is available on THAT day, and if so, it blocks off
capacity, and allocates the materials for that day.