Blog
Sintassi e istruzioni basiche del linguaggio di programmazione ABAP
- 20/02/2021
- Scritto da: Grazia Livia Masulli
- Categoria: SAP ABAP
Abbiamo visto in altri articoli del sito cosa è il linguaggio ABAP/4 e alcune domande frequenti. Vediamo ora quali sono le regole di base della sintassi ABAP e le sue istruzioni basiche.
Dato che questo articolo è più lungo del solito ho aggiunto un indice per aiutarvi a trovare l’argomento che vi interessa.
Indice
Concetti fondamentali
Un programma in ABAP è costituito da un insieme di singole “istruzioni” o “dichiarazioni” (in inglese, Statement).
Ogni istruzione rappresenta una azione da eseguire.
In ABAP ogni istruzione si conclude con un punto (.), mentre la prima parola dell’istruzione è nota come parola chiave (in Inglese Keyword).
Ad esempio in questa linea la parola chiave è WRITE, che ovviamente farà scrivere sullo schermo il testo tra virgolette.
WRITE ‘Lavorare con SAP è bellissimo’ .
Ogni parola dell’istruzione deve essere separata da almeno uno spazio. Il codice in ABAP non fa distinzione tra lettere maiuscole e minuscole: questi due comandi per ABAP sono identici:
DATA variabile_1 TYPE C.
data variabile_1 type c.
Sebbene il linguaggio non faccia distinzione tra maiuscole e minuscole è buona prassi scrivere le parole chiavi tutte maiuscole (ad esempio WRITE e non Write o write).
Un’istruzione ABAP consiste di operatori (“operators”), operandi (“operands”) o aggiunte alle parole chiave. La prima parola di un’istruzione ABAP è sempre una parola chiave, mentre le altre possono essere operandi, operatori o aggiunte.
Esistono vari tipi di operatori, come ad esempio:
- Operatori di assegnazione che associano i campi sorgente e destinazione di un’assegnazione (ad esempio, = o ?=)
- Operatori aritmetici, che assegnano due o più operandi numerici con un’espressione aritmetica (ad esempio +, -, *)
- Operatori relazionali, che associano due operandi con un’espressione logica (ad esempio =, <, >), e così via.
Gli operandi sono oggetti come dati, tipi di dati, procedure e così via.
Le parole chiave sono dei termini inglesi come ad esempio REPORT, PARAMETERS e WRITE.
Ogni parola chiave ABAP avrà inoltre un certo numero di aggiunte (“addition”) che possiamo usare per modificare l’istruzione.
Vediamo un esempio pratico:
DELETE itab
WHERE ( col1 = op1 AND ( col2 > op2 OR col3 < op3 ) ).
In questo comando la parola chiave è DELETE, l’aggiunta è WHERE, gli operatori sono =, <, >, AND, OR, mentre gli operandi sono itab, col1, op1, col2, op2, col3, op3.
In teoria una istruzione può estendersi su più linee. Tuttavia, per mantenere il codice leggibile, è buona pratica scrivere una istruzione per riga.
Per esempio il codice:
PROGRAM test.
WRITE ‘Questo è un esempio’.
Potrebbe anche venire scritto in questo modo:
PROGRAM test. WRITE ‘Questo è un esempio‘.
O anche così:
PROGRAM
test.
WRITE
‘Questo è un esempio’.
I tipi di dati predefiniti e l’istruzione DATA
Come nella maggior parte dei linguaggi anche in ABAP esistono vari tipi di dati predefiniti.
Vengono richiamati con il comando TYPE seguito da una lettera. Ad esempio il tipo di dato I è un numero intero, un C è una serie di caratteri (ossia un testo), D si usa per le date, T per il tempo e così via. Se ad esempio volessimo registrare delle informazioni relative a dei dipendenti per il nome useremmo il TYPE C e per la data in cui hanno iniziato a lavorare nell’impresa il TYPE D.
Le variabili in ABAP vengono dichiarate con il comando DATA.
Vediamo come funziona in pratica. Creiamo una variabile per il nome del dipendente ed una seconda variabile per la data nella quale ha iniziato a lavorare nell’impresa:
DATA nome_impiegato(25) TYPE C.
DATA data_inizio TYPE D.
Il numero 25 tra parentesi indica la lunghezza che vogliamo dare alla variabile (fino a 25 caratteri, dopo verrà troncato dal sistema). Se non lo avessi specificato la lunghezza standard sarebbe stata di un solo carattere.
Con il comando VALUE si attribuisce un valore alla variabile. la sintassi è
DATA il_mio_nome(25) TYPE C VALUE 'Grazia'.
Per il nome delle variabili possiamo usare quello che ci sembra più opportuno. La lunghezza massima è di 30 caratteri, e ovviamente non possiamo usare parole “riservate” dal sistema (cioè ad esempio non possiamo chiamare una variabile WRITE).
Se abbiamo un elenco di variabili si può condensare il codice evitando di ripetere l’istruzione DATA usando i due punti e le virgole. Ad esempio
DATA : nome_impiegato(25) TYPE C,
cognome_impiegato(25) TYPE C,
data_inizio TYPE D.
Un altra scorciatoia per scrivere il codice più rapidamente quando si lavora con molte variabili che hanno le stesse caratteristiche è usare il comando LIKE.
DATA: variabile_1(25) TYPE C ,
variabile_2 LIKE variabile_1 .
Il comando WRITE
Vediamo ora più nel dettaglio il comando WRITE (in italiano “scrivi”), che restituisce sullo schermo il valore di costanti, variabili, risultati di operazioni, messaggi, etc.
ABAP nel restituire i valori sullo schermo considera anche i caratteri vuoti contenuti in una variabile.
Definiamo ad esempio due variabili di venticinque caratteri l’una. Notate come per la definizione della seconda variabile ho utilizzato il comando LIKE.
DATA: variabile_1(25) TYPE C VALUE 'Test',
variabile_2 LIKE variabile_1 VALUE 'Prova' .
WRITE variabile_1 .
WRITE variabile_2 .
Questo è il risultato a schermo – ABAP oltre ai 4 caratteri della parola Test ha incluso anche i 21 caratteri vuoti (ossia i 25 usati per la variabile_1 meno i 4 usati veramente):
Test Prova
Cosa sarebbe successo se la variabile fosse stata più lunga?
DATA: variabile_1(25) TYPE C VALUE 'Precipitevolissimevolmente',
variabile_2 LIKE variabile_1 VALUE 'imparo a usare SAP' .
WRITE variabile_1 .
WRITE variabile_2 .
In questo caso la prima variabile (che ha 26 caratteri, uno in più dei 25 che gli sono stati attribuiti) viene tagliata:
Precipitevolissimevolment imparo a usare SAP
ABAP non va a capo da solo. Ad esempio questo codice
DATA: variabile_1(20) TYPE C VALUE 'Si sta come',
variabile_2(20) TYPE C VALUE 'di autunno',
variabile_3(20) TYPE C VALUE 'sugli alberi',
variabile_4(20) TYPE C VALUE 'le foglie'.
WRITE: variabile_1 ,
variabile_2 ,
variabile_3 ,
variabile_4 .
Restituisce
Si sta come di autunno sugli alberi le foglie
Per mandarlo a capo usate il tasto /
DATA: variabile_1(20) TYPE C VALUE 'Si sta come',
variabile_2(20) TYPE C VALUE 'di autunno',
variabile_3(20) TYPE C VALUE 'sugli alberi',
variabile_4(20) TYPE C VALUE 'le foglie'.
WRITE: variabile_1 , /
variabile_2 , /
variabile_3 , /
variabile_4 .
Si sta come
di autunno
sugli alberi
le foglie
Se avete bisogno di risaltare il testo è possibile usare dei colori con il comando COLOR. Vediamo qualche esempio:
DATA: variabile_1(20) TYPE C VALUE 'Si sta come',
variabile_2(20) TYPE C VALUE 'di autunno',
variabile_3(20) TYPE C VALUE 'sugli alberi',
variabile_4(20) TYPE C VALUE 'le foglie'.
WRITE: variabile_1 COLOR COL_TOTAL , /
variabile_2 COLOR COL_HEADING , /
variabile_3 COLOR COL_POSITIVE , /
variabile_4 COLOR COL_NEGATIVE.
La poesia ora apparirà a schermo colorata:
Se necessario è anche possibile includere vari simboli ed icone nei messaggi. Qualche esempio pratico:
INCLUDE <symbol> .
WRITE:
/ 'www.corsoSAP.com' ,
/ sym_phone AS SYMBOL , '348 3762371' ,
/ sym_note AS SYMBOL , 'I migliori corsi online' ,
/ sym_document AS SYMBOL , 'Impara SAP oggi' .
Risultato a schermo:
Operatori matematici
Gli operatori matematici in ABAP sono estremamente intuitivi. Potete usare i simboli standard + – * /
L’unico che potrebbe essere difficile da ricordare è l’elevazione a potenza, che si scrive con due asterischi di fila **
Se preferite potete usare i termini inglesi, per esempio MULTIPLY BY. Ovviamente potete lavorare sia con variabili che con numeri.
Vediamo qualche esempio pratico nel prossimo frammento di codice:
DATA :
va_test_1 TYPE I VALUE 1,
va_test_2 TYPE I VALUE 2,
va_test_3 TYPE I VALUE 3,
va_test_4 TYPE I VALUE 4,
va_test_5 TYPE I VALUE 5.
ADD va_test_1 TO va_test_2 .
SUBTRACT 1 FROM va_test_1 .
MULTIPLY va_test_3 BY va_test_4.
DIVIDE va_test_4 BY 2 .
va_test_5 = va_test_5 ** 2 .
WRITE:
'va_test_1= ', va_test_1,
/ 'va_test_2= ', va_test_2,
/ 'va_test_3= ', va_test_3,
/ 'va_test_4= ', va_test_4,
/ 'va_test_5= ', va_test_5.
Questi sono i risultati:
va_test_1= 0
va_test_2= 3
va_test_3= 12
va_test_4= 2
va_test_5= 25
Se lavorate con i decimali dovete ricordarvi un paio di cose: dichiarare il tipo di dati corretto per la variabile (TYPE P) e quanti decimali volete dopo la virgola (DECIMALS).
Inoltre quando dichiariamo la variabile con il comando VALUE dovremo usare gli apici ai lati del numero – ad esempio VALUE ‘3.43’.
Se non li mettiamo ABAP vedrà il punto tra 3 e 43 come parte del codice (ossia come la fine del comando) e restituirà un errore.
DATA :
va_test_1 TYPE P DECIMALS 2 VALUE '3.43',
va_test_2 TYPE P DECIMALS 2 VALUE '5.73'.
ADD va_test_1 TO va_test_2 .
WRITE:
'va_test_1= ', va_test_1,
/ 'va_test_2= ', va_test_2.
Il risultato sarà
va_test_1= 3,43
va_test_2= 9,16
Costrutti logici IF, ELSE, WHILE, DO, CASE
ABAP permette di lavorare con vari tipi di costrutti condizionali e cicli usando istruzioni come IF, ELSE, WHILE, etc.
Iniziamo da quello più classico, l’espressione condizionale IF.
La struttura è questa:
IF (condizione che deve verificarsi) .
(operazioni da eseguire) .
ENDIF .
Se la condizione dentro l’IF non si verifica il programma passa alla fine del blocco e continua con le istruzioni successive.
La condizione normalmente è un confronto tra caratteri e stringhe. Alcuni operatori che possono essere usati sono:
- CS (Contains String). Guarda se una stringa è presente. Non differenzia tra maiuscole e minuscole.
- CO (Contains Only). Risulta vera se I caratteri coincidono (questo operatore differenzia maiuscole e minuscole, ossia è “case sensitive”).
- CA (Contains Any). Risulta vera se nel confronto tra i due operando almeno un valore coincide. Anche questo operando differenzia maiuscole e minuscole.
Un esempio pratico di codice sarebbe
DATA str_corso_sap(100) VALUE 'CorsoSAP - i migliori corsi SAP in Italiano!!!'.
IF 'str_corso_sap' CS 'corso' .
WRITE: str_corso_sap.
ENDIF .
Nella prima linea con il comando DATA definisco una variabile, che chiamo str_corso_sap. Ho usato “str” nel nome per ricordarmi che si tratta di una stringa di caratteri e non di un numero.
A questa variabile con il comando VALUE ho dato come valore CorsoSAP – i migliori corsi SAP in Italiano!!!
Il numero tra parentesi è la lunghezza consentita. Se avessi usato str_corso_sap(7) il programma avrebbe tagliato il valore a CorsoSA
Successivamente il programma controlla se nella variabile appare la stringa ‘corso‘. Dato che appare il programma restituirà il valore della variabile (comando WRITE: str_corso_sap).
Il costrutto IF può essere ampliato utilizzando ELSE ed ELSEIF.
Con ELSE aggiungiamo dei comandi da eseguire se la condizione è falsa:
DATA str_corso_sap(100) VALUE 'CorsoSAP - i migliori corsi SAP in Italiano!!!'.
IF 'str_corso_sap' CS 'banana' .
WRITE: str_corso_sap.
ELSE .
WRITE: 'Ciao, sono Grazia'.
ENDIF .
Adesso, dato che la stringa ‘banana’ non appare nella variabile, SAP restituirà la frase Ciao, sono Grazia
Si possono usare vari cicli di IF usando il comando ELSEIF. Ad esempio con il codice qui sotto ABAP cercherà prima la parola Mela, poi Pera ed infine SAP (trovandola, e restituendo quindi “Banana”.
DATA str_corso_sap(100) VALUE 'CorsoSAP - i migliori corsi SAP in Italiano!!!'.
IF 'str_corso_sap' CS 'Mela' .
WRITE: 'Mela'.
ELSEIF 'str_corso_sap' CS 'Pera' .
WRITE: 'Pera'.
ELSEIF 'str_corso_sap' CS 'sap' .
WRITE: 'Banana'.
ENDIF .
Naturalmente si possono usare anche operatori logici. I più diffusi sono:
- = Uguale
- <> Diverso
- < Minore
- > Maggiore
- <= Minore o uguale
- >= Maggiore o uguale
Vediamo un esempio pratico:
DATA :
va_test_1 TYPE I VALUE 10,
va_test_2 TYPE I VALUE 10,
va_test_3 TYPE I VALUE 50.
IF va_test_1 = va_test_1 .
WRITE: 'Uguali'.
ELSE .
WRITE: 'Diversi'.
ENDIF .
In questo frammento di codice abbiamo definito tre variabili, tutte numeri interi (comando TYPE I). Le prime due valgono 10 e la terza vale 50. Il programma verifica se sono identiche (nel qual caso scrive “Uguali”, come in questo esempio) o differenti.
Vediamo un secondo esempio. Ora aggiungiamo una seconda condizione con il comando AND. Adesso devono essere vere entrambe le condizioni dentro il comando IF.
DATA :
va_test_1 TYPE I VALUE 10,
va_test_2 TYPE I VALUE 10,
va_test_3 TYPE I VALUE 50.
IF va_test_1 = va_test_2 AND va_test_2 > va_test_3 .
WRITE: 'Vero'.
ELSE .
WRITE: 'Falso'.
ENDIF .
Ora stiamo chiedendo di verificare che le prime due variabili siano uguali (che è vero) e che la seconda sia più grande della terza (che è falso).
Il programma scriverà quindi Falso.
Il comando WHILE eseguirà un blocco di comandi fino a quando la condizione specificata è vera.
Vediamo un esempio pratico con la serie di Fibonacci (chiamata anche sezione aurea). In questa serie ogni numero è la somma dei due precedenti. Ovviamente la serie è infinita. Vogliamo quindi che ABAP ci restituisca tutti i numeri di Fibonacci inferiori a 1000.
DATA :
variabile_1 TYPE I VALUE 1,
variabile_2 TYPE I VALUE 1,
variabile_3 TYPE I.
WRITE : 'Numero di Fibonacci=', variabile_1.
WHILE variabile_3 < 1000 .
variabile_3 = variabile_1 + variabile_2 .
variabile_1 = variabile_2.
variabile_2 = variabile_3.
WRITE : 'Numero di Fibonacci=', variabile_1.
ENDWHILE.
Il comando WHILE ci permette di eseguire una serie di operazioni sino a quando la variabile_3 è inferiore a 1000. Dopo il programma uscirà dal ciclo (ENDWHILE).
Risultato a schermo:
Numero di Fibonacci= 1 Numero di Fibonacci= 1
Numero di Fibonacci= 2 Numero di Fibonacci= 3
Numero di Fibonacci= 5 Numero di Fibonacci= 8
Numero di Fibonacci= 13 Numero di Fibonacci= 21
Numero di Fibonacci= 34 Numero di Fibonacci= 55
Numero di Fibonacci= 89 Numero di Fibonacci= 144
Numero di Fibonacci= 233 Numero di Fibonacci= 377
Numero di Fibonacci= 610 Numero di Fibonacci= 987
Con il comando DO invece chiediamo ad ABAP di ripetere una serie di istruzioni un certo numero di volte. Possiamo adattare il codice dell’esempio precedente far fare i calcoli al programma 21 volte di fila (DO 21 TIMES), senza verificare nessuna condizione.
Dal ciclo si esce con il comando ENDDO.
DATA :
variabile_1 TYPE I VALUE 1,
variabile_2 TYPE I VALUE 1,
fibonacci TYPE I.
WRITE : 'Numero di Fibonacci=', variabile_1.
DO 21 TIMES.
fibonacci = variabile_1 + variabile_2 .
variabile_1 = variabile_2.
variabile_2 = fibonacci.
WRITE : 'Numero di Fibonacci=', variabile_1.
ENDDO.
Il risultato sarà questo:
Numero di Fibonacci= 1 Numero di Fibonacci= 1
Numero di Fibonacci= 2 Numero di Fibonacci= 3
Numero di Fibonacci= 5 Numero di Fibonacci= 8
Numero di Fibonacci= 13 Numero di Fibonacci= 21
Numero di Fibonacci= 34 Numero di Fibonacci= 55
Numero di Fibonacci= 89 Numero di Fibonacci= 144
Numero di Fibonacci= 233 Numero di Fibonacci= 377
Numero di Fibonacci= 610 Numero di Fibonacci= 987
Numero di Fibonacci= 1.597 Numero di Fibonacci= 2.584
Numero di Fibonacci= 4.181 Numero di Fibonacci= 6.765
Numero di Fibonacci= 10.946 Numero di Fibonacci= 17.711
Il comando CASE ci permetterà infine di prevedere vari casi possibili nel codice. Non appena ABAP vede che uno dei casi si verifica esegue le istruzioni ed esce dal comando (chiuso dalla parola chiave ENDCASE).
Nell’esempio vediamo che nella variabile è stata dichiarata l’altezza (165). Ad ABAP vengono proposte varie altezze possibili e delle stringhe da scrivere quando una delle condizioni si avvera (WHEN…WRITE).
Se nessuno dei casi è vero abbiamo il comando WHEN OTHERS.
Il codice ovviamente restituirà Sono alta 165 cm.
DATA :
altezza TYPE I VALUE 165 .
CASE altezza .
WHEN 150.
WRITE 'Sono alta 150 cm' .
WHEN 155.
WRITE 'Sono alta 155 cm' .
WHEN 160.
WRITE 'Sono alta 160 cm' .
WHEN 165.
WRITE 'Sono alta 165 cm' .
WHEN 170.
WRITE 'Sono alta 170 cm' .
WHEN OTHERS.
WRITE 'ALtezza non corretta' .
ENDCASE.
Ricordate che ABAP leggerà le linee una per volta, e che non appena una condizione si avvera esce dal comando. Nell’esempio successivo continuerà a scrivere “Sono alta 165 cm”, ignorano tutti i comandi successivi.
DATA :
altezza TYPE I VALUE 165 .
CASE altezza .
WHEN 160.
WRITE 'Sono alta 160 cm' .
WHEN 165.
WRITE 'Sono alta 165 cm' .
WHEN 165.
WRITE 'ABAP ignorerà questa linea' .
WHEN 165.
WRITE 'E anche questa, perchè ha eseguito solo la prima ed è uscito dal comando' .
WHEN OTHERS.
WRITE 'ALtezza non corretta' .
ENDCASE.
Manipolare le stringhe
Vediamo ora alcuni esempi di comandi con i quali possiamo manipolare stringhe alfanumeriche di caratteri.
Nel codice qui sotto nelle prime tre righe abbiamo definito tre stringhe con vari problemi: la prima è scritta male (con caratteri maiuscoli mischiati a minuscoli), la seconda è tutta minuscola e la vorremmo tutta maiuscola mentre la terza ha le parole molto staccate e le vogliamo unire.
La soluzione sono i comandi TRANSLATE TO UPPER CASE, che passa tutto a maiuscolo, oppure TRANSLATE TO LOWER CASE, che passerà tutto il testo a minuscole.
Il comando CONDENSE invece attaccherà le parole lasciando uno spazio tra ognuna di esse. Se invece le volete unite (senza spazi tra una parola e l’altra) il comando è CONDENSE (quello che volete unire) NO-GAPS.
DATA : str_testo_scritto_male(100) VALUE 'TesTo ScriTTo MAle',
str_testo_minuscolo(100) VALUE 'ero tutto minuscolo' ,
str_parole_staccate(100) VALUE 'Parole molto staccate'.
TRANSLATE str_testo_scritto_male TO LOWER CASE .
TRANSLATE str_testo_minuscolo TO UPPER CASE .
CONDENSE str_parole_staccate .
WRITE: str_testo_scritto_male ,
/ str_testo_minuscolo ,
/ str_parole_staccate .
Questo frammento di codice restituirà quindi
testo scritto male
ERO TUTTO MINUSCOLO
Parole molto staccate
Anche se volete contare i caratteri si può fare rapidamente. Nelle linee successive vedete come ho definito una stringa e successivamente una variabile ausiliaria che userò per metterci dentro il numero di caratteri della stringa (che ovviamente è un numero intero, definito quindi come TYPE I).
Nel passaggio successivo ho infine usato il comando STRLEN (string lenght, ossia “lunghezza della stringa”) per contare quanti sono i caratteri e mettere questo valore nella variabile va_caratteri_contati.
DATA: str_contami(100) VALUE 'Quanti caratteri ci sono in questa frase?' ,
va_caratteri_contati TYPE I .
va_caratteri_contati = STRLEN( str_contami ) .
WRITE: / va_caratteri_contati .
Il programma restituisce 41 (conterà ovviamente anche gli spazi bianchi). Quando usate il comando STRLEN ricordatevi di mettere i due spazi bianchi (dopo la parentesi di apertura e prima di quella di chiusura) o il sistema vi ridarà un errore.
Per cercare una parola, frase o dei caratteri dentro delle stringhe ti testo potete usare questo codice:
DATA: str_stringa_di_testo(100) VALUE 'La parola che cerco è CORSOSAP' ,
str_parola_cercata(10) VALUE 'CORSOSAP' .
SEARCH str_stringa_di_testo FOR str_parola_cercata .
IF sy-subrc IS 0 .
WRITE / 'Ho trovato la parola che cercavi' .
ELSE.
WRITE / 'Mi dispiace, parola non trovata' .
ENDIF.
Vediamo assieme come funziona. Stiamo cercando la parola CORSOSAP dentro la stringa di testo. Lo facciamo con il comando SEARCH … FOR … (definiamo prima cosa stiamo cercando e dopo dove lo stiamo cercando).
Per farci dire dal sistema se la parola è stata trovata usiamo un ciclo IF… ELSE.
La novità è che introduciamo una variabile di sistema, sy-subrc. Si tratta di un codice che ci verrà restituito a ABAP ed avrà un valore di zero se il programma è stato eseguito con successo (e nel nostro caso la parola è stata trovata) mentre avrà un valore di 4 se non viene trovata la parola cercata. Avremmo potuto scrivere il codice anche come IF sy-subrc IS INITIAL (ovvero se ha il valore iniziale, cioè zero).
La ricerca nella stringa non fa distinzione tra maiuscole e minuscole.
Un altro comando che uso molto frequentemente (non solo con SAP, ma anche con altri programmi come ad esempio Excel) è il comando CONCATENATE, che si usa per unire diverse stringhe in una sola. Anche qui vediamo che il codice è molto chiaro e leggibile: definiamo tre variabili con dei testi, una quarta nella quale li uniremo ed utilizziamo CONCATENATE…INTO…SEPARATED BY.
SEPARATED BY (in italiano, “separati da“) è una parte opzionale del comando. Permette di separare i vari pezzo, che altrimenti sarebbero attaccati senza spazio. Lo stesso comando si sarebbe potuto scrivere anche come SEPARATED BY SPACE, dato che SPACE (“spazio“) è una parola chiave riconosciuta da ABAP.
Ovviamente potete usare altri separatori: se ad esempio volete usare un trattino orizzontale il comando sarebbe SEPARATED BY ‘-‘ .
DATA : stringa_1(100) VALUE 'CorsoSAP: formazione',
stringa_2(100) VALUE 'online in Italiano.',
stringa_3(100) VALUE 'Visita il nostro sito www.CorsoSAP.com' ,
stringa_concatenata(100) .
CONCATENATE stringa_1 stringa_2 stringa_3 INTO stringa_concatenata SEPARATED BY ' ' .
WRITE stringa_concatenata(100) .
Commenti al codice
I commenti al codice servono per spiegare alle persone che leggeranno il nostro programma quali erano le nostre intenzioni quando lo abbiamo scritto e la logica di alcuni passaggi.
Sebbene spesso venga detto che “il buon codice non ha bisogno di commenti” mi sentirei di dire che sia una buona idea includere i commenti, soprattutto in situazioni dove esistono varie persone che lavorano assieme.
Esistono due modi per aggiungere dei commenti al codice. La prima è quella di inserire un asterisco (*) all’inizio di una linea per rendere l’intera linea un commento.
Esempio pratico:
****************************************************************
*&-------------------------------------------------------------*
*& Qualche linea di codice in ABAP per spiegare dei comandi *
*& *
*& Autore : www.CorsoSAP.com *
*& Formazione SAP in Italiano *
*&-------------------------------------------------------------*
****************************************************************
Tutto questo blocco verrà ignorato dal programma è non verrà considerato – potete scrivere quello che volete tra gli asterischi e non verrà letto.
In alternativa si può inserire una doppia virgoletta (“) a metà linea per rendere la parte della linea dopo la virgoletta un commento (in questo caso si tratta di un cosiddetto commento in linea).
Esempio:
WRITE ‘Lavorare con SAP è bellissimo’ . "anche se ha volte è complicato capire come funziona
Questa linea restituirà solo la frase Lavorare con SAP è bellissimo.
Lavori con SAP e vuoi migliorarti professionalmente? Scopri il nostro nuovo corso!
Formazione a distanza specializzata | Garanzia 100% soddisfatti o rimborsati | Oltre 1000 studenti