We are Scheduling Now!

Good morning,
I just wanted to take a moment to thank everyone here for being so supportive and helpful. More than a year ago I started poking and prodding you all about how scheduling works in Epicor. While I won’t pretend I understand it completely, I am much better off than I was a year ago. Now, we have tools to make our schedule work.

The Advanced Planning and Scheduling (APS) module really helped us get our resources worked out. We utilize the “capability” feature to allow us to prioritize machine usage, and better understand what types of resources can be used for particular operations. Also, adding more than two resources to an op has been very helpful.

The Data Management Tool (DMT) has been utterly invaluable during this process. I admit, I pushed back on this tool in the past based on cost. I had even built several dashboards to get around not having the tool. Now that we have DMT, the process for reviewing and updating part masters is much simpler. We had to update thousands of part/rev/ops masters (nearly 100k!), along with a few thousand open jobs. Doing this manually would be infeasible. But with DMT, I was able to set it up to run over the weekend with great results. With this tool on my side, I am confident I can quickly update any issues we discover in the future. I couldn’t say that before.

Now our live database is up to date. For better or worse. Our jobs have been updated with the new finite resources, and part masters have all new operations that utilize finite resources. With that all out of the way, all my promises to management are coming due.

We have some Epicor support training regarding scheduling later this week. In the meantime, I am running all the reports/tools I can and trying to understand what I am seeing. These are the reports I am going with, and what I understand them to be:

  1. Global Scheduling Order. The tools in Epicor don’t work to get this entire list out, so I made a BAQ that exports our global scheduling order for every open and released job. This is what I will show to my managers. They will need to review the list and reassign priorities as needed.

  2. Job Scheduling Board. We will pull up this tool to rearrange jobs using drag-and-drop. We can also see how long a job is scheduled for in this view.

  3. Shop Load Report: We will review this report to understand how many hours of load are being applied to specific resource groups each day (or week depending on settings).

  4. Schedule Impact Report: If we decide to move around any jobs, then we can run this report to see which jobs that will mess with in the schedule.

  5. Scheduled Shipments Report: This shows releases that are due to be shipped. I am not sure if this will be helpful, as we often review the Production Details Report, that has a lot of this information on it already.

  6. Priority Dispatch Report: This is what we would show to floor managers to represent their expected workload for the day.

With all that laid out, I expect we will whittle it down to only one or two reports we really need. Our first task will be to review the order of scheduled jobs, and rearrange them to meet what we are currently doing. For decades the only scheduling has been done in the heads of the managers. So this is a huge change. I have to figure out how to make the schedule do what they expect. They all know what the shop floor is supposed to be doing, so I just have to make the schedule match it.

What do you think? Are these good reports to use? Any cautionary tales? Should I use different reports, or a different process? I am open to any and all suggestions or feedback.
Thanks again to everyone that makes this place so great!


Way to go @NateS!


Nate, I would love to chat with you about any resources you were using to get this right whether that is the tech ref guides, a consultant from time to time, or your process in general (what kind of team did you put together to get this tested and implemented).

Great work! Congrats!

1 Like

I would be happy to Utah. First, I started with this group. That led me to realizing I needed real help. I got APS, then got a tech to help me understand it a bit. Then we got DMT, and another tech to walk me through that.

Our team consisted of me, our lead engineer (the only other guy that knows Epicor), and a couple of managers.

I tested this over several weeks by updating Pilot, then running through the entire process end to end, record the errors, then flash pilot again and try again. Once I ran through pilot without errors a couple of times, I was confident to do it in live. There was quite a bit more to it, but that’s the rough outline. Send me a PM to chat about it sometime if you want. I will be more confident once I can see that this works to my managers expectations.

Here is a copy of the document I used while I was testing. I build it step by step, changing it as I found and corrected errors. This was immensely helpful for keeping me on track. I’ll post my export BAQs too in case they are helpful.

