Categorie
Informatica aziendale

L’importanza di una buona pianificazione

La pianificazione aziendale come la pianificazione personale è un’attività importantissima per poter raggiungere un obiettivo nel tempo e nel modo che ci siamo prefissati. Per gestire la pianificazione aziendale SAP mette a disposizione tutta una serie di strumenti che ci consentono di mappare le nostre attività e calcolarne date, tempi, quantità. Questo riguarda tutti i processi ma in particolare modo quello logistico e produttivo: partendo dalla pianificazione generale potremo organizzare le operazioni aziendali fino alle micro attività, potremo alleggerire il nostro personale di operazioni ripetitive e soprattutto reagire alle inefficienze in modo integrata fra i vari reparti, evitando sovraccarichi, problemi di disponibilità, ritardi in operazioni seguenti.

Che sia un servizio o un bene materiale, di solito tutto parte dalla domanda del cliente, si stabilisce qualità, prezzo e tempi per poi organizzare le operazioni necessarie. Dovremo mappare queste operazioni nel sistema SAP cosi che poi questo ci aiuti a calcolare e stabilire la linea di pianificazione secondo le impostazioni e parametri che avremo configurato: impostazioni sui materiali, sui tipi di documenti, sulle modalità e tipi di gestione si tradurranno in continue operazioni di persone e macchine nella linea di pianificazione. Una volta configurati i parametri principali andremo ad affinarlo sempre piu scendendo nelle impostazioni di dettaglio nelle varie aree.

La data di consegna al cliente è il primo cardine di una linea di pianificazione, per prima cosa dovremo capire se schedulare in avanti o all’indietro per fissare i nostri tempi. Questo dipende in gran parte da come vogliamo lavorare e come fissiamo la data nel contratto di vendita col cliente, se promettiamo la merce ad una data questo ci obbligherà a schedulare a ritroso per tutte le altre operazioni, se offriamo la nostra migliore data potremo calcolare in avanti in base alle nostre capacità: questo implica capire come organizzare e gestire il nostro processo aziendale.

In uno scenario MTS (make to stock) dovremo fare particolare attenzione allo scenario produttivo ed alle capacità, il calcolo sulla nostra distribuzione sarà molto importante ed ancora di più saranno le nostre previsioni di vendita e quindi il punto ottimale di accumulo di stock nel tempo per evitare rotture. Se siamo in uno scenario MTO (make to order) conterà molto la stabilità dei nostri processi perché il calcolo sarà su una unica linea di pianificazione dove tutte le operazioni sono concatenate e dovremo calcolale al meglio per rispettare le date: dall’approvvigionamento delle materie prime alla produzione fino alla distribuzione della merce.

In SAP possiamo concertare e poi propagare la nostra linea di pianificazione su tutti i moduli sino ad arrivare al dettaglio nelle varie di processo ( acquisto, qualità, prdozione, logistica): ricordate di stabilire dei punti di buffering nel flusso per fare fronte agli imprevisti e alle rotture, purtroppo la fisica non è mai perfetta…. La velocità del business deciderà poi la cadenza dei job di di pianificazione a sistema, cioè ogni quanto ripianificare le operazioni per il periodo seguente, potrebbe essere giornaliero, settimanale o addirittura mensile.

Questa è la teoria del macro processo aziendale, poi dovremo implementare con gli strumenti che SAP ci mette a disposizione queste logiche.

In SAP, ad alto livello, per la pianificazione generale della supply chain troviamo lo strumento principe, APO – Advanced Planner and Optimizer che con la tecnologia di database in memory HANA consente l’integrazione di un’infinità di dati in real-time da tutti i processi applicativi interessati.

APO è una soluzione che si basa su un insieme di integrazioni specifiche con gli altri moduli SAP eliminando la necessità di utilizzare diverse soluzioni per ogni area: diciamo che APO è il nodo centrale della pianificazione che estende poi le sue influenze sin nelle operazioni più basse dell’ERP.

La pianificazione con APO consente alle aziende di tenere conto di innumerevoli fattori come la disponibilità delle risorse, i tempi logistici (di consegna dei fornitori, di trasferimento in ogni processo), la domanda dei clienti e moltissimi altri fattori utilizzando algoritmi di ottimizzazione avanzati: in questo modo APO può generare un piano ottimale e influenzare le varie aree per massimizzare la disponibilità delle risorse e ridurre i costi.

