Oggi voglio condividere con te una delle guide a cui sono più affezionato.
E’ stata una delle prime guide che ho scritto, e l’ho fatta per me i primissimi mesi di lavoro come consulente di Business Intelligence.
In questa guida step by step vedremo come creare un estrattore in delta su due date con un function module
Essendo questa una guida step by step ho deciso di non dare nulla per scontato.
Non prendere male questa mia frase, è proprio quello che avrei voluto io quando mi sono trovato nella situazione di dover creare per me questo documento.
Ricordo che ero davvero agli inizi della mia carriera come consulente di SAP BW e dire che ne sapevo davvero poco è un eufemismo.
La creazione di un estrattore basato su un function module è una delle attività che più spaventa molti dei consulenti SAP BW più junior (ma non solo) e questo perchè richiede avere una buona dimestichezza con il codice ABAP (se anche tu hai paura di scrivere codice, non abbatterti e consulta le mie guide sul codice ABAP). Ed ecco perchè ho deciso di condividere questa guida che spero possa fungere sia da schema di tutte le attività da compiere che da bozza di codice.
Perchè creare un estrattore in Function Module
Nell’articolo Ampliamento estrattori e codice ABAP | Guida step by step SAP BW abbiamo visto come poter inserire nuove informazioni su un estrattore standard.
Oggi andiamo un pò oltre e con questa guida step by step scopriremo come creare da zero un estrattore in delta su due date con un function module.
Creare un estrattore significa voler estrarre dei dati da tabelle che non sono presenti in estrattori standard (ad esempio quando le tabelle stesse sono custom) oppure se si deve applicare una logica particolarmente complessa in fase estrattiva.
Tipi di estrattori custom
Per poter creare un estrattore custom ci sono 3 possibilità:
In questa guida, leggermente avanzata, ci focalizzeremo sulla terza possibilità e vedremo tutti i passi necessari per riuscire a creare in autonomia il nostro estrattore su Function Module.
Perchè usare due date per il delta
Poter assicurare il caricamento in delta di un estrattore può essere molto importante, se non fondamentale, per molti flussi dati.
Per flussi dati che presuppongono una grande quantità di record
Solitamente per creare un meccanismo di delta si utilizzano delle date. Ma nella maggior parte dei casi in una tabella non esiste un’unica data da prendere in considerazione ma la combinazione di due date:
- data creazione
- data modifica.
Questo accade perchè nel momento in cui viene inserito un nuovo record in tabella si valorizza la data creazione mentre la data modifica rimane vuota. Quando poi viene modificato il medesimo record si va a valorizzare la data di modifica con il giorno in cui è stata eseguita tale modifica.
Poichè un delta per essere efficace deve estrarre sia i nuovi dati che quelli che hanno subito una modifica abbiamo bisogno di creare una nuova data che sarà:
Per eseguire questa logica abbiamo bisogno del Function module.
Guida Step by Step:Estrattore in delta su due date con Function Module
Eccoci finalmente arrivati alla guida step by step su come creare un estrattore in delta su due date con Function Module.
Se vuoi averla sempre con te, scaricala direttamente da qui:
Creare struttura estrattiva
Per prima cosa vai in se11 e metti un nome in Tipo Dati (ovviamente un tipo dati che inizia con Z e che non esiste).
Poi fai crea e inizia a mettere i campi e i tipo campi che mi servono nella struttura
In questo caso ho preso quello fatto copiando i campi dalla tabella erdk .
IMPORTANTE:
entrare in campi divisa/quantità
E associare ai campi divisa la tabella e il campo di riferimento
Creare il gruppo funzioni
Questo passaggio non è obbligatorio e dipende da quanto sia “vergine” il sistema su cui state lavorando. Se esiste almeno un estrattore basato su FM puoi saltare per intero questo paragrafo perchè qualcuno lo ha già fatto per te.
Transazione SE80 e vai su gruppo funzioni e selezioni RSAX e lo devi copiare
E chiamarlo con ZRSAX. Una volta copiato si aprirà questo:
Selezionare SOLO quello evidenziato.
A questo punto posso creare il Function Module.
Function Module
Parto copiando il function module che ho in ZRSAX sotto la voce function module cambiandogli ovviamente il nome chiamandolo con il nome che gli voglio dare io.
IMPORTANTE
Ricordarsi di mettere in E_T_DATA la struttura estrattiva che abbiamo creato al passo 1.
Poi si va al testo sorgente e si implementa la logica per quello che deve fare l’estrattore:
Sotto riporto il codice dell’estrattore che sto facendo giusto per capire quali parti cambiare e quali lasciare com’è.
Dichiarazioni nella TOP
A questo punto bisogna dichiarare le varie tabella nella TOP del gruppo funzioni ossia nella parte in cui le dichiarazioni sono valide per tutti i function module ched appartengono a quel gruppo funzioni:
cliccare due volte sul nome programma ( quello cerchiato). A questo punto si apre una schermata tipo ABAP in cui bisogna far doppio click su:
Ossia sul TOP e qui si aprirà un programma ABAP in cui fare la definizione (è tipo le global definition delle start e end routine)
Codice del FM
Scarica qui la guida integrale gratuitamente
Se hai letto fin qui può voler dire solo due cose. Ti serviva urgentemente creare il tuo estrattore con function module, oppure ti è piaciuta la guida.
In entrambi i casi ti ringrazio e se vuoi avere questa guida sempre con te puoi scaricarla gratuitamente da qui:
Sono un consulente di Business Intelligence,lavoro con uno dei software di Business Intelligence più importanti e completi sul mercato che è SAP BW (da poco diventato BW4HANA), e ho avuto modo di lavorare con grandissime realtà nazionali ed internazionali.
In tutte queste realtà ho avuto modo di entrare nella vita aziendale conoscendone i processi, i problemi, e le necessità e di relazionarmi con key user, decision maker, manager e personale operativo per riuscire a costruire report e dashboard che facilitassero il loro lavoro e permettessero in pochissimi click di ottenere tutte le principali informazioni sull’andamento della società.
Ho iniziato a fare divulgazione sul tema Business Intelligence per spiegare anche ai non addetti ai lavori quanto sia importante ragionare sempre in funzione di dati e come sfruttare la tecnologia per prendere decisioni migliori.
Le informazioni hanno un valore inestimabile e sono la cartina al tornasole di qualsiasi business mentre i dati da soli sono solo numeri!