ABAP
# ABAP

ABAP (acronimo di Advanced Business Application Programming) è un linguaggio di programmazione proprietario i cui diritti sono detenuti dalla società SAP AG, che lo ha sviluppato nel 1983.

## Storia

Il nome ABAP nacque come acronimo dell'espressione tedesca Allgemeiner Berichts Aufbereitungs Prozessor, che significa letteralmente "processore generale per la preparazione di resoconti". L'acronimo era seguito da /4 che indicava che il linguaggio era di quarta generazione (4GLs). In seguito si è passati alla denominazione in lingua inglese Advanced Business Application Programming.

Il nucleo iniziale del linguaggio fu realizzato nel 1980 allo scopo di produrre un'applicazione commerciale ricorrendo alla tecnica della programmazione strutturata. La sintassi del linguaggio ricalcava in gran parte quella di altri linguaggi dell'epoca quali il COBOL e il Fortran.

Nella prima versione per mainframe e la realizzazione dell'applicazione commerciale R/2 il linguaggio distribuito agli utenti consentiva una veloce interrogazione dei dati. Grazie alla presenza di Logical Databases (LDBs), strutture dati predefinite e in forma gerarchica, l'applicazione R/2 permetteva di ottenere rapporti scegliendo i dati finali da elencare.

In seguito, con l'avvento dell'ERP e la tecnologia client-server applicata a R/3, il linguaggio di programmazione si è evoluto. Perdendo la caratteristica di strumento per l'utente, si è arricchito di ulteriori istruzioni. Consente di interfacciarsi al linguaggio SQL dei maggiori database relazionali (RDBMS). In un sistema client-server, attraverso un protocollo proprietario si ha un'esposizione grafica delle videate e, nell'era Internet, l'esposizione nel WEB.

Grazie alla forte presenza di prodotti applicativi SAP, ABAP è stato per un certo periodo tra i linguaggi di programmazione più utilizzati al mondo. In seguito il suo utilizzo si è ridotto fino a divenire marginale, tanto che dal 2017 non figura più nemmeno tra i primi 20 linguaggi per utilizzo.

## Evoluzione

Dal 2000, e in concomitanza con la distribuzione delle release 4.x del prodotto R/3, è stata distribuita una estensione object-oriented del linguaggio, denominata ABAP Objects.

## Esempio

Esempio di codice per Hello, world!:

