Introducere în ABAP: tipuri de date, Operators & Editor – Tutorial
⚡ Rezumat inteligent
Introducerea în ABAP acoperă limbajul SAP creat pentru construirea de aplicații în sistemul R/3. Această resursă explică tipurile de date, operatorii, instrucțiunile de control, tabelul intern și editorul SE38 de unde începe fiecare program ABAP.

Ce este ABAP?
ABAP este prescurtarea de la Advanced Business Application Programming (Programare Avansată a Aplicațiilor de Afaceri). Este un limbaj de programare pentru dezvoltareping aplicații pentru SAP sistem R/3.
Cea mai recentă versiune de ABAP se numește ABAP Objects și acceptă programarea orientată pe obiecte. SAP va rula aplicații scrise folosind ABAP/4, versiunea anterioară ABAP, precum și aplicații care folosesc obiecte ABAP.
Această introducere nu încearcă să documenteze fiecare limba ABAP construct. Introduce rapid conceptele cheie, astfel încât să puteți începe să scrieți programe funcționale și apoi să treceți la subiecte mai avansate.
Tipuri de date
Fiecare program ABAP începe prin declararea datelor cu care va lucra.
Sintaxă pentru declararea unei variabile în ABAP –
DATA Variable_Name TYPE Variable_Type.
Exemplu:
DATA employee_number TYPE I.
Următoarea este o listă de tipuri de date acceptate de ABAP.
| Tipul de date | Lungimea inițială a câmpului | Lungimea câmpului validă | Valoarea initiala | Sens |
|---|---|---|---|---|
| Tipuri numerice | ||||
| I | 4 | 4 | 0 | Număr întreg (număr întreg) |
| F | 8 | 8 | 0 | Număr în virgulă mobilă |
| P | 8 | 1 - 16 | 0 | Număr ambalat |
| Tipuri de caractere | ||||
| C | 1 | 1 - 65535 | '...' | Câmp text (caractere alfanumerice) |
| D | 8 | 8 | „00000000” | Câmp de dată (format: AAAAALLZZ) |
| N | 1 | 1 - 65535 | „0 … 0” | Câmp de text numeric (caractere numerice) |
| T | 6 | 6 | „000000” | Câmp de oră (format: HHMMSS) |
| Tip hexazecimal | ||||
| X | 1 | 1 - 65535 | X'0 … 0′ | Câmp hexazecimal |
Cele opt tipuri de mai sus sunt tipurile clasice cu lungime fixă. ABAP oferă, de asemenea, două tipuri cu lungime variabilă pe care începătorii le întâlnesc aproape imediat: STRING pentru text de orice lungime și XSTRING pentru date binare de orice lungime.
ABAP Operatori
Odată ce datele sunt declarate, operatorii sunt cei care le modifică și le compară.
Atribuirea de valori
a = 16. MOVE 16 TO a. WRITE a TO b.
Toate cele trei instrucțiuni mută o valoare. Semnul egal este forma modernă, în timp ce MOVE și WRITE TO sunt echivalentele mai vechi pe care le veți întâlni în continuare în programele vechi.
Operatii aritmetice
COMPUTE a = a * 100.
ABAP acceptă și ADD, SUBTRACT, MULTIPLY și DIVIDE sunt cuvinte cheie independente, dar forma COMPUTE prezentată mai sus este cea utilizată cel mai des.
operatorii logici
Operatorii logici returnează adevărat sau fals și sunt ceea ce testează fiecare instrucțiune de control din secțiunea următoare. Fiecare are o formă de cuvânt și o formă de simbol, iar cele două sunt interschimbabile.
| Forma cuvantului | Forma simbolului | Sens |
|---|---|---|
EQ |
= |
Egal cu |
NE |
<> |
Nu este egal cu |
GT |
> |
Mai mare ca |
GE |
>= |
Mai mare sau egal cu |
LT |
< |
Less decât |
LE |
<= |
Less decât sau egal cu |
Declarații de control
Instrucțiunile de control utilizează operatorii logici de mai sus pentru a decide ce linii de cod rulează și cât de des.
DACĂ … ENDIF
IF [NOT] exp [ AND / OR [NOT] exp ]. ........ [ELSEIF exp. .......] [ELSE. .......] ENDIF.
Declarație CASE
CASE variable. WHEN value1. ......... WHEN value2. ......... [WHEN OTHERS. .........] ENDCASE.
Bucla WHILE
WHILE <logical expression>. ..... ENDWHILE.
Bucla DO
DO <n> TIMES. ..... ENDDO.
O buclă WHILE rulează atât timp cât condiția sa este valabilă. O buclă DO rulează de un număr fix de ori sau la nesfârșit până când o instrucțiune EXIT o oprește.
Tabele interne în ABAP
Variabilele individuale sunt rareori suficiente. Programele de business citesc mai multe rânduri simultan, iar tabelul intern este structura care le păstrează în memorie.
Un tabel intern este o matrice dinamică. Nu are o dimensiune fixă, este prezent doar pe durata programului și este modalitatea standard de a muta rânduri între baza de date și ecran.
" 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.
Cele trei operații de mai sus acoperă majoritatea activității zilnice: declararea tabelului, completarea acestuia cu o comandă SELECT, apoi parcurgerea acestuia cu LOOP AT. APPEND adaugă un rând, READ TABLE găsește unul, iar DELETE elimină rândurile care îndeplinesc o condiție.
Editor ABAP/4
Toată sintaxa de mai sus este introdusă într-un singur loc.
tranzacție SE38 deschide Editorul ABAP, unde îți vei petrece cea mai mare parte a timpului ca dezvoltator creând și modificând programe.
Editorul ABAP/4, tranzacția SE38
Cum să-ți scrii primul program ABAP
Ecranul de mai sus este locul unde au loc următorii pași. Secvența de mai jos produce un raport de lucru în câteva minute.
- Deschideți editorul. Introdu codul tranzacției SE38 în SAP câmpul de comandă GUI și apăsați Enter.
- Denumiți programul. Tastați un nume care începe cu Z or Y, De exemplu,
ZHELLO_WORLDAceste două litere reprezintă spațiul de nume al clientului și SAP garantează că nu le va suprascrie niciodată în timpul unei actualizări. - Creaza-l. Clic Crează, introduceți o scurtă descriere și alegeți Program executabil ca tip.
- Atribuiți un pachet. Alege Obiect local pentru practică. Un obiect local rămâne în sistemul dumneavoastră și nu necesită nicio solicitare de transport.
- Scrie codul.
REPORT zhello_world. DATA employee_name TYPE string. employee_name = 'Guru99'. WRITE: / 'Hello, ABAP!', / 'Welcome', employee_name.
- Verificați sintaxa. Anunturi Ctrl + F2Bara de stare raportează orice eroare și linia care a cauzat-o.
- Activați programul. Anunturi Ctrl + F3Un program inactiv nu poate rula.
- A executa. Anunturi F8Lista de ieșiri se deschide și afișează ambele linii WRITE.
Bară oblică înainte din instrucțiunea WRITE forțează o linie nouă. Eliminarea ei imprimă totul pe o singură linie, acesta fiind primul obicei de formatare pe care îl dobândesc majoritatea începătorilor.
Tranzacție ABAP comună Codes
O mână de coduri de tranzacții acoperă aproape tot ce are nevoie un dezvoltator ABAP începător.
| tranzacție | Scop |
|---|---|
SE38 |
Editor ABAP. Creați, editați, verificați și rulați programe. |
SE80 |
Navigator de obiecte. Un singur workbench pentru programe, clase, pachete și ecrane. |
SE11 |
Dicționar ABAP. Definiți și inspectați tabelele, elementele de date și domeniile bazei de date. |
SE16N |
Navigator de date. Vizualizați conținutul oricărui tabel fără a scrie o comandă SELECT. |
SE37 |
Constructor de funcții. Creați și testați module de funcții. |
SE24 |
Constructor de clase. Creați clase globale pentru obiecte ABAP. |
ST22 |
Analiza dump-urilor. Citește eroarea de execuție atunci când un program se termină. |
SE38 și SE11 sunt suficiente pentru a construi un prim raport. ST22 devine cel mai valoros din grup în momentul în care un program se blochează.

