Global Scheduling

I’ve posted before on this same topic but looking for some more info as I am still not fully understanding how to correctly use Global Scheduling and I am having a hard time finding anything helpful within the user guide or online -

I’m currently exploring Global Scheduling in Epicor and would love to hear how others are using it in practice.

A few specific questions I’m hoping to get clarity on:

  1. How are you using Global Scheduling in your environment?
    Are you using it regularly, or only in certain planning scenarios?

  2. Is it possible to control which jobs are included in the reschedule?
    I noticed the Adjust Global Scheduling Order screen appears to allow you to select jobs, but I can’t seem to use Paste Insert or Paste Update to modify the list. Am I wrong in assuming this is where you define which jobs get rescheduled? Do you have to reschedule everything that is not ‘locked’?

  3. Does MRP need to be run prior to using Global Scheduling?
    I want to be sure I’m not missing a prerequisite process that enables scheduling logic to execute properly.

  4. Does Global Scheduling apply to both Make-to-Job and Make-to-Stock jobs?
    Or is it designed to only work with Make-to-Job scenarios?

Any guidance or examples of how you’re using this feature would be greatly appreciated. I want to be sure I understand the intended workflow before investing more time in testing.

Thanks in advance!

  1. We run it nightly. We don’t really time things down to the hour. For us, it’s more about rough order of sequence (run job X before Y & Z because X is an input for Y & Z) and rough timing (this job needs to be done by day X or week Y). So the schedule is used to generate a “do these jobs by end of week” list for supervisors, who then adjust final order of jobs based on various setup efficiencies that are extremely hard to capture systematically.

  2. Global means everything. It’s not going to move locked jobs (we don’t lock jobs), everything else gets reflowed. We lean on priority codes (some assigned via BPM) to prioritize what moves to the top or bottom.

  3. Yes, you need both. MRP exists to generate jobs to fill demand. Yeah, it will roughly schedule stuff, but that’s an aside. It’s also what tells you to move due dates around because of shortages. Global Scheduling is about juggling the jobs you already have based on already assigned priority and require date.

MRP is smart about supply and demand and dumb about juggling resources. GS is dumb about supply and demand and smart about scheduling resources.

Our nightly MRP process is as follows:
Maintenance Plan Processing
MRP (full regen)
Calculate Global Scheduling Order (you can’t skip this).
Global Scheduling

  1. GS doesn’t care about demand links. Not directly at least. It’s looking at the ReqDate on JobHead and working backwards from that until it hits a capacity bottleneck. Then it does several rounds of forward scheduling based on the date and job priority until nothing is double booked.

Note that you need finite scheduling enabled on your resources for this to work as described. Otherwise, it’s going to do 1 round of backwards scheduling and call it a night.

While I agree with the statement, it is not true. Technically, you could manually create all of your jobs and still run Global Scheduling.

If you are not currently using MRP, you don’t have to.

While you are technically correct, I can’t imagine a shop that is large enough to need GS that also isn’t large enough to run MRP. Usually you’ll run into scaling issues with demand planning long before you run into the types of problems necessitating GS. The resource planning boards do a okay-but-not-great job of loading the scheduling groups, and if you’re disciplined enough it can take you decently far.

Are material shortages taken into account when you run GS? We have also been playing around with it, and it appears that only capacity constraints are used. To me it’s only half the equation.

Should be if you are running MRP before hand.

The Scheduling engine will not account for material shortages UNLESS you have “constrained material” selected on the Part record, or it is Make Direct or Purchase Direct. Other purchased items will just generate a “Change” PO suggestion telling your purchasing group to expedite.

@Ernie, I thought if you updated the PO with the Promise Date, that would drive the engine to schedule to that? So, MRP would update the start date on the operation to the Promise Date from the PO which would push the scheduling engine to factor that.

As I was typing that out, I realized that would only be for a purchase direct. The scheduling engine cannot pick up material dates any other way? Only if it is constrained or purchase direct?

As always, love your insights when I don’t fully think something through. :grinning_face:

I wasn’t sure myself, so I looked it up in the Scheduling Technical Reference Manual (from this link to EpicWeb, select Technical Reference then scroll down to 2024.2), the most recent edition). The Materials section on page 39 spells it out.