APO comunque non è sempre necessario, se le dimensioni del business sono ridotte gli strumenti di pianificazione standard come MRP e ATP sono più che sufficienti, magari unite anche alla gestione delle capacità e delle risorse che ormai in S/4 sono implementate ovunque, oltre che nella produzione anche in gestione del magazzino, qualità e trasporti.

Categorie
Informatica aziendale

Le basi dell’MRP e dell’ATP

In qualsiasi sistema gestionale esistono due funzioni per la supply chain che sono essenziali per produzione e logistica:

Master Resource Planning : la pianificazione dell’approvvigionamento generale delle risorse necessarie alla vendita, sia di produzione interna che esterna, abbreviata MRP.

Available To Promise: la pianificazione della disponibilità delle merci in uscita rispetto le quantità gia impegnate da altri fabbisogni, in generale in vendita e per consumo.

L’MRP è una funzione di calcolo in INPUT e riguarda la parte iniziale dei processi logistici e produttivi: si occupa degli acquisti delle materie prime, della produzione dei semilavorati e delle lavorazioni esterne necessarie a produrre la merce che poi andrà in stock pronta per la vendita.

L’ATP è una funzione di calcolo in OUTPUT, cioè riguarda la parte finale dei processi e precisamente il calcolo delle quantità ancora a disposizione per l’uscita quindi alla vendita per i clienti finali o per i consumatori interni.

SAP per quanto riguarda l’MRP reperisce dall’anagrafica articolo le impostazioni sul tipo di approvvigionamento, per primo guarda se questo è interno o esterno: se è esterno guarda il periodo di approvvigionamento, la quantità dello stock di riordino, le impostazioni del lotto e del suo arrotondamento, guarda se esiste un fornitore abituale o lo determina tramite la lista sorgente.

Se SAP riesce a determinare il fornitore, legge le impostazioni del record info acquisti che lega in modo piu specifico il materiale al fornitore ed al prezzo concordato: a questo punto può calcolare con il tipo di funzione selezionata (deterministica, basate sui volumi, euristica, ne esistono molte) le quantità generando le richieste di acquisto. Queste possono essere rilasciate anche in modo automatico creando veri e propri ordini di acquisto che possono essere trasmessi telematicamente al fornitore: se SAP non è riuscito a determinare il fornitore lascerà all’utente la richiesta di acquisto pronta da elaborare inserendo i dettagli di fornitore, prezzi, destinazioni e modalità secondo accordi.

Nel caso di approvvigionamento interno SAP puo generare la richiesta di trasferimento del materiale dal plant produttivo: in quest’ultimo caso SAP deve effettuare la pianificazione della produzione dove va a esplodere le liste dei componenti necessari, se non disponibili dovrà rieseguire l’MRP sulle componenti, e controllare le versioni di produzione del materiale per calcolare la linea di schedulazione delle date degli ordini di produzione in base alle capacità disponibili sulle risorse.

L’ATP invece controlla lo stock disponibile, cioè le quantità già impegnate per la vendita o per altri scopi e le quantità di cui potete ancora disporre, non ancora promesse a nessuno come sta a significare l’abbreviazione anglosassone. Pensate al vostro stock in magazzino, se avete già degli ordini cliente che state processando o spedendo quanto stock ancora disponibile alla vendita vi rimane ? Questa è la quantità disponibile che ad esempio possiamo promettere su ordine di vendita al cliente, al netto delle quantità gia impegnate: capite che in questo caso il sistema gestionale deve memorizzare ogni singolo impegno di vendita del materiale e calcolare ad ogni nuovo impegno se questo può essere soddisfatto o meno.

Fin qui nulla di complicato se non fosse per il fatto che la disponibilità deve essere calcolata anche per materiali che non vanno solo in vendita ma su cui si basano altri prodotti magari in modo personalizzato o combinato: pensate al singolo articolo che potete vendere sfuso direttamente o su cui andate a creare dei kit assieme ad altri articoli. Questi articoli diverranno dei componenti dell’articolo assemblato e su questi componenti avrete sia impegni da ordini di vendita che impegni da ordini di produzione di assemblati.

