Uvod u ABAP: Tipovi podataka, Operatorovi i urednik – Vodič

⚡ Pametni sažetak

Uvod u ABAP pokriva jezik SAP stvoren za izgradnju aplikacija na R/3 sustavu. Ovaj resurs objašnjava tipove podataka, operatore, kontrolne naredbe, internu tablicu i SE38 editor gdje počinje svaki ABAP program.

  • 🔤 Sintaksa deklaracije: PODACI naziv_varijable TIP tip_varijable deklarira svaku varijablu u ABAP-u.
  • 🔢 Vrste podataka: I, F i P sadrže brojeve; C, D, N i T sadrže znakove; X sadrži heksadecimalne podatke.
  • Operatorovi: Aritmetički operatori mijenjaju vrijednosti, dok logički operatori poput EQ, NE, GT i LT upravljaju odlukama.
  • 🔁 Kontrolne izjave: IF, CASE, WHILE i DO određuju koji će se redovi programa zapravo izvršiti.
  • 📋 Interne tablice: Interna tablica sadrži više redaka u memoriji i glavna je radna snaga svakog ABAP izvješća.
  • 🖥️ Urednik: Transakcija SE38 je ABAP editor, gdje se programi pišu, provjeravaju i izvršavaju.

Uvod u SAP ABAP

Što je ABAP?

ABAP je kratica za Advanced Business Application Programming (Napredno programiranje poslovnih aplikacija). To je programski jezik za razvojping prijave za SAP R/3 sustav.

Najnovija verzija ABAP-a zove se ABAP Objects i podržava objektno orijentirano programiranje. SAP pokrenut će aplikacije napisane pomoću ABAP/4, ranije verzije ABAP-a, kao i aplikacije koje koriste ABAP objekte.

Ovaj uvod ne pokušava dokumentirati svaki ABAP jezik konstrukt. Brzo uvodi ključne koncepte, tako da možete početi pisati radne programe, a zatim prijeći na naprednije teme.

Vrste podataka

Svaki ABAP program započinje deklariranjem podataka s kojima će raditi.

Sintaksa za deklariranje varijable u ABAP-u –

DATA Variable_Name TYPE Variable_Type.

Primjer:

DATA employee_number TYPE I.

Slijedi popis tipova podataka koje ABAP podržava.

Tip podataka Početna duljina polja Valjana duljina polja Početna vrijednost Značenje
Numerički tipovi
I 4 4 0 Cijeli broj (cijeli broj)
F 8 8 0 Broj s pomičnim zarezom
P 8 1 - 16 0 Upakiran broj
Tipovi likova
C 1 1 - 65535 '...' Tekstualno polje (alfanumerički znakovi)
D 8 8 '00000000' Polje datuma (format: GGGGMMDD)
N 1 1 - 65535 '0 ... 0' Numeričko tekstualno polje (numerički znakovi)
T 6 6 '000000' Vremensko polje (format: HHMMSS)
Heksadecimalni tip
X 1 1 - 65535 X'0 … 0′ Heksadecimalno polje

Osam gore navedenih tipova su klasični tipovi fiksne duljine. ABAP također nudi dva tipa promjenjive duljine s kojima se početnici gotovo odmah susreću: STRING za tekst bilo koje duljine i XSTRING za binarne podatke bilo koje duljine.

ABAP Operaulagatelji

Nakon što su podaci deklarirani, operatori ih mijenjaju i uspoređuju.

Dodjeljivanje vrijednosti

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

Sve tri naredbe pomiču vrijednost. Znak jednakosti je moderni oblik, dok su MOVE i WRITE TO stariji ekvivalenti koje ćete još uvijek susresti u starijim programima.

Aritmetičke operacije

COMPUTE a = a * 100.

ABAP također podržava ADD, SUBTRACT, MNOŽENJE i DIJELJENJE kao samostalne ključne riječi, ali oblik RAČUNAJ prikazan gore je onaj koji se najčešće koristi.

logički operatori

Logički operatori vraćaju vrijednost true ili false, i njih testira svaka kontrolna naredba u sljedećem odjeljku. Svaki ima oblik riječi i oblik simbola, a ta dva su zamjenjiva.

Oblik riječi Oblik simbola Značenje
EQ = Jednak
NE <> Nije jednako
GT > Veći od
GE >= Veći od ili jednak
LT < Less od
LE <= Less nego ili jednako

Izjave o kontroli

Kontrolne naredbe koriste gore navedene logičke operatore kako bi odlučile koje će se linije koda izvršavati i koliko često.

AKO … KRAJ AKO

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

CASE izjava

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

WHILE petlja

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

DO petlja

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

Petlja WHILE se izvršava dok god je uvjet ispunjen. Petlja DO se izvršava fiksni broj puta ili beskonačno dok je ne zaustavi naredba EXIT.

Interne tablice u ABAP-u

