1.Functional Description
1.1Purpose
This Business function is used to Schedule Operations in the WO routing and return WO start/requested
date and Operation Start/Requested date depending on the Scheduling Type - Forward or Backward.
1.2Setup Notes and Prerequisites
None.
1.3Special Logic
None.
2.Technical Specifications
2.4Processing
a. Perform first call actions.
If Beginning Date = 0
If Schedule Type = 'F'
Beginning Date = WO Start Date.
Else
Beginning Date = WO Requested Date.
End.
Validate Beginning Date.
First Pass = '1'.
If Leadtime Type = 'F' and No of Operations <> 0
Read Manufacturing Constants table (F3009) using Branch/Plant IAMCU as the key.
If row is found
Hours Per Day = IAWRHR.
Else
Hours per Day = 8.
End
End
End.
b. Get Resource Units for the Beginning Date.
If Schedule Type = 'B' and First Pass = '1'
Call Schedule Resource Units (B3100230) with 'Z' as Schedule Type and Begin Date as Input Date.
Else
Call Schedule Resource Units (B3100230) with 'C' as Schedule Type and Begin Date as Input Date.
Endif.
Load Beginning Date with Output Date and Current Hours with Output Current Hours.
If First Pass = '1'
Balance Hours = Current Hours
Else
If Previous Hours <> 0
Balance Hours = Balance Hours * Current Hours / Previous Hours
Endif
Endif
Previous Hours = Current Hours.
c. Calculate Required Hours.
Initialise all work fields to zeros (Wk - Run Labor, Run Machine, Setup, Queue and Move hours).
If Lead Time Type = 'F'
Wk Run Labor = Hours per day.
If No of Operations <> 0
If Prime Load Code = 'L'/'B'
Wk Run Labor = Wk Run Labor * No of Employees.
Endif.
If Prime Load Code = 'M'/'C'
Wk Run Labor = Wk Run Labor * No of Machines.
Endif.
Wk Run Labor = Wk Run Labor * Lead Time Level / No of Operations.
Endif.
Endif.
If Lead Time Type = 'V'
Wk Move Hours = Input Move Hours.
Wk Queue Hours = Input Queue Hours.
If Prime Load Code = 'L'/'B'
Wk Run Labor = Input Run Hours
Endif.
If Prime Load Code = 'M'/'C'
Wk Run Machine = Input Machine Hours.
Endif.
If Prime Load Code = 'B'/'C'
Wk Setup Hours = Input Setup Hours.
Endif.
Endif.
d. Back Schedule Dates.
If Schedule Type = 'B'
If Lead Time Type = 'V'
Wk Overlap % = Previous Overlap %.
Previous Overlap % = Operation Overlap %.
If Wk Overlap % <> 0
Wk Required Hours = (Wk Run Labor + Wk Run Machine ) * Wk Ovelap % /100.
If (Balance Hours + Wk Required Hours) > Current Hours
Balance Hours = Current Hours - Balance Hours
If Wk Required Hours > Balance Hours
Wk Required Hours = Wk Required Hours - Balance Hours.
Call Schedule Resource Units (B3100230)
with 'F' as Schedule Type, Begin Date as Input Date & Wk Req Hours.
Load returned Balance Hours, Begin Date, Current Hours.
Else
Balance Hours = Balance Hours - Wk Required Hours.
Endif
Balance Hours = Current Hours - Balance Hours.
Previous Hours = Current Hours.
Else
Balance Hours = Balance Hours + Wk Required Hours.
Endif
Endif
Endif
If Balance Hours = 0
Call Schedule Resource Units (B3100230) with 'Z' as Schedule Type, Begin Date as Input
Date
and 0 as Wk Req Hours.
Load returned Balance Hours, Begin Date, Current Hours.
Previous Hours = Current Hours.
Endif
WO Requested Date = Beginning Date.
Wk Required Hours = Wk Move Hours.
If Wk Required Hours > Balance Hours
Wk Required Hours = Wk Required Hours - Balance Hours.
Call Schedule Resource Units (B3100230) with 'B' as Schedule Type, Begin Date as Input
Date
and Wk Req Hours.
Load returned Balance Hours, Begin Date, Current Hours.
Previous Hours = Current Hours.
Else
Balance Hours = Balance Hours - Wk Required Hours.
Endif
If Balance Hours = 0
Call Schedule Resource Units (B3100230) with 'Z' as Schedule Type, Begin Date as Input
Date
and 0 as Wk Req Hours.
Load returned Balance Hours, Begin Date, Current Hours.
Previous Hours = Current Hours.
Endif
Operation Requested Date = Beginning Date.
Wk Required Hours = Wk Run Machine + Wk Run Labour + WK Setup Hours.
If Wk Required Hours > Balance Hours
Wk Required Hours = Wk Required Hours - Balance Hours
Call Schedule Resource Units (B3100230) with 'B' as Schedule Type, Begin Date as Input
Date
and Wk Req Hours.
Load returned Balance Hours, Begin Date, Current Hours.
Previous Hours = Current Hours.
Else
Balance Hours = Balance Hours - Wk Required Hours.
Endif
Operation Start Date = Beginning Date.
If Balance Hours = 0
Call Schedule Resource Units (B3100230) with 'Z' as Schedule Type, Begin Date as Input
Date
and 0 as Wk Req Hours.
Load returned Balance Hours, Begin Date, Current Hours.
Previous Hours = Current Hours.
Endif
Wk Required Hours = Wk Queue Hours
If Wk Required Hours > Balance Hours
Wk Required Hours = WK Required Hours - Balance Hours.
Call Schedule Resource Units (B3100230) with 'B' as Schedule Type, Begin Date as Input
Date
and Wk Req Hours.
Load returned Balance Hours, Begin Date, Current Hours.
Previous Hours = Current Hours.
Else
Balance Hours = Balance Hours - Wk Required Hours.
Endif
WO Start Date = Beginning Date.
Endif.
d. Forward Schedule Dates.
If Schedule Type = 'F'
Wk Run Hours = Input Run Hours.
Input Run Hours = Wk Run Labour + Wk Run Machine.
Wk Overlap % = Operation Overlap %.
If Wk Overlap % <> 0
Wk Required Hours = Wk Run Hours * Wk Ovelap % /100.
If Wk Required Hours > Balance Hours
Wk Required Hours = Wk Required Hours - Balance Hours.
Call Schedule Resource Units (B3100230)
with 'B' as Schedule Type, Begin Date as Input Date & Wk Req Hours.
Load returned Balance Hours, Begin Date, Current Hours.
Else
Balance Hours = Balance Hours - Wk Required Hours.
Endif
Endif
WO Start Date = Beginning Date.
Wk Required Hours = Wk Queue Hours.
If Wk Required Hours > Balance Hours
Wk Required Hours = Wk Required Hours - Balance Hours.
Call Schedule Resource Units (B3100230) with 'F' as Schedule Type, Begin Date as Input
Date
and Wk Req Hours.
Load returned Balance Hours, Begin Date, Current Hours.
Previous Hours = Current Hours.
Else
Balance Hours = Balance Hours - Wk Required Hours.
Endif
Operation Start Date = Beginning Date.
Wk Required Hours = Wk Run Machine + Wk Run Labour + WK Setup Hours.
If Wk Required Hours > Balance Hours
Wk Required Hours = Wk Required Hours - Balance Hours
Call Schedule Resource Units (B3100230) with 'F' as Schedule Type, Begin Date as Input
Date
and Wk Req Hours.
Load returned Balance Hours, Begin Date, Current Hours.
Previous Hours = Current Hours.
Else
Balance Hours = Balance Hours - Wk Required Hours.
Endif
Operation Requested Date = Beginning Date.
Wk Required Hours = Wk Move Hours
If Wk Required Hours > Balance Hours
Wk Required Hours = WK Required Hours - Balance Hours.
Call Schedule Resource Units (B3100230) with 'F' as Schedule Type, Begin Date as Input
Date
and Wk Req Hours.
Load returned Balance Hours, Begin Date, Current Hours.
Previous Hours = Current Hours.
Else
Balance Hours = Balance Hours - Wk Required Hours.
Endif
WO Requested Date = Beginning Date.
Endif.
If there is any error in call to the function B3100230, return a '1' in the Error Code field
otherwise return a '0'.
D3100240 - ScheduleOperationDates
Parameter Name | Data Item | Data Type | Req/Opt | I/O/Both |
---|---|---|---|---|
cScheduleType | WS | char | NONE | NONE |
A user defined code to designate intra-pay period work schedules. This code can be used for reporting and to select employees to be
| ||||
szCostCenter | MMCU | char | NONE | NONE |
A code that represents a high-level business unit. Use this code to refer to a branch or plant that might have departments or jobs, which
| ||||
szWorkCenter | MCU | char | NONE | NONE |
An alphanumeric code that identifies a separate entity within a business for which you want to track costs. For example, a business unit
| ||||
szUnitOfMeasure | UM | char | NONE | NONE |
A user defined code (00/UM) that identifies the unit of measurement for an amount or quantity. For example, it can represent a barrel, box,
| ||||
cLeadTimeType | MRPP | char | NONE | NONE |
A code that determines whether the system uses fixed or variable leadtimes.
This code works in conjunction with the value from either the
| ||||
mnLeadTimeLevel | LTLV | MATH_NUMERIC | NONE | NONE |
A value that represents the leadtime for an item at its assigned level in the production process, as defined on Plant Manufacturing Data.
| ||||
cPrimeLoadCode | PILC | char | NONE | NONE |
A code that determines if a work center is machine or labor intensive. The system also uses prime load codes in Resource Requirements
| ||||
mnNumberOfEmployees | QMAD | MATH_NUMERIC | NONE | NONE |
The normal number of employees in this work center. When you run the Work Center Resource Units Refresh program, the system
| ||||
mnNumberOfMachines | NOMA | MATH_NUMERIC | NONE | NONE |
The normal number of machines in this work center. When you run the Work Center Resource Units Refresh program, this number is
| ||||
mnMoveHours | MOVD | MATH_NUMERIC | NONE | NONE |
The planned hours that are required to move the order from this operation to the next operation in the same work center.
If the Routing
| ||||
mnQueueHours | QUED | MATH_NUMERIC | NONE | NONE |
The total hours that an order is expected to be in queue at work centers and moving between work centers.
The system stores this value in
| ||||
mnRunLaborStandard | RUNL | MATH_NUMERIC | NONE | NONE |
The standard hours of labor that you expect to incur in the normal production of this item.
The run labor hours in the Routing Master table
| ||||
mnRunMachineHours | RUNM | MATH_NUMERIC | NONE | NONE |
The standard machine hours that you expect to incur in the normal production of this item. | ||||
mnSetupHours | SETL | MATH_NUMERIC | NONE | NONE |
The standard setup hours that you expect to incur in the normal completion of this item. This value is not affected by crew size. | ||||
mnHoursPerDay | WRHR | MATH_NUMERIC | NONE | NONE |
The number of work hours that the manufacturing plant operates per day. | ||||
mnOperationOverlap | POVR | MATH_NUMERIC | NONE | NONE |
A number that indicates the percentage that successive operations can overlap.
The actual overlap percentage entered for the operation
| ||||
mnPrevOperOverlap | POVR | MATH_NUMERIC | NONE | NONE |
A number that indicates the percentage that successive operations can overlap.
The actual overlap percentage entered for the operation
| ||||
mnHoursBalance | WRHR | MATH_NUMERIC | NONE | NONE |
The number of work hours that the manufacturing plant operates per day. | ||||
mnHoursPrevious | WRHR | MATH_NUMERIC | NONE | NONE |
The number of work hours that the manufacturing plant operates per day. | ||||
mnHoursRun | WRHR | MATH_NUMERIC | NONE | NONE |
The number of work hours that the manufacturing plant operates per day. | ||||
mnNoOfOperations | OPSQ | MATH_NUMERIC | NONE | NONE |
A number used to indicate an order of succession.
In routing instructions, a number that sequences the fabrication or assembly steps in the
| ||||
jdWOStartDate | STRT | JDEDATE | NONE | NONE |
The start date for the order. You can enter this date manually, or have the system calculate it using a backscheduling routine. The routine
| ||||
jdWOReqDate | DRQJ | JDEDATE | NONE | NONE |
The date that an item is scheduled to arrive or that an action is scheduled for completion. | ||||
jdOperStartDate | STRT | JDEDATE | NONE | NONE |
The start date for the order. You can enter this date manually, or have the system calculate it using a backscheduling routine. The routine
| ||||
jdOperReqDate | DRQJ | JDEDATE | NONE | NONE |
The date that an item is scheduled to arrive or that an action is scheduled for completion. | ||||
cErrorcode | ERRC | char | NONE | NONE |
This error code indicates if any errors occurred during the creation of the Trip Document Detail (F4914) records by the Delivery Document
| ||||
jdBeginningDate | DRQJ | JDEDATE | NONE | NONE |
The date that an item is scheduled to arrive or that an action is scheduled for completion. | ||||
cQueueHrsSchedulingMethod | EV01 | char | OPT | NONE |
An option that specifies the type of processing for an event. | ||||
jdPrevOperReqDate | DRQJ | JDEDATE | OPT | NONE |
The date that an item is scheduled to arrive or that an action is scheduled for completion. | ||||
mnWorkCenterShiftHours | WRHR | MATH_NUMERIC | OPT | NONE |
The number of work hours that the manufacturing plant operates per day. | ||||
cPOOverrideNoOfEmp | EV01 | char | OPT | NONE |
An option that specifies the type of processing for an event. | ||||
mnPreviousOperStepHours | WRHR | MATH_NUMERIC | OPT | NONE |
The number of work hours that the manufacturing plant operates per day. |
B3100230 Schedule Resource Units |
F3009 Job Shop Manufacturing Constants |