Sissejuhatus ABAP-i: andmetüübid, Operators & toimetaja – õpetus

⚡ Nutikas kokkuvõte

ABAP-i sissejuhatus hõlmab keelt SAP loodud rakenduste loomiseks R/3 süsteemis. See ressurss selgitab andmetüüpe, operaatoreid, juhtlauseid, sisemist tabelit ja SE38 redaktorit, kust iga ABAP-programm algab.

  • 🔤 Deklaratsiooni süntaks: DATA muutuja_nimi TYPE muutuja_tüüp deklareerib kõik ABAP-i muutujad.
  • 🔢 Andmetüübid: I, F ja P sisaldavad numbreid; C, D, N ja T sisaldavad märke; X sisaldab kuueteistkümnendsüsteemis andmeid.
  • Operators: Aritmeetilised operaatorid muudavad väärtusi, samas kui loogilised operaatorid nagu EQ, NE, GT ja LT juhivad otsuseid.
  • 🔁 Juhtimislaused: IF, CASE, WHILE ja DO määravad, millised programmi read tegelikult töötavad.
  • ???? Sisemised tabelid: Sisemine tabel hoiab mälus mitu rida ja on iga ABAP-aruande tööhobune.
  • 🖥️ Toimetaja: Tehing SE38 on ABAP-redaktor, kus programme kirjutatakse, kontrollitakse ja käivitatakse.

Sissejuhatus SAP ABAP

Mis on ABAP?

ABAP on lühend sõnadest Advanced Business Application Programming. See on programmeerimiskeel arendustegevuseks.ping taotlused SAP R/3 süsteem.

ABAP-i uusim versioon kannab nime ABAP Objects ja toetab objektorienteeritud programmeerimist. SAP käivitab rakendusi, mis on kirjutatud kasutades ABAP/4, varasemat ABAP-i versiooni, kui ka rakendusi, mis kasutavad ABAP-objekte.

See sissejuhatus ei püüa dokumenteerida kõiki ABAP keel konstruktsioon. See tutvustab kiiresti põhimõisteid, et saaksite hakata kirjutama toimivaid programme ja seejärel liikuda edasi keerukamate teemade juurde.

Andmetüübid

Iga ABAP-programm algab andmete deklareerimisega, millega see töötab.

Süntaks muutuja deklareerimiseks ABAP-is –

DATA Variable_Name TYPE Variable_Type.

Näide:

DATA employee_number TYPE I.

Järgnevalt on loetletud ABAP-i toetatud andmetüübid.

Andmetüüp Esialgne välja pikkus Kehtiv välja pikkus Algne väärtus Tähendus
Numbrilised tüübid
I 4 4 0 Täisarv (täisarv)
F 8 8 0 Ujukomaarv
P 8 1 - 16 0 Pakitud number
Tegelaste tüübid
C 1 1 - 65535 '…' Tekstiväli (tähtnumbrilised märgid)
D 8 8 "00000000" Kuupäevaväli (vorming: AAAAKKPP)
N 1 1 - 65535 "0 … 0" Numbriline tekstiväli (numbrilised märgid)
T 6 6 "000000" Ajaväli (vorming: HHMMSS)
Kuueteistkümnendsüsteem
X 1 1 - 65535 X'0 … 0' Kuueteistkümnendväli

Kaheksa ülaltoodud tüüpi on klassikalised fikseeritud pikkusega tüübid. ABAP pakub ka kahte muutuva pikkusega tüüpi, millega algajad peaaegu kohe kokku puutuvad: STRING mis tahes pikkusega teksti puhul ja XSTRING mis tahes pikkusega binaarandmete jaoks.

ABAP Operatorse

Kui andmed on deklareeritud, on operaatorid need, kes neid muudavad ja võrdlevad.

Väärtuste määramine

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

Kõik kolm lauset liigutavad väärtust. Võrdusmärk on tänapäevane vorm, samas kui MOVE ja WRITE TO on vanemad vasted, mida leiate endiselt pärandprogrammidest.

Aritmeetilised toimingud

COMPUTE a = a * 100.

ABAP toetab ka ADD ja SUBTRACT, MULTIPLY ja DIVIDE on eraldiseisvad märksõnad, kuid kõige sagedamini kasutatakse ülaltoodud COMPUTE-vormi.

loogiline operaatorid

Loogikaoperaatorid tagastavad väärtuse tõene või väär ning just neid kontrollib iga järgmises jaotises olev juhtlause. Igal neist on sõnavorm ja sümbolvorm ning need kaks on omavahel asendatavad.

Sõnavorm Sümboli vorm Tähendus
EQ = Võrdne
NE <> Ei ole võrdne
GT > Suurem kui
GE >= Suurem või võrdne
LT < Less kui
LE <= Less kui või võrdne

Kontrollavaldused

Juhtlaused kasutavad ülaltoodud loogikaoperaatoreid, et otsustada, milliseid koodiridasid ja kui tihti käivitatakse.

KUI … ENDIF

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

CASE-lause

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

WHILE-tsükkel

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

DO-tsükkel

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

WHILE tsükkel kestab nii kaua, kuni selle tingimus kehtib. DO tsükkel kestab kindla arvu kordi ehk lõputult, kuni EXIT-lause selle peatab.

ABAP-i sisemised tabelid

Üksikutest muutujatest harva piisab. Äriprogrammid loevad korraga palju ridu ja sisemine tabel on struktuur, mis neid mälus hoiab.

Sisemine tabel on dünaamiline massiiv. Sellel pole fikseeritud suurust, see eksisteerib ainult programmi kestuse ajal ja see on standardne viis ridade liigutamiseks andmebaasi ja ekraani vahel.

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

Ülaltoodud kolm toimingut hõlmavad enamiku igapäevatööd: tabeli deklareerimine, selle täitmine SELECT-iga ja seejärel selle läbimine LOOP AT-iga. APPEND lisab rea, READ TABLE leiab selle ja DELETE eemaldab tingimusele vastavad read.

ABAP/4 toimetaja

Kogu ülaltoodud süntaks on trükitud ühte kohta.

tehing SE38 avab ABAP-redaktori, kus arendajana veedad suurema osa ajast programmide loomisel ja muutmisel.

ABAP/4 toimetaja

ABAP/4 redaktor, tehing SE38

Kuidas kirjutada oma esimene ABAP-programm

Ülaltoodud ekraanipildil toimuvad järgmised sammud. Allolev jada loob mõne minutiga toimiva aruande.

  1. Ava redaktor. Sisestage tehingukood SE38 aasta SAP GUI käskude väli ja vajutage sisestusklahvi.
  2. Nimeta programm. Sisesta nimi, mis algab tähega Z or YNäiteks ZHELLO_WORLDNeed kaks tähte tähistavad kliendi nimeruumi ja SAP garanteerib, et neid uuendamise ajal kunagi üle ei kirjutata.
  3. Loo see. Click Looma, sisestage lühike kirjeldus ja valige Täidetav programm kui tüüp.
  4. Määrake pakett. Vali Kohalik objekt harjutustööks. Kohalik objekt jääb teie süsteemi ja ei vaja transpordipäringut.
  5. Kirjuta kood.
REPORT zhello_world.

DATA employee_name TYPE string.
employee_name = 'Guru99'.

WRITE: / 'Hello, ABAP!',
       / 'Welcome', employee_name.
  1. Kontrollige süntaksit. press Ctrl + F2Olekuribal kuvatakse kõik vead ja nende põhjustanud rida.
  2. Aktiveeri programm. press Ctrl + F3Passiivne programm ei saa käivituda.
  3. Täitke. press F8Avaneb väljundloend ja kuvab mõlemad WRITE read.

Kaldkriips WRITE-lauses sunnib teksti uuele reale. Selle eemaldamine prindib kõik ühele reale, mis on esimene vormindusharjumus, mille enamik algajaid omandab.

Üldine ABAP-tehing Codes

Käputäis tehingukoode katab peaaegu kõik, mida uus ABAP-arendaja vajab.

tehing Eesmärk
SE38 ABAP-redaktor. Loo, muuda, kontrolli ja käivita programme.
SE80 Object Navigator. Üks töölaud programmide, klasside, pakettide ja ekraanide jaoks.
SE11 ABAP-sõnastik. Andmebaasi tabelite, andmeelementide ja domeenide defineerimine ja kontrollimine.
SE16N Andmebrauser. Vaadake mis tahes tabeli sisu ilma SELECT-käsku kirjutamata.
SE37 Funktsioonide koostaja. Loo ja testi funktsioonimooduleid.
SE24 Klasside koostaja. Loo ABAP-objektide jaoks globaalseid klasse.
ST22 Trükitõmmise analüüs. Loe programmi töö lõpetamisel tekkivat käitusaja viga.

Esimese aruande koostamiseks piisab SE38-st ja SE11-st. ST22 muutub grupi kõige väärtuslikumaks hetkel, kui programm krahhi läheb.

KKK

Z ja Y moodustavad kliendi nimeruumi. SAP ei saada kunagi objekte nende eesliidetega, seega ei saa uuendamine teie programmi üle kirjutada. Selle nimeruumivälised nimed võivad asendatud saada.

ABAP/4 on protseduraalne versioon, mis põhineb aruannetel ja alamprogrammidel. ABAP Objects lisab klasse, liideseid ja pärimise. Mõlemad töötavad samas süsteemis, seega eksisteerivad nii vana kui ka uus kood koos.

Kasutage pakitud tüüpi P. See salvestab kümnendmurrud täpselt, mida raha vajab. Tüüp F on ujukomaarv ja tekitab ümardusvigu, mis muudavad finantssummad ebausaldusväärseks.

Jah. Tehisintellekti assistent oskab selgitada prügimikku, tõlkida pseudokoodi ABAP-iks ja soovitada puhtamat tsüklit. Käivita alati süntaksikontroll, kuna genereeritud kood saab viidata tabelitele, mis sinu süsteemis puuduvad.

Mitte ilma ülevaatuseta. Genereeritud kood ignoreerib sageli autoriseerimiskontrolle, jõudlusreegleid ja ABAP Cloudi avaldatud API-de loendit. Käsitle seda esimese mustandina ja testi seda nagu iga teist koodi.

Võta see postitus kokku järgmiselt: