Estrazione dei centri di lavoro, l'entry point deve alimentare la lista dei criteri di rottura del centro.
Per fare ciò, il riquadro XSBBT(15)(100) deve essere alimentato prendendosi cura di lasciare il primo indice (0) a blank. La variabile NBSBB deve contenere il numero di righe alimentate. La variable globale GPE deve essere posizionata ad 1 per indicare che il centro è soggetto a distinzione
Esempio:
XSBBT(0) = ""
XSBBT(1) = "OUTIL1"
XSBBT(2) = "OUTIL2"
NBSBB = 3
GPE = 1
GSBBWST = « LOADOPE »
Estrazione delle operazioni, l'entry point deve fornire il criterio di distinzione sotto forma di un campo della tabella MFGOPE, per effettuare ciò bisogna alimentare la variabile alfanumerica XSCHSBB (lunghezza 15).
Il riquadro XSBBT deve essere nuovamente ricaricato se necessario.
Esempio:
XSCHSBB = "EQUNUM" # Campo standard strumentazione
If [F:MWS]WST <> XWST
XSBBT(0) = ""
XSBBT(1) = "OUTIL1"
XSBBT(2) = "OUTIL2"
NBSBB = 3
Endif
GPE = 1
Importante:
Siccome può essere necessario scorrere la tabella MFGOPE per ritrovare i criteri utilizzati, una classe [F :MFO2] è stata aperta apposta per tale utilizzo (la classe [F :MFO] è in linea e non deve essere modificata
Durante la prima chiamata (GSBBWST = « LOADWST »), la classe [F :MWS] è in linea.
Durante la seconda chiamata (GSBBWST = « LOADOPE »), le classi [F :MWS] e [F :MFO] sono in linea.
Nel riquadro sottostante, il flag contenuto significativo indica che il contenuto è allineato al contesto.
Tabella | Contenuto significativo | Descrizione Tabella |
MFGHEAD | No | Testata OP |
MFGITM | No | Articoli lanciati |
MFGMAT | No | Materiali |
MFGOPE | No | Operazioni (MFO + MFO2) |
SCHEDULING | No | Dati di schedulazione |
WORKSTATIO | No | Centri di lavoro |
TABWEEDIA | No | Schemi settimanali |
ITMMASTER | No | Articolo |
ITMFACILIT | No | Articolo/Sito |
Questo entry point permette di realizzare la definizione di un elenco di operazioni che devono essere evidenziate alla visualizzazione iniziale del gantt. Permette anche di sostituire il contenuto del tooltip collegato all'operazione.
Non ci sono transazioni in corso.
Può esserci un file traccia aperto (a seconda del parametro di lancio della schedulazione).
L'entry point è chiamato all'estrazione di ogni operazione.
La videata [M :OPTK] è in linea al momento della chiamata.
Le classi [F :MFG], [F :MFO] e [F :SCH] sono in linea con un contenuto significativo.
L'evidenziazione una operazione avviene mediante una chiamata al sotto programma WRITE_FOCUS del programma OPTLIBB.
Subprog WRITE_FOCUS(LFCY, LCOD, LOK, LMESS)
Con:
Char LFCY : sito di produzione
Char LCOD : codice risposta
"000" = azione di tipo focus (valore costante)
Integer LOK : Flag focus
0 = nessun focus (solo sostituzione testo tooltip)
1 = focus attivo
Char LMESS : Messaggio da visualizzare nel tooltip
L’identificazione dell'operazione deve essere alimentata nella videata [M :OPW1] (MFGNUM, OPENUM, OPESPLNUM).
###########################################################################
$ACTION
Case ACTION
When "OPE_FOCUS" : Gosub OPE_FOCUS
Endcase
Return
$OPE_FOCUS
Local Integer IOK : IOK = 0
Local Char XMESS(250)
Local Char WCHAIN, WSPECHAR
# per test, si evidenziano le operazioni che implicano uno strumento come se fosse da evidenziare
If [F:MFO]EQUNUM = "" : Return: Endif
# quando si scrive una stringa, assicurarsi sempre che questa non contenga virgola, punto e virgola ...
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
# quando si scrive una stringa, assicurarsi sempre che questa non contenga virgola, punta e virgola, ...
WCHAIN = [M:OPTK]ITMDES1
WSPECHAR = ","
Gosub REMOVE_CHAR From OPTLIB
[M:OPTK]ITMDES1 = WCHAIN
# quando si scrive una stringa, assicurarsi sempre che questa non contenga virgola, punta e virgola, ...
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 posizionato su questa operazione ...) "
[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
Nel riquadro sottostante, il flag contenuto significativo indica che il contenuto è allineato al contesto.
Tabella | Contenuto significativo | Descrizione Tabella |
MFGHEAD | Si | Testata OP |
MFGOPE | Si | Operazioni |
SCHEDULING | Si | Dati di schedulazione |
Questo entry point permette di intervenire su tutte le operazioni caricate in memoria prima dell'estrazione delle operazioni verso la schedulazione per intervenire su alcuni valori.
si tratta qui di intervenire sull'elenco delle operazioni caricate in memoria.
Le variabili disponibili per ogni operazione sono:
Local Shortint WOPENUM (NBOPMX) : # numero oper
Local Shortint WOPESPLNUM (NBOPMX) : # fraz. oper
Local Char WWST (GLONWST) (NBOPMX) : # centro
Local Char WLAB (GLONWST) (NBOPMX) : # manodopera
Local Decimal WSETLABC(NBOPMXX) : # coeff setup MO
Local Decimal WOPELABC(NBOPMX) : # coeff oper MO
Local Integer WOPESTA (NBOPMX) : # stato operazione
Local Date WOPESTR (NBOPMX) : # data inizio
Local Date WOPESTR (NBOPMX) : # data fine
Local Date WOPESTR (NBOPMX) : # n° di centri
Local Integer WLABN (NBOPMX) : # n° di persone
Local Integer WLABN (NBOPMX) : # tempo preparazione
Local Decimal WSETTIM (NBOPMX) : # tempo setup per 1 ex
Local Decimal WOPETIM (NBOPMX) : # tempo operativo per 1 ex
Local Decimal WOPETIM (NBOPMX) : # tempo attesa
Local Decimal WSETTIM (NBOPMX) : # tempo post oper
Local Decimal WQTY (NBOPMX) : # quantità residua
Local Date WOPESTR (NBOPMX) : # data inizio forzato
Local Decimal WFRCSTRH (NBOPMX) : # Ora inizio forzato
Local Char WFRCHOU(5)(NBOPMX) # Ora forzata nel formato hh:mm
Local Decimal WFRCSTRF(NBOPMX) : # Frazione di giorno inizio forzato
Local Integer WFRCFLG (NBOPMX) : # Flag oper inizio forzato
Local Integer WWSTTYP (NBOPMX) : # codice conto lavoro
Local Decimal WSCOLTI (NBOPMX) : # lead time conto lavoro
Local Char WWIPNUM (GLONVCR)(NBOPMX) : # n° incorso conto lavoro
Local Char WSCOITMREF(GLONITM)(NBOPMX) : # articolo conto lavoro
Local Integer WSCDCOD (NBOPMX) : # codice schedulazione
Local Integer WNEXOPEN (NBOPMX) : # n° op successiva
Local Integer WNEXSPLN (NBOPMX) : # fraz. op successiva (creata in PG)
Local Integer WOPERG (NBOPMX) : # posizione op
Local Integer WOPETRT (NBOPMX) : # ope programmata in ordinamento
Local Decimal WSCDPCT (NBOPMX) : # % sovr
Esempio di codice per sostituire il lead time di acquisto articolo di un servizio di conto lavoro con il lead time articolo/sito:
$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