
Ciao lettori di Medium! Sono entusiasta di condividere alcuni insegnamenti tratti da un recente progetto in cui mi sono immerso nella complessità dei modelli di dati SAP.
Per motivi di riservatezza non posso condividere tutti i dettagli del progetto 🤫. Tuttavia, discuterò di una sfida che ho dovuto affrontare riguardante la complessità dei modelli di dati SAP: come si presenta l'architettura dei dati SAP e come si inserisce tutto in un modello di dati coerente che abbia senso per gli utenti aziendali?
In questo progetto, il mio obiettivo principale era integrare i dati in una piattaforma di analisi/mining utilizzando i dati aziendali SAP sui processi di approvvigionamento. Man mano che procedo, sorgono diverse domande riguardanti la modellazione dei dati e l'orientamento tra le varie tabelle del database SAP.
Il mio obiettivo era creare un modello di dati coerente in grado di alimentare in modo efficiente dashboard, report e altri output analitici futuri pianificati nei passaggi successivi. Per raggiungere questo obiettivo, ho dovuto comprendere appieno le basi dell'architettura dei dati SAP, la mappatura delle tabelle e così via. Non è stato un compito facile ma sono riuscito a cogliere questa nuova conoscenza 🚀
1) SAP, software leader nella pianificazione delle risorse aziendali
Come molti di voi sanno, SAP è tra i principali fornitori di software ERP, insieme ad altri come Oracle e Infor. Attualmente esistono due generazioni di software SAP ERP: SAP ECC e il suo successore, SAP S/4 HANA.
I componenti di entrambi i software coprono tutte le funzioni aziendali, che non sono solo rivolte verso l'interno, ma anche verso l'esterno, ad esempio dal lato cliente (CRM) e dal lato fornitore (SCM). È composto da diversi moduli che coprono tutte le esigenze di un'azienda: Vendite, Produzione, Logistica, Finanza, Risorse Umane, Servizio Post Vendita.
È un pacchetto software che consolida tutti i processi aziendali in un unico database. Inoltre considera automaticamente le interdipendenze tra i diversi processi. In altre parole, i software SAP o ERP in generale, costituiscono il cuore dei processi aziendali, alimentati da una grande quantità di dati e transazioni.
Per i progetti di analisi dei dati e ottimizzazione dei processi, possiamo solo dire che è vantaggioso integrare i dati di SAP e modellarli per l'utilizzo front-end per fornire una visione end-to-end dei processi aziendali e identificare le inefficienze. Tuttavia, può risultare complicato senza prima comprendere come sono organizzati i dati in SAP.
2) Tipi di dati e tabelle di SAP
Come sono organizzati i dati di SAP? In breve, più tabelle nel database SAP archiviano tutti i dati generati dalle transazioni SAP, come la creazione di un fornitore o un ordine di acquisto nel caso delle funzioni di approvvigionamento. È anche importante notare che mentre alcune tabelle rimangono stabili nel tempo, altre archiviano dati che catturano eventi aziendali specifici cruciali per le operazioni quotidiane. L'esempio della creazione di un fornitore o di un ordine di acquisto in SAP illustra bene questo punto.
Consideriamo ad esempio un'azienda del settore automobilistico. Questa azienda avrebbe una tabella dei fornitori che elenca quelli con cui lavora frequentemente per acquistare i materiali necessari per produrre automobili e altri articoli. La creazione di un nuovo fornitore in questa tabella è un evento raro che può verificarsi solo poche volte all'anno. Questa tabella viene definita tabella principale e memorizza solo i dati principali.
Nel frattempo, la creazione di un ordine di acquisto è un'attività operativa. I team acquisti all'interno della stessa azienda utilizzano spesso transazioni MM (gestione dei materiali) per creare ordini di acquisto (ad esempio milioni di ordini di acquisto). Di conseguenza, la tabella che memorizza tutti questi ordini di acquisto viene definita Tabella delle transazioni e questo tipo di dati è noto come Dati delle transazioni.
Entrambe le tabelle in SAP ECC e S/4 HANA hanno nomi specifici. La tabella principale dei fornitori è nota come tabella LFA1, mentre gli ordini di acquisto si trovano nella tabella EKKO. Per chi lavora per la prima volta con le tabelle SAP, potrebbe non essere immediatamente chiaro cosa rappresenta ciascuna tabella in base al suo nome. Ad esempio, se menzionassi i nomi MCHA, MSEG, BSEG, ecc., sapresti che si tratta di tabelle SAP, ma non sapresti necessariamente quali informazioni memorizzano. Contengono ordini di produzione, conti finanziari o fatture?
Proprio per questo motivo è stato fondamentale per me condurre ricerche, prendere appunti e memorizzare le tabelle nell'ambito del mio progetto. Ancora più importante, dovevo comprendere le relazioni e i campi utilizzati in ciascuna tabella. In questa fase, è anche importante mappare questi dati per una rapida comprensione.
3) Mappatura dei dati delle tabelle di approvvigionamento SAP
Un'ulteriore sfida che potresti affrontare in questo tipo di progetto è comprendere sia l'architettura dei dati di SAP sia il modo in cui vengono definiti i processi aziendali di approvvigionamento. Per fortuna, la mia precedente esperienza di lavoro su progetti di miglioramento dei processi con i team di approvvigionamento è stata utile per quanto riguarda i processi di approvvigionamento. Prima di entrare nel SAP Data Model o nella mappatura delle tabelle di approvvigionamento, esaminiamo brevemente i principali oggetti gestiti in un processo di approvvigionamento.
Per semplificare, l'approvvigionamento è il processo di acquisto di qualcosa, che potrebbe essere materie prime, servizi, strumenti, ecc., da un fornitore. Questo processo prevede la ricezione degli articoli acquistati, la verifica delle loro condizioni e quindi l'avvio del processo di pagamento, spesso definito processo di contabilità fornitori. Tuttavia, non copriremo questo processo nel nostro ambito.
Durante questo processo, i team di approvvigionamento svolgono varie attività: convalidano le richieste di acquisto, creano ordini di acquisto e inviano questi ordini ai fornitori. La maggior parte di queste attività vengono eseguite utilizzando il software ERP, in particolare il modulo MM (Material Management) in SAP. Durante questo flusso di attività, gli oggetti o i componenti chiave passano da una fase a quella successiva:
- Richieste di acquisto: Questi vengono creati internamente, spesso dai team di produzione, per informare i team di approvvigionamento che un articolo specifico deve essere acquistato per scopi di produzione.
- Ordini d'acquisto: Questi vengono creati dai team di approvvigionamento e includono informazioni dettagliate sugli articoli da acquistare, la quantità, il fornitore che dovrebbe ricevere l'ordine d'acquisto e altri dati rilevanti.
- Ricevuta Merce: Al ricevimento della merce menzionata nell'ordine d'acquisto, il venditore fornisce una ricevuta della merce. Questa ricevuta è fondamentale per verificare che la merce ricevuta in magazzino corrisponda a quanto richiesto nell'ordine di acquisto.
- Ricevuta fattura: Questo documento conferma che i beni e i servizi ricevuti sono corretti e conformi all'ordine di acquisto. Viene spesso utilizzato per avviare il processo di pagamento al venditore.
Ogni oggetto in SAP ha la sua tabella delle transazioni associata che memorizza tutti gli oggetti creati. Ad esempio, come accennato in precedenza, gli ordini di acquisto vengono archiviati nella tabella EKKO. Tuttavia, c'è un altro livello di complessità da considerare nelle tabelle SAP: il concetto di documenti di intestazione e articolo.
In SAP, un oggetto o un documento come un ordine di acquisto ha due livelli di rappresentazione: il livello di intestazione e il livello di articolo. Questo perché, concettualmente, un documento viene sempre creato con due livelli di informazioni. L'intestazione contiene dati generali e aggregati, mentre le voci corrispondono a righe specifiche all'interno dello stesso documento.
Per illustrare, immagina di acquistare una PS5, The Last of Us 2 e un visore.
Il tuo ordine finale includerà un'intestazione con il tuo indirizzo e il numero dell'ordine. Gli articoli che stai acquistando, insieme alla loro quantità (in questo caso, uno per ciascun articolo) e al prezzo, verranno elencati separatamente nelle voci
Quindi, una domanda comune è: la tabella EKKO rappresenta i dati dell'intestazione o i dati dell'articolo? La risposta corretta sono i dati dell'intestazione. TI dati dell'articolo vengono archiviati in una tabella separata denominata EKPO.
Questo concetto fondamentale è essenziale poiché si applica alla maggior parte degli oggetti/documenti SAP. Le fatture avranno una tabella per i dati di intestazione e un'altra per gli articoli, così come le entrate merci. Tuttavia, le richieste di acquisto rappresentano un'eccezione, poiché hanno solo una tabella degli articoli.
Per integrare e analizzare i dati del procurement SAP, avevo bisogno di identificare le tabelle appropriate da estrarre e comprendere le loro relazioni per costruire un modello di dati corrispondente. La mappatura che ho fatto per visualizzare come questi elementi di dati si interconnettono è dettagliata di seguito:
Chiaramente la mappatura che ho effettuato si concentra principalmente sulle tabelle transazionali fondamentali del processo di procurement. Nella mappatura potrebbero essere incluse tabelle aggiuntive, come le tabelle principali e altre tabelle delle transazioni, ad esempio quelle che memorizzano le modifiche agli ordini di acquisto.
Questa mappatura evidenzia anche le relazioni tra le tabelle, siano esse uno-a-uno, uno-a-molti o molti-a-molti. Inoltre, include i campi che costituiscono la chiave primaria di ciascun oggetto.
Comprendere il ruolo di ciascuna tabella e le potenziali relazioni può richiedere molto tempo. Tuttavia, sono disponibili numerose risorse per assistermi, come quelle che mi hanno aiutato a creare questa mappatura dei dati sugli appalti di alto livello. Se sei interessato a saperne di più sulle tabelle SAP, considera di visitare questo sito Web. Fornisce una panoramica dettagliata di ciascuna tabella SAP, comprese chiavi primarie, campi, valori possibili, ecc. Devi solo digitare il nome della tabella che stai cercando, ad esempio MSEG e otterrai maggiori dettagli sulla tabella†struttura e tipo di informazioni memorizzate:
Infine, se questo articolo ti ha incuriosito di più sui modelli di dati SAP per altre funzioni aziendali, non esitare a consultare il sito Web della community SAP. Troverai alcuni contenuti interessanti, ad esempio la stessa mappatura dei dati di alto livello per le funzioni finanziarie:
Una relazione (di base) tra le tabelle MM e FI: comunità SAP
Fonte: towardsdatascience.com