I created a new function to reschedule a single job. The function uses the methods (from my trace):
- ScheduleEngine.GetNewParamsForJob
- ScheduleEngine.GetMultiSchedTypeCodes
- Update Table by Query (tsSched.ScheduleEngine table)
- ScheduleEngine.MoveJobItem
The input is just job and new date, with a single string output. This seems to work well in my testing.
Can anyone say if this is a bad approach or not? I want to make sure I am not missing any part of the scheduling methods. These methods seem to be the bare minimum to get Epicor to reschedule a job.
So far this is working great! I have a list of jobs and dates in Excel. I run my function (using VBA) on those rows one row at a time, then output the result in the same row. I can see when a job takes the new date, and when the job will miss the req date. We plan to use this to process up to 100 jobs at a time, perhaps once or twice a month.
This means 100 REST API calls to my function, and 100 MoveJobItem method calls. Is that a concern?
I really appreciate having a place to come ask a candid question like this. Thank you for your time!
Nate