Inleiding tot ABAP: gegevenstypen, OperaTors & Editor – Tutorial

⚡ Slimme samenvatting

Inleiding tot ABAP behandelt de programmeertaal. SAP Deze handleiding is ontwikkeld voor het bouwen van applicaties op het R/3-systeem. De handleiding legt de gegevenstypen, de operatoren, de besturingsinstructies, de interne tabel en de SE38-editor uit, waar elk ABAP-programma begint.

  • 🔤 Declaratiesyntaxis: DATA variable_name TYPE variable_type declareert elke variabele in ABAP.
  • 🔢 Gegevenstypen: I, F en P bevatten getallen; C, D, N en T bevatten tekens; X bevat hexadecimale gegevens.
  • OperaTorens: Rekenkundige operatoren veranderen waarden, terwijl logische operatoren zoals EQ, NE, GT en LT beslissingen sturen.
  • 🔁 Controle-instructies: IF, CASE, WHILE en DO bepalen welke regels van een programma daadwerkelijk worden uitgevoerd.
  • 📋 Interne tabellen: Een interne tabel bewaart meerdere rijen in het geheugen en is de spil van elk ABAP-rapport.
  • Editor: Transactie SE38 is de ABAP-editor, waar programma's worden geschreven, gecontroleerd en uitgevoerd.

Proef de SAP ABAP

Wat is ABAP?

ABAP staat voor Advanced Business Application Programming. Het is een programmeertaal voor de ontwikkeling van...ping toepassingen voor de SAP R/3-systeem.

De nieuwste versie van ABAP heet ABAP Objects en ondersteunt objectgeoriënteerd programmeren. SAP zal applicaties uitvoeren die zijn geschreven met ABAP/4, de eerdere ABAP-versie, evenals applicaties die ABAP Objects gebruiken.

Deze inleiding pretendeert niet elk detail te documenteren. ABAP-taal Het is een constructieprogramma dat de belangrijkste concepten snel introduceert, zodat je meteen aan de slag kunt met het schrijven van werkende programma's en vervolgens kunt overgaan op de meer geavanceerde onderwerpen.

Gegevenstypen

Elk ABAP-programma begint met het declareren van de gegevens waarmee het zal werken.

Syntaxis voor het declareren van een variabele in ABAP –

DATA Variable_Name TYPE Variable_Type.

Voorbeeld:

DATA employee_number TYPE I.

Hieronder vindt u een lijst met gegevenstypen die door ABAP worden ondersteund.

Data type Initiële veldlengte Geldige veldlengte Beginwaarde Betekenis
Numerieke typen
I 4 4 0 Geheel getal (geheel getal)
F 8 8 0 Drijvend-kommagetal
P 8 1 - 16 0 Verpakt nummer
Karaktertypes
C 1 1 - 65535 '...' Tekstveld (alfanumerieke tekens)
D 8 8 '00000000' Datumveld (formaat: JJJJMMDD)
N 1 1 - 65535 '0 … 0' Numeriek tekstveld (numerieke tekens)
T 6 6 '000000' Tijdveld (formaat: HHMMSS)
Hexadecimaal type
X 1 1 - 65535 X'0 … 0′ Hexadecimaal veld

De acht typen hierboven zijn de klassieke typen met vaste lengte. ABAP biedt ook twee typen met variabele lengte die beginners vrijwel direct tegenkomen: STRING voor tekst van elke lengte, en XSTRING voor binaire gegevens van elke lengte.

ABAP Operaverdraaid

Zodra de gegevens zijn gedeclareerd, zijn het de operators die ze wijzigen en vergelijken.

Waarden toekennen

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

Alle drie de instructies verplaatsen een waarde. Het gelijkheidsteken is de moderne vorm, terwijl MOVE en WRITE TO de oudere equivalenten zijn die je nog steeds in oudere programma's zult tegenkomen.

Rekenkundige bewerkingen

COMPUTE a = a * 100.

ABAP ondersteunt ook ADD en SUB.TRACT, MULTIPLY en DIVIDE zijn zelfstandige trefwoorden, maar de hierboven getoonde COMPUTE-vorm wordt het meest gebruikt.

logische operatoren

Logische operatoren retourneren waar of onwaar, en ze worden in elke besturingsinstructie in het volgende gedeelte getest. Elke operator heeft een woordvorm en een symboolvorm, en deze twee zijn uitwisselbaar.

Woordvorm Symboolvorm Betekenis
EQ = Gelijk aan
NE <> Niet gelijk aan
GT > Groter dan
GE >= Groter dan of gelijk aan
LT < Less neem contact
LE <= Less dan of gelijk aan

Controleverklaringen

Besturingsinstructies gebruiken de bovenstaande logische operatoren om te bepalen welke regels code worden uitgevoerd en hoe vaak.

ALS … EINDE ALS

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

CASE-verklaring

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

WHILE-lus

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

DO-lus

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

Een WHILE-lus wordt uitgevoerd zolang de voorwaarde geldt. Een DO-lus wordt een vast aantal keren uitgevoerd, of eindeloos totdat een EXIT-instructie de lus stopt.

Interne tabellen in ABAP

