Entry Points > Modulo Produzione > Script standard JALLIB 

SCDRMNTIM: Presa in considerazione dei tempi residui

Questo entry point permette di intervenire sui tempi residui presi in considerazione nella schedulazione (setup e operativo).

Contesto e modalità di funzionamento

Alla lettura di ogni operazione nell'ambito della schedulazione.

Classi file e videate disponibili

Le classi MFO, SCH, MFG e ITF sono in linea.

Utilizzo

Questo entry point è stato concepito per permettere di intervenire sui tempi residui di ogni operazione.

Il codice è il seguente:

#---------

# EP per modificare i tempi residui

# EP se 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

Le variabili WSETTIM(I), WOPETIM(I) e WOPTTIM(I) possono essere alimentate dall'entry point in sostituzione all'alimentazione standard (GPE=1).

Tabelle aperte 

Nel riquadro sottostante, il flag contenuto significativo indica che il contenuto è allineato al contesto (...).

Tabella

Contenuto significativo

Descrizione Tabella

MFGHEAD

OP

MFGOPE

Operazioni OP

SCHEDULING

Dati di schedulazione OP

ITMFACILIT

Articolo/sito

FACILITY

Siti

MATUPDDIS: Disattivazione aggiornamento dei materiali

Questo entry point permette di disattivare l'aggiornamento delle date di fabbisogno materiali durante la schedulazione.

Contesto e modalità di funzionamento

Prima dell'aggiornamento dell'ordine di produzione secondo i risultati della schedulazione.

Classi file e videate disponibili

La classe MFG è in linea.

Utilizzo

Questo entry point è stato concepito per permettere di disattivare l'aggiornamento dei materiali (date fabbisogno) nell'ambito della schedulazione.

Per procedere a questa disattivazione, posizionare la variabile globale GPE al valore 1.

Per conoscere il contesto (funzione chiamante), testare la variabile globale GFONCTION.

Tabelle aperte 

Nel riquadro sottostante, il flag contenuto significativo indica che il contenuto è allineato al contesto (...).

Tabella

Contenuto significativo

Descrizione Tabella

MFGHEAD

OP

MFGOPE

No

Operazioni OP

MFGMAT

No

Materiali OP

SCHEDULING

No

Dati di schedulazione OP

ITMFACILIT

No

Articolo/sito

FACILITY

Siti

INITSCD: Inizializzazione schedulazione

Questo entry point permette di inizializzare alcune variabili della schedulazione, in particolare la dimensione del riquadro di calcolo che limita la durata massima di una produzione.

Contesto e modalità di funzionamento

Questo entry point viene richiamato non appena si entra nel sotto-programma di schedulazione.

Classi file e videate disponibili

La classe JALK è in linea.

Utilizzo

Questo entry point è stato concepito per permettere di modificare la dimensione dell'orizzonte di calcolo della schedulazione.

Questo orizzonte è espresso dalla variabile intera OFFSETCAL (inizializzata di default a 200) . Questo margine limita la durata massima di una produzione. Al di là di questa soglia le operazioni non sono più schedulate.

Tramite questo entry point, il margine può essere esteso per trattare dei casi particolari di produzione lunga.

ENDSCD: Fine schedulazione

Questo entry point permette di intervenire alla fine della schedulazione degli OP pianificati e confermati subito dopo l'aggiornamento delle tabelle.

Contesto e modalità di funzionamento

Questo entry point viene richiamato dopo l'aggiornamento delle tabelle nel sotto-programma di schedulazione.  

Classi file e videate disponibili

La classe JALK è in linea.

Utilizzo

Questo entry point è stato concepito per intervenire alla fine della schedulazione.

E' posizionato subito dopo l'aggiornamento tabelle e prima dell'istruzione commit. 

INIT_JAL: Inizializzazione della schedulazione

Questo entry point permette di intervenire sull'insieme delle operazioni caricate in memoria prima del calcolo della schedulazione per intervenire su alcuni valori.

Contesto e modalità di funzionamento

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

Utilizzo

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

SCOSCDCOD: Schedulazione operazione in conto lavoro

Questo entry point permette di evitare che le operazioni di conto lavoro vengano forzate in qualità di "Successore" a livello della schedulazione.

Contesto e modalità di funzionamento

Questo entry point viene chiamato durante il caricamento di un'operazione di conto lavoro.  

Classi file e videate disponibili

La classe JALK è in linea.

Utilizzo

La variabile GPE viene inizializzata a zero. Alimentarla con un altro valore permette di evitare la forzatura di WSCDCOD(I).

 

ROOTIMCOD: Calcolo del tempo operativo

Questo entry point permette di rettificare i parametri dell'operazione di ciclo prima del calcolo del tempo operativo, in corso di MRP, in particolare in caso di Cadenza, ma anche per gli altri casi possibili.

Contesto e modalità di funzionamento

Questo entry point viene chiamato dal MRP durante i differenti casi di calcolo del tempo operativo a seconda del tipo di tempo dell'operazione [F:ROO]ROOTIMCOD.  

Classi file e videate disponibili

La classe [F:ROO] è in linea.

Utilizzo

Completare/sostituire in maniera puntuale i dati parametrizzazione di [F:ROO].

Vengono utilizzate le formule seguenti a seconda del tipo di tempo operativo  [F:ROO]ROOTIMCOD:

Case

[F:ROO]ROOTIMCOD# secondo il tipo tempo operativo

When 1:# proporzonale (tempo = (quantità * tempo) / quantité base)

WEXTOPETIM = WEXTQTY * [F:ROO]OPETIM) / [F:ROO]BASQTY

When 2:# cadenza (tempo = quantità / cadenza)

If [F:ROO]CAD <> 0 WEXTOPETIM = WEXTQTY / [F:ROO]CADEndif

When 3:# forfait

WEXTOPETIM = [F:ROO]OPETIM

Endcase