SBBWST: Differentiating work center resources

This entry point is used to differentiate the various main work centers in the scheduling (as sub-work centers).

To do this, updates are required:

- When extracting the work center data (splitting the work centers into as many sub-work centers as necessary)

- When extracting operations (assigning the operation to the relevant work center according to a defined setup)

When updating once the scheduling is complete (the criteria is updated). See the OPTLIBA process.

Example:

To differentiate work centers based on tooling, the P1 work center can be broken down as follows:

P1           - 00

P1           - 01 Tool1

P1           - 02 Tool2

Work center 00 is always available for the operations not defined according to this criteria.

Context and operating method

Transaction

There is no transaction in progress.

Log file                        

It is possible to have an open log file (according to the scheduling launch setup).

Different call cases

The entry point is called twice, each call is identifiable by the global variable GSBBWST :

GSBBWST  = « LOADWST »                       

Extraction of the work centres, the entry point must enter the criteria list for work centre shortage.

To do this, the XSBBT(15)(100) table must be loaded by taking into account on leaving the first index (0) set to blank. The NBSBB variable must contain the number of entered lines. The GPE global variable must be set to 1 to signify that the work centre is subject to the distinction.

For instance     :

XSBBT(0) = ""

XSBBT(1) = "OUTIL1"

XSBBT(2) = "OUTIL2"

NBSBB    = 3

GPE = 1

 

GSBBWST  = « LOADOPE »                        

Operation extraction, the entry point must supply the distinction criterion in the form of a field in the MFGOPE table, for which it is necessary to enter the alphanumerical variable XSCHSBB (length 15).

The XSBBT grid must be loaded again if necessary.

For instance     :

XSCHSBB = "EQUNUM"     # Standard tool field

If [F:MWS]WST <> XWST

XSBBT(0) = ""

XSBBT(1) = "OUTIL1"

XSBBT(2) = "OUTIL2"

NBSBB    = 3

Endif

GPE = 1

 

Important:

As it is necessary to pass through the MFGOPE table to find the criteria used, a class [F :MFO2] has been specially opened for this use ([F :MFO] class) is on line and must not be modified.

 

 

Available variables and masks

During the first call (GSBBWST = « LOADWST »), the [F :MWS] class is online.

During the second call (GSBBWST = « LOADOPE »), the [F :MWS] and [F :MFO] and classes are on line.

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

No

WO header

MFGITM

No

Released products

MFGMAT

No

Materials

MFGOPE

No

Operations (MFO + MFO2)

SCHEDULING

No

Scheduling data

WORKSTATIO

No

Work centers

TABWEEDIA

No

Weekly structures

ITMMASTER

No

Product

ITMFACILIT

No

Product/site

 

OPE_FOCUS : Highligthing of operations at the scheduling's launch

 

This entry point is used to define a list of operations that should be highlighted at the initial display of the Gantt.

It is also used to change the screentip's content linked to the operation.

Context and operating method

Transaction

There is no transaction in progress.

Log file                        

It is possible to have an open log file (according to the scheduling launch setup).

Different call cases

The entry point is called upon the extraction of each operation.

The [M :OPTK] mask is on line at the moment of the call.

The [F :MFG], [F :MFO] and [F :SCH] classes are on line with a significant content.

The highlighting of an operation is formulated by a call to the WRITE_FOCUS subprogram of the OPTLIBB process.          

Subprog WRITE_FOCUS(LFCY, LCOD, LOK, LMESS)

With :

Char     LFCY  : Production site

Char     LCOD  : response code

"000" = focus-type action (stable value)

Integer  LOK   : Focus indicator