Enkele variabelen zijn zelden voldoende. Bedrijfsprogramma's lezen veel rijen tegelijk, en de interne tabel is de structuur die deze in het geheugen opslaat.

Een interne tabel is een dynamische array. Deze heeft geen vaste grootte, bestaat alleen gedurende de uitvoering van het programma en is de standaardmethode om rijen tussen de database en het scherm te verplaatsen.

" 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 drie bovenstaande bewerkingen dekken het meeste dagelijkse werk: de tabel declareren, vullen met een SELECT-query en er vervolgens doorheen lopen met LOOP AT. APPEND voegt een rij toe, READ TABLE zoekt een rij en DELETE verwijdert rijen die aan een bepaalde voorwaarde voldoen.

ABAP/4-editor

Alle bovenstaande syntax wordt op één plek ingevoerd.

transactie SE38 Hiermee wordt de ABAP-editor geopend, waar u als ontwikkelaar het grootste deel van uw tijd zult doorbrengen met het maken en wijzigen van programma's.

ABAP/4-editor

De ABAP/4-editor, transactie SE38

Hoe schrijf je je eerste ABAP-programma?

Op het bovenstaande scherm vinden de volgende stappen plaats. De onderstaande reeks stappen genereert binnen enkele minuten een werkend rapport.

  1. Open de editor. Voer transactiecode in SE38 in de SAP Voer de GUI-opdracht in en druk op Enter.
  2. Geef de naam van het programma. Typ een naam die begint met Z or YBijvoorbeeld ZHELLO_WORLDDie twee letters vormen de klantnaamruimte, en SAP garandeert dat ze nooit worden overschreven tijdens een upgrade.
  3. Maak het aan. Klik creëren, voer een korte beschrijving in en kies uitvoerbaar programma als de soort.
  4. Wijs een pakket toe. Kies Lokaal object Voor oefendoeleinden. Een lokaal object blijft in uw systeem en vereist geen transportverzoek.
  5. Schrijf de code.
REPORT zhello_world.

DATA employee_name TYPE string.
employee_name = 'Guru99'.

WRITE: / 'Hello, ABAP!',
       / 'Welcome', employee_name.
  1. Controleer de syntaxis. Media Ctrl + F2De statusbalk meldt eventuele fouten en de regel die de fout heeft veroorzaakt.
  2. Activeer het programma. Media Ctrl + F3Een inactief programma kan niet worden uitgevoerd.
  3. Uitvoeren. Media F8De uitvoerlijst wordt geopend en toont beide WRITE-regels.

De schuine streep in de WRITE-instructie zorgt voor een nieuwe regel. Als je die verwijdert, wordt alles op één regel afgedrukt, wat de eerste opmaakgewoonte is die de meeste beginners aanleren.

Algemene ABAP-transactie Codes

Een handvol transactiecodes dekt vrijwel alles wat een beginnende ABAP-ontwikkelaar nodig heeft.

transactie Doel
SE38 ABAP-editor. Programma's maken, bewerken, controleren en uitvoeren.
SE80 Object Navigator. Eén centrale werkbank voor programma's, klassen, pakketten en schermen.
SE11 ABAP-woordenboek. Definieer en inspecteer databasetabellen, gegevenselementen en domeinen.
SE16N Databrowser. Bekijk de inhoud van elke tabel zonder een SELECT-query te hoeven schrijven.
SE37 Functiebouwer. Maak en test functiemodules.
SE24 Klassebouwer. Maak globale klassen voor ABAP-objecten.
ST22 Dumpanalyse. Lees de runtimefout die optreedt wanneer een programma wordt beëindigd.

SE38 en SE11 zijn voldoende om een ​​eerste rapport op te stellen. ST22 wordt het meest waardevol van de groep op het moment dat een programma vastloopt.

Veelgestelde vragen

Z en Y vormen de klantnaamruimte. SAP Er worden nooit objecten met die voorvoegsels verzonden, dus een upgrade kan uw programma niet overschrijven. Namen buiten die naamruimte lopen het risico te worden vervangen.

ABAP/4 is de procedurele versie, gebaseerd op rapporten en subroutines. ABAP Objects voegt klassen, interfaces en overerving toe. Beide versies draaien in hetzelfde systeem, waardoor oude en nieuwe code naast elkaar kunnen bestaan.

Gebruik P, het gecomprimeerde gegevenstype. Dit slaat decimalen exact op, wat essentieel is voor financiële berekeningen. Type F is een zwevendekommagetal en introduceert afrondingsfouten die financiële totalen onbetrouwbaar maken.

Ja. Een AI-assistent kan een dump verklaren, pseudocode naar ABAP vertalen en een schonere lus voorstellen. Voer altijd de syntaxcontrole uit, aangezien de gegenereerde code kan verwijzen naar tabellen die niet in uw systeem aanwezig zijn.

Niet zonder beoordeling. Generatiecode negeert vaak autorisatiecontroles, prestatieregels en de lijst met vrijgegeven ABAP Cloud API's. Beschouw het als een eerste versie en test het vervolgens zoals je elke andere code zou testen.

Vat dit bericht samen met: