Add new attachment

Only authorized users are allowed to upload new attachments.

This page (revision-1) was last changed on 20-Dec-2022 15:54 by UnknownAuthor

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Difference between version and

At line 1 added 216 lines
%%(display:none)
{{{
WikiUp
}}}
/%
[{TableOfContents }]\\
\\
Obiettivo di questo documento è indicare poche ma essenziali "best practices" per impostare l'uso dell' applicazione MP, detta MPS o Plan-up, ai fini della pianificazione dei materiali.\\
Ovviamente l'applicazione MP si presta anche ad altri innumerevoli scopi, ma in questo dicumento ci si vuole confrontare solo con gli scopi della pianificazione materiali.\\
\\
\\
!! Come fare dei piani rolling\\
Si definiscono piani rolling quei piani che cambiano la data di inizio e quindi l'orizzonte temporale considerato con una regola definita. Per esempio i piani settimanali sono tutti quei piani che si rinnovano ad ogni settimana. Questo non significa che siano fatti di colonne settimanali, ma solo che ogni settimana si rinnovano. Inoltre , i piani settimanali potrebbero appartenere a "famiglie" diverse, quindi il concetto di "rolling timeframe" si esprime all'interno di ogni famiglia.\\
\\
Perchè c'è bisogno dei piani Rolling ? Perchè pianificare significa "ripianificare" con intervalli regolari, ossia fare una fotografia di quello che vediamo nel futuro ed intrapprendere delle azioni. Quindi pianificare signica fotografare, calcolare, decidere (capire il risultato del calcolo e prendere una decisione, muoversi (agire). Dopo un intervallo definito si rifà questo ciclo.\\
\\
Per generare dei piani Rolling c'è una azione di flusso di MPS specifica, il programma MPAP01 che deve essere il primo programma di un flusso di azioni !\\
Questo programma contiene i seguenti parametri:\\
\\
Data partenza piano 2 Settimana corrente\\
Metodo costruzione piano 3 Radice + Anno + settimana\\
Radice piano PR\\
Impostazione piano CAR 52 settimane\\
Magazzino 1 SEDE\\
Famiglia appart. piano P produzione\\
Criterio selezione flusso\\
Parte variab. desc. piano PRODUZIONE\\
\\
\\
\\
Come si vede , la data di partenza ha una logica ricorrente (es: settimana corrente), quindi quando lanciato al lunedì, questo flusso creerà un piano nuovo, con codice PRAASS (Radice piano + Anno + Settimana).\\
\\
NOTA: La famiglia di appartenenza del piano è IMPORTANTISSIMA per guidare la cancellazione automatica dei piani vecchi. Se non si valorizza il campo "famiglia" si rischia di cancellare involontariamente dei piani !\\
\\
WORST PRACTICE: gestire l'aggiornamento dei piani mantenendo lo stesso piano e cambiando con un programma i 15 record fissi del piano . Conseguenze: perdere la storia del piano precedente, inserire errori di periodicità, limitare la flessibilità di cambio periodicità, dipendere da un programmatore, non insegnare la collaborazione tra piani.\\
\\
\\
\\
\\
\\
\\
\\
\\
!! La periodicità\\
\\
La periodicità definisce come sezionare l'orizzonte in colonne di giorni, settimane, mesi, bimestri etc.\\
Ovviamente il sezionamento dipende anche dalla data di inizio del piano: se si imposta una periodicità di 20 giorni e 4 settimane (due mesi totali che dovrebbero essere descritti da 24 colonne) , ma la data di inizio non é il primo giorno della settimana o la settmana non è di 5 giorni lavorativi, si pone il problema di "saldare" la ventesima colonna giornaliera con la prima colonna settimanale. La periodicità suddetta, se non si specifica la saldatura per difetto, si salda aggiungendo colonne giornaliere fino ad arrivare all'ultimo giorno lavorativo della settimana della ventesima colonna, dopodichè inizia con colonne settimanali.\\
\\
!! Flusso azioni: che azioni debbono esserci\\
In un flusso la prima azione deve essere quella di impostazione del piano (programma MPAP99) ! Se questa azione è anche riportata nel campo "azione di impostazione" dell'elemento della B£H che rappresenta il flusso di azioni, ecco che l'esecuzione del flusso stesso NON richiede la valorizzazione del campo "codice piano", in quanto sà come creare il piano su cui lavorerà. Ovviamente questa azione deve essere la prima del flusso !\\
IMPORTANTE: non sottovalutate questo suggerimento, è figlio di numerosi incidenti di utilizzo osservati quando non si automatizza la scelta del piano !\\
\\
[{Image src='immagini/MBDOC_VIS-MP_002/MP_002_01.png' caption='' width='100%' style='max-width: 100%;'}][{Image src='immagini/MBDOC_VIS-MP_002/MP_002_02.png' caption='' width='100%' style='max-width: 100%;'}]\\
L'ultima (o penultima ) azione del flusso deve esser quella di cancellazione sistematica dei piani vecchi, appartente alla stessa familglia rolling ! in questo modo si preserva l'utilizzo dei dischi.\\
\\
\\
!! Nettificazione previsioni-ordinato\\
Le previsioni possono essere nettificate per periodo , normalmente utilizzando l'operatore DIFPOS che riporta solo le differenze positive tra la vista delle previsioni e la vista dell'ordinato.\\
Naturalmente, quando i periodi delle colonne sono ampi questa nettificazione è abbastanza efficace.\\
Se invece i periodi sono brevi , ad esempio la settimana, allora l'indeterminazione delle previsioni è alta e quindi può essere utile utilizzare la nettificazione progressiva, che recupera l'eccesso di ordine su una settimana per nettificarlo sulle settimane seguenti. Tale nettificazione si ottiene con l'operatore MENOP, che esegue il meno sui progressivi.\\
[{Image src='immagini/MBDOC_VIS-MP_002/MP_002_04.png' caption='' width='100%' style='max-width: 100%;'}]Per chi vuole comprendere le logiche di fusione tra ordini e previsioni, consigliamo la lettura del documento di visione:\\
[Visione Plan.up|MBDOC_VIS-MP_001]\\
\\
!! Ripresa da V5\\
Bisogna utilizzare il PGM MPAPV5C, utilizzando al meglio la parzializzazione dinamica sulle date. Questo programma fino al 2012 era lento in quanto utilizzava sempra la barra copy V5F, anche per riprendere le sole quantità, ma dal 2012 è stato modificato ed è performante.\\
\\
[{Image src='immagini/MBDOC_VIS-MP_002/MP_002_05.png' caption='' width='100%' style='max-width: 100%;'}][{Image src='immagini/MBDOC_VIS-MP_002/MP_002_06.png' caption='' width='100%' style='max-width: 100%;'}]\\
\\
!! Collaborazione tra flussi\\
In un flusso si può immettere la chiamata ad un'altro flusso , utilizzando il pgm b£gfp15xA. Se si combinano diverse chiamate di flussi in cascata bisogna crearsi le adeguate copie di programma ridenominate (A, B, C, ..)\\
\\
[{Image src='immagini/MBDOC_VIS-MP_002/MP_002_03.png' caption='' width='100%' style='max-width: 100%;'}]\\
!! Collaborazione tra piani\\
\\
I dati generati in una vista da un piano possono essere portati in una vista di un'altro piano tramite questo pgm che, per sfrutatre la struttura "rolling" dei piani, utilizza l'aggancio col criterio "ultimo piano con radice".\\
\\
[{Image src='immagini/MBDOC_VIS-MP_002/MP_002_07.png' caption='' width='100%' style='max-width: 100%;'}]\\
Questo non è l'unico modo per far collaborare i piani: i dati di una vista di un piano origine possono essere "letti" e non imporati in un piano di arrivo, tramite la lettura della disponibilità di una fonte di origine MP. Ovviamente se l'utilizzo della vista di origine è legato al concetto di "nettificazione".\\
\\
!! Le fonti di origine MP\\
[{Image src='immagini/MBDOC_VIS-MP_002/MP_002_08.png' caption='' width='100%' style='max-width: 100%;'}]\\
!! La fonte guida di una metafone\\
Le fonti di origine MP possono diventare la base di una griglia temporale (le colonne della fonte sono la griglia) su cui eseguire delle comparazioni tar dati provenienti anche da altre fonti.\\
Per esempio, se si volesse avere una fonte che determina per un componente di basso livello di distinta (semilavorati, etc.) il delta tra le previsioni di consumo e gli impegni reali, allora si deve realizzare una metafonte bilanciata (origine fonte BL) che abbia nel suo gruppo fonte una fonte guida MP, e come altre fonti del gruppo fonti abbia gli impegni, rilasciati e pianificati.\\
In funzione del tipo di bilanciamento , si può ottenere un risultato che operi come se l'operatore fosse DIFPOS, ma a livello dei componenti.\\
Questo permette per esempio di pianificare i finiti solo su ordine cliente, e di pianificare i semilavorati standard su previsione di consumo a completamento degli ordini cliente.\\
Per esempio guardiamo la tabella seguente, dove la fonte risultante è data dall'operatore DIFPOS tra la fonte guida e le altre due fonti, impegni rilasciati ed impegni pianificati:\\
\\
||||P1||P2||P3||P4||P5
|Previsioni di consumo (MP) |200 |200 |200 |200 |200\\
|Impegni rilasciati |100 |100 |80 |10 |0\\
|Impegni pianificati |120 |60 |10 |10 |0\\
|Fonte risultante |0 |40 |110 |180 |200\\
\\
\\
Ovviamente nel gruppo fonti dell'MRP includeremo sia le fonti "impegni rilasciati" ed "impegni pianificati", sia la fonte "risultante" che potremmo chiamare "delta previsionale".\\
\\
\\
!! Il piano di produzione a capacità finita.\\
\\
[{Image src='immagini/MBDOC_VIS-MP_002/MP_002_09.png' caption='' width='100%' style='max-width: 100%;'}]\\
\\
Lo sviluppo piano a capacita' finita si effetua con il programma MPAP37\\
\\
Obiettivo\\
Trasformare una vista di fabbisogni primari (piano di produzione) in un'altra vista in cui le quantità sono state ricalcolate per essere producibili, secondo un vincolo di capacità.\\
\\
Vincoli del programma: le viste di carico debbono avere in chiave 1 la risorsa che dà la disponibilità ( deve essere un oggetto RI) ed in chiave 2 l'oggetto del piano di produzione (puo' essere qualsiasi).\\
NOTA: DELLA CHIAVE 1 SI RICONOSCONO SOLO 14 POSIZIONI, ESSENDO LA QUINDICESIMA RISERVATA ALLA GESTIONE DELLE SEQUENZE/FORZATURA ( VEDI PARAGRAFO SEQUENZE)\\
In altri termini, per l'obiettivo della schedulazione, il codice risorsa non può essere più lungo di 14.\\
\\
Operatori della trasformazione\\
\\
Disponibilita' risorse (vista)\\
Il processo parte dal dato certo ed obbligatorio rappresentato dal contenuto della vista di disponibilita' delle risorse interessate.\\
Tra i passi di flusso MPS che precedono questo programma sara' dunque opportuno riprendere la disponibilita' di tali risorse (MPAP09B)\\
\\
Fabbisogni primari (carichi)\\
Il programma puo' lavorare con la vista di fabbisogno primario espressa in ore di carico o in quantità da produrre. A seconda della scelta che si indica (parametro tipo disponibilità) una delle due viste\\
diventa obbligatoria, e l'altra viene ricalcolata dal programma.\\
\\
Esempio: - Fabbisogno a quantita'\\
- Disponib. risorse a quantita'\\
- Ricalcolo la vista carico ore dal risultato a quantita'.\\
\\
Viste di lavoro\\
Il processo copia la vista di carico nella vista di lavoro (se indicata nei parametri del passo) e da quest'ultima scarica le quantità che riesce a schedulare. Quindi la vista di lavoro rappresenta il residuo di carico non schedulato (eccesso di carico rispetto a disponibilità).\\
\\
Tipo disponibilita'\\
Indica la tipologia dei valori contenuti nella vista di disponibilita' delle risorse.\\
\\
1 Disponibilita' oraria\\
2 Disponibilita' a quantita'\\
\\
Tipo/Attributo ripartenza\\
Nello sviluppo, e' possibile condizionare il comportamento della schedulazione in merito all'ottimizzazione dei carichi sulle risorse: posso decidere se occupare la risorse fino a saturazione andando a prendere i carichi nel futuro oppure lasciare le risorse occupate parzialmente o libere rispettando i periodi del carico.\\
\\
Il parametro puo' assumere i seguenti significati:\\
\\
1 Rispetta periodo carico -tutte (per tutte le linee)\\
2 Riparti da primo libero -tutte (per tutte le linee)\\
3 Attrib. risorsa per scelta 1/2 (per ciascuna linea)\\
L'OAV dovra' a sua volta contenere il valore 1/2\\
\\
Nota: la scelta 3 permette di differenziare il comportamento\\
per ogni risorsa\\
||||P1||P2||P3||P4||P5
|Disponibilità risorsa |80 |80 |80 |80 |80\\
|carico art 1 |40 |0 |40 |0 |0\\
|carico art 2 |50 |50 |50 |10 |0\\
|carico art 3 |0 |0 |100 |0 |0\\
\\
con la scelta 1 avremo\\
||||P1||P2||P3||P4||P5
|Disponibilità risorsa |80 |80 |80 |80 |80\\
|piano art 1 |40 |0 |40 |0 |0\\
|piano art 2 |40 |60 |40 |10 |0\\
|piano art 3 |0 |0 |0 |70 |30\\
\\
\\
con la scelta 2 avremo\\
||||P1||P2||P3||P4||P5
|Disponibilità risorsa |80 |80 |80 |80 |80\\
|piano art 1 |40 |20 |20 |0 |0\\
|piano art 2 |40 |60 |50 |0 |20\\
|piano art 3 |0 |0 |10 |80 |20\\
\\
\\
\\
\\
Viste schedulate (risultati elaborazione)\\
Codice o codici viste del risultato (ad ogni esecuzione vengono ricreate).\\
\\
\\
Importante\\
\\
Priorita' carichi nelle risorse (GESTIONE DELLE SEQUENZE)\\
Il programma gestisce l'eventuale necessita' di allocare i carichi (tipicamente articoli) presenti in ciascuna risorsa con sequenze diverse dalla sequenza alfanumerica del codice. (comportamento di\\
default.\\
A questo scopo è stato destinato il 15esimo carattere della chiave 1 della vista (risorsa) che 'imprime' nell'esecuzione del programma una diversa sequenza di lettura dei record.\\
\\
Esempio:\\
Chiave carico 1...5...10...15 1...5...10...15\\
LINEA1 2 ART01\\
\\
LINEA1 ART02\\
LINEA1 1 ART03\\
LINEA1 9 ART04\\
LINEA1 9 ART05\\
\\
Sequenza di allocazione:\\
ART02\\
ART03\\
ART01\\
ART04\\
ART05\\
Nota: è ovvio che a parità di priorità, i record sono allocati in ordine di codice.\\
Per poter gestire la priorità è quindi necessario sovrascrivere il 15° carattere dell vista carico, con un passo di flusso MPS appropriato.\\
\\
\\
Forzatura carichi:\\
\\
Esiste la possibilità di "forzare" comunque una parte di produzione.\\
La schedulazione di ogni singola risorsa viene preceduta dalla forzatura nel risultato di tutti quei carichi che si intendere imporre come data e qty carico (perche' urgenti e la schedulazione potrebbe spostarli in date indesiderate).\\
Questi carichi devono avere la caratteristica del valore *LOVAL nel carattere n. 15 di chiave 1.\\
\\
Esempio:\\
Chiave carico 1...5...10...15 1...5...10...15\\
LINEA1 2 ART01\\
LINEA1 ART02\\
LINEA1 1 ART03\\
LINEA1 9 ART04\\
LINEA1 (*) ART05 (*) *LOVAL\\
\\
Nuovo ordine di sched.: ART05, ART02, ART03, ART01, ART04.\\
\\
This page has only one version
«