Skip to main content

Maestri della pianificazione: guide pratiche

Qui troverete una serie di tutorial pensati per guidarvi passo dopo passo a rispondere in modo rapido, efficace e documentabile alle sfide della pianificazione con APYESSE.
Scoprite come governare le complessità della supply chain e portate le vostre competenze e le performance della vostra azienda ad un più alto livello!

Come importare i dati in Apyesse

Una volta acquistato Apyesse e ottenuto il programma di setup, i passaggi per l’installazione sono semplici e guidati e non richiedono competenze sistemistiche, nè l’installazione di componenti di terze parti. In questo tutorial viene utilizzata la base dati dimostrativa installabile in modo opzionale con Apyesse.  Tale database (Sqlite) simula il ruolo del sistema gestionale aziendale e permette all’utente di provare le funzionalità di Apyesse in autonomia.

Una volta avviato Apyesse per la prima volta, l’operazione successiva da eseguire è la creazione di un archivio dati:

  • dal menu ‘Database’ si sceglie la voce ‘Nuovo’
  • quindi si seleziona il percorso e il nome del database

Ora servono i dati su cui lavorare. Questi possono essere importati da una fonte esterna (tipicamete il sistema ERP) o, nel caso di simulazioni, possono essere creati da uno script Python, il linguaggio che usa Apyesse per automatizzare le attività.

Come accennato in precedenza, in questo tutorial useremo un database dimostrativo per simulare la fonte dati costituita dall’ERP e importeremo i dati da esso tramite una connessione ODBC (per il database dimostrativo questa connessione viene già creata durante l’installazione guidata di Apyesse).

Dopo aver creato il database, si clicca sul tasto rappresentato nella figura seguente per la creazione guidata di una procedura di caricamento dati in Apyesse

A questo punto si apre la prima pagina di un wizard che facilita la creazione di una procedura per alimentare la base dati di Apyesse. Il primo passaggio è la definizione di un progetto di scambio dati, scegliendone uno nuovo o uno già esistente da modificare. In relazione all’immagine seguente:

  1. se si sceglie di avviare un nuovo progetto di integrazione si definisce il suo nome
  2. e si sceglie il tipo di tecnologia di scambio dati da utilizzare
  3. altrimenti, se sono già stati creati progetti di scambio precedenti, se fa doppio click sul progetto corrispondente

A questo punto, ipotizzando di proseguire nella procedura guidata per la creazione di un progetto nuovo di scambio dati, dopo la selezione del tipo ODBC si apre la finestra di dialogo seguente, dove:

  1. si seleziona da un elenco la connessione ODBC da utilizzare per accedere ai dati che si vogliono importare in Apyesse. La connessione per il database dimostrativo viene già creata durante l’installazione di Apyesse mentre per il database del proprio ERP o altri database è necessario impostarla manualmente con le modalità previste da Windows o scegliendo dall’elenco l’ultima voce “Crea nuova connessione..”
  2. si indica il nome dell’azienda (reale o ipotetica) da associare al modello dati
  3. quindi si clicca su ‘+’ per cominciare a mappare le varie tabelle tra il database della fonte dati e quello di Apyesse

Con il primo click sul tasto ‘+’ si apre, usando il database dimostrativo, la seguente finestra di dialogo, strutturata nel seguente modo, con riferimento all’immagine che segue:

  1. viene creata anzitutto una pagina per la mappatura dei dati delle anagrafiche delle aziende
  2. si seleziona dall’elenco il nome della tabella della fonte dati (tabella host) che contiene l’anagrafica delle aziende
  3. una volta selezionato il nome della tabella, viene aggiornata la lista dei campi selezionabili da questa tabella
  4. i campi selezionati dalla lista al punto precedente compaiono in questa sezione; è possibile anche inserire delle costanti o delle espressioni SQL
  5. questa lista contiene i nomi delle tabelle del database di Apyesse. Selezionando una tabella si aggiorna il nome della pagina (1), comunque modificabile con click destro sulla linguetta, e viene mostrato l’elenco del campi della tabella (6)
  6. l’elenco dei campi della tabella si apre già con i campi principali e quelli obbligatori selezionati, per facilitare l’operatività dell’utente
  7. i campi della tabella di Apyesse selezionati vengono riportati in questo elenco e possono essere spostati in corrispondenza di quelli su cui vanno mappati della tabella host (4)
  8. questi pulsanti consentono di verificare, testare e modificare lo statement SQL che viene generato dalla selezione della tabella e dei campi host
  9. infine, dopo aver mappato le varie tabelle, se clicca su ‘Salva’ per salvare il progetto di scambio dati e per generare lo script Python che verrà poi utilizzato per l’importazione dati in APS

Una volta salvato il progetto di scambio dati e creato lo script Python di importazione dati:

  1. si seleziona lo script
  2. si lancia la sua esecuzione

Una volta terminata l’importazione dei dati in Apyesse è possibile lanciare i motori di calcolo, consultare il piano e prendere decisioni. A tal fine si possono creare viste e disposizioni di finestre personalizzate per operare nel modo più efficace ed efficiente

Configurazione dell’interfaccia grafica

In questo paragrafo viene descritto come configurare le finestre grafiche per facilitare la consultazione dei dati e le velocizzare le decisioni. In particolare viene proposta una possibile disposizione di finestre per l’analisi delle proposte di acquisto.

Importati i dati, per le generare le proposte di riordino per i materiali di acquisto e produzione bisogna eseguire il MRP cliccando sul tasto . Dopo qualche secondo, nel sistema saranno presenti le proposte d’ordine.

A questo punto vogliamo creare una disposizione di finestre che ci consenta di individuare facilmenet gli acquisti da fare nell’immediato e capire rapidamente i motivi per cui tali acquisti servono.

Si apra la finestra “Diagramma ordini” dal seguente tasto della toolbar  e nella finestra che si apre sei impostino i filtri come in figura:

Di tutti gli ordini e proposte presenti nel sistema abbiamo ristretto l’attenzione a quelli buy (B) con stato di proposta (0) e con una data di prevista emissione entro una settimana. A questo punto vogliamo associare a questa vista il pegging dei fabbisogni per avere immediata evidenza delle ragioni che hanno portato il sistema a farci queste proposte.

Come prima operazione clicchiamo sul tasto della toolbar in modo che le prossime finestre che apriremo da menu contestuali siano collegate a quella iniziale. Quindi cliccando con il tasto destro del mouse sul numeratore della proposta si sceglie dal menu contestuale “Finestre” e quindi “Ordini assiemi”.

Si aprirà accanto alla finestra originaria un’altra finestra che mostra per quali ordini è richiesto materiale dalla nostra proposta. E’ importante sottolineare che queste due finestra risultano tra loro collegate: se nella prima finestra si clicca su una cella della proposta MF00000009, la seconda finestra si aggiorna e mostrerà il reticolo degli ordini assiemi di tale proposta.

Possiamo ora salvare questa disposizione di finestre per riutilizzarla in sessioni di pianificazione successive operando nel seguente modo:

  • si clicca sul tasto della toolbar
  • nella finestra di dialogo si inserisce un nome per la disposizione ed eventualmente un gruppo di appartenenza, come in figura

  • dopo aver cliccato su Ok, la nuova disposizione sarà richiamabile dal menu delle disposizioni come in figura

Alcune note:

  • è possibile collegare anche altre finestre a queste e salvare le aggiunte cliccando su “Salva disposizione corrente” del menu precedente
  • non c’è limite al numero di disposizioni creabili
  • alla disposizione creata possono essere fatte modifiche per analizzare, per esempio, la situazione di un singolo fornitore, in modo verificare sia le nuove proposte che le eventuali necessità di sollecito di ordini già emessi. Per far ciò è sufficiente modificare i filtri nella prima vista

Si tenga inoltre presente che per ogni finestra sono disponibili diverse opzioni di visualizzazione, accessibili mediante il pulsante che si trova nell’angolo in alto a sinistra della finestra e che opera sulla finestra attualmente selezionata.

Schedulazione a capacità finita

Una delle principali distinzioni da conoscere nell’ambito della pianificazione della supply chain è quella tra pianificazione a capacità infinita e a capacità finita.

La pianificazione a capacità infinita:

  • Crea piani che rispettano le sequenze delle attività in base alla struttura di prodotto ma senza risolvere il contemporaneo impegno delle risorse produttive (macchine, personale)
  • È utile per valutare gli adeguamenti di capacità produttiva richiesti per rispettare le date di consegna ai clienti
  • È il solo tipo di pianificazione offerto dai moduli MRP dei sistemi gestionali (ERP), perché richiede minori complessità di elaborazione

Invece la pianificazione a capacità finita:

  • Gestisce l’impegno concorrente di risorse produttive e data gli ordini di conseguenza
  • È indispensabile per creare piani fattibili e credibili, soprattutto nel breve periodo, quando la capacità produttiva non può essere adeguata
  • È generalmente offerta dai sistemi APS, anche se con diversi livelli di sofisticazione (alcuni sistemi considerano i componenti degli ordini sempre disponibili e si limitano a sequenziare gli ordini su una determinata risorsa)

In questo tutorial viene descritto il modello dati e la logica utilizzata da Apyesse per supportare la pianificazione a capacità infinita e quella a capacità finita.

