Blog
Cosa è il linguaggio di programmazione ABAP
- 26/11/2019
- Scritto da: Grazia Masulli
- Categoria: SAP ABAP
Se siete alla ricerca di un lavoro in SAP, o se già lavorate con questo programma gestionale, è possibile che abbiate già sentito parlare di ABAP.
Il termine significa Advanced Business Application Programming (Programmazione Avanzata per le applicazioni di business). Si tratta di un linguaggio “proprietario”, cioè sviluppato da SAP SE, l’impresa che ha sviluppato i diversi software di gestione aziendale. ABAP è apparso negli anni ’80, quando ancora c’era SAP R/2.
È un linguaggio di programmazione di alto livello orientato agli oggetti. La sintassi di ABAP ha una struttura e dei comandi che ricordano (o sono identici) i linguaggi dell’epoca – se ad esempio sapete qualcosa di BASIC vi sarà subito familiare.
A volte nel nome viene incluso il numero 4 (ABAP/4), a rappresentare il fatto che si tratta di un cosiddetto “linguaggio di quarta generazione”, ossia un linguaggio astratto (indipendente dal tipo di hardware che si sta usando), facile da comprendere per i programmatori grazie alla sua sintassi semplice e intuitiva.
Permette di programmare la maggior parte dei prodotti SAP (R/3, Business Suite, etc.) e si può connettere a vari tipi di basi di dati (date le sue origini è ovviamente pensato per facilitare questo tipo di operazioni).
Se una società che lavora con SAP ERP vuole creare i propri reports, delle interfacce con sistemi locali, o financo delle nuove transazioni può utilizzare il linguaggio ABAP, o nello specifico gli “Oggetti ABAP” (ABAP Objects), per estendere il funzionamento del sistema in base alle proprie necessità.
I programmi ABAP risiedono nel database di SAP (ossia non sono files indipendenti).
La configurazione ABAP può essere gestita direttamente dal sistema, accedendo al menu Tools –> ABAP Workbench Development.
Da qui è possibile accedere alle transazioni che permettono di mettere le mani sulla programmazione del nostro sistema SAP.
Alcune transazioni usate spesso sono la SE38 (l’ABAP Editor, per scrivere e modificare reports), SE11 (l’ABAP Dictionary, per la definizione di tabelle del database), SE51 (lo Screen Painter, per disegnare schermate).
Naturalmente non tutti gli utenti hanno accesso a queste cartelle. Dipende dal ruolo che gli è stato assegnato nel sistema dagli amministratori. Se volete approfondire un il criterio in cui i ruoli e gli accessi vengono concessi in SAP, vi consiglio di leggere il post su autorizzazioni e ruoli in SAP.
L’ABAP Dictionary
Un concetto importante in ABAP è quello dell’ABAP Dictionary (il “dizionario” ABAP). Permette di creare e gestire i metadati (informazioni che descrivono i dati e permettono di gestire le informazioni in modo più efficace. Gli utenti potranno così definire tipi di dati, tabelle, views (tabelle virtuali che aiutano a gestire i dati), etc.
Il vantaggio di lavorare con il dizionario ABAP è che si limitano le ridondanze. Tutte le informazioni vengono gestite in una base di dati centralizzata, garantendo la coerenza e l’integrità dei dati.
Gli oggetti del dizionario ABAP sono tabelle, campi delle tabelle, elementi dati e domini. La logica del sistema è che ogni campo di una tabella fa riferimento a un elemento dati che a sua volta si riferisce a un dominio.
Nel dominio avremo informazioni come tipo di dato, lunghezza, lunghezza di output, etc.
La somma di dominio, elemento dati e campo della tabella include tutti gli attributi. Perché esistono questi livelli di astrazione? La logica è che organizzando il sistema in questo modo effettuare modifiche al sistema sarà più facile e rapido.
Infatti modificando un parametro di un dominio (ad esempio, la “lunghezza di output visualizzata”) i cambi verranno trasmessi a cascata (ossia ereditati dall’elemento dati e dai campi della tabella).
Inoltre è possibile limitare la ridondanza, utilizzando lo stesso dominio per dati che hanno le stesse caratteristiche.
Importante anche ricordare che quando lavoriamo nel dizionario ABAP e creiamo un oggetto (o, più in generale, una qualunque applicazione) il nome dovrà iniziare sempre con le lettere “Z” o “Y” – ad esempio Ztabella_prova.
Che cosa è l’errore ABAP?
Se avete già lavorato in SAP, è molto probabile che siate incorsi qualche volta in una schermata di errore che mostra in cima al box di comunicazione la scritta “ABAP Error” (errore ABAP).
Significa, in poche parole, che il sistema ha impiegato troppo tempo ad elaborare una informazione, e dopo un certo tempo ha smesso di lavorarci (run time error).
Questo può accadere quando volete creare dei reports molto complessi. Se, ad esempio, molti utenti stanno utilizzando funzioni che richiedono l’elaborazione dello stesso tipo, il sistema per evitare sovraccarichi ne blocca qualcuna. In generale è sufficiente attendere qualche minuto e riprovare.
Un altro caso in cui potreste incorrere nell’errore ABAP è quando lanciate una semplice lista, ad esempio la ricerca di un materiale, senza porre dei limiti. Ad esempio supponiamo che io lanci la ricerca degli ordini di vendita senza dare una indicazione di periodo, o cliente o materiale… Sono davvero tante informazioni, ed è possibile che ci voglia più tempo del dovuto. Cerchiamo sempre di restringere i nostri criteri di ricerca!
Spero che il termine ABAP adesso non vi suoni più cosi estraneo!
Se siete interessati a dei corsi di formazione in ABAP contattatemi!