JALLIB processing: Scheduling
SCDRMNTIM: Take into account the remaining time
This entry point is used to intervene in the remaining time taken into account in the scheduling (setup and operation).
Context and operating mode
On reading each operation in the scheduling.
Available screen and file classes
The MFO, SCH, MFG and ITF classes are on-line.
Use
This entry point has been designed to make it possible to intervene in the remaining time of each operation.
The code is the following:
#---------
# EP to modify the remaining time
# PE if GPE = 1
GPE = 0
GPOINT = "SCDRMNTIM"
Gosub ENTREE From EXEFNC
#---------
If !GPE
WSETTIM( I) = [F:MFO]EXTSETTIM - [F:MFO]CPLSETTIM
WOPETIM( I) = [F:MFO]EXTOPETIM - [F:MFO]CPLOPETIM
WOPTTIM( I) = WSETTIM(I) + WOPETIM(I)
Endif
The WSETTIM( I), WOPETIM(I) and WOPTTIM(I) variables can be loaded by the entry point in substitution for the standard loading (GPE=1).
Open tables
In the table below, the significant content flag indicates that the content is in phase with the context (…).
Table |
Significant content |
Table Title |
MFGHEAD |
Yes |
OF |
MFGOPE |
Yes |
WO operations |
SCHEDULING |
Yes |
WO scheduling data |
ITMFACILIT |
Yes |
Product-site |
FACILITY |
Yes |
Sites |
MATUPDDIS: De-activation of the material updates
This entry point is used to de-activate the update of the material requirement dates during the scheduling.
Context and operating mode
Before the update of the WO according to the results of the scheduling.
Available screen and file classes
The MFG class is on line.
Use
This entry point has been designed to make it possible to de-activate the update of the materials (requirement dates) within the scheduling process.
To proceed with this de-activation, set the global variable GPE to 1.
Since V6.5: three variables allow to omit the update of dates as a result of the scheduling.
- WNO_UPDMAT is assigned with the GPE result in order to indicate "no update of dates on components/sub-products"
- WNO_UPDOPE can be set to 1 in order to indicate "no update of dates on operations"
- WNO_UPDWOF can be set to 1 in order to indicate "no update of dates on WO/released products"
WARNING: Make sure to test from what function this EP will be triggered to ensure it does not disinhibit all the scheduling cases. To identify the context (calling function), test the global variable GFONCTION.
Open tables
In the table below, the significant content flag indicates that the content matches the context (…).
Table |
Significant content |
Table Title |
MFGHEAD |
Yes |
OF |
MFGOPE |
No |
WO operations |
MFGMAT |
No |
WO materials |
SCHEDULING |
No |
WO scheduling data |
ITMFACILIT |
No |
Product-site |
FACILITY |
Yes |
Sites |
INITSCD: Scheduling initialization
This entry point is used to initialize certain scheduling variables, especially the size of the calculation table that limits the maximum duration of a production.
Context and operating mode
This entry point is called as soon as the scheduling sub-program is open.
Available screen and file classes
The JALK class is on line.
First use
This entry point has been designed to allow the modification of the scheduling calculation horizon's size.
This horizon is expressed using the OFFSETCAL integer variable (set by default to 200). This margin limits the maximum duration of a production. Beyond this threshold, the operations are no longer scheduled.
The margin can be extended using this entry point in order to process specific cases of production that are particularly long.
Second use
The preparation and post-operation time does not take into account the capacities of the work centers.
Addition of 3 variables in order to activate a function calculation of the work center's capacities.
WPRPCODCAP,WPSPCODCAP,WWAICODCAP set to 0 by default. They should be set to 1 in the INITSCD EP in order to use the capacities.
ENDSCD: End scheduling
This entry point is used at the end of the scheduling of planned and firm WOs just after the update of the tables.
Context and operating mode
This entry point is called after the table update in the scheduling sub-program.
Available screen and file classes
The JALK class is on line.
Use
This entry point is used at the end of the scheduling.
It is located just after the update of the tables and just before the Commit instruction.
INIT_JAL: Scheduling initialization
This entry point is used to intervene in all the operations loaded in memory, before the calculation of the scheduling, in order to intervene on specific values.
Context and operating mode
This entry point is used to intervene in the list of operations loaded in memory.
The available variables for each operation are:
Local Shortint WOPENUM (NBOPMX):# oper number
Local Shortint WOPESPLNUM (NBOPMX):# oper split
Local Char WWST (GLONWST) (NBOPMX):# work center
Local Char WLAB (GLONWST) (NBOPMX):# labor
Local Decimal WSETLABC(NBOPMX):# labor setup factor
Local Decimal WOPELABC(NBOPMX):# labor oper factor
Local Integer WOPESTA (NBOPMX):# operation status
Local Date WOPESTR (NBOPMX):# start date
Local Date WOPEEND (NBOPMX):# end date
Local Integer WWSTN (NBOPMX):# no. of work centers
Local Integer WLABN (NBOPMX):# no. of people
Local Integer WPRPTIM (NBOPMX):# preparation time
Local Decimal WSETTIM (NBOPMX):# setup time for 1 unit
Local Decimal WOPETIM (NBOPMX):# operating time for 1 unit
Local Decimal WWAITIM (NBOPMX):# waiting time
Local Decimal WPSPTIM (NBOPMX):# post oper time
Local Decimal WQTY (NBOPMX):# remaining quantity
Local Date WFRCSTRD (NBOPMX):# forced start date
Local Decimal WFRCSTRH (NBOPMX):# forced start time
Local Char WFRCHOU(5)(NBOPMX) # Forced hour with format hh:mm
Local Decimal WFRCSTRF(NBOPMX):# Forced start day split
Local Integer WFRCFLG (NBOPMX):# Forced start oper flag
Local Integer WWSTTYP (NBOPMX):# sub-contract code
Local Decimal WSCOLTI (NBOPMX):# sub-contract lead time
Local Char WWIPNUM (GLONVCR)(NBOPMX):# sub-contract WIP no.
Local Char WSCOITMREF(GLONITM)(NBOPMX):# sub-contract product
Local Integer WSCDCOD (NBOPMX):# scheduling code
Local Integer WNEXOPEN (NBOPMX):# next op no.
Local Integer WNEXSPLN (NBOPMX):# next op split (created in PG)
Local Integer WOPERG (NBOPMX):# op range
Local Integer WOPETRT (NBOPMX):# op processed in classification
Local Decimal WSCDPCT (NBOPMX):# % sched
Use
Example of code used to replace the product purchase lead time of a sub-contract service with the product/site lead time:
$ACTION
Case ACTION
When "INIT_JAL":Gosub INIT_JAL
Endcase
Return
$INIT_JAL
For I = 0 To NBOP-1
If WWSTTYP(I) = 3
Read [ITF]ITF0=WSCOITMREF(I);WMFGFCY
If !fstat : WSCOLTI(I)= [F:ITF]OFS : Endif
Endif
Next I
Return
SCOSCDCOD: Scheduling of sub-contracted operation
This entry point is used to avoid forcing sub-contract operations as "Successor" at the scheduling level.
Context and operating mode
This entry point is called when a sub-contract operation is loaded.
Available screen and file classes
The JALK class is on line.
Use
The GPE variable is initialized to zero. By setting it to another value, you can avoid forcing WSCDCOD(I).
ROOTIMCOD: Calculation of the operating time
This entry point is used to adjust the parameters of the routing operation before the calculation of the operating time, with MRP in progress, especially in case of Rate, but also for the other possible cases.
Context and operating mode
This entry point is called by the MRP during the different operating time calculation cases, based on the time type of the [F:ROO]ROOTIMCOD operation.
Available screen and file classes
The [F:ROO] class is on line.
Use
Ad-hoc completion/replacement of the [F:ROO] setup data.
The following formulas are used based on the type of operating time [F:ROO]ROOTIMCOD:
Case
[F:ROO]ROOTIMCOD # based on operating time typeWhen 1: # proportional (time = (quantity * time) / base quantity)WEXTOPETIM = WEXTQTY * [F:ROO]OPETIM) / [F:ROO]BASQTY
When 2: # rate (time = quantity / rate)If [F:ROO]CAD <> 0 WEXTOPETIM = WEXTQTY / [F:ROO]CAD EndifWhen 3: # fixedWEXTOPETIM = [F:ROO]OPETIM
Endcase