In questi casi MRP e ATP si incrociano e lavorano a stretto contatto in INPUT e OUTPUT sullo stock magazzino: MRP determina quante sono le quantità del componente necessarie alla produzione dell’assemblato e quindi le quantità da approvvigionare ma è ATP che decide in base alle vostre regole a chi assegnare lo stock del componente.

ATP infatti deve memorizzare ogni impegno su ordine di vendita sia di assemblato che di prodotto sfuso, nel caso della produzione dell’assemblato prenderà come riferimento gli impegni delle esplosioni BOM sui componenti generate dall’MRP. ATP sommerà le quantità controllando che la quantità totale degli ordini di vendita, sia di componenti per assemblati che di componenti singoli, non arrivi alla quantità totale in stock del componente: nel caso la quantità totale a stock disponibile venga superata non permetterà piu di allocare ordini di vendita. Naturalmente nel frattempo MRP controllerà le quantità in stock e nel caso sia impostata con calcolo basato sul volume di consumo ( ad es. V1 o V2 ) terrà conto dei volumi in vendita ed in produzione e aumenterà il lotto di riordino in approvvigionamento di conseguenza.

In questo articolo ho spiegato in modo abbastanza sintetico le due colonne portanti di ogni gestionale ma ricordate che la bontà del comportamento del sistema dipenderà poi dai dati e dalle configurazioni che sceglierete di adottare: queste devono essere “cucite” sul processo di business per come deve funzionare nella realtà, scomponete i processi e pensando alle best practices capite quale è il migliore scenario da utilizzare, concordatelo con il cliente, poi da li sceglierete la miglior configurazione validata dai test effettivi, poi dati accurati per farlo funzionare al meglio.

SAP mette a disposizione una infinità di scenari e relative configurazioni per tenere conto di ogni particolarità, nei prossimi articoli ne parleremo in modo piu specifico assieme ad alcune particolarità di MRP e ATP, buon SAP a tutti!

Categorie
Informatica aziendale

SAP, consigli utili per l’implementazione

In quest’articolo raccoglierò alcuni consigli utili alle aziende e relativi reparti IT che si approcciano per la prima volta all’implementazione del gestionale SAP: sono semplici linee guida raccolte durante un’esperienza ventennale in questo campo che possono essere utili per restare nei costi, nei tempi ed avere un’installazione di successo.

Partiamo dal concetto che SAP è il software gestionale aziendale integrato per eccellenza, la Ferrari dei gestionali, come tale offre una moltitudine di moduli che coprono la maggior parte dei processi aziendali sia verticali che orizzontali, il software è pensato per essere configurato per qualsiasi esigenza secondo le buone pratiche di business.

La prima scelta da fare è il tipo di software SAP che andremo ad usare, dovremo capire in base alle dimensioni dell’azienda e al numero di utenti totali se orientarci su un prodotto come SAP Business One o SAP S4.

Il primo è consigliato per aziende sino a 100 utenti, naturalmente non offre tutte le funzionalità di S4 ma copre le necessità principali di una piccola media impresa, è estremamente configurabile e il costo degli sviluppi o dei pacchetti aggiuntivi è piu contenuto.

Il secondo è il discendente della famosa suite SAP ERP, una suite enterprise che ha una vastità di pacchetti per ogni tipo di settore e processo: l’uso è rivolto alle medie e grandi aziende fino alle multinazionali. Si tratta di un software impegnativo che per la sua complessità prevede dei costi più alti sia di sviluppo che di gestione.

S4 puo essere installato inizialmente nei pacchetti core e poi espanso a seconda delle necessità, al contempo Sap Business One comprende già nella sua installazione base la maggior parte delle funzionalità di una piccola o media impresa: queste sono valutazioni che dovrete fare in base alla vostra strategia aziendale ed al budget che prevedete facendovi mostrare una demo dei due prodotti ipotizzando una configurazione vicina ai vostri processi core.

Una volta scelto il tipo di prodotto dovrete effettuare una mappatura dettagliata dei vostri processi aziendali per capire come configurare il prodotto e come strutturare al meglio i vostri processi e poi dovrete identificare i gap, cioè le parti che non sono previste nella soluzione e capire come implementarle.

