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.

  • 🔤 Sintaxa declarației: DATA nume_variabilă TYPE tip_variabilă declară fiecare variabilă din ABAP.
  • 🔢 Tipuri de date: I, F și P conțin numere; C, D, N și T conțin caractere; X conține date hexazecimale.
  • Operators: Operatorii aritmetici modifică valorile, în timp ce operatorii logici precum EQ, NE, GT și LT preiau deciziile.
  • 🔁 Declarații de control: IF, CASE, WHILE și DO determină care linii ale unui program rulează efectiv.
  • 📋 Tabele interne: Un tabel intern conține mai multe rânduri în memorie și este elementul de bază al fiecărui raport ABAP.
  • 🖥️ Editor: Tranzacția SE38 este editorul ABAP, unde programele sunt scrise, verificate și executate.

Introducere în SAP 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.

Editor ABAP/4

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.

  1. Deschideți editorul. Introdu codul tranzacției SE38 în SAP câmpul de comandă GUI și apăsați Enter.
  2. 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.
  3. Creaza-l. Clic Crează, introduceți o scurtă descriere și alegeți Program executabil ca tip.
  4. 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.
  5. Scrie codul.
REPORT zhello_world.

DATA employee_name TYPE string.
employee_name = 'Guru99'.

WRITE: / 'Hello, ABAP!',
       / 'Welcome', employee_name.
  1. Verificați sintaxa. Anunturi Ctrl + F2Bara de stare raportează orice eroare și linia care a cauzat-o.
  2. Activați programul. Anunturi Ctrl + F3Un program inactiv nu poate rula.
  3. 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ă.

Întrebări frecvente

Z și Y formează spațiul de nume al clientului. SAP nu livrează niciodată obiecte cu aceste prefixe, deci o actualizare nu poate suprascrie programul. Numele din afara acelui spațiu de nume riscă să fie înlocuite.

ABAP/4 este versiunea procedurală, construită pe rapoarte și subrutine. ABAP Objects adaugă clase, interfețe și moștenire. Ambele rulează în același sistem, astfel încât codul vechi și cel nou coexistă.

Folosește P, tipul compactat. Stochează exact zecimale, ceea ce necesită bani. Tipul F este un număr cu virgulă mobilă și introduce erori de rotunjire care fac ca totalurile financiare să fie nesigure.

Da. Un asistent cu inteligență artificială poate explica un dump, poate traduce pseudocodul în ABAP și poate sugera o buclă LOOP mai curată. Rulați întotdeauna verificarea sintaxei, deoarece codul generat poate face referire la tabele care nu aparțin sistemului dumneavoastră.

Nu fără revizuire. Codul generat ignoră adesea verificările de autorizare, regulile de performanță și lista API-urilor lansate de ABAP Cloud. Tratați-l ca pe o primă schiță, apoi testați-l ca pe orice alt cod.

Rezumați această postare cu: