Data ultimo aggiornamento: 07/11/2012

Clicca per accedere al sito di NTS Informatica
Clicca per accedere all'argomentoClicca per accedere all'argomentoClicca per accedere all'argomentoClicca per accedere all'argomento
Clicca per accedere al sito di NTS Informatica

L'elaborazione MRP Low Level Code

Questa nuova versione di MRP implementa un nuovo algoritmo per l'esplosione delle distinte base e per la nettificazione dei fabbisogni. Con questa versione vengono gestite nuove possibilità, quali: l'utilizzo di tutte le politiche di riordino articoli anche per i semilavorati intermedi (nelle versioni standard solo la politica di riordino a 'Fabbisogno puro' era gestita per questi articoli); la possibilità di definire una politica di riordino specifica per articolo/magazzino; il raggruppamento degli ordini di produzione a parità di data consegna.

Unitamente ai fabbisogni derivanti dalla domanda indipendente (impegni cliente, impegni cliente aperti, liste di produzione e fabbisogni impliciti), sono considerati tali anche gli impegni di produzione, gli impegni di trasferimento (parte scarico) e le rispettive proposte di impegno di produzione e proposte di impegno di trasferimento (parte scarico).

è stata inserita una nuova politica di riordino 'Su fabbisogno con lotto min.' che consente di ordinare l'articolo (a fornitore o a produzione) a fabbisogno, ma a partire da un minimo quantitativo indicato nel campo 'Q.ta lotto standard'.

Sono stati gestite le distinte basi 'Fantasma' e i 'Legami fantasma' che si indicano sui materiali di distinta base: qualora durante l'esplorazione della distinte vengano trovate distinte basi o legami di questo tipo, questi articoli verranno ignorati e verrà aperto il livello sottostante di distinta fino a trovare il primo articolo reale.

Durante l'elaborazione viene generato un file log (Bsdbemrp.log), nella directory dove è installato Business, dove vengono riportate tutte le anomalie riscontrate, e le scelte effettuate per procedere ugualmente.

A partire dalla release 8.0 di Business l'algoritmo LowLevelCode per l'elaborazione MRP, diventa quello predefinito, quindi per tornare all'elaborazione standard (ad esplosione singola ricorsiva sulle distinte) occorre inserire l'opzione LowLevelCode con valore 0 (zero).

Suggerimenti d'azione

