Introduzione ad ABAP: tipi di dati, Operatori ed editor – Tutorial

⚡ Riepilogo intelligente

Introduzione ad ABAP tratta il linguaggio SAP Creata per lo sviluppo di applicazioni sul sistema R/3, questa risorsa illustra i tipi di dati, gli operatori, le istruzioni di controllo, le tabelle interne e l'editor SE38, da cui inizia ogni programma ABAP.

  • 🔤 Sintassi della dichiarazione: DATA nome_variabile TYPE tipo_variabile dichiara ogni variabile in ABAP.
  • 🔢 Tipi di dati: Le lettere I, F e P rappresentano numeri; le lettere C, D, N e T rappresentano caratteri; la lettera X rappresenta dati esadecimali.
  • ➗ Operatori: Gli operatori aritmetici modificano i valori, mentre gli operatori logici come EQ, NE, GT e LT guidano le decisioni.
  • 🔁 Istruzioni di controllo: Le istruzioni IF, CASE, WHILE e DO determinano quali righe di un programma vengono effettivamente eseguite.
  • 📋 Tabelle interne: Una tabella interna contiene più righe in memoria ed è l'elemento fondamentale di ogni report ABAP.
  • ️ Editor: La transazione SE38 è l'editor ABAP, dove i programmi vengono scritti, verificati ed eseguiti.

Introduzione alla SAP ABAP

Cos'è l'ABAP?

ABAP sta per Advanced Business Application Programming. È un linguaggio di programmazione per lo sviluppo di applicazioni aziendali.ping applicazioni per la SAP Sistema R/3.

L'ultima versione di ABAP si chiama ABAP Objects e supporta la programmazione orientata agli oggetti. SAP eseguirà applicazioni scritte utilizzando ABAP/4, la versione precedente di ABAP, nonché applicazioni che utilizzano ABAP Objects.

Questa introduzione non tenta di documentare ogni Linguaggio ABAP Questo libro introduce rapidamente i concetti chiave, permettendoti di iniziare a scrivere programmi funzionanti e poi passare ad argomenti più avanzati.

Tipi di dati

Ogni programma ABAP inizia dichiarando i dati con cui lavorerà.

Sintassi per dichiarare una variabile in ABAP –

DATA Variable_Name TYPE Variable_Type.

Esempio:

DATA employee_number TYPE I.

Di seguito è riportato un elenco dei tipi di dati supportati da ABAP.

Tipo di dati Lunghezza iniziale del campo Lunghezza del campo valida Valore iniziale Significato
Tipi numerici
I 4 4 0 Intero (numero intero)
F 8 8 0 Numero in virgola mobile
P 8 1 - 16 0 Numero imballato
Tipi di caratteri
C 1 1 - 65535 '...' Campo di testo (caratteri alfanumerici)
D 8 8 '00000000' Campo data (formato: AAAA MM GG)
N 1 1 - 65535 '0...0' Campo di testo numerico (caratteri numerici)
T 6 6 '000000' Campo orario (formato: HHMMSS)
Tipo esadecimale
X 1 1 - 65535 X'0...0′ Campo esadecimale

Gli otto tipi sopra descritti sono i classici tipi a lunghezza fissa. ABAP offre anche due tipi a lunghezza variabile che i principianti incontrano quasi immediatamente: STRING per testi di qualsiasi lunghezza e XSTRING per dati binari di qualsiasi lunghezza.

ABAP OperaTors

Una volta dichiarati i dati, sono gli operatori a modificarli e a confrontarli.

Assegnazione di valori

a = 16.
MOVE 16 TO a.
WRITE a TO b.

Tutte e tre le istruzioni spostano un valore. Il segno di uguale è la forma moderna, mentre MOVE e WRITE TO sono i loro equivalenti più vecchi che si possono ancora trovare nei programmi meno recenti.

Operazioni aritmetiche

COMPUTE a = a * 100.

ABAP supporta anche ADD, SUBTRACT, MOLTIPLICAZIONE e DIVISIONE possono essere utilizzate come parole chiave a sé stanti, ma la forma COMPUTA mostrata sopra è quella più utilizzata.

operatori logici

Gli operatori logici restituiscono vero o falso e sono ciò che ogni istruzione di controllo nella sezione successiva verifica. Ciascuno ha una forma scritta e una forma simbolica, e le due sono intercambiabili.

Forma di parola Forma simbolica Significato
EQ = Uguale a
NE <> Non uguale a
GT > Maggiore di
GE >= Maggiore o uguale a
LT < Less di
LE <= Less maggiore o uguale a

Dichiarazioni di controllo

Le istruzioni di controllo utilizzano gli operatori logici sopra descritti per decidere quali righe di codice vengono eseguite e con quale frequenza.

SE … FINE SE

IF [NOT] exp [ AND / OR [NOT] exp ].
  ........
[ELSEIF exp.
  .......]
[ELSE.
  .......]
ENDIF.

Dichiarazione CASE

CASE variable.
  WHEN value1.
    .........
  WHEN value2.
    .........
  [WHEN OTHERS.
    .........]
ENDCASE.

ciclo WHILE

WHILE <logical expression>.
  .....
ENDWHILE.

ciclo DO

DO <n> TIMES.
  .....
ENDDO.

Un ciclo WHILE viene eseguito finché la sua condizione è vera. Un ciclo DO viene eseguito un numero fisso di volte, oppure all'infinito finché un'istruzione EXIT non lo interrompe.

