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 type

When 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 Endif

When 3: # fixed

WEXTOPETIM = [F:ROO]OPETIM

Endcase