Am I seeing the logs correctly? There is one log for each part? I will be looking to the query next. Thank you for your patience with me. There is so much that is new to me with the ERP vs Epicor CMS its taking a bit to acclimate to the differences
Correct, there is one file per job. I would find a job that is not doing what you want and review the log. Make sure that it is going through each resource and that the settings are correct.
No worries, it’s a lot! We are here to help.
Can you point me in the direction of the file that contains the locked info? I want to write some SQL
I don’t believe the logs get stored in the database.
Apologies, I mean I want to look for possible job lock to resource. Is there a file with that data?
I see six options under Fill Shop Capacity Advanced Drop down that Says Scheduled. Options are Now, Net Change, Global Sched 1, Calc Sched, Global Sched 2 and Regen Sched. Which of these do you all run?
JobOpDtl will have the assigned Resource Group (ResourceGrpID) and Resource (ResourceID) for the job. PartOpDtl will have the same information for part methods.
In the JobOpDtl record There are about two hand fulls of jobs that have a resource specified in the Resource ID field. But doest seem like that even comes close to the number of Jobs stacked on that resource at this time.
So, the way that the system works is it looks at all of those fields (RG, Resource, and Capability), then the scheduling engine schedules based on what is entered in those fields. What you are currently seeing are jobs that will only schedule on that resource. That is not what you want.
To see where the engine actually scheduled something, you need to look at the ResourceTimeUsed table. That is where the actual scheduled resource is.
When you put a RG on an operation, the engine will loop through all of the resources in that RG and select the best one.
Does this happen even though the job is supposed to run on anything in that group? I mean each resource should have the same amount of time as any other. I have thounds of hours more scheduled in this one resource than any other.
So, the way Epicor works is as follows.
- You create a method that has an operation. That operation contains the scheduling resource. The scheduling resource could be a Resource Group, Resource, or Capability.
- The method is turned into a job that stores the scheduling resource for that operation.
- When Global Scheduling runs, it looks at the operation to see what scheduling resource is on it.
- If the scheduling resource is a Resource Group, it loops through all of the Resources in the Resource Group and finds the “best” Resource to schedule.
- If the scheduling resource is a Resource, it finds the first open time based on other parameters and schedules the Resource.
- If the scheduling resource is a Capability, it loops through all of the Resources and finds the “best” Resource to schedule.
- Regardless of what the scheduling resource is on the job, the system saves the selected Resource to the Resource Time Used table.
Nothing changes on the job, that is, the scheduling resource stays the same. That is why there is a tab for scheduled resources in the job screen.
So, if your job operation has a scheduling resource that is a Resource, that Resource will ALWAYS be scheduled. If the scheduling resource is a Resource Group, the scheduled resource COULD be changed on the next run of Global Scheduling.
Have you looked at the Scheduling Technical Reference Guide? It is full of great information that can help you understand the engine and how it works.
I don’t think you are understanding how this works yet, so keep asking questions!!
I want to express my sincere appreciation for the patience and guidance many you have offered as I work through my questions. I come from 20 years of experience with Epicor CMS ERP, a system I knew inside and out. Stepping into Epicor ERP 10.2.700.12 has been a completely different experience, and I’m learning this system from the ground up.
My new company does not have an internal power user, and that’s one of the reasons they brought me on. I’m working toward becoming that person for them. Over the past week, I’ve been reviewing how the system was implemented, how it is currently being used, and where the major gaps are. Consultants assisted with the initial setup, but several critical areas—particularly capacity planning and scheduling—were never fully developed.
I’ve been working through the Scheduling Technical Reference Guide and analyzing our configuration in detail. I’ve already made solid progress balancing the load across one of our primary resource groups. The ultimate goal is to schedule strictly at the Resource Group level so Epicor can automatically select the best resource instead of locking operations to a single machine.
At this point, the foundational settings appear consistent:
- Each resource in the group has a 10-hour daily capacity in the resource calendar
- Finite Capacity is enabled
- A 100-day scheduling horizon is applied
- Resource Groups are structured correctly
However, as I talk with our key users, what I’m hearing about how resources and groups were originally set up doesn’t always match what I’m seeing in practice. The load still heavily favors certain resources, even though the intention was for scheduling to distribute work evenly across the group. That tells me there has to be configuration issues, data constraints, or method details that I haven’t uncovered yet.
In speaking with the person who creates the jobs in the system, I was told that they never change or modify resources during job creation—they simply accept whatever defaults come in based on how Engineering has the methods set up. This reinforces my suspicion that some operations may still be tied directly to specific Resources instead of Resource Groups, which would explain the uneven loading.
Identifying how many operations are assigned to a Resource versus a Resource Group is my next focus, as this distinction has a major impact on scheduling behavior and load distribution.
I appreciate the insights you have already shared. Your experience has been invaluable to me as I work to stabilize and improve our scheduling environment and help bring this system to where it needs to be.
No problem. So, what you will want to do is query the PartOper and PartOprDtl tables as that is where the methods are stored. You should be able to identify the methods that are set up with a Resource there.
Is there a menu that should says “BAQ Designer”
I was being told that I should see this menu tree:
"you should see:
BAQ Designer
BAQ Search
BAQ Export
BAQ Report Designer"
Could be something someone customized in your environment ![]()
Its not, the menu I see and have been working with is the same you have show me. I dont know where they got that.
Blockquote PartOper and PartOprDtl
Are these file names correct?
No, I tried doing it off memory. PartOpr & PartOpDtl
hank you. I’ve found that there were a handful that had the one resource selected. I have made those corrections, and it did make a small difference, but not much. The last Global Schedule run, after making those changes, moved half of what was on the one resource to the other, but for some reason I have yet to figure out, it still left the bulk on one resource. I am looking through the technical reference for other constraints that could be affecting things.