Pojedinačne varijable rijetko su dovoljne. Poslovni programi čitaju više redaka odjednom, a interna tablica je struktura koja ih drži u memoriji.

Interna tablica je dinamički niz. Nema fiksnu veličinu, traje samo za vrijeme trajanja programa i standardni je način premještanja redaka između baze podataka i zaslona.

" 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.

Tri gore navedene operacije pokrivaju većinu svakodnevnog rada: deklariranje tablice, popunjavanje s SELECT, a zatim prolazak kroz nju s LOOP AT. APPEND dodaje redak, READ TABLE pronalazi jedan, a DELETE uklanja retke koji odgovaraju uvjetu.

Urednik ABAP/4

Sva gore navedena sintaksa je upisana na jedno mjesto.

transakcija SE38 otvara ABAP Editor, gdje ćete kao programer provoditi većinu svog vremena stvarajući i modificirajući programe.

Urednik ABAP/4

ABAP/4 urednik, transakcija SE38

Kako napisati svoj prvi ABAP program

Gornji zaslon prikazuje sljedeće korake. Slijed u nastavku generira radno izvješće za nekoliko minuta.

  1. Otvorite uređivač. Unesite šifru transakcije SE38 u SAP polje za naredbe grafičkog korisničkog sučelja i pritisnite Enter.
  2. Navedite naziv programa. Upišite ime koje počinje s Z or Y, Na primjer ZHELLO_WORLDTa dva slova su imenski prostor korisnika i SAP jamči da ih nikada neće prebrisati tijekom nadogradnje.
  3. Stvori ga. Kliknite stvoriti, unesite kratak opis i odaberite Izvršni program kao vrsta.
  4. Dodijelite paket. Odaberite Lokalni objekt za vježbu. Lokalni objekt ostaje u vašem sustavu i ne treba mu zahtjev za prijenos.
  5. Napišite kod.
REPORT zhello_world.

DATA employee_name TYPE string.
employee_name = 'Guru99'.

WRITE: / 'Hello, ABAP!',
       / 'Welcome', employee_name.
  1. Provjerite sintaksu. Press Ctrl + F2Statusna traka prikazuje svaku grešku i redak koji ju je uzrokovao.
  2. Aktivirajte program. Press Ctrl + F3Neaktivni program se ne može pokrenuti.
  3. Izvršiti. Press F8Otvara se izlazna lista i prikazuje oba retka WRITE.

Kosa crta u naredbi WRITE prisiljava ispis u novi redak. Njenim uklanjanjem sve se ispisuje u jednom retku, što je prva navika formatiranja koju većina početnika usvaja.

Uobičajena ABAP transakcija Codes

Nekoliko transakcijskih kodova pokriva gotovo sve što je potrebno novom ABAP developeru.

transakcija Svrha
SE38 ABAP Editor. Stvaranje, uređivanje, provjera i pokretanje programa.
SE80 Navigator objekata. Jedna radna površina za programe, klase, pakete i ekrane.
SE11 ABAP rječnik. Definirajte i pregledajte tablice baze podataka, podatkovne elemente i domene.
SE16N Preglednik podataka. Pregledajte sadržaj bilo koje tablice bez pisanja SELECT naredbe.
SE37 Alat za izradu funkcija. Izrada i testiranje funkcijskih modula.
SE24 Alat za izradu klasa. Stvorite globalne klase za ABAP objekte.
ST22 Analiza dumpa. Pročitajte pogrešku u izvođenju kada se program završi.

SE38 i SE11 su dovoljni za izradu prvog izvješća. ST22 postaje najvrjedniji u grupi u trenutku kada se program sruši.

Pitanja i odgovori

Z i Y tvore imenski prostor korisnika. SAP nikada ne isporučuje objekte s tim prefiksima, tako da nadogradnja ne može prebrisati vaš program. Imena izvan tog imenskog prostora riskiraju da budu zamijenjena.

ABAP/4 je proceduralna verzija, izgrađena na izvješćima i potprogramima. ABAP objekti dodaju klase, sučelja i nasljeđivanje. Oba se izvršavaju u istom sustavu, tako da stari i novi kod koegzistiraju.

Koristite P, pakirani tip. On točno pohranjuje decimale, što je ono što novac zahtijeva. Tip F je broj s pomičnim zarezom i uvodi pogreške zaokruživanja koje čine financijske zbrojeve nepouzdanim.

Da. AI asistent može objasniti dump, prevesti pseudokod u ABAP i predložiti čišću LOOP. Uvijek pokrenite provjeru sintakse, jer generirani kod može referencirati tablice koje vašem sustavu nedostaju.

Ne bez pregleda. Generirani kod često zanemaruje provjere autorizacije, pravila performansi i popis objavljenih API-ja ABAP Clouda. Tretirajte ga kao prvi nacrt, a zatim ga testirajte kao i bilo koji drugi kod.

Sažmite ovu objavu uz: