Documentation >
MAC-PAC Technical Library >
Manufacturing >
Master Scheduling >
Programs >
Planned Routing Generation - Purpose >
Planned Routing Generation - Calculations
Planned Routing Generation - Calculations
MS140E
A. Housekeeping
1. See the Common Processing Routines - Housekeeping section of this manual for a general discussion of this subroutine. Processing specific to this program is described below.
2. The date format (category 049) is retrieved from the Reference file (REFERP). If this record is not found, the date format defaults to MMDDYY, a message is sent to the system operator, and processing continues.
3. The company name record is retrieved from the System Control file (CT100M) for printing on the system error report (CT010X).
4. The current date is saved in YYMMDD format for date effectivity checking on the product structure and routings.
B. Mainline
The processing for the Planned Routing Generation program is performed in two stages. In the first stage, the Planned Routing Work file (MS140AP) is built with one record for each part/plant/key facility combination. Each record relates to the load incurred by only one level of the bill of material. In the second stage, these work file records are successively rolled up into parent records to eventually generate planned routings for only daily and standard master scheduled and service parts, representing the load incurred at all levels of the bill of material.
Exhibit 140-A at the end of this program description illustrates the Planned Routing Generation process outlined below.
1. Work File Load
The Planned Routing Work file (MS140AP) is created. The work file has four key fields: Low-Level Code (WKLLC), Part Number (WKPN) Plant (WKPLNT), and Key Facility (WKKF). The Low-Level Code is in descending order so that parts at the lowest level in the bill of material are the first records in the file. This file also contains the 120 time buckets (1 day = 1 bucket) in which load hours per piece are placed.
The MS Load Quantity is retrieved from the Part Master file (DE100M) for MRP parts. JIT parts do not need an average order quantity because each routing already contains a load per unit for a fixed time. This Load Quantity is the amount that is assumed to be due in period 1. The latest time period in which work can begin on the order is period 1, and the earliest period in which work can begin on the order is period 120. Work can (and may) begin before period 120, but the planned routing record only shows 120 periods of load.
A multiple occurrence data structure (25 occurrences) is used for processing efficiency. It is a mirror image of the work file.
a. The Part Master file (DE100L24) is read sequentially. Build-thru parts that are active are passed directly to the work record writing routine (step c. below). Manufactured parts that are active are passed to the scheduling and load allocation routines (step b. below) before being written to the work file. All other part types are bypassed. The Demand Code and IC Scrap Factor are saved in the work file.
b. For each manufactured part retrieved, the logical Routing file (ME120ML5) is processed. The routings for each part are retrieved in reverse order for proper time phasing of MRP parts. The routing duration for each MRP operation is calculated in days and hours, back-scheduling from day 1, hour 24, up to day 120, hour 0. If the operation occurs in a key facility, the load, in run hours per piece, is allocated over each day for the duration of the operation. JIT operations are fixed time (1 day) and do not need scheduling.
MRP Parts:
(1) The scheduling of the routing provides start and due times for each operation, an elapsed hours run time (the difference between the start and due times) and a total run hours figure (the total labor/machine hours required for completion).
(2) Using the calculated start and due times, the total run hours are prorated over all the days covered by the scheduled operation and divided down to total run hours per piece per day. The following calculation is used:
RUN HOURS PER PIECE ON GIVEN DAY
|
=
|
HOURS PER PIECE x CREW SIZE
ELAPSED RUN HOURS
|
times
|
HOURS WORKED THAT DAY
|
For fixed-time operations, the following calculation is used:
Run Hours Per Piece On Given Day
|
=
|
(Total Run Hours x Persons)/Quantity
Elapsed Run Hours
|
times
|
Hours Worked That Day
|
Set up, move, and queue time are included in the calculation of elapsed time but not in the calculation of load.
(3) The resulting data is accumulated and stored in individual daily buckets. The temporary work record holds 120 of these daily load buckets for each Part/Key Facility combination.
c. For each key facility on the routing (up to a maximum of 25), a work record is written. This record is identified by Part and Key Facility, and holds the load for each day as calculated above.
For build-thru parts, the load is calculated as zero for each day, and a reference record (blank Key Facility field) is written to the work file with part information.
This program assumes a part can be processed in no more than 25 different key facilities. This restriction can be modified by adjusting the number of occurrences of the data structure.
d. When all the routings for a particular part have been processed, the Planned Routing Work file (MS140AP) is written and the next part record is read.
2. Planned Routing Rollup
During the Planned Routing Rollup process, the Planned Routing Work file (MS140AP) is read in descending Low-Level Code sequence. The parts on the lowest level of the bill of material, with the highest Low-Level Code, will be retrieved first. Each part retrieved is completely processed as discussed below before the next part is retrieved. This process is repeated until the end of the work file is reached.
a. Load Data Structure
The data structure is loaded with the information from the work file until a Part Number changes or until twenty-five Part/Key Facility combinations have been retrieved. The reference record is not loaded into the data structure.
b. Planned Routing Generation
(1) After the data structure has been loaded, the part is checked to see if any overflow or routing errors occurred during the rollup, and whether planned routings should be generated. Planned routings are generated if the part is a master scheduled (Demand Code = M or D) or service (Demand Code = S) part.
(2) The planned routing record is formatted, and the load for each day is moved to the corresponding fields on the Planned Routing file. Any effectivity dates that were set are moved to the corresponding fields, and the record is output.
(3) If any errors occurred, the error record is formatted and written to the Planned Routing Exception file (MS140BP). Special attention should be paid to routing errors; the part's load will not be reflected in any key facilities where it is processed if the load for a key facility is not accurate.
c. Parent Work File Record Update
(1) The Part Number is used to access the logical Product Structure Where-Used file (DE120ML). This file is read sequentially to retrieve each parent for the component being processed.
(2) The effectivity of each record read is tested against the date saved during housekeeping (current date). If ineffective, the record is bypassed. The date of the earliest effectivity change that is greater than the saved date is maintained on the work record and is transferred up the bill of material.
(3) Using the Parent Part Number and the component Key Facility, the work file is accessed. This retrieves any existing load information for the parent part within that key facility.
(4) For each parent part retrieved, the load for each day of the component part's routing is added to that for the appropriate days at the end of the parent routing. The rollup (into the parent) begins in a period reflecting the time difference between the manufacturing activity of the parent and the component.
The time difference between the parent and the component depends on the production type (MRP or JIT). The following rules are applied:
· If the offset days on the bill of material is zero for a component, a component requirement is created one days prior to the start date of the manufacturing order. Otherwise, a component requirement is created the number of offset days prior to the due date of the manufacturing order.
· A flow requirement has a time difference of the product structure offset with its attached flow authorization.
· A manufacturing order covering a component requirement ends on the same day; however, the manufacturing order ends one day early when covering a flow requirement.
· A flow authorization always starts queue days before the covered component requirement or flow requirement.
The rollup process takes the following factors into account when allocating load from the component to the parent routing:
· Non-zero scrap factor of component
· Quantity per
(5) If the Parent Part/Key Facility combination does not exist, the reference record is retrieved and a new work file record is created. The rollup begins as in the previous step.
(6) After all the parent parts have been processed, the next part is loaded into the data structure. Processing continues until the end of the logical Planned Routing Work file (MS140AL) is reached.
1. During all processing, exception conditions and calculation overflows are monitored. For all such errors, an error record is generated on the Planned Routing Exception file (MS140BP).
2. After all Mainline processing has been completed, the Planned Routing Exception file is read sequentially to retrieve error codes.
3. Error messages corresponding to the error codes are retrieved from the Error Message file (CT120M).
4. The Planned Routing Exception report (MS140) is formatted and written.
EXHIBIT 140-A
Planned Routing Generation
This example illustrates how the system generates planned routings.
This schematic illustrates the final planned routing record being created:
|
|
|
|
|
|
|
|
|
|
|
|
|
. . .
|
|
Key Facility
|
|
Part No
|
|
120 Daily Buckets containing load/piece
|
The following example illustrates how this record is created for one key facility.
Assumptions
One Key Facility: K1
Two workcenters: W1 - runs through key facility K1
W2 - does not run through a key facility
There are 8 work hours per day in each workcenter.
Product Structure:
Part
|
|
Demand Type
|
|
Quantity Per
|
|
Average Order Quantity or MS Load Quantity
|
|
Scrap Factor
|
|
Production Type
|
A
|
|
MS
|
|
—
|
|
100
|
|
0
|
|
MRP
|
|
B
|
|
RP
|
|
2
|
|
100
|
|
0
|
|
JIT
|
|
(Since Part C is a purchased part, it will have no planned routing, and does not enter into the calculations.)
Routing for Part A:
Operation
|
|
Operation
|
|
|
|
|
|
Machine or
|
|
Number
|
Number
|
|
Type
|
|
Workcenter
|
|
Hours/Piece
|
|
Labor Paced
|
|
of Machines
|
1
|
|
Standard
|
|
W1
|
|
.1
|
|
Machine
|
|
1
|
2
|
|
Standard
|
|
W2
|
|
1.2
|
|
Machine
|
|
15
|
A. Work File Load
A work file record is created for every part/key facility combination. This work file will contain the load hours per piece per day for that part in that key facility.
In this example, the work file will contain two records: one for Part A in Key Facility K1, and one for Part B in Key Facility K1.
1. First, the total load for Part A in Workcenter W1 (Operation 1) is calculated:
TOTAL LOAD FOR W1
|
=
|
LOAD PER PIECE X AVERAGE ORDER QUANTITY
|
|
=
|
.1 hours per piece X 100 pieces
|
|
=
|
10 hours
|
2. Next, the duration of this load is calculated:
DURATION
|
=
|
LOAD / NO. OF MACHINES
|
|
=
|
10 hours / 1
|
|
=
|
10 hours
|
3. The same calculations are then performed for Part A in Workcenter W2 (Operation 2):
TOTAL LOAD FOR W2
|
=
|
1.2 HOURS PER PIECE X 100 PIECES
|
|
=
|
120 hours
|
DURATION
|
=
|
120 HOURS / 15 MACHINES
|
|
=
|
8 hours
|
4. The duration of Operations 1 and 2 are then back-scheduled from Day 0 (the day the part would be finished), as shown below:
|
Day 0
|
Day -1
|
Day -2
|
Duration of Operation 2
|
8 hours
----------------------------------
|
|
|
Duration of Operation 1
|
|
10 hours
|
|
|
|
------------------------------------
|
-----------
|
5. The planned routing work file record for Part A in Key Facility K1 is loaded.
a. Since Operation 2 occurs in Workcenter W2, which is not in Key Facility K1, the load for Period 1 (Day 0) is 0.
K1
|
|
A
|
|
0
|
|
|
|
|
|
Key Facility
|
|
Part No
|
|
1
|
2
|
3
|
4
|
5
|
|
|
|
|
|
--------Periods--------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b. Operation 1 occurs in Key Facility K1, and creates load for Periods 2 and 3 (Days -1 and -2, respectively). A full day (8 hours) is allocated to Period 2, and the remainder (2 hours) is allocated to Period 3. Dividing these by the average order quantity of 100 gives the following load per piece per day:
K1
|
|
A
|
|
0
|
.08
|
.02
|
0
|
0
|
|
Key Facility
|
|
Part No
|
|
1
|
2
|
3
|
4
|
5
|
|
|
|
|
|
--------Periods--------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The remaining periods through Period 120 are filled with zeros.
6. Note that the load per piece has thus been prorated over the days covered by the operation.
B. Rollup
Since Part B must be manufactured before Part A, its planned routings must be "rolled up" into the parent planned routing for Part A. Thus the final planned routing record for Part A will take into account all the component routings through the key facility.
1. B has the following routing made up of JIT operations.
Number
|
|
Type
|
|
Workcenter
|
|
Hours/Piece
|
|
Labor Paced
|
|
1
|
W1
|
0
|
1.5
|
|
2
|
W2
|
1
|
3.2
|
|
3
|
W1
|
1
|
0.6
|
|
|
|
|
|
|
|
|
|
|
|
|
Operation 2 is not processed because as W2 is not a key facility. Only operations 1 and 3 are taken into account and loaded in the planned routing work field:
K1
|
|
B
|
|
1.5
|
0.6
|
0
|
0
|
0
|
|
Key Facility
|
|
Part No
|
|
1
|
2
|
3
|
4
|
5
|
|
|
|
|
|
--------Periods--------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The MS order quantity is not used.
2. The product structure indicates that to make one A, we need two B's. The load incurred by the workfile record for B must be multiplied by two.
3. The workfile record for B must be rolled up into A, taking into account a time difference obtained from the decision table presented earlier. For an MRP parent and a JIT component, the time difference is 1+ queue days. For component B, queue days equals 1, so the time difference is two.
4. Consequently, the workfile record for B is loaded from the third period of part A (two days difference) and each period load will be doubled (quantity per). The span of the component planned routing workfile record is kept the same. This rule is respected for all component types (MRP or JIT). When rolling-up the component load, MS is working infinite capacity. The load is being increased but the length of the operations are not.
The final workfile record for A (its planned routing) is:
K1
|
|
A
|
|
0
|
0.8
|
3.02
|
1.2
|
0
|
|
Key Facility
|
|
Part No
|
|
1
|
2
|
3
|
4
|
5
|
|
|
|
|
|
--------Periods--------
|
|