The system uses detailed scheduling to schedule discrete production. The lead time rollup process in Oracle Bills of Material also uses detailed scheduling to calculate lead times used by Oracle planning products.
Detailed scheduling applies resource usage defined by:
Routings and resources to resource availability
The calendar shifts and exceptions on a minute by minute basis
This determines job start and end times (calculated to the minute) and operation start and end times. You provide resource usage information used by detailed scheduling when you assign resources to a routing in Oracle Bills of Material. For example, assume you have defined the following routing and you want to use it to schedule a discrete job for a quantity of 1000 assemblies:
| Op Seq | Res Seq | Resource | Basis | Usage Rate or Amount | Activity | Scheduled | Assigned Units | Scheduled Units |
|---|---|---|---|---|---|---|---|---|
| 10 | 1 | Punch press | Item | 0.1 | Run | Yes | 1 | 100 |
| 10 | 2 | Punch press | Lot | 1 | Teardown | Next | 1 | 1 |
| 20 | 1 | Queue | Lot | 4 | Queue | Yes | 1 | 4 |
| 20 | 2 | Machinist | Item | 0.05 | Labor | No | 3 | 0 |
| 20 | 3 | Drill press | Item | 0.05 | Run | Yes | 3 | 50 |
| 20 | 4 | Inspector | Item | 0.01 | Quality | Yes | 1 | 10 |
| 30 | 1 | Plating preparation | Lot | 1 | Setup | Prior | 1 | 1 |
| 30 | 2 | Plating | Item | 0.01 | Run | Yes | 1 | 10 |
Note: All units of measure are in hours.
You can assign multiple resources per operation to schedule labor, machine, and other activities you perform within an operation. Detailed scheduling schedules multiple resources sequentially based on their resource sequence number.
In the Routing to Schedule Discrete Job table, operation sequence 30 has two resources: Plating and Plating preparation. Detailed scheduling schedules these resources sequentially based on their resource sequence number.
Oracle provides Production Scheduling: a constraint-based automated scheduling tool using sophisticated scheduling algorithms enforcing minimum run length constraints, and minimizing changeover times on your resources.
See: Oracle Production Scheduling Implementation Guide
You can use a resource basis of Lot to schedule fixed resource requirements such as setup or teardown. You can use a resource basis of Item to schedule resources whose requirements change in proportion to the number of assemblies being built.
In the Routing to Schedule Discrete Job table, operation sequence 10 has resource sequence 2, Punch press, with a basis of Lot to schedule one hour of teardown activity for each job.
Operation sequence 10, resource sequence 1 has 1 hours of runtime activity for each assembly unit on the job. Therefore, a job for an assembly quantity of 1000 requires 100 hours of runtime activity.
You can assign multiple units of a resource to work concurrently at an operation. In the Routing to Schedule Discrete Job table, for operation sequence 20, resource sequence 3, you have three drill press resources in your plant that you have assigned to the routing. Detailed scheduling schedules assuming all three are applied to the job. In other words, if your job has 50 hours of drill press resource required, detailed scheduling would schedule 16.67 elapsed hours (50 resource hours required/3 resources available).
You can assign resources to an operation, but not have them scheduled. In the Routing to Schedule Discrete Job table, you might have a machinist resource who periodically checks the progress of the drill press resource. Since the machinist resource is not on the critical path you would not schedule, but you would likely want to cost, the machinist resource.
You can assign resources used solely for scheduling, even though these resources do not actually provide value added work. In the Routing to Schedule Discrete Job table, at operation sequence 20, resource sequence 1, you can simulate 4 hours of queue time to schedule the time assemblies wait before the drill press resource frees up from other scheduled work.
Note: Detailed scheduling is not a finite scheduling algorithm. However, you schedule resources to simulate load that other jobs place on a department and resource and thus achieve scheduling results similar to those created by finite scheduling algorithms.
You can schedule operations to overlap to account for simultaneous processing of the same job in concurrent operations. For example, you can schedule setup resources of the next operation to overlap with processing resources of the current operation. Or, you can schedule teardown resources at the prior operation to overlap with processing resources at the current operation.
In the Routing to Schedule Discrete Job table, operation sequence 10, resource sequence 2 has one hour of teardown that can be performed after the assemblies have moved to the next operation. As such, the Scheduled field is set to Next.
Operation sequence 30, resource sequence 1 has one hour of setup activity that can begin before the assemblies arriving at operation sequence. As such, the Scheduled field is set to Prior.
Detailed scheduling uses the shift calendar to determine resource availability. Therefore, resources can only be scheduled when they are available. If you assume round the clock resource availability, the job for 1000 assemblies, using the routing in the Routing to Schedule Discrete Job table, would require 141.67 processing hours or approximately 5.6 workdays.
On the other hand, if you assume a single 8 hour day, single shift calendar for all resources, the processing hours would remain 141.67 hours, but the workdays would stretch to approximately 17.7.
When you forward schedule, detailed scheduling starts at the job start date and time and computes the job completion date and time. When you backward schedule, detailed scheduling ends at the job completion date and time and computes the job start date and time.
If the job start date and time is before the first scheduled resource in the first operation becomes available, no work can take place until that resource becomes available. Likewise for backward scheduling, if the completion date and time for the job conflict with the availability of the last scheduled resource in the last operation, the job cannot be completed until the last operation is complete. Resources may or may not be available depending on their shift availability.
The following diagram depicts how the detailed scheduler would schedule the routing from the Routing to Schedule Discrete Job table, assuming round the clock resource availability:
