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!!