Scheduling Process

  1. Update Part Master Methods
    a. Create ECO group “IMPORT”.
    b. Create new Job Control Sheets for new job style.
    c. Create new RG, resources, and ops for OLD-Ops, OTH-OVOPs, and new SC (subcontractor) ops not in live.
    d. Send request to all users to check-in any parts that they have checked out.
    e. Export master materials BAQ (ExportAllPartMaster-Materials)
    f. Export master operations BAQ (ExportAllPartMaster-Operations)
    i. Comment Text is cleaned in this BAQ step.
    ii. Export Rev approved status, and RevShortDescription in this BAQ.
    g. Prepare files for delete and import.
    i. In Excel, use approved mapping to insert SC op codes.
    ii. In Excel, Insert: OP IDs (vlookup), OpDesc (vlookup), Subcontractor days out (vlookup), SetHoursPerMach = EstSetHours, FinalOp=ture for op 900 only, AuditLog Text
  2. Audit Text stores the change description and reasoning.
    iii. If setting op to SC = TRUE make sure to also set VendorNum = 824 (Default dummy vendor).
    iv. For OLD-Ops, insert “Was RG: xxx opdesc ” before Comment text.
    v. Verify there are no values dropped leading 0s, converted to dates or scientific notation.
  3. Correct any errors manually.
    vi. Verify there are no other outstanding issues in Excel.
  4. Search for #N/A, #Name, #Error, ignore…
    h. Verify all parts have been checked-in for all ECO users.
    i. Run DMT Bill of Materials - Delete materials (3+ hours) (12,078 records)
    j. Run DMT Bill of Operations - Delete operations – split into 10 files. (5 hours) (98,572 records)
    i. Review Eng WB for Parts not checked in.
    k. Run DMT Bill of Operations - Import operations - split into 10 files. (6 hours)
    i. Review Eng WB for Parts not checked in.
    l. Run DMT Bill of Materials - Import materials (4+ hour)
    i. Verify import worked for parts with old opcodes.
    m. DMT automatically approves revs when it checks them back in. Use the previous rev approved status to unapproved any revs that should not have been approved. (30 mins)
  5. Set old resources in groups 4A, 2B, and MCU to finite capacity, use RG values.
    a. This will prevent the old resources from being chosen for new jobs, but allows them to be charged with time for ops that can’t be updated.
  6. Install new Job Control Sheets
  7. DMT Update open jobs
    a. BAQ Export (ExportJobs-OpenEng) - Ops with no or partial labor, no material transactions, no PO transactions, no subcontract transactions, and no assembly references.
    i. Any open jobs where op 900 has some labor on it, will not be updated. These jobs will have to close out naturally.
    b. Prepare files for delete and import.
    i. In Excel, Use approved mapping to insert SC op codes.
    ii. In Excel, Vlookup new OPID, OpDesc, SC days out, estsethourspermch = est set hours, finalop.
    iii. Don’t worry about cleaning comment fields for jobs.
    c. Create CSV file for job head memos to document these automated changes.
    i. Epicor is working on a fix for DMT to import Memos. On hold until a solution is available.
    d. Run DMT Delete operations (20+ mins)
    e. Run DMT Import operations (1-2 hours)
  8. Run Generate Shop Capacity for 365 days, delete shop caps. (10+ mins)
  9. Run Calculate Global Scheduling order. (10+ mins)
    a. Assign job priority, lock jobs as needed.
  10. Run Global Scheduling. (30+ mins)
  11. Run Shop Load reports.
  12. After old-style jobs close out, the old resources are no longer needed. Inactivate the old resources in 4A, 2B, and MCU. This will prevent anyone from charging time against these resources.
  13. Update Resource Group queue and move times - annually or more often.
  14. Update Resource Group labor and burden rates - annually or more.
  15. Update job head memos in the future, once Epicor has fixed the DMT memo import feature.

Here are the BAQs I used to export my data for editing in Excel before importing with DMT.

ExportJobs-OpenEng.baq (64.5 KB) Updated 9-7-22

ExportALLPartMaster-Operations.baq (28.3 KB)
ExportALLPartMaster-Materials.baq (22.8 KB)

EDIT: I forgot to add JobOper.QtyPer to the jobs export. So that field defaulted to 1 for all the job/ops I changed. Once we discovered the error, it was easy to export the correct data from Pilot, and rerun DMT with just that updated field. I will update the file here soon. I’ll try to keep these updated as I find any other things I missed!


@NateS Way to go!! Congrats! And thank you for all the explanation/documentation to go along with it.


Thank you for detailing this!!!

1 Like

You might want to build yourself a Global Scheduling Exceptions Dashboard. I can probably export this one, since it was a community built Dashboard maybe from the EUG.


That looks pretty nifty! I would love to look at it on our end.

1 Like

@NateS Awesome job! Setting up and running scheduling is one of the hardest tasks in Epicor! Congrats on the win!!!

1 Like

Way to go Nate. As someone who has been working on getting scheduling to work properly for over a year, I’ve been very interested in following your progress on the forums. It’s very encouraging to hear about your success and I am very grateful for you supplying the information on how you got it to work. Congratulations once again, and thank you as well.


Great work! Now that you have scheduling working, another great tool is in the MES Console:
Work Queue
Setup: Employee Maintenance - Resource Group: Assign the Resource Group the employee belongs to.
Use: When clocked in as an Employee, it shows all the work scheduled to the Resource Group the Employee is attached to (listing by priority).
I have opened an enhancement request to make this queue available in the Application. This way shop supervisors for the Resource Group can see what is in the queue for their area (KNTC-I-2433: https://epicor-manufacturing.ideas.aha.io/ideas/KNTC-I-2433).


Sounds like you have a nice story to tell… Do I see an Insights Presentation in the works?


Oh Man! I would just embarrass myself… :laughing:

I think so!

This is great man! Thanks for the detailed write up.

1 Like

Nope… you would do great. All you need to do is “tell the story”.

  1. what was the problem you were trying to solve
  2. How did this problem negatively affect your company
  3. what research did you do to figure out the solution (you used Epiusers)
  4. show your final solution
  5. answer questions.
    Typical Insights presentations only need about 10-15 slides… 40 minutes flies by very fast… YOU CAN DO IT!