Johdatus ABAP:iin: tietotyypit, Operators & Editor – opetusohjelma

⚡ Älykäs yhteenveto

ABAP-johdatus kattaa kielen SAP luotu sovellusten rakentamiseen R/3-järjestelmässä. Tämä resurssi selittää tietotyypit, operaattorit, ohjauslausekkeet, sisäisen taulukon ja SE38-editorin, josta jokainen ABAP-ohjelma alkaa.

  • 🔤 Ilmoituksen syntaksi: DATA muuttujan_nimi TYPE muuttujan_tyyppi määrittää kaikki ABAP-muuttujat.
  • 🔢 Tietotyypit: I, F ja P sisältävät numeroita; C, D, N ja T sisältävät merkkejä; X sisältää heksadesimaalidataa.
  • Operatorit: Aritmeettiset operaattorit muuttavat arvoja, kun taas loogiset operaattorit, kuten EQ, NE, GT ja LT, ohjaavat päätöksiä.
  • 🔁 Ohjauslausekkeet: IF, CASE, WHILE ja DO määrittävät, mitkä ohjelman rivit todellisuudessa suoritetaan.
  • 📋 Sisäiset taulukot: Sisäinen taulukko sisältää useita rivejä muistissa ja on jokaisen ABAP-raportin työjuhta.
  • 🖥️ Editor: Transaktio SE38 on ABAP-editori, jossa ohjelmat kirjoitetaan, tarkistetaan ja suoritetaan.

Johdatus SAP ABAP

Mikä on ABAP?

ABAP on lyhenne sanoista Advanced Business Application Programming. Se on ohjelmointikieli kehitystyöhön.ping hakemukset SAP R/3 järjestelmä.

ABAPin uusin versio on nimeltään ABAP Objects ja se tukee olio-ohjelmointia. SAP suorittaa sovelluksia, jotka on kirjoitettu käyttäen ABAP/4, aikaisempaa ABAP-versiota, sekä sovelluksia, jotka käyttävät ABAP Objects -objekteja.

Tässä johdantokappaleessa ei pyritä dokumentoimaan kaikkia ABAP kieli rakentaa. Se esittelee keskeiset käsitteet nopeasti, jotta voit aloittaa toimivien ohjelmien kirjoittamisen ja siirtyä sitten vaativampiin aiheisiin.

Tietotyypit

Jokainen ABAP-ohjelma aloittaa määrittelemällä datan, jonka kanssa se työskentelee.

Syntaksi muuttujan ilmoittamiseksi ABAP:ssa -

DATA Variable_Name TYPE Variable_Type.

Esimerkiksi:

DATA employee_number TYPE I.

Seuraava on luettelo ABAP:n tukemista tietotyypeistä.

Tietotyyppi Alkuperäinen kentän pituus Kelvollinen kentän pituus Alkuarvo Merkitys
Numeeriset tyypit
I 4 4 0 Kokonaisluku (koko luku)
F 8 8 0 Liukulukuluku
P 8 1 - 16 0 Pakattu numero
Merkkityypit
C 1 1 - 65535 '…' Tekstikenttä (aakkosnumeerisia merkkejä)
D 8 8 '00000000' Päivämääräkenttä (muoto: VVVVKKPP)
N 1 1 - 65535 '0 … 0' Numeerinen tekstikenttä (numeerisia merkkejä)
T 6 6 '000000' Aikakenttä (muoto: HHMMSS)
Heksadesimaalinen tyyppi
X 1 1 - 65535 X'0 … 0' Heksadesimaalikenttä

Yllä olevat kahdeksan tyyppiä ovat klassisia kiinteän pituisia tyyppejä. ABAP tarjoaa myös kaksi vaihtelevan pituista tyyppiä, joihin aloittelijat törmäävät lähes välittömästi: STRING minkä tahansa pituiselle tekstille ja XSTRING minkä tahansa pituisille binääridatalle.

ABAP OperaTors

Kun data on ilmoitettu, operaattorit muuttavat ja vertailevat sitä.

Arvojen määrittäminen

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

Kaikki kolme lausetta siirtävät arvon. Yhtäsuuruusmerkki on nykymuotoinen muoto, kun taas MOVE ja WRITE TO ovat vanhempia vastineita, joita kohtaat edelleen vanhoissa ohjelmissa.

Aritmeettiset toimenpiteet

COMPUTE a = a * 100.

ABAP tukee myös ADD- ja SUB-toimintoja.TRACT, MULTIPLY ja DIVIDE toimivat itsenäisinä avainsanoina, mutta yllä olevaa COMPUTE-muotoa käytetään useimmin.

loogisia operaattoreita

Loogiset operaattorit palauttavat arvon tosi tai epätosi, ja ne ovat jokaisen seuraavan osan ohjauslausekkeen testaamia asioita. Kummallakin on sanamuoto ja symbolimuoto, ja nämä kaksi ovat keskenään vaihdettavissa.

Sanamuoto Symbolimuoto Merkitys
EQ = Yhtä kuin
NE <> Ei ole yhtä suuri kuin
GT > Suurempi kuin
GE >= Suurempi tai yhtä suuri kuin
LT < Less kuin
LE <= Less kuin tai yhtä suuri kuin

Valvontalausunnot

Ohjauslausekkeet käyttävät yllä olevia loogisia operaattoreita päättääkseen, mitkä koodirivit suoritetaan ja kuinka usein.

JOS … LOPPU.JOS

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

CASE-lausunto

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

WHILE-silmukka

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

DO-silmukka

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

WHILE-silmukka kestää niin kauan kuin sen ehto on voimassa. DO-silmukka suoritetaan tietyn määrän kertoja eli loputtomasti, kunnes EXIT-lauseke pysäyttää sen.