Vi consiglio di coprire sempre i processi nevralgici della vostra attività – il cosiddetto core business – adattando accuratamente la configurazione, la forza di SAP è il codice e la sua stabilità che incorpora già le “best practices” di processo quindi analizzate le infinite possibilità di configurazione prima di cambiare un processo e mettere mano al codice: fatevi mostrare i benefici e cercate di capirne il funzionamento, il perchè le best practices di settore seguono una certa logica, se nel codice SAP il processo informatico è gestito in un certo modo probabilmente quello è il modo migliore di gestirlo a parte casi eccezionali.

Il cambiamento non è mai semplice da affrontare, specie in progetti dove si è passati a SAP da gestionali custom precedenti: gli utenti preferiscono il loro modo di lavorare consolidato negli anni, sono generalmente avversi a cambiamenti nelle modalità operative perchè risultano ostiche finchè non se ne è capito bene il funzionamento. Cercate di fare entrare gli utenti fino in fondo alle logiche applicative, agli oggetti ed ai processi SAP cosi che per loro sia chiaro sia il flusso funzionale che l’integrazione: fate capire bene la parte di ingegneria gestionale che è incorporata al suo interno cosi che queste venga capita e abbracciata da tutti, gli utenti sono la parte piu importante del processo informatico aziendale!

La migliore strategia con SAP dal lato prettamente IT è quindi un giusto bilanciamento fra sviluppo e configurazione, mantenere quanto piu possibile la soluzione vicino allo standard, lavorare con la configurazione vi permetterà di avere dei costi bassi sia nell’implementazione che nel passaggio alle nuove release, vi garantirà un ottimo funzionamento su milioni di righe di codice testati da anni, insomma vi permetterà di concentrarvi dal lato IT sul vostro business e non sull’analisi, sviluppo ed ottimizzazione del software custom.

Sviluppate solamente la piccola percentuale di processi e funzioni che non sono coperte dalla soluzione, ricordatevi che un reparto IT non è una software house quindi valutate se già esistono add-on gia pronti che soddisfano i vostri requisiti, cercate di usare le Business API standard e di integrare gli sviluppi nella logica applicativa con il resto dei processi.

Passare a SAP significa abbracciare questa filosofia, ogni nuova release inglobera i miglioramenti di ingegneria gestionale del vostro business senza che dobbiate voi implementarli.

Buon SAP a tutti 😉

Categorie
Informatica aziendale

SAP EWM embedded in S/4HANA

In questo articolo parleremo della soluzione SAP Extended Warehouse Management integrata nel pacchetto ECC SCM, chiamata normalmente EWM “embedded”, vedremo cosa offre ed i processi di magazzino principali.

Rispetto alle classiche soluzioni storiche gia comprese nell’ERP, EWM permette un livello di dettaglio, controllabilità, tracciabilità e soprattutto automatizzazione dei processi non disponibile nelle altre soluzioni embedded SAP, si tratta dell’ultima generazione della gestione magazzino SAP.

EWM è nato come soluzione stand-alone decentrata ma la versione embedded non necessita del trasferimento di dati anagrafici tramite Core Interface (CIF) perché comunque si appoggia alle tabelle anagrafiche centrali dell’ERP – MARA, MARC e MARD – ed il loro uso è esteso direttamente all’anagrafica prodotto di magazzino, cioè alla tabelle specifiche di EWM ( in EWM il materiale si chiama prodotto).

Le transazioni sono le classiche /SCWM/XXXX del sistema EWM stand-alone, si possono utilizzare le app Fiori, l’interfaccia Webgui o SAPGUI su computer e tablet e la RF UI sui terminali radiofrequenza con le funzioni specifiche del Radio Frequency Framework per scarico dei camion e stoccaggio tramite scanner e codici a barre (EAN 128). Tramite le interfacce web si possono effettuare tutte le operazioni di magazzino.

In Embedded EWM si è cercato di mantenere lo scambio dei dati piu snello rispetto al sistemi stand-alone, non viene più generata una notifica di consegna e la replica della consegna avviene automaticamente tramite l’interfaccia qRFC (chiamata di funzione remota coda), queste si possono monitorare con le specifice transazioni SMQ1-2: ogni scambio con ERP è governato da un documento in ingresso, uscita o regola di modifica.