Fra le stampe della elaborazione MRP è possibile indicare di produrre un report finale nel quale vengono riportati quali fabbisogni sono stati anticipati (se l'opzione Gestisci gli anticipi sugli articoli é abilitata) quali possono essere posticipati e/o annullati. Nella stampa sono presenti gli estremi delle righe d'ordine (o proposte d'ordine) trattate, unitamente alle relative date consegna e quantità originarie e suggerite. N.B.: non vengono segnalati i suggerimenti relativi alle riduzioni di quantità delle righe d'ordine. Nella stampa dei suggerimenti d'azione possono trovarsi riferimenti a ordini, su cui è presente qualche suggerimento, che possono non essere presenti nella stampa del Piano elaborazione MRP a causa della eventuale esclusione di articoli scelta (articoli coinvolti, critici, ...). A seguire vengono riportate alcune regole che l'elaborazione addotta per proporre tali suggerimenti:

Regole di anticipo: durante la nettificazione, se un fabbisogno non risulta soddisfatto dalla disponibilità scadenzata, e ci troviamo oltre la Data minima anticipi/posticipi, il programma ricercherà disponibilità future derivanti da ordini a fornitore, a fornitori aperti, di produzione, di trasferimento o proposte d'ordine a fornitore, di produzione o di trasferimento (selezionati nel lancio MRP), comunque entro la data del fabbisogno aumentata dei Giorni di anticipo indicati sull'anagrafica articoli. L'anticipo avviene se nella data consegna originaria dell'ordine da anticipare, la disponibilità (tenendo conto dei fabbisogni fino a quella data) è sopra lo 0 (zero), se la politica di riordino dell'articolo è Su fabbisogno puro, Su Fabbisogno con lotto o Su fabbisogno con lotto minimo, sopra la scorta minima se la politica di riordino è A punto di riordino con lotto o A punto di riordino a ricostituzione scorta. L'anticipo avviene per l'intera riga d'ordine, o proposta, e non su una parte di essa. Gli anticipi determinano, nella stampa del Piano elaborazione MRP, un andamento di giacenza che può scendere sotto esistenza o sotto scorta minima, a seconda della politica di riordino dell'articolo.

Regole di posticipo: Al termine della elaborazione, se abilitata l'opzione Suggerimenti d'azione, Posticipi, il programma provvede a valutare per ogni articolo/magazzino (anche per commessa e fase se l'articolo ha queste gestioni) l'andamento della giacenza: se ci si trova oltre la Data minima anticipi/posticipi e la giacenza è sopra lo 0 (zero), se la politica di riordino dell'articolo è Su fabbisogno puro, Su Fabbisogno con lotto o Su fabbisogno con lotto minimo, oppure sopra la scorta minima, se la politica di riordino è A punto di riordino con lotto o A punto di riordino a ricostituzione scorta, il programma individua la presenza di ordini a fornitore, di produzione, di trasferimento o proposte d'ordine a fornitore, di produzione o di trasferimento (selezionati nel lancio MRP) che possono essere posticipati senza determinare rotture di stock. Il posticipo viene proposto complessivamente su tutta la riga dell'ordine (o proposta d'ordine) e non per una quantità parziale; il posticipo altresì viene proposto solo di un numero di giorni superiore a Giorni di posticipo indicati in anagrafica articolo: se in anagrafica è indicato 0 (zero) i posticipi non vengono suggeriti su tale articolo. Procedendo cronologicamente, gli ordini/proposte che determinano disponibilità in eccesso, vengono posticipati al più tardi possibile. Se nella stessa data sono presenti più righe d'ordine/proposte posticipabili viene scelto il seguente ordine: ordini a fornitore (anno, serie, numero, riga), ordine di produzione (anno, serie, numero, riga), carico da impegno di trasferimento (anno, serie, numero, riga), proposta d'ordine a fornitore (riga), proposta d'ordine di produzione (riga) e carico da proposta d'impegni di trasferimento (riga).

Regole di annullamento: Al termine della elaborazione, se abilitata l'opzione Suggerimenti d'azione, Annullamenti/Riduz. qtà, per ogni articolo/magazzino (commessa e fase se presenti queste gestioni sull'articolo) se la disponibilità alla data ultima supera:

  • lo zero, se l'articolo/magazzino è gestito con politica di riordino Su fabbisogno puro
  • la quantità lotto standard, se l'articolo/magazzino è gestito Su Fabbisogno con lotto o Su fabbisogno con lotto minimo
  • la scorta minima, se l'articolo/magazzino è gestito A punto di riordino con lotto
  • la scorta massima, se l'articolo/magazzino è gestito A punto di riordino a ricostituzione scorta

avviene una scansione all'indietro (dalla data più lontana a quella più vicina, sempre non precedentemente alla Data minima annullamenti) individuando disponibilità, derivanti da ordini a fornitore, di produzione, di trasferimento o proposte d'ordine a fornitore, di produzione o di trasferimento, che individualmente possono essere annullate perché superflue. Qualora vengano selezionate, nel lancio dell'elaborazione, solo alcune domande indipendenti (filtro sugli impegni cliente, liste di produzione, commesse, ...) il sistema segnalerà suggerimenti d'annullamento tenendo conto dei fabbisogni considerati nella elaborazione, proponendo quindi l'annullamento di ordini che potenzialmente soddisfano fabbisogni non selezionati nel lancio. Se si sceglie la stampa del Piano elaborazione gli articoli, oggetto di annullamento sono solamente quelli indicati nel riquadro Visualizza nel piano elaborazione ossia tutti gli articoli coinvolti (il default), tutti gli articoli, tutti gli articoli/magazzini coinvolti, ecc.

Raggruppamenti

Questa funzionalità dell'elaborazione MRP fa si che possano essere raggruppate le proposte d'ordine (a produzione o a fornitore) che l'MRP genera, non solo giornalmente, ma anche per periodi (settimane, decadi, mesi) allo scopo di accorpare le quantità in una sola proposta d'ordine all'interno dello stesso periodo. Per ogni articoli è indicato, sulla sua anagrafica, il periodo di raggruppamento e il giorno in cui generare la proposta all'interno del periodo. Per ogni periodo questo campo può assumere valori diversi: per queste informazioni si rimanda alla Guida analitica relativamente all'anagrafica articoli.

Per effettuare i raggruppamenti il programma accorpa fabbisogni e disponibilità di materiali (da esistenza, ordini in essere, ...) in una unica data 'normalizzata' all'interno del periodo, allo scopo di fare la nettificazione dei fabbisogni per singolo periodo. La modalità con cui avviene l'operazione di accorpamento è controllata da una opzione di registro RaggruppaShift: per default (mancanza della opzione o opzione con valore zero) fabbisogni e disponibilità di materiali, all'interno del periodo, vengono portata alla 'data normalizzata', come indicato in anagrafica articolo, in modo uniforme. Con l'opzione abilitata (ossia con valore -1) i fabbisogni la cui data consegna è inferiore alla 'data normalizzata' del periodo, vengono portati al periodo precedente; le disponibilità di materiale con data successiva alla 'data normalizzata' del periodo vengono posticipati al periodo successivo. Questo assicura l'assenza, anche all'interno del periodo, di rotture di stock a discapito però di una più elevato ricorso al riapprovigionamento di materiali (proposte d'ordine di produzione e proposte d'ordine a fornitore).

Modalità di raggruppamenti in alcune particolari condizioni:

  1. Quando è attiva l'opzione Utilizza la data elaborazione per gli ordini non fattibili tutte le nuove proposte d'ordine generate, se possiedono una data consegna inferiore alla data elaborazione, vengono create con data consegna uguale alla data di elaborazione; in queste situazioni, per gli ordini a produzione (SL e PF), che vengono a trovarsi nella stessa data, non vengono raggruppati;
  2. In seguito alla generazione di impegni di trasferimento fra i magazzini (terzisti e non) non vengono operati raggruppamenti, sul magazzino di origine del trasferimento, per gli eventuali ordini di produzione (per SL e PF) che vadano a soddisfare tale richiesta di trasferimento. Vengono raggruppate invece le proposte d'ordine a fornitore (MP).
  3. Quando il periodo/giorno di raggruppamento viene differenziato a livello di magazzino, in deroga a quello generico indicato sull'anagrafica articoli, qualora dall'elaborazione MRP siano necessari trasferimenti di materiale tra magazzini con modalità di raggruppamento diverse, verrà rispettata la modalità di raggruppamento del magazzino di carico della merce (destinazione del trasferimento), conseguentemente sul magazzino di scarico (origine del trasferimento) avverrà un fabbisogno con data difforme dal raggruppamento impostato su tale magazzino: conseguentemente la relativa proposta d'ordine a fornitore o produzione avrà una data di consegna/ordine differente rispetto ai raggruppamenti impostati
  4. Per i semilavorati i raggruppamenti per default non avvengono nel caso di più fabbisogni secondari derivanti da PF diversi (o fabbisogni primari derivanti impegni di prod. non soddisfatti, ad esempio) a causa degli eventuali filtri art. indicati in distinta base. Per far si che anche in queste condizioni i raggruppamenti avvengano, basta creare l'opzione UsaFiltroPadre con valore 0 (zero), che annulla l'effetto dei filtri art. padre indicati nella distinta base.
  5. Per gli articoli a variante le modalità di raggruppamento non sono disponibili. Il raggruppamento avviene in modalità giornaliera.

Limitazioni di utilizzo/precondizioni LowLevelCode

  1. Così come nella versione standard dell'MRP non possono essere utilizzati i filtri 'Codice cliente' e 'Lotto' all'interno del materiali e fasi di lavorazione;
  2. Se un semilavorato/prodotto finito ha distinte basi aperte (filtri commessa, filtro articolo padre, filtro articolo root, sui materiali) è opportuno che venga gestito con politica di riordino a 'Fabbisogno puro';
  3. Nelle politiche di riordino a lotto, se una distinta ha subito variazioni per data (data validità legame materiali di distinta base), il lotto viene generato con la data validità dell'ordine che scatena il fabbisogno che scatena il lotto;

Comportamenti in situazioni particolari

  1. Quando un semilavorato viene prodotto da un terzista e, in seguito alla applicazione dei filtri di distinta base, viene considerato materia prima (mancanza effettiva dei figli, figli con date di validità fuori intervallo, indicatore interrompi albero impostato, inserito filtro 'fino alla fascia di livello'), viene generato un ordine a fornitore con consegna diretta sul magazzino dove questo articolo viene richiesto (dal padre).
  2. Qualora la domanda indipendente (al livello zero) riguardi articoli su magazzini esterni (terzisti), viene dapprima valutata la disponibilità su tale magazzino quindi, se mancante, effettuato un trasferimento dal magazzino interno di transito (così come impostato dalla opzione MagazInternoTransito); l'articolo viene quindi ordinato (a fornitore o a produzione) su tale magazzino interno. L'opzione MagazInternoTransito ha valore predefinito 1 (cioè codice magazzino 1) quando è attivo il LowLevelCode, 0 quando non è attivo.
  3. Per le domande indipendenti, la determinazione, per ogni articolo, del magazzino di produzione avviene nel seguente ordine:
    • Cod. magazzino di produzione dell'articolo;
    • Se mancante il precedente verifica il codice del fornitore dell'articolo, rilevando il primo magazzino associato a tale fornitore;
    • Se manca anche il fornitore 1, esegue la stessa operazione precedente sul fornitore 2.
  4. Fantasma: se un articolo che possiede la dist. Base fantasma, viene richiesto come domanda indipendente (impegno cliente, lista di produzione, fabbisogno implicito, impegni di produzione, ...), verrà ignorato il flag 'Fantasma' in distinta base, pertanto verrà generata la proposto d'ordine di produzione per tali articoli.
  5. Come viene determinato il conto intestatario delle proposte d'ordine generate dall'MRP:
    • Ordine a fornitore: viene utilizzato il fornitore abituale indicato nell'anagrafica dell'articolo, se mancante (uguale a zero), il codice del fornitore 2; in subordine viene lasciato il codice fornitore uguale a zero;
    • Ordine di produzione (e relativi impegni): il codice fornitore è rappresentato dal codice terz. inserito nella tabella dei magazzini per il magazzino degli impegni;
    • Impegni di trasferimento: il codice fornitore è rappresentato dal codice terz. inserito nella tabella dei magazzini per il magazzino di scarico (magazzino 1);
  6. interruzione albero: qualora il fabbisogno primario (impegno cliente, lista di produzione, impegno di produzione, ...) riguarda un articolo su cui in distinta base si è indicato (nel padre) lo stato di interruzione albero, non essendo valutabile nel momento del riapprovigimaneto di questo articoli questo stato, il programma genererà ordini di produzione e non ordini a fornitori.

Sequenza operazioni algoritmo LowLevelCode

  1. Creazione iniziale di ZZDISPSCA (disponibilità scadenzata) con le sole componenti che creano disponibilità nel vari magazzini; descrizione dei tipi record:
    • A: Disponibilità attuale magazzino/artico/fase (event. commessa)
    • B: Ordine a fornitore
    • C: Ordine di produzione
    • D: Impegno di trasferimento (parte carico)
    • E: Proposta ordine a fornitore
    • F: Proposta ordine di produzione
    • G: Proposta impegno di trasferimento (parte carico)
    • $: Ordine a fornitore aperto
  2. Creazione di ZZDOMIND (domande indipendenti) costituite da:
    • Impegni cliente
    • Impegni cliente aperti
    • Lista di produzione
    • Impegni di produzione
    • Impegni di trasferimento (parte scarico)
    • Proposte impegni di produzione
    • Proposte impegni di trasferimento (parte scarico)
    • Fabbisogni impliciti (ricostituzione esistenze negative e sotto-scorte)
    • Approvvigionamenti interni da Project Management
  3. Creazione dei i fabbisogni primari (ZZFABPRI) esattamente come il caso normale (sposta i dati da ZZDOMIND a ZZFABPRI per gli articoli reali; per gli articoli fittizi esplode la distinta inserendo in ZZFABPRI i componenti reali);
  4. Determinazione, se richiesto, del LowLevelCode di ogni articolo inserendolo in ZZLLCNEW (le materie prime hanno per definizione livello=9999);
  5. I fabbisogni primari ZZFABPRI vengono esattamente riportati come fabbisogni secondari (ZZFABSEC) integrando tutti i dati mancanti (magazzino ulteriore, magazzino padre, ...)
  6. A questo punto parte il ciclo principale: per ogni fascia di livello (LowLevelCode), da quella più bassa (PF)a quella più alta (MP):
    • Apre tutti i fabbisogni di quel livello;
    • Per ogni fabbisogno (in ordine di codice articolo, fase, data consegna, ...):
      • Controlla l'esistenza nel magazzino di richiesta;
      • Scrive il fabbisogno in ZZDISPSCA (disponibilità scadenzata) se non si tratta di fabbisogno implicito;
      • Applicando la politica di riordino. nettifica;
      • Se l'esistenza a magazzino NON copre il fabbisogno, verifica se il fabbisogno possiede un magazzino ulteriore;
      • Se possiede magazzino ulteriore, controlla l'esistenza su questo magazzino: se trova disponibilità registra un trasferimento (sia in ZZDISPSCA che in TTORLIST)
      • Se mancano disponibilità (sul magazzino principale o ulteriore), registra un ordine a fornitore (se si tratta di una materia prima) oppure esplode la distinta base al livello immediatamente sottostante registrando l'ordine di produzione in TTORLIST e creando nuovi fabbisogni in ZZFABSEC (che saranno trattati a prossimo livello)
      • Se le disponibilità coprono i fabbisogno, passa al prossimo fabbisogno;
  7. A questo punto vengono integrate le proposte con i prezzi, sconti, ... e, in transazione vengono salvate le proposte d'ordine generate nell'apposito archivio (ORDLIST)
  8. Elaborazione per i suggerimento d'azione, se selezionati
  9. Preparazione delle stampe e esecuzione delle stampe selezionate.

Calcolo delle Date di consegna e Data Max. Emissione Ordine per le proposte d'ordine.

Sulle Proposte d'ordine generate da Elaborazione MRP, la Data Max. di Emissione Ordine viene calcolata togliendo i giorni di RR-Fence di anagrafica articolo dalla Data Consegna Prevista, Tenedo però conto di Sabati e Domeniche (Considerati NON Lavorativi). Qualora fosse dichiarato anche Almeno un Calendario Operativo di tipo "Di Base", con codice "1", per un Anno uguale o precedente l'anno della data di consegna, Il calcolo della data max di emissione ordine terrà conto anche di eventuali giorni dichiarati come NON Lavorativi su tale Calendario.

Clicca per accedere al sito di NTS Informatica