Sisäiset taulukot ABAP:ssa

Yksittäiset muuttujat harvoin riittävät. Liiketoimintaohjelmat lukevat useita rivejä kerralla, ja sisäinen taulukko on rakenne, joka säilyttää niitä muistissa.

Sisäinen taulukko on dynaaminen taulukko. Sillä ei ole kiinteää kokoa, se on olemassa vain ohjelman keston ajan, ja se on vakiotapa siirtää rivejä tietokannan ja näytön välillä.

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

Yllä olevat kolme operaatiota kattavat suurimman osan päivittäisistä töistä: taulukon määrittely, sen täyttäminen SELECT-käskyllä ​​ja sen läpikäyminen LOOP AT -käskyllä. APPEND lisää rivin, READ TABLE etsii sellaisen ja DELETE poistaa ehtoa vastaavat rivit.

ABAP/4 toimittaja

Kaikki yllä oleva syntaksi kirjoitetaan yhteen paikkaan.

Liiketoimi SE38 avaa ABAP-editorin, jossa vietät suurimman osan ajastasi kehittäjänä ohjelmia luoden ja muokkaaen.

ABAP/4 toimittaja

ABAP/4-editori, tapahtuma SE38

Kuinka kirjoittaa ensimmäinen ABAP-ohjelmasi

Yllä olevassa näytössä näkyvät seuraavat vaiheet. Alla oleva sarja tuottaa toimivan raportin muutamassa minuutissa.

  1. Avaa editori. Anna tapahtumakoodi SE38 vuonna SAP GUI-komentokenttään ja paina Enter.
  2. Nimeä ohjelma. Kirjoita nimi, joka alkaa merkeillä Z or Y, esimerkiksi ZHELLO_WORLDNuo kaksi kirjainta ovat asiakkaan nimiavaruuden ja SAP takaa, ettei niitä koskaan korvata päivityksen aikana.
  3. Luo se. Napauta luoda, kirjoita lyhyt kuvaus ja valitse Suoritettava ohjelma kuin tyyppi.
  4. Määritä paketti. Valita Paikallinen objekti harjoitustyötä varten. Paikallinen objekti pysyy järjestelmässäsi eikä tarvitse siirtopyyntöä.
  5. Kirjoita koodi.
REPORT zhello_world.

DATA employee_name TYPE string.
employee_name = 'Guru99'.

WRITE: / 'Hello, ABAP!',
       / 'Welcome', employee_name.
  1. Tarkista syntaksi. lehdistö Ctrl + F2Tilarivi ilmoittaa mahdolliset virheet ja niiden aiheuttaneen rivin.
  2. Aktivoi ohjelma. lehdistö Ctrl + F3Passiivinen ohjelma ei voi toimia.
  3. Suorittaa. lehdistö F8Lähtöluettelo avautuu ja näyttää molemmat WRITE-rivit.

WRITE-lausekkeen kauttaviiva pakottaa uuden rivin. Sen poistaminen tulostaa kaiken yhdelle riville, mikä on ensimmäinen muotoilutapa, jonka useimmat aloittelijat omaksuvat.

Yleinen ABAP-tapahtuma Codes

Muutama transaktiokoodi kattaa lähes kaiken, mitä uusi ABAP-kehittäjä tarvitsee.

Liiketoimi Tarkoitus
SE38 ABAP-editori. Luo, muokkaa, tarkista ja suorita ohjelmia.
SE80 Object Navigator. Yksi työpöytä ohjelmille, luokille, paketeille ja näytöille.
SE11 ABAP-sanakirja. Määrittele ja tarkista tietokannan taulukot, dataelementit ja -domeenit.
SE16N Tietojen selain. Näytä minkä tahansa taulukon sisältö kirjoittamatta SELECT-komentoa.
SE37 Funktiorakentaja. Luo ja testaa funktiomoduuleja.
SE24 Luokkien rakentaja. Luo globaaleja luokkia ABAP-objekteille.
ST22 Vedosanalyysi. Lue suorituksenaikainen virhe ohjelman päättyessä.

SE38 ja SE11 riittävät ensimmäisen raportin luomiseen. ST22:sta tulee ryhmän arvokkain heti, kun ohjelma kaatuu.

UKK

Z ja Y muodostavat asiakkaan nimiavaruuden. SAP ei koskaan toimita objekteja näillä etuliitteillä, joten päivitys ei voi korvata ohjelmaasi. Nimiavaruuden ulkopuoliset nimet saattavat korvautua.

ABAP/4 on proseduraalinen versio, joka perustuu raportteihin ja aliohjelmiin. ABAP Objects lisää luokkia, rajapintoja ja periytymisominaisuuden. Molemmat toimivat samassa järjestelmässä, joten vanha ja uusi koodi esiintyvät rinnakkain.

Käytä P-tyyppiä, pakattua tyyppiä. Se tallentaa desimaaliluvut tarkasti, mikä on rahan vaatimus. Tyyppi F on liukuluku ja aiheuttaa pyöristysvirheitä, jotka tekevät taloudellisista kokonaissummista epäluotettavia.

Kyllä. Tekoälyavustaja voi selittää vedoksen, kääntää pseudokoodin ABAP-muotoon ja ehdottaa siistimpää silmukkaa. Suorita aina syntaksitarkistus, koska luotu koodi voi viitata taulukoihin, joita järjestelmästäsi puuttuu.

Ei ilman tarkistusta. Luotu koodi jättää usein huomiotta valtuutustarkistukset, suorituskykysäännöt ja ABAP Cloudin julkaisemien API-rajapintojen luettelon. Käsittele sitä ensimmäisenä luonnoksena ja testaa sitä sitten kuten mitä tahansa koodia.

Tiivistä tämä viesti seuraavasti: