Vai al contenuto
Registro ABAPIl riferimento italiano per programmare ABAP in SAP

HomeLinguaggio e FondamentiSintassi di base del linguaggio ABAP

Sintassi di base del linguaggio ABAP

Le basi della sintassi ABAP: dichiarazione dei dati, operatori, condizioni e cicli, con regole di scrittura chiare per codice leggibile e manutenibile.

Sintassi di base del linguaggio ABAP: illustrazione Registro ABAP
Sintassi di base del linguaggio ABAP: illustrazione della guida.

01 La guida

Quando apri un programma ABAP per la prima volta, capisci subito se puoi fidarti. I nomi dicono cosa contiene ogni variabile, le condizioni si leggono dall'alto in basso senza salti, i cicli mostrano dove inizia e dove finisce ogni passaggio. In queste righe impari a dichiarare i dati, a usare operatori, condizioni e cicli con schemi brevi che restano leggibili anche dopo mesi.

Segui ogni esempio come una traccia da adattare al tuo caso. Se vuoi collocare questi costrutti nel quadro generale, trovi una mappa ragionata nella pagina dedicata a sintassi e fondamenti per iniziare, che ti aiuta a passare dalle singole istruzioni alla struttura di un report.

Come dichiari un dato senza confondere chi legge?

Dichiara un dato per dargli un nome, un tipo e uno scopo chiaro. Scrivi il nome in modo che spieghi il contenuto, ad esempio codice cliente o data documento, e tieni lo stesso stile in tutto il programma. Leggi prima il nome e poi il tipo, quindi se il nome mente sul contenuto perdi tempo a ogni lettura successiva. Una dichiarazione pulita occupa una riga, sta vicino al punto in cui serve e non lascia variabili create per precauzione.

In ABAP usa spesso DATA seguito dal nome e dal tipo, con l'aggiunta di un valore iniziale quando serve. Pensa a una frase semplice come dichiara contatore di tipo intero con valore zero, oppure dichiara testo descrizione di tipo stringa senza valore iniziale. La pagina di SAP Help Portal non pubblica confronti numerici tra istruzioni, quindi qui trovi criteri di lettura e non misure da confrontare.

Quale tipo scegli per numeri, date e testi?

Scegli il tipo in base a ciò che il dato deve fare nel programma e non solo a ciò che contiene oggi. Per un contatore o una quantità che partecipa a calcoli usa un tipo numerico intero, per un importo usa un tipo decimale con i decimali previsti dal documento, per una data usa il tipo data, che rende evidenti i controlli di validità. Per i testi brevi a lunghezza fissa e per le descrizioni libere scegli tipi diversi, così chi legge capisce se deve aspettarsi un codice o una frase. Se il tipo segue il dominio del campo a video, il controllo resta coerente tra maschera e logica.

Come funzionano gli operatori nel calcolo quotidiano?

Gli operatori ti permettono di trasformare i dati dichiarati senza nascondere il percorso. Usa somma, sottrazione, moltiplicazione e divisione per i calcoli, con le parentesi quando l'ordine non risulta immediato. Scrivi un calcolo per riga e assegna il risultato a una variabile dal nome esplicito, così un errore si individua guardando il passaggio intermedio. Evita espressioni lunghe che uniscono tre o quattro operazioni, perché costringono a ricostruire a mente le precedenze.

Per i testi usa la concatenazione quando componi un messaggio o una riga di stampa, lasciando uno spazio visivo tra gli elementi. Per i confronti usa uguaglianza, diversità, maggiore e minore, con attenzione al tipo dei due lati, perché un confronto tra testo e numero segue regole diverse da un confronto tra numeri. Quando confronti date, ragiona per intervalli con inizio e fine, e rendi visibile nel codice quale estremo includi.

Come scrivi una condizione che resta leggibile?

Scrivi una condizione per rispondere a una sola domanda alla volta. Inizia con IF, metti la condizione su una riga, poi le istruzioni del caso vero e, solo se serve, il ramo ELSE per il caso falso. Chiudi sempre con ENDIF allo stesso livello di rientro dell'apertura, così l'occhio trova subito l'inizio e la fine. Controlla prima il caso più frequente e lascia i casi rari nei rami successivi, in modo che la lettura segua l'uso reale. La documentazione ufficiale della piattaforma ABAP descrive il riferimento del linguaggio, dove puoi verificare sintassi e varianti delle istruzioni.

Perché CASE ti aiuta quando IF cresce troppo?

Quando lo stesso campo guida tre o quattro scelte diverse, la catena di IF diventa lunga e ripetitiva. Con CASE elenca una volta il campo da valutare e poi apri un ramo WHEN per ogni valore previsto, con un ramo WHEN OTHERS per gestire ciò che non avevi elencato. La struttura mostra subito che tutte le strade nascono dalla stessa domanda, mentre con molti IF annidati devi ricostruire la domanda a ogni livello. Tieni ogni ramo corto e sposta i dettagli in una routine separata quando un ramo supera poche righe.

Come ripeti le righe senza perdere il controllo?

Ripeti le righe quando devi scorrere una tabella interna o eseguire un numero definito di passaggi. Con LOOP attraversa le righe una alla volta e lavora sulla riga corrente, con READ cerca una riga precisa senza scorrere tutto. Dichiara in modo visibile dove inizia il ciclo e dove finisce con ENDLOOP, e mantieni dentro solo le istruzioni che servono davvero alla riga corrente. Se devi saltare una riga o uscire in anticipo, rendi la condizione di uscita esplicita all'inizio del blocco.

Evita cicli annidati quando puoi preparare prima i dati, perché ogni livello in più raddoppia lo sforzo di lettura. Quando il ciclo serve per riempire un'altra tabella, dai alle due tabelle nomi diversi che mostrano origine e destinazione. Per approfondire scorrimenti e letture puntuali puoi proseguire con la pagina dedicata a uso di LOOP e READ, che tratta ordinamenti e accessi alle righe con un approccio operativo.

Quali regole tengono il codice manutenibile nel tempo?

Tieni il codice manutenibile con poche regole applicate sempre. Dai a ogni variabile un solo ruolo per tutto il programma, così un contatore non diventa a metà strada un totale. Limita la lunghezza di routine e rami, spezza un blocco lungo in due passaggi con nomi che raccontano la sequenza, e allinea rientro e spaziatura per mostrare la gerarchia. Commenta solo il perché di una scelta non ovvia, non la traduzione riga per riga di ciò che il codice dice già. Rimuovi le variabili che non usi più, perché una dichiarazione inutile fa dubitare chi legge.

Apri l'ultimo programma che hai scritto e rileggilo come se fosse di un collega. Rinomina una variabile ambigua, dividi una condizione doppia in due controlli separati e accorcia un ciclo che fa due cose diverse. Esegui di nuovo il report con gli stessi dati e confronta il risultato riga per riga prima di consegnare la modifica.

02 Prosegui la lettura

Altre guide della stessa rubrica e dei percorsi vicini.