Il processo di entrata merci inizia con la consegna in inbound, la fornitura: possiamo mantenere la fornitura dal Monitor Magazzino (/SCWM/MON) contrassegnando la riga del documento e selezionando in sequenza i pulsanti [Scarica + Salva], [Entrata merci + Salva], [Crea attività di magazzino] e [Conferma attività di magazzino]. Le merci a questo punto sono ora nell’area di ricevimento, se è pianificata la qualità, verrà creato automaticamente un lotto di ispezione in background e sarà possibile utilizzare la transazione QA32 (se QIE è integrato con l’ispezione esterna) per inserire i risultati dell’ispezione e prendere una decisione sull’utilizzo. Ciò modifica il tipo di stock, da qualità a stock libero o bloccato.

Dopo aver inserito il tipo di processo di magazzino che si vuole eseguire si procede alla successiva collocazione e stoccaggio: sempre dal Warehouse Monitor possiamo fare clic sul pulsante [Crea + Salva] selezionando le righe del materiale e le merci verranno inserite secondo e logiche configurate in ordini di magazzino e relative task per le attività di stoccaggio finale. L’archiviazione fisica dovrà essere confermata nei vari passaggi, anche dal Monitor confermando le selezioni dei singoli ordini in attività di magazzino.

Per il processo di uscita merci, la consegna puo essere creata a partire da un ordine di vendita, (è possibile comunque creare consegne senza riferimento d’ordine) con le consuete transazioni VL*: una volta distribuita la consegna questa può essere gestita in EWM.

Possiamo guidare il processo di consegna in uscita EWM sempre attraverso Warehouse Monitor, da qui possono essere creati gli ordini di magazzino e le attività di magazzino. Ciò include il prelievo e l’imballaggio negli appositi centri di lavoro : da qui poi gli operatori potranno creare le unità di gestione, le HU, che saranno caricate nelle unità di trasporto (camion, rimorchi, ecc.) e procede nell’uscita merci.

Nei processi interni infatti è possibile mappare varie fasi del processo utilizzando i centri lavoro: lo scarico, il controllo qualità, il conteggio e il deconsolidamento, il kitting, i servizi logistici a valore aggiunto, il packing, packing e attività di uscita merce.

Il reso fornitore deve seguire l’esito del controllo qualità negativo o trasferimento stock di reso tramite ordine di reso. Il reso del cliente può passare dal controllo qualità alla rilavorazione. I resi sono attività quotidiane comuni nella vendita al dettaglio motivo per cui i processo resi è di solito compreso fra i processi principali. L’inizio del reso cliente è un ordine di reso, che deve essere completato con il credito.

L’inventario deve essere effettuato almeno una volta all’anno al fine di compensare le deviazioni fra stock fisico rispetto allo stock di sistema, si deve effettuare ogni volta che si riscontra un disallineamento visto che porta a notevoli sprechi di tempo. Si può distinguere tra l’inventario relativo all’ubicazione di stoccaggio (raccolta di tutti i prodotti o HU per il documento di inventario dell’ubicazione di stoccaggio) e l’inventario relativo al prodotto (documento di inventario per un prodotto specifico che viene conteggiato tra differenti luoghi di stoccaggio).

L’esecuzione dell’inventario fisico inizia da “Crea inventario” per generare un documento di inventario, questo deve essere attivato per procedere al “Conteggio inventario” e la registrazione dei risultati del conteggio per poi procedere con “Analizza differenze”: se è necessario si registrano le differenze inventariali che creano differenza contabile di magazzino.

Il cockpit o Monitor Magazzino (/SCWM/MON) è una app potente che ci offre una panoramica di tutto il magazzino, ingressi, uscite, inventario, documenti posizioni di stoccaggio, risorse, prodotti, avvisi, disponibilità delle scorte: da qui possiamo avere l’indicazione di come funziona il magazzino, il grado di riempimento, le attività di magazzino aperte, ecc.

Nel “layout grafico del magazzino” possiamo rappresentare il magazzino compreso l’inventario, le posizioni di stoccaggio, le risorse, ecc. come grafico bidimensionale. Questo è molto utile se si è configurato il magazzino tramite la configurazione di layout del magazzino: questo tipo di configurazione permette infatti di ottimizzare le operazioni basandoci sul layout fisico delle ubicazioni e delle attività.