La pianificazione a capacità infinita è calcolata dai motori di calcolo MRP e CRP, eseguiti contemporaneamente cliccando sul tasto della toolbar o richiamando la corrispondente funzione da script Python. Il risultato di questa elaborazione è esemplificato nella figura che segue (limitata ad un solo ordine di vendita per semplicità di esposizione). In questa figura:

  • La barra piena rappresenta un ordine di vendita: l’estremità sinistra si trova in corrispondenza dell’acquisizione ordine e il termine della barra è in corrispondenza della data richiesta di consegna
  • Le barre sottostanti rappresentano ordini di acquisto (sono retinati) e di produzione (contengono barre colorante che rappresentano le fasi di lavorazione). I colori di questi rettangoli sono associati agli stati: rettangoli con contorno blu sono proposto mentre gli altri sono ordini già emessi o rilasciati
  • Le linee rosse che collegano i vari ordini rappresentano gli abbinamenti tra impegni ed arrivi previsti
  • Poiché il calcolo MRP parte dalla data fine e procede nei calcoli a ritroso nel tempo (back scheduling), possono presentarsi situazioni in cui le proposte d’ordine sono nel passato
  • Inoltre alcuni ordini già emessi possono avere data di arrivo posteriore rispetto a uno o più fabbisogni che devono soddisfare (se un componente è già disponibili in giacenza non vengono visualizzati suoi ordini dai attendere in questo tipo di diagramma

Poiché all’interno del piano sono contemporaneamente presenti più fabbisogni indipendenti (ordini di vendita o previsioni), reticoli analoghi, ordini e proposti sono presenti in larga misura e, per il fatto che l’elaborazione è fatta a capacità infinita, si possono creare situazioni come quella in figura per qualche risorsa (carico superiore alla capacità produttiva).

E’ utile rilevare queste situazioni perché permettono di valutare se aumentare la capacità produttiva nei periodi di sovraccarico (per esempio aumentando i turni o ricorrendo a capacità produttiva esterna all’azienda) ma è anche importante poter ricalcolare il piano nel rispetto dei vincoli di capacità produttiva laddove questi non possono essere rimossi.

Se guardiamo la lista delle fasi di lavorazione per centro 001 di cui sopra è riportato il profilo di carico, vediamo che diverse sono contemporanee, nella pianificazione a capacità finita.

Ma se lanciamo l’esecuzione della schedulazione a capacità finita otteniamo il loro sequenziamento

E questo si riflette anche nella datazione delle fasi di lavorazione successive e degli altri ordini. In questa figura è rappresentato il reticolo già visto ma questa volta ridatato a capacità finita. Oltre a risolvere il vincolo della capacità finita delle macchine viene anche rispettato il vincolo sulla disponibilità dei materiali, infatti:

  • l’ordine MF00000072 non può cominciare prima che sia arrivato il componente CORDA con l’ordine B004
  • le proposte di acquisto nel passato sono ripianificato con data di prevista emissione pari alla data corrente e di previsto arrivo pari ad oggi più lead time di acquisto

Considerando il rispetto di tutti questi vincoli, la data di consegna simulata o schedulata per l’ordine di vendita C004 è in corrispondenza del triangolo rosso alla fine del rettangolo corrispondente. Oltre che per gli ordini di vendita, le date di inizio e fine schedulate sono calcolate per ogni tipo di ordine (acquisto, produzione, trasferimento), per le fasi di lavorazione e per gli impegni di magazzino. Tali date sono gestite in campi distinti rispetto a quelle della pianificazione a capacità infinita, che quindi non vengono sovrascritte. Pressoché in ogni finestra grafica di Apyesse è possibile visualizzare i risultati dei motori di calcolo in base alle date schedulate (calcolata dallo schedulatore) o con le cosiddette ‘pianificate’ (calcolate da MRP o CRP o importate da ERP o altri sistemi). Nella finestra grafica qui sopra, la visualizzazione degli ordini secondo le date schedulate si ottiene cambiando un’opzione sulle ‘impostazioni della finestra’ (menu accessibile dall’icona raffigurante un ingranaggio in alto a sinistra) oppure, più agevolmente, cliccando col tasto sinistro del mouse sull’area grafica mentre si tiene premuto il tasto ctrl.

Anche i profili di carico, come quello precedentemente rappresentato, possono essere rappresentati in base alla datazione dello schedulatore e, nel caso del centro di lavoro ‘001’ risulta essere come segue

Si noti che non esistono più sovraccarichi: questi sono stati ‘spianati’ per rispettare il vincolo di capacità produttiva. Oltre alla logica di base sopra esposta, sono disponibili molte opzioni per pilotare il comportamento del motore di calcolo a capacità finita FCS (finite capacity scheduler). Questi sono le principali.

Anticipo di rilascio

Questo parametro dell’anagrafica articoli (‘advance_release_days’) esprime in giorni lavorativi il possibile anticipo con cui lo schedulatore può simulare la produzione o l’acquisto di un ordine rispetto alle date pianificate (date calcolate a capacità infinita). Grazie a questo parametro, gli eventuali sovraccarichi possono essere risolti non solo ritardando alcune lavorazioni ma anche anticipandole (l’anticipo di rilascio è il massino anticipo che può essere tentato se sono disponibili risorse e componenti dell’ordine). IL fatto che nell’ultima figura la prima settimana risulti satura, mentre a capacità infinita non lo era, è dovuto alla gestione di un anticipo di rilascio maggiore di zero che ha permesso di anticipare alcune lavorazioni

Centri di lavoro a capacità finita e infinita

Nell’anagrafica dei centri di lavoro, oltre ad associare il calendario ed i turni dello stesso, è possibile differenziare quali centri vadano gestiti a capacità finita e quali a capacità infinita mediante il flag ‘finite_capacity’. E’ anche possibile definire la gestione a capacità finita entro un certo orizzonte tramite il parametro ‘finite_capacity_horizon’ (oltre tale orizzonte il centro di lavoro è schedulato a capacità infinita). Questo tipo di parametrizzazione permette di gestire in modo verosimile le situazioni reali in cui oltre un certo orizzonte il carico di lavoro è basso (devono ancora essere acquisti gli ordini cliente del periodo) ed è possibile completare la gestione valorizzando il tempo di coda del centro di lavoro per avere una datazione più verosimile degli ordini

Svincolo componenti

In alcune realtà o in determinate condizioni di dati incompleti può essere utile considerare come vincolanti solo alcuni ordini o alcuni materiali. Per fare questo vanno svincolati tali ordini mettendo a 0 il flag ‘active’ nella tabella dei “legami tra ordini” o eseguire la stessa azione selezionando ‘esegui’à ‘svincola componenti’ da menu contestuale

Regole di sequenziamento

Oltre a consentire di anticipare alcune fasi di lavorazione per risolvere i sovraccarichi, l’anticipo di rilascio serve a definire un buffer dinamico di fasi di lavorazione tra cui lo schedulatore può scegliere per ottimizzare le sequenze di lavorazione. Con riferimento alla figura che segue, si tenga presente che ad ogni istante lo schedulatore guarda avanti un numero di giorni pari a quelli definiti sul materiale come anticipo di rilascio (quindi in generale diversi per materiali diversi) e individua una lista di ordini e di rispettive fasi che possono essere schedulati. Tra questi, se si impostano regole di sequenziamento e si associano alle fasi di lavorazione degli attributi (tabella ‘stato per ciclo di lavorazione’), si può indurre lo schedulatore e gestire sequenze di lavorazione in cui gli attributi sono per quanto possibile omogenei o seguono una determinate successione desiderata. SI tenga presente che tanto maggiore è l’anticipo di rilascio (lunghezza della freccia blu in figura) e tanto più facile diventa trovare fasi di lavorazione compatibili con quella di cui si sta simulando l’esecuzione (quindi si aumenta l’efficienza del piano). Si rischia però di anticipare lavorazioni convenienti a scapito di altri che servirebbe eseguire per consegnare ordini di vendita di prossima scadenza.

Nella figura che segue sono state impostate regole per rendere conveniente tenere assieme fasi viola/rosa e fasi verdi tra loro.

Per tutte queste parametrizzazioni è opportuno verificare nel dettaglio la documentazione di Apyesse e utilizzare gli archivi dimostrativi per fare dei test e chiarire eventuali dubbi di gestione.

Calcola una data di consegna

Una delle attività di pianificazione più ricorrenti è quella di stimare una data di consegna per un nuovo ordine cliente. Laddove non si utilizza un APS ci si accontenta spesso di sommare alla data corrente un lead time standard per tipologia di prodotto ma si tratta molto spesso di valutazioni molto grossolane, soprattutto in tempi caratterizzata da incertezza nelle forniture di materie prime e componenti e con domanda volubile.

Volendo utilizzare Apyesse per supportare questo tipo di processo abbiamo le seguenti operazioni da compiere:

  • Aprire Apyesse e il modello dati del piano corrente
  • Inserire il nuovo fabbisogno indipendente da datare (o eventualmente più fabbisogni se si tratta di una richiesta per diversi articoli)
  • Lanciare il calcolo in Apyesse
  • Leggere il risultato dell’elaborazione

Descriviamo l’operatività cominciando dal secondo punto, dando per scontata l’esecuzione del primo.

Inserire i nuovi fabbisogni indipendenti

Il modello di Apyesse viene generalmente alimentato da altri sistemi (ERP, MES) ma può essere integrato via script o tramite l’interfaccia utente da altri dati. Per calcolare la data di consegna di un ordine cliente ancora non acquisito è possibile simulare la sua acquisizione inserendolo in Apyesse dalla finestra di dialogo accessibile dal tasto “Crea ordine” della toolbar e scegliendo “Crea ordine..”.

Nella finestra di dialogo che si apre si valorizzano essenzialmente: l’articolo, la quantità, la data richiesta di consegna e si impostano altri parametri come riportato nell’immagine (in generale è possibile simulare l’inserimento anche di ordini tipo diverso da quelli di vendita). Il numero ordine è proposto direttamente dal sistema con la garanzia che non esiste già (è possibile modificarlo purchè sia univoco).

 

Al termine dell’inserimento del nuovo ordine con il tasto “Crea” si faranno girare i motori di calcolo per verificare se la data richiesta di consegna può essere soddisfatta o se quella calcolata è diversa.

Oltre a questa modalità di inserimento, è possibile sfruttarne un’altra, sempre da interfaccia utente, che può essere in molti casi più rapida. Supponiamo di aver ricevuto da un collega i fabbisogni da datare per un preventivo su foglio elettronico. E’ possibile copiare tali dati dal foglio elettronico e inserirli in Apyesse semplicemente incollandoli, rispettando alcune regole di formattazione e completezza piuttosto semplici. Si procede come segue:

  • Si prepara una vista in Apyesse in cui si incolleranno i dati del foglio elettronico, contenente i seguenti dati minimi (prima figura nel seguito)
  • Quindi si salva tale vista per riuso futuro (seconda figura, “Salva vista come..”)

 

A questo punto si selezionano i record dal foglio elettronico senza le intestazioni di colonna,

si preme su control+c, quindi si va sulla vista in Apyesse e si preme control+v.

 

A questo punto si può procedere con il calcolo della data di consegna

Eseguire i motori di calcolo

Ora le due operazioni da svolgere per calcolare la data di consegna dei nostri fabbisogni è far girare in successione MRP/CRP e schedulatore.

Se la data schedulata non ci soddisfa possiamo indagare su quali punti possiamo agire per migliorare il risultato. Generalmente entrambi i motori di calcolo girano in qualche secondo e la risposta sulla data di consegna può essere fornita al collega delle vendite nell’ambito di una telefonata o comunque in tempi molto brevi

Il risultato dell’elaborazione

Al termine del calcolo si può verificare che a fronte di una data richiesta del 28 Febbraio, il sistema, con i vincoli di capacità e disponibilità inseriti ha calcolata una data di consegna simulata pari al 11 Marzo. Generalmente è opportuno verificare come è maturato il risultato della data di consegna calcolata da Apyesse per fare alcune valutazioni.

Per esempio possono emergere criticità come quella in figura, che testimoniano che una data migliore potrebbe essere garantita al nostro cliente se il fornitore dell’ordine B004 fosse disposto ad anticipare la consegna della sua merce. Altre considerazioni potrebbero emergere dall’analisi dei profili di carico, che potrebbero indurre a variare la capacità produttiva disponibile per garantire date di consegna più favorevoli

Inoltre si tenga in considerazione il fatto che per soddisfare l’ordine inserito S00000009, il sistema può aver distratto materiali precedentemente allocati da altri ordini cliente per dedicarli a questo nuovo ordine. Laddove nell’allocazione delle disponibilità di materiali si vogliano privilegiare gli ordini di vendita precedentemente acquisiti è possibile agire in almeno due modi diversi:

  • configurando il MRP per priorità speciali, oggetto di un altra sezione dei tutorial
  • oppure cambiando stato ai legami tra ordini e a quelli tra fabbisogni e disponibilità in modo che il MRP non li rimetta in discussione con l’inserimento di nuovi fabbisogni

Simulare scenari

Uno dei principali vantaggi di Apyesse è che rende possibile simulare nuovi scenari a partire dallo stato corrente della produzione e del piano senza richiedere modifiche sul sistema gestionale, nè particolari competenze informatiche per modificare i dati. In questo tutorial vedremo quali sono i vari modi di variare i dati di input messi a disposizione del sistema in relazione ai tipi di cambiamenti all’assetto produttivo che si vogliono simulare.

Come modificare i dati

Modifica da griglie tabellari

Il contenuto delle tabelle di Apyesse è rappresentato mediante griglie dati e queste sono presenti anche in numerose viste grafiche, come per esempio nel diagramma ordini.

Per modificare un dato in una cella è sufficiente fare doppio click su una cella e digitare un nuovo valore o selezionarne uno da menu a cascata. Non è consentito modificare i valori che corrispondono a campi chiave o campi chiave di tabelle collegate.

Con le griglie dati è possibile modificare anche massivamente i dati. Per esempio, se vogliamo modificare la quantità degli ordini nella griglia si agisce come segue:

  • si clicca su una cella della della colonna della quantità
  • si apre il menu della vista (icona con ingranaggio) e si seleziona ‘Sostituisci i valori’ (si noti che la colonna su cui eseguire la sostituzione di massa è selezionabile anche da qui)

  • a questo punto si immette il nuovo valore in corrispondenza di ‘Nuovo valore’ e si clicca su ‘Sostituisci’

Qualora nella finestra di dialogo sopra indicata si imposta il flag ‘nuovo valore come espressione’, nella cella accanto a ‘Nuovo valore’ è possibile inserire delle espressioni Python per assegnare i nuovi valori. Per esempio con la seguente espressione si indica al sistema di sostituire la quantità corrente con una maggiorata del 20%

current.qty*1.2

oppure, abbreviando ‘current’ (che rappresenta il record corrente della griglia) con ‘c’:

c.qty*1.2

Si tenga presente che con questa modalità vengono modificati solo i record che compaiono nella griglia dati come risultato dei filtri, non quelli che i filtri nascondono.

Modifica da scheda

Un altro modo per modificare i dati consiste nel farlo utilizzando le schede dei singoli record. Tale scheda si apre facendo doppio click ad inizio di una riga oppure da menu contestuale , selezionando la voce ‘Scheda’. In questo caso si modifica il valore di una cella e poi si clicca su ‘Aggiorna’

Modifica da script

Modifica i dati da script è il modo più flessibile, sebbene richieda di conoscere un po’ di Python. Nel manuale di Apyesse sono descritte in modo più dettagliato le modalità di interazione con il database di Apyesse mentre qui si riporta come esempio quello dell’incremento delle quantità degli ordini di vendita del 20%.

Vediamo ora quali dati ha senso modificare per valutare nuovi scenari.

Modifiche al piano materiali

Tra i motivi per cui può essere utile modificare il piano materiali per simulare situazioni e scenari futuri ci possono essere, per esempio:

  • valutare l’impatto sull’assetto produttivo e sul flusso di cassa di incrementi delle vendite (previsioni di vendita al rialzo)
  • valutare l’impatto sulle consegne ai clienti e sul piano di produzione di allungamenti del lead time di consegna dei fornitori
  • valutare l’impatto sui livelli di magazzino di modifiche alle scorte di sicurezza dei materiali

Per aumentare i valori dei fabbisogni previsionali può essere utile operare come descritto in precedenza riguardo le sostituzioni di massa di valori in griglia dati. Questo tipo di interventi sui dati presuppongono che i record di forecast siano già presenti in Apyesse. Qualora non lo siano è possibile caricarli da script da diverse tipi di fonti dati, oppure da foglio elettronico con un copia e incolla come descritto nel tutorial riguardante lo scambio dati con Excel. Un discorso analogo vale per le scorte di sicurezza: se i record di scorta di sicurezza sono già caricati nella tabella ‘Scorta di sicurezza’ allora la modifica dei valori può essere fatta con una sostituzione di massa, altrimenti bisogna prima inserire i record nel database.

Relativamente al cambio dei tempi di consegna dei fornitori:

  • cambiando il lead time sull’anagrafica articoli risentono della modifica le proposte generate dal MRP
  • volendo cambiare anche le date di consegna degli ordini già emessi ai fornitori (per esempio per sopraggiunti problemi al fornitore), si possono modificare le date di consegna (‘duedate’) anche massivamente nel seguente modo (10 giorni è un esempio):

c.duedate+datetime.timedelta(days=10)

anche in questo caso si usa un’espressione Python per svolgere sostituzioni più articolate rispetto ad un singolo valore.

Modifiche al piano della capacità e dei carichi

Altre simulazioni possono riguardare il piano di capacità e carico, per esempio per valutare:

  • impatto sulle date di consegna ai clienti derivanti da turni aggiuntivi sui centri di lavoro
  • conseguenze sui carichi di lavoro derivanti da aumenti sulle previsioni di vendita
  • impatto sulle date di consegna ai clienti di fermi prolungati di alcune macchine

Abbiamo già descritto al punto precedente come simulare la variazione dei fabbisogni previsionali. L’impatto che queste hanno sui carichi di lavoro è visibile dopo che viene lanciato il MRP/CRP cliccando sul tasto .

Per quanto riguarda le modifiche alla capacità produttiva legate ai turni e ai calendari si agisce nel seguente modo.

Ad ogni centro di lavoro è associato, in quando obbligatorio, un calendario con dei turni. Il calendario associato ad uno (o più) centri di lavoro è visibile sulla scheda del centro di lavoro stesso o nelle griglie dati. Noto il nome del calendario, si può richiamarlo dalla finestra di dialogo che si apre dal tasto della toolbar  .

In questa finestra di dialogo troviamo:

  1. il menu per selezionare il calendario da consultare o modificare
  2. la visualizzazione dei giorni di cui esaminare i turni configurati
  3. alcuni tasti per creare un nuovo calendario, assegnarne uno esistente a centri di lavoro o fornitori, cancellarne dal database e un tasto per modificare le impostazioni di visualizzazione della finestra di dialogo
  4. alcune schede per verificare a quali centri di lavoro e aziende è associato il calendario
  5. il dettaglio dei turni attivi per il giorno selezionato nell’elemento di cui al punto 2
  6. un tasto per decidere di rimuovere i turni dal giorno o dai giorni selezionati su 2
  7. un tasto per assegnare nuovi turni al giorno od ai giorni selezionati in 2 (cliccandoci sopra si apre una finestra con i turni selezionabili)

Una volta fatte le modifiche, la capacità produttiva viene modificata ma è necessario rilanciare il MRP/CRP e lo schedulatore per far rivalutare al sistema le date di consegna possibili per gli ordini cliente.

Modifiche al piano schedulato

Dato un certo piano materiali e fissati anche il piano della capacità e del carico di lavoro, le simulazioni che si possono eseguire avendo come riferimento i calcoli ed i vincoli dello schedulatore possono essere, per esempio, i seguenti:

  • svincolare gli ordini di produzione da certi componenti provenienti da fornitori o da altri reparti per chiarire quanto le date di consegna ai clienti dipendano da colli di bottiglia interni o esterni
  • valutare l’impatto di diverse strategie di schedulazione sull’efficienza di produzione (meno attrezzaggi), sul rispetto delle date di consegna e sul WIP

Per lo svincolo dei componenti si può agire in modo selettivo sulla tabella dei Legami tra ordini per disattivare i record opportuni, rilassando così il vincolo di precedenza su alcuni ordini. Nel secondo caso i parametri da modificare possono essere molteplici e tra questi:

  • l’anticipo di rilascio degli ordini, ovvero l’orizzonte in giorni lavorativi usato dallo schedulatore, in modo differenziato per vari materiali, per determinare il buffer di ordini tra cui scegliere il prossimo da eseguire. Generalmente tanto maggiore è questo parametro e quanto più le sequenze calcolate sono efficienti in termini di ottimizzazione del setup ma a probabile discapito della puntualità delle consegne
  • gli attributi di cui mantenere continuità con i cambi di produzione (stessa vernice o stesso attrezzaggio della macchina, ecc), gestiti nelle tabelle di Stato per ciclo di lavorazione (vedasi la documentazione di Apyesse per maggior dettaglio.

 

Simulazione Montecarlo

Il tema trattato in questo paragrafo è senz’altro di un livello avanzato rispetto alle simulazioni descritte nei paragrafi precedenti e merita un’introduzione più articolata.

Quando si crea un piano di produzione e acquisto ad una certa data, vengono fatte della assunzioni di tipo deterministico su molti eventi del piano. Per esempio: si pianifica di iniziare un certo ordini di produzione tra 5 giorni perchè a quella data avremo la materia prima ordinata al fornitore e che, per sua conferma arriverà, per esempio, tra 3 giorni. In realtà l’ordine di produzione potrà iniziare tra cinque giorni se:

  • il fornitore è affidabile e ci consegnerà l’ordine per tempo
  • la produzione sulla stessa macchina nei prossimi 5 giorni non avrà variazioni significative, tali da dover ritardare la produzione del nostro ordine
  • la disponibilità della macchina è garantita (no guasti o assenteismo)
  • non intervengono motivi di urgenza (nuovi ordini cliente prioritari) a modificare il piano oggi stabilito

Nella realtà alcune perturbazioni ci sono sempre, in grado diverso a seconda di quanto sono predicibili i processi produttivi nostri e dei nostri fornitori. Quello che sicuramente è certo sono le decisioni da attuarsi nell’immediato, quelle che nel gergo si chiamano ‘decisioni di primo periodo’. Come facciamo ad essere ragionevolmente certi che a fronte di tutte le perturbazioni che può avere nel tempo il nostro sistema produttivo riusciamo a soddisfare il mercato in modo adeguato e sufficientemente predicibile? Per fare questo tipo di valutazioni si può ricorrere alle simulazioni Montecarlo, ovvero un tipo di simulazioni in cui si introducono perturbazioni agli eventi previsti per capire se l’andamento dell’azienda è sufficientemente al riparo da eventi non interamente governabili. Lo schema generale per eseguire una simulazione Montecarlo è il seguente (realizzabile mediante script Python):

  • si parte con il piano di produzione calcolato alla data di oggi con i dati attuali e si rilasciano alcuni ordini di produzione e di acquisto (quelli necessari nell’immediato)
  • quindi si simula l’avanzamento del tempo (per esempio si incrementa la data corrente di un giorno) e si apportano modifica ai dati di questo tipo:
    • ordini di acquisto che dovevano arrivare oggi vengono chiusi e viene incrementata in modo corrispondente la giacenze. Oppure si sceglie di versare solo alcuni ordini e mandarne altri in ritardo di consegna per simulare l’inaffidabilità delle consegne
    • si inseriscono nel sistema nuovi ordini cliente
    • si chiudono fasi di lavorazione che dovrebbero essere chiuse e se ne lasciano alcune aperte tra quelle che tra quelle che con il cambio data avrebbero dovuto essere eseguite
    • si chiudono alcuni ordini cliente scaduti o in scadenza per simulare la spedizione
  • si lanciano i motori di calcolo per creare il nuovo piano e si riparte dal primo punto

Eseguendo questo ciclo per un numero di volte (giorni) pari a qualche settimana si può meglio valutare la data di consegna prevista per un ordine cliente o più in generale il livello di servizio al mercato. Se abbiamo un fornitore particolarmente problematico in quanto ad affidabilità delle date di consegna, possiamo simulare l’incidenza di tale comportamente sulla performance della nostra azienda e confrontarlo (simulandolo) con quello di eventuale fornitore alternativo più affidabile

Come confrontare i risultati di diverse parametrizzazioni

Diversamente da altre soluzioni di Paneido, in Apyesse non è compreso un cruscotto di KPI per scenario, per cui spetta all’utente registrare gli output monitorati ad ogni variazione dei parametri e successivo ricalcolo (manualmente o tramite script). Per esempio per confrontare l’impatto sulle date simulate (schedulate) di consegna di due diverse parametrizzazioni si può procedere nel seguente modo:

  • si lanciano i motori di calcolo e in particolare lo schedulatore (FCS) per far calcolare al sistema le date schedulate, visualizzate com triangoli rossi accanto ad ogni ordine
  • quindi si selezionano gli ordini (tutti o una parte) e da menu contestuale si sceglie ‘Esegui’ -> ‘Salva date schedulate come precedenti’. Questa operazione copia i valori del campo ‘s_duedate’ degli ordini nel campo ‘previous_s_duedate’ degli stessi ordini (questa operazione può essere anche eseguita da script)
  • quindi si modificano alcuni dati e si rilanciano MRP e schedulatore per far calcolare al sistema nuove date schedulate

Visivamente è possibile confrontare le nuove date con le precedenti come in figura dove si nota che per l’ordine C004 la nuova data (triangolo rosso pieno) è posteriore alla data schedulata precedente (triangolo bianco con contorno rosso)

Per visualizzare i triangoli rossi con interno bianco (date schedulate precedente), che per impostazione predefinita non sono visualizzate, si clicca sull’icona rappresentante un ingranaggio nell’angolo in alto a sinistra e si seleziona ‘Cambia impostazioni’, Nella finestra di dialogo che si apre si seleziona la voce ‘Ordine, data fine schedulata precedente’ come in figura

Per completezza: per passare dal primo scenario al secondo, la modifica che è stato fatta sui dati è il posticipo della consegna dell’ordine di acquisto B005 ottenuto trascinando con il mouse il lato destro del rettangolo nella parte grafica verso destra (questa operazione è equivalente a modificare la data fine programmata dell’ordine da scheda o da griglia dati o da script)

Simulare il flusso di cassa

Uno dei principali vantaggi di Apyesse è che permette di eseguire simulazioni in locale senza richiedere modifiche ai dati di input condivisi con altri sistemi. Tra le simulazioni supportate da Apyesse figura quella relativa al flusso di cassa ed è una funzionalità è collegata ai calcoli eseguiti dal motore di schedulazione a capacità finita.

Dati richiesti

La simulazione del flusso di cassa si innesta sul modello dati già creato per supportare i processi di pianificazione e schedulazione. A questo vanno aggiunti:

  • l’abilitazione della registrazione dei movimenti di cassa simulati
  • le politiche di pagamento di clienti e fornitori
  • i contributi al flusso di cassa non gestiti direttamente da Apyesse

Per quanto riguarda il primo punto è necessario impostare l’opzione ‘genera movimenti finanziari’ nelle Opzioni FCS (Finite Capacity Scheduler), come in figura

Politiche di pagamento di clienti e fornitori

Per ogni azienda elencata nella tabella Azienda (Company) è possibile associare una politica di pagamento nel seguente modo:

  • si definisce un record nella tabella Politica di pagamento (PaymentPolicy) dove si indica il nome identificativo, eventuale descrizione e la dilazione predefinita. Per esempio per definire “60 giorni fine mese” si impostano i parametri come in figura. La logica di creazione della scadenza si basa su ricorrenze: indica l’ultimo giorno del mese (-1) di una successione di due mesi consecutivi (si veda il manuale di Apyesse per una più dettagliata descrizione dei parametri)

  • si associa tale politica alle aziende fornitrici o clienti con cui è pattuita nel campo ‘paymentpolicy.code’, come in figura

quella descritta è la modellizzazione base. E’ anche possibile associare ad ogni azienda un conto (e a questo il suo tipo conto) in modo da dettagliare ulteriormente i vari contributi dl al flusso di cassa.

Altri contributi al flusso di cassa

Il contributo distintivo di Apyesse alla simulazione di un flusso di cassa è dato dalla capacità di modellare i contributi dei pagamenti di clienti e fornitori legandoli agli eventi del piano di produzione e acquisto, con i suoi vincoli. Per avere una situazione completa del flusso di cassa, Apyesse permette di gestire gli altri contributi in due modi:

  • importandoli dall’esterno o comunque forzandoli in uno script Python e popolando la tabella ‘Movimenti finanziari’
  • oppure defininendo la frequenza di generazione di contributi ricorrenti (mensili o con altra periodicità) nella tabella ‘Generatore di movimenti finanziari’

Creazione scenari

Partendo dal modello di pianificazione e schedulazione e impostati i parametri aggiuntivi come descritto in precedenza, è sufficiente far girare MRP/CRP e schedulatore per avere un primo profilo del flusso di cassa, assegnato allo scenario predefinito ‘BASE’. I vari contributi di questo profilo sono contenuti nella tabella ‘Movimenti finanziari’ mentre la sua rappresentazione grafica si ottiene cliccando sul seguente tasto della toolbar  . Il risultato che si ottiene è di questo tipo:

Per valutare uno o più scenari alternativi si opera nel seguente modo:

  • si definisce un nuovo scenario cliccando sul seguente tasto della toolbar e scegliendo “Crea nuovo scenario..”

  • quindi si modificano i dati del piano: per esempio importando previsioni di vendita o modificando le date di arrivo degli acquisti o i termini di pagamento di cliente e fornitori o i parametri di riordino dei materiali o la capacità produttiva
  • a questo punto si rilanciano il MRP/CRP e lo schedulatore e si ottiene il nuovo profilo, visualizzato come il precedente ma sfruttando il fatto che ora lo scenario corrente è ‘NUOVO’

Nella tabella ‘Movimenti finanziari’ in questo momento troviamo:

  • i movimenti comuni ad entrambi gli scenari (non hanno il riferimento a scenario compilato)
  • quelli specifici di ‘BASE’ e quelli di ‘NUOVO’

Condivisione dei risultati

Qualora in azienda esistano già delle dashboard per la consultazione del profilo del flusso di cassa previsionale (su sistemi di business intelligence o applicazioni specifiche) è possibile esportare da Apyesse i contributi calcolati dal sistema in modo analogo a come vengono trasferiti i dati relativi alla pianificazione e schedulazione della produzione e degli acquisti: si redige uno script Python e si trasferiscono i dati sfruttando protocolli come ODBC o REST oppure generando file di testo (o csv o xlsx) da importare nell’altro sistema.

Scambiare dati con i fogli elettronici

Lo scambio dati tra Apyesse e i fogli elettronici offre grande flessibilità per rendere fruibili i risultati di Apyesse ad altri utenti e per l’alimentazione dei dati in input. In particolare, quando si usa Excel come fonte dati per Apyesse, si possono ottenere risultati utili in breve tempo.

Come usare Excel per alimentare la base dati di Apyesse

Le due principali modalità che si possono sfruttare sono:

  • Copiare dati tabellari da Excel e incollarli in una griglia dati di Apyesse
  • Importare i dati da Excel in Apyesse usando uno script Python

Copia e incolla da Excel

Questa modalità è stata illustrata anche nel tutorial riguardante la datazione di nuovi ordini con Apyesse. Si procede nel seguente modo:

  • si predispongono in Excel i dati in forma tabellare da incollare in Apyesse
  • si prepara una griglia data in Apyesse con le stesse colonne del foglio Excel, rispettando alcuni vincoli sui dati minimi previsti dalle varie tabelle
  • si selezionano le celle da Excel, escludendo le intestazioni di colonna e si copiano i dati (ctrl+c)
  • quindi si clicca sull’area destinazione dei dati in Apyesse e si preme ctrl-v

Nel caso ci siano delle incompatibilità nel formato dati, verranno emessi dei messaggi di avvertimento da parte dell’applicazione. In particolare vanno tenuti presente i seguenti aspetti:

  • alcuni campi delle varie tabelle sono delle referenze e devono essere rispettate. Per esempio se si incollano dati nella tabella Ordine, i codici articolo a cui sono intestati i nuovi ordini devono essere stati preventivamente inseriti nella tabella Materiale (importati da script o incollati)
  • vari formati dati sono automaticamente riconosciuti, in particolare i separatori tra anno, mese, giorno
  • nella tabella Materiale i campi obbligatori sono il codice articolo e quello del fornitore principale (che, essendo una referenza all’anagrafica delle aziende, deve essere stata preventivamente caricata in tale tabella)
  • nella tabella Giacenza sono obbligatori il codice lotto (eventualmente vuoto), il codice articolo e codice magazzino
  • nella tabella Ordine vanno esplicitati:
    • numeratore identificativo del record (è sufficiente sia un progressivo il cui valore non è ancora presente nel database)
    • codice articolo (deve riferirsi ad un articolo già presente nel database)
    • codice magazzino (deve riferirsi ad un magazzino già presente nel database)
    • quantità
    • tipo dell’ordine (S se si tratta di fabbisogni indipendenti come ordini cliente o previsioni)
    • data inizio programmata (la data corrente)
    • data fine programmata (la data obietti per la consegna)
    • codice fornitore (deve riferirsi ad un’azienda già presente nel database)
    • codice cliente (deve riferirsi ad un’azienda già presente nel database)
    • stato dell’ordine (generalmente va bene 3)

Importazione dati da Excel mediante script Python

In Apyesse sono incluse diverse librerie che possono essere utilizzate per leggere i dati da Excel. Le principali sono xlrd, openpyxl, pandas. Qui è riportato uno script di esempio che usa pandas per leggere i dati in un dataframe e poi trasferirli nella tabella Ordine di Apyesse.

Questo è il foglio che riporta i dati (si tratta del secondo foglio del file).

E questo è lo script che importa i dati dal foglio elettronico in Apyesse. Per quanto rigarda i campi di tipo referenza (magazzino, articolo, fornitore, cliente), viene verificato se il dato corrispondente è già presente nella rispettiva tabella, altrimenti la riga del foglio Excel viene saltata.

Come trasferire dati da Apyesse ad Excel

Anche per il passaggio dati da Apyesse a Excel è possibile usare il copia e incolla oppure uno script Python. Inoltre, poichè con i dati delle griglie di Apyesse è possibile creare tabelle pivot, è anche possibile esportare tali tabelle pivot in un foglio elettronico.

Copiare da Apyesse e incollare in Excel

Dopo avere aperto la griglia dati o una finestra grafica contenente la griglia, si selezionano tutti i record cliccando con il tasto sinistro del mouse nel rettangolo in alto a sinistra della griglia (le righe della griglia diventano blu).

Quindi, tenendo premuti contemporaneamente il tasto ctrl e il tasto sinistro del mouse si trascina la selezione in foglio elettronico aperto. In alternativa si preme ctrl+c in Apyesse e quindi ctrl+v in Excel.

Qualora nella griglia dati siano stati impostati filtri o ordinamenti, tali impostazioni sono rispettate anche nei dati passati ad Excel. Stessa cosa per eventuali colonne calcolate (cioè risultato di un’espressione) presenti nella griglia dati.

Esportare dati da Apyesse verso Excel mediante uno script Python

Lo script che segue esporta i dati dell’anagrafica articoli di Apyesse in un file Excel usando la libreria xlsxwriter, anch’essa inclusa in Apyesse. La stessa operazione è possibile anche con pandas o xlwt, per esempio. Si rimanda alla documentazione di tali librerie per le istruzioni di formattazione. Per recuperare i dati dal database di Apyesse bisogna aprire un cursore nella tabella corrispondente e quindi eseguire una query. In questo caso si opera direttamente sul database, quindi senza far riferimento al contenuto ed ai filtri di una specifica griglia dati.

Salvataggio in Excel di una tabella pivot creata con Apyesse

In Apyesse è possibile creare delle tabelle pivot a partire da un griglia dati. Per fare questo si clicca col tasto destro del mouse sul rettangolo in altro a sinistra della griglia dati e si opera nella finestra di dialogo che si apre per impostare la pivot.

Una volta terminato, si clicca su ok e si aprirà un nuova griglia dati contenente la pivot. A questo punto si può salvare la pivot in Excel (senza la struttura) cliccando sull’ingranaggio in alto a sinistra e scegliendo “Esporta tabella pivot”.

MRP per priorità speciali

La logica di base di ogni modulo MRP e anche di quello di Apyesse prevede che i fabbisogni di un dato materiale siano serviti per ordine crescente di data.

Questo però significa che, in mancanza di altri meccanismi, un ordine che oggi impegna una giacenza di un dato materiale posso vedersi sottratta tale allocazione da un nuovo ordine appena immesso nel sistema con un data di impegno antecedente. Si tratta di una situazione che disorienta il planner e che non permette di fissare le decisioni da questi prese. Per ovviare a situazioni di questo tipo, in Apyesse è possibile definire che:

  • per certi articoli, lungo un orizzonte definito per articolo, l’allocazione delle disponibilità non viene fatta per data dell’impegno ma: fino ad una certa data secondo una sequenza personalizzabile degli impegni e oltre per data
  • l’ordinamento speciale degli impegni entro l’orizzonte definito può seguire diversi criteri in cascata

Grazie a questo è possibile, per esempio:

  • fare in modo che un ordine di produzione rilasciato preservi l’allocazione di giacenze di componenti anche in presenza di una nuova proposta d’ordine che impegna lo stesso componente in data antecedente
  • dare maggiore priorità a ordini cliente per ricambi rispetto a quelli di prodotti finiti
  • rendere prioritari alcuni tipi di clienti
  • privilegiare la consegna di piccole quantità a diversi clienti che una grossa quantità ad un solo cliente
  • propagare l’importanza dell’ordine cliente servito anche ai livelli inferiori di distinta base
  • privilegiare la soddisfazione di un fabbisogno commerciale (ordine cliente) rispetto ad una previsione di vendita

Scendendo più nel dettaglio, sull’anagrafica articoli sono presenti due parametri legati alla gestione del MRP per priorità speciali:

  • il flag ‘enable_priority_mrp’ che abilita la gestione
  • ‘priority_mrp_horizon’ che stabilisce l’orizzonte su cui utilizzare le regole speciali

Nelle opzioni MRP si selezionano e si ordinano le regole da utilizzare lungo l’orizzonte gestito per priorità speciali

In particolare il parametro ‘importance’ gestito sugli ordini e indirettamente sui loro fabbisogno si dimostra particolarmente potente perchè può essere valorizzato durante l’importazione dati in modo differenziato sugli ordini cliente o su vari tipi di ordini di produzione. Inoltre poi l’importanza può essere propagata dagli ordini di prodotti finiti verso i semilavorati e le proposte e ordini di acquisto impostando l’ultimo parametro di questa finestra di opzioni MRP

Completata la parametrizzazione e fatti eseguire i calcoli ad Apyesse secondo le impostazioni, può essere a volte poco immediato rilevare la logica di calcolo dalle finestre grafiche dell’applicazione se queste ordinano i dati per data (e non per ordine di soddisfazione dei fabbisogni) e se l’orizzonte di nettificazione per priorità speciali è piuttosto alto (indicativamente oltre le due settimane). In questi casi può essere utile consultare il profilo di bilanciamento dei fabbisogni, presente nella parte bassa delle finestre “Distinta base'”e “Dov’è usato”, avendo selezionato l’opzione “Ordina bilancio articolo secondo criteri MRP per priorità speciali”.

Si tenga presente che Apyesse offre diverse altri possibilità di configurazione degli abbinamenti tra disponibilità e fabbisogni. Le due principali aree di funzionalità in tal senso riguardano:

  • la gestione del MRP per commessa congiuntamente a quello a fabbisogno (cioè senza riferimenti di commessa su disponibilità e fabbisogni)
  • la gestione delle proposte di trasferimento disponibilità tra magazzini, nel cui contesto si definisce quali sono gli impegni che posso nettificare certi magazzini e in quali condizioni

Per l’approfondimento di questi ambiti si rimanda alla documentazione in linea dell’applicazione Apyesse

Analizzare le scorte in eccesso

Apyesse si distingue da molti sistemi di advanced planning perchè oltre ad essere strutturato per gestire le attività più consuete di pianificazione (rilascio ordini, analisi mancanti, ecc) ha la flessibilità e le funzionalità che servono per verifiche di alto livello e simulazioni. In questo tutorial viene descritto come valutare le scorte di magazzino che sono in eccesso rispetto al piano di produzione corrente o ad altri scenari.

Anzitutto si tenga presente che la procedura MRP con la generazione legami attiva (preimpostata) fornisce come output i legami tra fabbisogni e disponibilità a tutti i livelli. In particolare risultano scritti in tabella i legami tra giacenze dei vari materiali e relativi impegni (siano essi effettivi o previsionali). Nell’immagine che segue è rappresentato il contenuto della tabelle “Legami giacenza-fabbisogni” per un archivio dati dimostrativo. Nella prima colonna compare il numero identificativo dell’ordine impegnante (sia esso ordine di trasferimento, di vendita o di produzione). Le quantià che compaiono nella quarta colonna non rappresentano la quantità della giacenza, nè quella del fabbisogno ma la quantità del record di giacenza assegnata a tale fabbisogno. Quindi nel primo caso l’ordine di trasferimento ‘TD00000094’ impegna 18 pezzi di SEDIA018. Di questi 18 pezzi, lo stesso numero 18 viene allocato sul lotto di giacenza L044 che ne ha 20.

Abilitando il flag in figura sulle opzioni MRP, Apyesse registra e somma tutte queste allocazioni nel campo ‘allocated_qty’ della tabella ‘Giacenza’ e questo è il presupposto per valutare il valore delle scorte in eccesso.

Ora, avendo già fatto girare il MRP, apriamo la tabella ‘Giacenza’ e creaiamo una vista come quella in figura, dove abbiamo inserito in una colonna un’espressione che rappresenta la differenza tra giacenza e giacenze allocata (il risultato è la giacenza libera) moltiplicata per il valore del materiale.

A questo punto se selezioniamo la colonna contenente l’espressione e premiamo F6 otteniamo il totale della giacenza libera a valore sulla barra di stato. In alternativa è possibile creare una tabella pivot per categoria di articoli o per magazzino per vedere meglio come sono distribuite le giacenze in eccesso.

E’ possibile valutare questa giacenze in eccesso in presenza di diversi set di fabbisogni. Per esempio potrebbero essere caricati in Apyesse diverse ipotesi di budget di vendita e per ciascuna, fatto girare il MRP, è possibile verificare quali articoli sono a maggior rischio di obsolescenza.

In altri sistemi di pianificazione di Paneido sono disponibili anche altre opzioni grafiche per la valutazione delle scorte in eccesso