01 La guida
Se lavori con tabelle trasparenti, viste, elementi dati e chiavi e vuoi programmi solidi e integrati, parti dal linguaggio prima delle strutture. Impari che ABAP nasce come strumento per preparare resoconti e diventa un linguaggio proprietario per sistemi R/2 e R/3, e capisci perché la coerenza dei dati dietro le videate decide la tenuta dei tuoi resoconti.
Registro ABAP ti accompagna con esempi pratici e chiari, senza vendere corsi e senza promesse. In questo articolo segui la storia del linguaggio, la sintassi vicina a COBOL e Fortran, i Logical Database in forma gerarchica, il passaggio al modello client-server e al web, il legame con SQL e l'estensione a oggetti, così colleghi ogni scelta di modellazione a un perché concreto che puoi verificare nel codice che scrivi.
Dal processore di resoconti al linguaggio proprietario
Quando apri la storia di ABAP trovi subito un cambio di nome che ti spiega il cambio di ruolo. All'inizio il nome nasce come acronimo dell'espressione tedesca Allgemeiner Berichts Aufbereitungs Prozessor, che significa letteralmente processore generale per la preparazione di resoconti, e la sigla è seguita da /4 che indica che il linguaggio è di quarta generazione. In seguito si passa alla denominazione in lingua inglese Advanced Business Application Programming. Tu leggi in questo passaggio una traiettoria precisa, da generatore di resoconti a linguaggio per applicazioni gestionali complete, e comprendi perché oggi progetti strutture per durare e non per una sola stampa.
I diritti del linguaggio sono detenuti dalla società SAP AG, che lo ha sviluppato nel 1983, con licenza proprietaria e sistema operativo multipiattaforma. Le specifiche di linguaggio sono SAP R/2 e SAP R/3, mentre i paradigmi dichiarati sono orientati agli oggetti, strutturati e imperativi. Tra le influenze risultano Objective-C, COBOL e SQL. Se studi sintassi e tipi di dati nelle basi del linguaggio ritrovi lo stesso filo, un linguaggio nato in azienda per risolvere problemi gestionali e poi cresciuto con le piattaforme su cui gira.
Perché la sintassi ricorda COBOL e Fortran
Il nucleo iniziale del linguaggio fu realizzato nel 1980 allo scopo di produrre un'applicazione commerciale ricorrendo alla tecnica della programmazione strutturata. La sintassi ricalcava in gran parte quella di altri linguaggi dell'epoca quali COBOL e Fortran. Per te che modelli dati coerenti, questo dettaglio conta, perché ti abitua a nomi espliciti, a passi ordinati e a blocchi leggibili. Se dai alle chiavi e ai campi nomi stabili e prevedibili, il tuo codice resta leggibile anche quando il resoconto cresce e quando un altro sviluppatore riprende il tuo lavoro dopo mesi.
La programmazione strutturata ti aiuta a separare la raccolta dei dati dalla loro esposizione. Tu puoi pensare a ogni programma come una sequenza che prepara, seleziona e mostra, e questa disciplina rende più semplice mantenere allineate tabelle trasparenti, viste ed elementi dati che usi nello stesso processo. La pagina di Wikipedia non pubblica i dettagli di modellazione per tabelle trasparenti, viste ed elementi dati.
Cosa ti insegnano i Logical Database gerarchici?
Nella prima versione per mainframe e nella realizzazione dell'applicazione commerciale R/2, il linguaggio distribuito agli utenti consentiva una veloce interrogazione dei dati. Grazie alla presenza dei Logical Database, strutture dati predefinite e in forma gerarchica, l'applicazione R/2 permetteva di ottenere rapporti scegliendo i dati finali da elencare. Tu vedi qui l'idea che ti serve ancora oggi, una struttura gerarchica che guida la selezione e riduce gli errori, perché chi legge il resoconto trova solo dati finali scelti con un criterio chiaro.
Quando disegni chiavi coerenti, puoi prendere spunto da quel modello gerarchico. Definisci un percorso logico dal generale al dettaglio, mantieni lo stesso ordine nei nomi e nelle selezioni e fai in modo che ogni vista mostri ciò che l'utente deve davvero confrontare. Un programma solido nasce quando la gerarchia pensata nelle strutture si ritrova nella sequenza con cui leggi e scrivi i dati a video e su carta.
Da R/2 a R/3 quando il programma smette di essere interrogazione
Con l'avvento dell'ERP e della 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. Tu non scrivi più solo un'interrogazione veloce, scrivi procedure che devono reggere transazioni, controlli e volumi diversi. Per questo la modellazione coerente diventa una forma di manutenzione preventiva, perché chiavi stabili ed elementi dati uniformi limitano le correzioni quando aggiungi nuove funzioni allo stesso archivio.
In un sistema client-server, attraverso un protocollo proprietario si ha un'esposizione grafica delle videate e, nell'era internet, l'esposizione sul web. La voce italiana dedicata ad ABAP colloca questo passaggio nella storia del linguaggio e ti aiuta a capire perché separi la logica dai formati di uscita. Se la stessa base alimenta la videata grafica e l'esposizione web, ogni incoerenza nei dati si vede due volte e costa due correzioni.
Come dialoghi con i database relazionali senza perderti?
ABAP consente di interfacciarsi con il linguaggio SQL dei maggiori database relazionali. Per te significa che il programma parla con archivi gestiti da sistemi diversi senza riscrivere ogni volta la logica di accesso. Il vantaggio regge solo se i nomi e i tipi restano coerenti tra programma e archivio, perché una chiave ambigua o un campo definito in due modi diversi rompe l'integrazione proprio nel punto in cui i sistemi si scambiano i dati.
Quando prepari liste interattive e griglie nei resoconti, ragiona allo stesso modo, prima stabilisci quali campi identificano una riga e quali campi la descrivono, poi costruisci selezioni e ordinamenti su quella distinzione. Una modellazione coerente ti permette di riusare gli stessi criteri in resoconti diversi senza duplicare controlli, e ti aiuta a spiegare a chi legge perché un totale cambia quando cambia un filtro.
Oggetti dal 2000 e programmi che durano
Dal 2000, in concomitanza con la distribuzione delle release 4.x del prodotto R/3, è stata distribuita un'estensione orientata agli oggetti del linguaggio, denominata ABAP Objects. Tu puoi leggere questa data come un confine pratico, prima un linguaggio arricchito di istruzioni per il gestionale client-server, poi un linguaggio che accoglie classi e oggetti per organizzare meglio porzioni riutilizzabili. Se mantieni elementi dati uniformi, il passaggio a moduli riusabili risulta meno faticoso perché i tipi corrispondono e i controlli restano centralizzati.
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 secondo l'indice TIOBE citato nella pagina. Per te il messaggio è semplice, la diffusione cambia negli anni ma un archivio ben modellato continua a sostenere resoconti, interfacce e stampe senza riscritture improvvise.
Cosa mostra davvero un Hello world in ABAP
L'esempio di codice per Hello, world mostra la struttura minima che ritrovi in ogni programma. Il listato si apre con REPORT Z_HELLOWORLD, prosegue con START-OF-SELECTION, usa WRITE con due righe formattate in posizione 1 per 30 caratteri con i testi ciao, mondo e I am an Abap program, e si chiude con END-OF-SELECTION. Tu leggi qui tre abitudini utili per la modellazione: dichiarare l'oggetto, delimitare la fase di selezione e controllare l'uscita con posizioni e lunghezze esplicite.
Prova a copiare la logica dell'esempio su un tuo piccolo resoconto di prova e osserva come cambiano selezione ed esposizione quando cambi un nome o una lunghezza. Le voci correlate segnalate nella pagina sono SAP AG, SAP ERP ed Enterprise Resource Planning, e le categorie assegnate alla voce sono linguaggi di programmazione orientati agli oggetti, strutturati e imperativi, con collegamenti a risorse sulla popolarità dei linguaggi e ad ABAP Resources. Puoi aprire la voce, rileggere il passaggio su R/2 e R/3 e confrontare l'esempio WRITE con un tuo elenco breve per verificare se chiavi e campi restano leggibili alla prima lettura.
La voce ABAP su Wikipedia in italiano. La pagina presenta ABAP come linguaggio proprietario con sintassi, storia ed evoluzione da R/2 a R/3 fino ad ABAP Objects. Al suo interno trovi la tabella con autore e data di origine, i paradigmi e le specifiche, il racconto dei Logical Database gerarchici, il legame con SQL e il web, l'esempio Hello world e i riferimenti a TIOBE. Rileggi la sezione Evoluzione e riscrivi a mano l'esempio REPORT Z_HELLOWORLD per fissare ordine di selezione ed esposizione prima di toccare le tue strutture.
02 Prosegui la lettura
Altre guide della stessa rubrica e dei percorsi vicini.