Possiamo comunque configurare il magazzino per processo se ci interessa il flusso di attività sui materiali fra le varie aree di lavoro: questo permette di configurare scenari complessi come il deconsolidamento (identificazione e imballaggio merci all’ingresso), l’imballaggio delle merci in uscita, la gestione del packaging multi materiale, l’aggregazione di unità di magazzino e di unità di trasporto, gestione delle risorse puntuale degli operatori e delle singole task di attività di magazzino.

Categorie
Informatica e hacking

Pidroid, una docking station per Android

Negli ultimi, anni con il continuo incremento di performance dei cellulari sono nate numerose iniziative per usare il nostro telefono come unico device personale, anche come desktop replacement: quasi tutti i cellulari moderni hanno la possibilità di essere collegati al grande schermo, al mouse ed alla tastiera fisica, i grandi costruttori come Samsung o Huawei offrono interfacce Android specializzate per un l’uso desktop.

Ad uno sviluppatore o ad un utente esperto l’interfaccia Android sta stretta perché ha molte limitazioni ( finestre non ridimensionabili piuttosto che app non ottimizzate…) e non offre strumenti specializzati per l’uso desktop, insomma non si può paragonare ad un ambiente desktop completo.

Android è basato sul kernel Linux quindi nulla ci vieta di fare girare una distribuzione come Debian su un cellulare ( vedi Nethunter di Kali linux), basta avere delle nozioni di base di Linux o installare una app specializzata (Linux Deploy, Anlinux, Debianoroot,ecc..) per fare girare un desktop GNU completo sulla base del kernel sottostante: questo implica l’uso di un display server e una app che possa visualizzarlo come un server ed un viewer VNC oppure usare app native come Sparkle ( un porting di wayland per Android).

Se vogliamo spingerci piu avanti nell’usabilità linux offre alte possibilità di integrazione, potremo usare una single board Arm come postazione desktop lasciando sempre collegati display, mouse, tastiera e altri dispositivi ed usarla come docking station a cui collegare il nostro cellulare via usb. In questo modo potremo sfruttare il potente processore del cellulare come server e la sbc come client di input/output: in questo modo il kernel del cellulare avrà il peso di comporre il framebuffer e ricevere o comporre l’audio mentre del rendering sullo schermo, dell’audio e degli altri dispositivi se ne occuperà la sbc.

Con questa suddivisione delle risorse riusciamo ad ottenere buoni risultati nelle performance globali e possiamo pensare veramente di lavorare anche con applicazioni piu avanzate di un semplice browser.

Nel tempo ho ottimizzato una soluzione integrata basata su Debian Arm64 e il desktop XFCE4: basta collegare il cellulare via usb alla scheda per fare partire l’ambiente desktop, uno script attraverso adb apre la comunicazione e fa partire una chroot sul cellulare.

Il progetto è spiegato su GitHub, per la sua realizzazione sono necessari :

  • un cellulare Android con root attivo, questo si può realizzare semplicemente con Magisk.
  • una scheda Arm64 abbastanza potente come Raspberry PI 3 o 4.
  • display, tastiera e mouse fisici collegati alla scheda Arm.

Il progetto prevede di trasferire sul cellulare una immagine Debian Arm64 customizzata e degli script di gestione, sulla scheda Arm64 andremo ad installare uno script bash che gestirà automaticamente via adb sia il server TigerVNC che nfs e Pulseaudio.

Sia la rootfs dell’immmagine Debian che gli script sono stati ottimizzati nel tempo per ottenere il massimo delle performance e una usabilità molto vicina ad una normale postazione desktop Linux. Questa soluzione è diventata la mia base per lo smart working, Chromium con la suite da ufficio Microsoft funziona bene compreso Teams, spero arrivi presto Edge per avere l’account Msf integrato, restano fuori solo particolari ambienti Microsoft dove comunque è necessario un dispositivo con sistema operativo Windows appartenente al dominio ( se la vostra azienda permette di collegare alla rete solo dispositivi di dominio con certificato).

Se vi interessa potete vedere Pidroid in azione qui, happy hacking!