Blog
Il linguaggio di programmazione SAP ABAP: domande e risposte
- 09/06/2020
- Scritto da: Grazia Masulli
- Categoria: SAP ABAP
Che cosa è ABAP?
ABAP, a volte chiamato ABAP/4, è il linguaggio proprietario creato da SAP (la società tedesca) per sviluppare applicazioni e adattare i prodotti SAP alle specifiche necessità aziendali. Ad esempio, oltre l’80% di SAP R/3 è stato scritto con ABAP.
ABAP è un linguaggio di “alto livello”, ossia indipendente dalla struttura del computer su cui viene eseguito il programma e relativamente comprensibile in quanto presenta delle similitudini con i linguaggi umani. Questi linguaggi di alto livello devono essere “interpretati” (in pratica, tradotti in istruzioni in linguaggio macchina) dai computer per essere eseguiti.
Inizialmente ABAP era l’abbreviazione di Allgemeiner Berichts-Aufbereitungs-Prozessor (processore generale per la creazione di report) – un nome che tradisce la ragione per il quale era stato concepito. Permetteva infatti agli utenti di creare dei report “su misura” necessari alle loro attività.
Successivamente è stato ribattezzato come “Advanced Business Application Programming”, un nome che meglio rispecchia le sue nuove funzioni.
Ci sono dei buoni motivi per imparare ad usare ABAP?
Il motivo principale è che esistono decine di migliaia di imprese che lavorano con SAP. Queste imprese spesso hanno bisogno di risolvere un bug, personalizzare un processo, etc.: esiste quindi una notevole domanda di specialisti in ABAP, i cosiddetti “consulenti tecnici”.
Normalmente sono una categoria differente da quella dei “consulenti funzionali”, che sono invece esperti di processi aziendali ma potrebbero non sapere come programmare in ABAP.
Attualmente ci sono quasi 5 milioni di sviluppatori registrati ABAP.
Che aspetto ha il codice scritto in ABAP?
Il codice è abbastanza leggibile se avete familiarità con la programmazione. Ogni comando termina con un punto e le strutture sono facilmente riconoscibili se avete qualche familiarità con BASIC, FORTRAN, etc. – troverete ad esempio i costrutti WHEN…IF…ELSEIF.
Qui sotto includo un esempio così potete farvi una idea del suo aspetto. Se vi interessa l’argomento seguendo questo link potrete vedere più nel dettaglio la sintassi ed alcuni comandi basici di ABAP/4.
REPORT demo_list_window NO STANDARD PAGE HEADING.
START-OF-SELECTION.
SET PF-STATUS ‘BASIC’.
WRITE ‘Select line for a demonstration of windows’.
AT USER-COMMAND.
CASE sy-ucomm.
WHEN ‘SELE’.
IF sy-lsind = 1.
SET PF-STATUS ‘DIALOG’.
SET TITLEBAR ‘WI1’.
WINDOW STARTING AT 5 3 ENDING AT 40 10.
WRITE ‘Select line for a second window’.
ELSEIF sy-lsind = 2.
SET PF-STATUS ‘DIALOG’ EXCLUDING ‘SELE’.
SET TITLEBAR ‘WI2’.
WINDOW STARTING AT 45 10 ENDING AT 60 12.
WRITE ‘Last window’.
ENDIF.
ENDCASE.
E’ difficile programmare in ABAP?
La risposta dipende ovviamente dal vostro punto di partenza – se avete familiarità con la programmazione orientata agli oggetti e con concetti come data types, conditions, loops, etc. e avete esperienza con altri linguaggi credo che lo troverete molto immediato.
Detto questo esiste un certo consenso nel settore che si tratti di un linguaggio facile da usare, e che la difficoltà sia più spesso nella necessità di capire e tradurre in codice il funzionamento di un processo aziendale.
ABAP ha un futuro? Vale la pena studiarlo?
Sicuramente se siete interessati a lavorare nel settore IT con SAP è ABAP può essere un punto di forza del vostro curriculum – per la manutenzione del codice esistente e anche per il fatto che la prossima generazione di software ERP SAP (S/4HANA) è ancora basata su ABAP.
Anche il fatto che la quota di mercato di SAP è aumentata considerevolmente in questi decenni sicuramente aiuta a creare un mercato.
Detto questo esiste anche un movimento di SAP in senso contrario – quello di ridurre il codice “su misura” e di aumentare per quanto possibile l’implementazione di soluzioni standard basate sulle “Best Practice”.
Dato che la principale ragione di essere di ABAP è la personalizzazione dell’ERP questa tendenza potrebbe portare ad un declino della domanda futura.
Inoltre, anche se questa è solo una mia impressione e non ho dati sicuri, credo che esista una forte concorrenza di programmatori ABAP offshore (ad esempio da paesi come l’India). Credo che questo abbia un effetto sui salari pagati agli specialisti.
Fatta questa introduzione credo che, soprattutto per i consulenti funzionali, sia importante avere almeno dei rudimenti di ABAP per poter individuare problemi nel codice e lavorare più facilmente con i colleghi specializzati nella programmazione.
Come posso esercitarmi con ABAP?
Il modo normale è sicuramente quello di utilizzare l’editor ABAP di SAP. Potete attivarlo seguendo questo percorso nella GUI di SAP (potete usare anche la transazione SE38):
Tools → ABAP Workbench → Development → ABAP Editor
Tuttavia avrete bisogno di avere dei privilegi elevati (la maggior parte degli utenti finali non sono autorizzati). Inoltre sarebbe opportuno esercitarsi con un sistema test – imparare ABAP con un sistema in produzione è una ricetta per il disastro.
Come alternativa potete anche provare a installare il cosiddetto MiniSAP (in pratica un SAP senza i moduli). Se dovesse essere impossibile o molto complicato ho notato che su alcuni siti è possible trovare dei pacchetti “pronti da scaricare” che funzionano con delle macchine virtuali.
Infine esistono alcune pagine que permettono di inserire i comandi via browser (ossia dal vostro navigatore internet). Ho notato che spesso per motivi di sicurezza alcuni comandi sono bloccati,