0 = no focus (only the replacement of the screentip's text)

1 = active focus

Char     LMESS : Message to be displayed in scheduling

The identification of the opération must be entered in the [M :OPW1] mask (MFGNUM, OPENUM, OPESPLNUM). 

Implementation example

###########################################################################

$ACTION

ACTION example

 When "OPE_FOCUS"      : Gosub OPE_FOCUS

Endcase

Return

$OPE_FOCUS

Local Integer IOK     : IOK = 0

Local Char    XMESS(250)  

Local Char    WCHAIN, WSPECHAR

 

# pour test, operations that contain a tool are flagged to be highlitened

If [F:MFO]EQUNUM = "" : Return :     Endif

# when writing a chain of character, be careful not to include any comas, semi-colons or any other incompatible character ...

WCHAIN     = [M:OPTK]ITMREF

WSPECHAR   = ","

Gosub REMOVE_CHAR From OPTLIB

[M:OPTK]ITMREF = WCHAIN

 

WCHAIN     = [M:OPTK]ITMREF

WSPECHAR   = ";"

Gosub REMOVE_CHAR From OPTLIB

[M:OPTK]ITMREF = WCHAIN

 

# when writing a chain of character, be careful not to include any comas, semi-colons or any other incompatible character ...

WCHAIN     = [M:OPTK]ITMDES1

WSPECHAR   = ","

Gosub REMOVE_CHAR From OPTLIB

[M:OPTK]ITMDES1 = WCHAIN

 

# when writing a chain of character, be careful not to include any comas, semi-colons or any other incompatible character ...

WCHAIN     = [M:OPTK]ITMDES1

WSPECHAR   = ";"

Gosub REMOVE_CHAR From OPTLIB

[M:OPTK]ITMDES1 = WCHAIN

 

 

XMESS = [F:MFO]MFGNUM+"/"+num$([F:MFO]OPENUM)-[M:OPTK]ITMREF-[M:OPTK]ITMDES1-"____(Focus positionned on theis operation ...)    "

 

[M:OPW1]MFGNUM = [F:MFO]MFGNUM

[M:OPW1]OPENUM = [F:MFO]OPENUM

[M:OPW1]OPESPLNUM = [F:MFO]OPESPLNUM

 

Call WRITE_FOCUS([F:MFO]MFGFCY, "000", IOK, XMESS) From OPTLIBB

Return

 

 

 

 

 
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

WO header

MFGOPE

Yes

Operations

SCHEDULING

Yes

Scheduling data

INIT_JAL : Initialization of the scheduling

This entry point is used on all the operations loaded in memory and before the extraction towards the scheduling in order to be used on specific values.

Context and operating method

This entry point is used on the list of operations loaded in memory.

The available variables for each operation are:

Local Shortint WOPENUM (NBOPMX)           : # oper number
Local Shortint WOPESPLNUM (NBOPMX)        : # fract. oper
Local Char    WWST    (GLONWST) (NBOPMX)  : # workstation
Local Char    WLAB    (GLONWST) (NBOPMX)  : # labour
Local Decimal WSETLABC(NBOPMX)            : # labour setting coeff
Local Decimal WOPELABC(NBOPMX)            : # labour oper coeff
Local Integer WOPESTA (NBOPMX)            : # operation status
Local Date    WOPEEND (NBOPMX)            : # start date
Local Date    WOPEEND (NBOPMX)            : # end date
Local Date    WOPEEND (NBOPMX)            : # number of workstations
Local Integer WLABN   (NBOPMX)            : # number of persons
Local Integer WPRPTIM (NBOPMX)            : # preparation time
Local Decimal WSETTIM (NBOPMX)            : # setting time for 1 ex
Local Decimal WOPETIM (NBOPMX)            : # operationg time for 1 ex
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 hour
Local Char    WFRCHOU(5)(NBOPMX)            # Heure forcée au format hh:mm          
Local Decimal WFRCSTRF(NBOPMX)            : # Forced stard day fraction
Local Integer WFRCFLG (NBOPMX)            : # Forced oper start flag
Local Integer WWSTTYP (NBOPMX)            : # subcontract code
Local Decimal WSCOLTI (NBOPMX)            : # subcontract delay
Local Char    WWIPNUM (GLONVCR)(NBOPMX)   : # subcontract credit number
Local Char    WSCOITMREF(GLONITM)(NBOPMX) : # subcontract product
Local Integer WSCDCOD (NBOPMX)            : # scheduling code
Local Integer WNEXOPEN (NBOPMX)           : # next op number op
Local Integer WNEXSPLN (NBOPMX)           : # next op. fract. (created in PG)
Local Integer WOPERG (NBOPMX)             : # op rank
Local Integer WOPETRT (NBOPMX)            : # ope processed in classification
Local Decimal WSCDPCT (NBOPMX)            : # % chev

 Use

Example of a code for the replacement of the subcontract product purchase delay by the product/site delay:

$ACTION

ACTION example

      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