Tabelle interne in ABAP

Le singole variabili raramente sono sufficienti. I programmi aziendali leggono molte righe contemporaneamente e la tabella interna è la struttura che le memorizza.

Una tabella interna è un array dinamico. Non ha una dimensione fissa, esiste solo per la durata del programma ed è il metodo standard per trasferire righe tra il database e lo schermo.

" Declare an internal table and a work area
DATA: lt_employees TYPE TABLE OF pa0001,
      ls_employee  TYPE pa0001.

" Fill it from the database
SELECT * FROM pa0001 INTO TABLE lt_employees UP TO 10 ROWS.

" Read it row by row
LOOP AT lt_employees INTO ls_employee.
  WRITE: / ls_employee-pernr, ls_employee-ename.
ENDLOOP.

Le tre operazioni sopra descritte coprono la maggior parte del lavoro quotidiano: dichiarare la tabella, popolarla con un'istruzione SELECT e poi scorrerla con un ciclo LOOP AT. APPEND aggiunge una riga, READ TABLE ne trova una e DELETE rimuove le righe che corrispondono a una condizione.

Redattore ABAP/4

Tutta la sintassi sopra riportata va inserita in un unico punto.

operazione SE38 Si apre l'editor ABAP, dove trascorrerai la maggior parte del tuo tempo come sviluppatore, creando e modificando programmi.

Redattore ABAP/4

L'editor ABAP/4, transazione SE38

Come scrivere il tuo primo programma ABAP

Nella schermata qui sopra si svolgono le seguenti fasi. La sequenza descritta di seguito permette di generare un report funzionante in pochi minuti.

  1. Apri l'editor. Inserisci il codice transazione SE38 nella SAP Campo dei comandi GUI e premere Invio.
  2. Indica il nome del programma. Digita un nome che inizia con Z or Ydi strumenti adatti, questi ZHELLO_WORLDQuelle due lettere sono lo spazio dei nomi del cliente e SAP garantisce che non verranno mai sovrascritti durante un aggiornamento.
  3. Crealo. Clicchi Crea , inserisci una breve descrizione e scegli Programma eseguibile come il tipo.
  4. Assegna un pacchetto. Scegli Oggetto locale Per esercitarsi. Un oggetto locale rimane nel sistema e non necessita di alcuna richiesta di trasporto.
  5. Scrivi il codice.
REPORT zhello_world.

DATA employee_name TYPE string.
employee_name = 'Guru99'.

WRITE: / 'Hello, ABAP!',
       / 'Welcome', employee_name.
  1. Controlla la sintassi. Stampa Ctrl + F2La barra di stato segnala eventuali errori e la riga di codice che li ha causati.
  2. Attiva il programma. Stampa Ctrl + F3Un programma inattivo non può essere eseguito.
  3. Eseguire. Stampa F8. L'elenco di output si apre e visualizza entrambe le righe WRITE.

La barra obliqua nell'istruzione WRITE forza l'andata a capo. Rimuovendola, tutto viene stampato su un'unica riga, che è la prima abitudine di formattazione che la maggior parte dei principianti apprende.

Transazione ABAP comune Codes

Una manciata di codici di transazione copre quasi tutto ciò di cui un nuovo sviluppatore ABAP ha bisogno.

operazione Missione
SE38 Editor ABAP. Crea, modifica, verifica ed esegui programmi.
SE80 Object Navigator. Un unico ambiente di lavoro per programmi, classi, pacchetti e schermate.
SE11 Dizionario ABAP. Definisci e ispeziona tabelle di database, elementi dati e domini.
SE16N Browser dati. Visualizza il contenuto di qualsiasi tabella senza dover scrivere una query SELECT.
SE37 Generatore di funzioni. Crea e testa moduli funzionali.
SE24 Class Builder. Crea classi globali per oggetti ABAP.
ST22 Analisi del dump. Legge l'errore di runtime quando un programma termina.

SE38 e SE11 sono sufficienti per creare un primo report. ST22 diventa il più prezioso del gruppo nel momento in cui un programma si blocca.

DOMANDE FREQUENTI

Z e Y costituiscono lo spazio dei nomi del cliente. SAP non vengono mai distribuiti oggetti con quei prefissi, quindi un aggiornamento non può sovrascrivere il programma. I nomi al di fuori di quello spazio dei nomi rischiano di essere sostituiti.

ABAP/4 è la versione procedurale, basata su report e subroutine. ABAP Objects aggiunge classi, interfacce ed ereditarietà. Entrambe vengono eseguite nello stesso sistema, quindi il codice vecchio e quello nuovo coesistono.

Utilizza il tipo P, quello compresso. Memorizza i decimali in modo esatto, come richiesto dal denaro. Il tipo F è un numero in virgola mobile e introduce errori di arrotondamento che rendono inaffidabili i totali finanziari.

Sì. Un assistente IA può spiegare un dump, tradurre lo pseudocodice in ABAP e suggerire un ciclo LOOP più pulito. Esegui sempre il controllo della sintassi, poiché il codice generato potrebbe fare riferimento a tabelle non presenti nel tuo sistema.

Non senza un'adeguata revisione. Il codice generato spesso ignora i controlli di autorizzazione, le regole di prestazione e l'elenco delle API rilasciate da ABAP Cloud. Consideralo come una prima bozza, quindi testalo come faresti con qualsiasi altro codice.

Riassumi questo post con: