Introduktion til ABAP: Datatyper, Operators & Editor – Tutorial
⚡ Smart opsummering
Introduktion til ABAP dækker sproget SAP skabt til at bygge applikationer på R/3-systemet. Denne ressource forklarer datatyperne, operatorerne, kontrolsætningerne, den interne tabel og SE38-editoren, hvor hvert ABAP-program starter.
Hvad er ABAP?
ABAP står for Advanced Business Application Programming. Det er et programmeringssprog til udviklingping ansøgninger til SAP R/3 system.
Den seneste version af ABAP hedder ABAP Objects og understøtter objektorienteret programmering. SAP vil køre applikationer skrevet ved hjælp af ABAP/4, den tidligere ABAP-version, samt applikationer, der bruger ABAP-objekter.
Denne introduktion forsøger ikke at dokumentere alle ABAP sprog konstruktion. Den introducerer hurtigt nøglebegreberne, så du kan begynde at skrive arbejdsprogrammer og derefter gå videre til de mere avancerede emner.
Datatyper
Ethvert ABAP-program starter med at deklarere de data, det vil arbejde med.
Syntaks til at erklære en variabel i ABAP –
DATA Variable_Name TYPE Variable_Type.
Eksempel:
DATA employee_number TYPE I.
Følgende er en liste over datatyper, der understøttes af ABAP.
| Datatype | Indledende feltlængde | Gyldig feltlængde | Startværdi | Betydning |
|---|---|---|---|---|
| Numeriske typer | ||||
| I | 4 | 4 | 0 | Heltal (helt tal) |
| F | 8 | 8 | 0 | Flydende kommanummer |
| P | 8 | 1 - 16 | 0 | Pakket nummer |
| Karaktertyper | ||||
| C | 1 | 1 - 65535 | '...' | Tekstfelt (alfanumeriske tegn) |
| D | 8 | 8 | '00000000' | Datofelt (format: ÅÅÅÅMMDD) |
| N | 1 | 1 - 65535 | '0 … 0' | Numerisk tekstfelt (numeriske tegn) |
| T | 6 | 6 | '000000' | Tidsfelt (format: TTMMSS) |
| Hexadecimal type | ||||
| X | 1 | 1 - 65535 | X'0 … 0′ | Hexadecimalt felt |
De otte ovenstående typer er de klassiske typer med fast længde. ABAP tilbyder også to typer med variabel længde, som begyndere møder næsten med det samme: STRING for tekst af enhver længde, og XSTRING for binære data af enhver længde.
ABAP Operatorer
Når data er deklareret, er det operatorerne, der ændrer dem og sammenligner dem.
Tildeling af værdier
a = 16. MOVE 16 TO a. WRITE a TO b.
Alle tre udsagn flytter en værdi. Lighedstegnet er den moderne form, mens MOVE og WRITE TO er de ældre ækvivalenter, du stadig vil støde på i ældre programmer.
Aritmetiske operationer
COMPUTE a = a * 100.
ABAP understøtter også ADD, SUBTRACT, MULTIPLY og DIVIDE er selvstændige nøgleord, men COMPUTE-formen vist ovenfor er den, der bruges oftest.
logiske operatorer
Logiske operatorer returnerer sandt eller falsk, og det er dem, som alle kontrolsætninger i næste afsnit tester. Hver operator har en ordform og en symbolform, og de to kan bruges i stedet.
| Ordform | Symbolform | Betydning |
|---|---|---|
EQ |
= |
Svarende til |
NE |
<> |
Ikke lig med |
GT |
> |
Større end |
GE |
>= |
Større end eller lig med |
LT |
< |
Less end |
LE |
<= |
Less end eller lig med |
Kontrolerklæringer
Kontrolsætninger bruger de ovenstående logiske operatorer til at bestemme, hvilke kodelinjer der køres, og hvor ofte.
HVIS … SLUT HVIS
IF [NOT] exp [ AND / OR [NOT] exp ]. ........ [ELSEIF exp. .......] [ELSE. .......] ENDIF.
CASE-erklæring
CASE variable. WHEN value1. ......... WHEN value2. ......... [WHEN OTHERS. .........] ENDCASE.
WHILE-løkke
WHILE <logical expression>. ..... ENDWHILE.
DO-løkke
DO <n> TIMES. ..... ENDDO.
En WHILE-løkke kører så længe dens betingelse gælder. En DO-løkke kører et fast antal gange eller uendeligt, indtil en EXIT-sætning stopper den.
Interne tabeller i ABAP
Enkeltstående variabler er sjældent nok. Forretningsprogrammer læser mange rækker på én gang, og den interne tabel er den struktur, der holder dem i hukommelsen.
En intern tabel er et dynamisk array. Det har ingen fast størrelse, det eksisterer kun i programmets varighed, og det er standardmåden til at flytte rækker mellem databasen og skærmen.
" 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.
De tre ovenstående operationer dækker det meste af det daglige arbejde: deklarer tabellen, udfyld den med en SELECT, og følg derefter tabellen med LOOP AT. APPEND tilføjer en række, READ TABLE finder en, og DELETE fjerner rækker, der matcher en betingelse.
ABAP/4 Editor
Al ovenstående syntaks er skrevet på ét sted.
transaktion SE38 åbner ABAP Editoren, hvor du som udvikler vil bruge det meste af din tid på at oprette og ændre programmer.
ABAP/4-editoren, transaktion SE38
Sådan skriver du dit første ABAP-program
Skærmen ovenfor viser, hvor følgende trin finder sted. Sekvensen nedenfor genererer en arbejdsrapport på få minutter.
- Åbn editoren. Indtast transaktionskode SE38 i SAP GUI-kommandofeltet, og tryk på Enter.
- Navngiv programmet. Skriv et navn, der starter med Z or Y, For eksempel
ZHELLO_WORLDDisse to bogstaver er kundens navneområde, og SAP garanterer, at den aldrig vil overskrive dem under en opgradering. - Skab det. Klik Opret, indtast en kort beskrivelse, og vælg Eksekverbart program som typen.
- Tildel en pakke. Vælg Lokalt objekt til øvelsesarbejde. Et lokalt objekt forbliver i dit system og kræver ingen transportanmodning.
- Skriv koden.
REPORT zhello_world. DATA employee_name TYPE string. employee_name = 'Guru99'. WRITE: / 'Hello, ABAP!', / 'Welcome', employee_name.
- Tjek syntaksen. Presse Ctrl + F2Statuslinjen rapporterer enhver fejl og den linje, der forårsagede den.
- Aktivér programmet. Presse Ctrl + F3Et inaktivt program kan ikke køre.
- Udfør. Presse F8Outputlisten åbnes og viser begge WRITE-linjer.
Skråstregen i WRITE-sætningen fremtvinger en ny linje. Hvis den fjernes, udskrives alt på én linje, hvilket er den første formateringsvane, som de fleste begyndere tilegner sig.
Almindelig ABAP-transaktion Codes
En håndfuld transaktionskoder dækker næsten alt, hvad en ny ABAP-udvikler har brug for.
| transaktion | Formål |
|---|---|
SE38 |
ABAP Editor. Opret, rediger, tjek og kør programmer. |
SE80 |
Objektnavigator. En enkelt arbejdsbænk til programmer, klasser, pakker og skærmbilleder. |
SE11 |
ABAP-ordbog. Definer og inspicer databasetabeller, dataelementer og domæner. |
SE16N |
Databrowser. Se indholdet af enhver tabel uden at skrive en SELECT. |
SE37 |
Funktionsbygger. Opret og test funktionsmoduler. |
SE24 |
Klassebygger. Opret globale klasser til ABAP-objekter. |
ST22 |
Dumpanalyse. Læs runtime-fejlen, når et program afsluttes. |
SE38 og SE11 er nok til at opbygge en første rapport. ST22 bliver den mest værdifulde i gruppen i det øjeblik et program går ned.


