SAP ABAP A short introduction. SAP ABAP • Selectie: – IF …… ENDIF. – IF …. ELSE …...

22
SAP ABAP A short introduction

Transcript of SAP ABAP A short introduction. SAP ABAP • Selectie: – IF …… ENDIF. – IF …. ELSE …...

Page 1: SAP ABAP A short introduction. SAP ABAP • Selectie: – IF …… ENDIF. – IF …. ELSE … ENDIF. – IF …. ELSEIF …. ELSEIF …. ELSE …. ENDIF. – IF condition_1.

SAP ABAP

A short introduction

Page 2: SAP ABAP A short introduction. SAP ABAP • Selectie: – IF …… ENDIF. – IF …. ELSE … ENDIF. – IF …. ELSEIF …. ELSEIF …. ELSE …. ENDIF. – IF condition_1.

SAP ABAP

• Selectie:– IF …… ENDIF.– IF …. ELSE … ENDIF.– IF …. ELSEIF …. ELSEIF …. ELSE …. ENDIF.– IF condition_1.

IF condition_2.statement_block_1

ENDIF.ENDIF.

Page 3: SAP ABAP A short introduction. SAP ABAP • Selectie: – IF …… ENDIF. – IF …. ELSE … ENDIF. – IF …. ELSEIF …. ELSEIF …. ELSE …. ENDIF. – IF condition_1.

SAP ABAP• Loops:

– SELECT * FROM ZMEMBER WHERE Zzcoursetitle = ‘SAP01’.counter_SAP_01 = counter_SAP_01 +1.

ENDSELECT.

– DO.Statement block.

ENDDO.

– WHILE condition.ENDWHILE.

Page 4: SAP ABAP A short introduction. SAP ABAP • Selectie: – IF …… ENDIF. – IF …. ELSE … ENDIF. – IF …. ELSEIF …. ELSEIF …. ELSE …. ENDIF. – IF condition_1.

SAP ABAPVb.

DO 24 TIMES. minute = 0. DO 60 TIMES. second = 0. DO 60 TIMES.

WRITE: / HOUR, MINUTE, SECOND.SECOND = SECOND +1.

ENDDO. MINUTE = MINUTE +1.

ENDDO.HOUR = HOUR + 1.

ENDDO.

Page 5: SAP ABAP A short introduction. SAP ABAP • Selectie: – IF …… ENDIF. – IF …. ELSE … ENDIF. – IF …. ELSEIF …. ELSEIF …. ELSE …. ENDIF. – IF condition_1.

SAP ABAP

• Loops:Bv. WHILE second > 0. WRITE: / second.

second = second -1. ENDWHILE.

Page 6: SAP ABAP A short introduction. SAP ABAP • Selectie: – IF …… ENDIF. – IF …. ELSE … ENDIF. – IF …. ELSEIF …. ELSEIF …. ELSE …. ENDIF. – IF condition_1.

SAP ABAP• CONTINUE Statement

SELECT * FROM ZMEMBER02.IF ZMEMBER02 LT ‘19850101’.

CONTINU . ENDIF.

STATEMENT_BLOCK_1. ENDSELECT.

Programma gaat statementblock _1 niet uitvoeren als aan de voorwaarde van de IF is voldaan. De loop zal wel verder uitgewerkt worden.

• CHECKSELECT * FROM ZMEMBER02.

CHECK ZMEMBER02 – mgender = ‘W’.STATEMENT_BLOCK_1.

ENDSELECT Indien aan de check voldaan is dan wordt het statementbloc wel uitgevoerd

Page 7: SAP ABAP A short introduction. SAP ABAP • Selectie: – IF …… ENDIF. – IF …. ELSE … ENDIF. – IF …. ELSEIF …. ELSEIF …. ELSE …. ENDIF. – IF condition_1.

SAP ABAP

• Logische operatoren• EQ =• NE <>• LT <• LE <=• GT >• GE >=

Je mag beide gebruiken in de code

Page 8: SAP ABAP A short introduction. SAP ABAP • Selectie: – IF …… ENDIF. – IF …. ELSE … ENDIF. – IF …. ELSEIF …. ELSEIF …. ELSE …. ENDIF. – IF condition_1.

SAP ABAP

• DATA Type– DATA number01 TYPE i. (integer)

TYPE P DECIMALS 2. (double met 2 dec)– DATA number01 TYPE P decimals 2.

DATA number02 LIKE number1.– Als je geen type geeft automatisch type c

DATA last-name (20) TYPE C. (+/- String met 20 chars)– DATA areacode (4) TYPE N. (numeric field van 4 cijfers)

Page 9: SAP ABAP A short introduction. SAP ABAP • Selectie: – IF …… ENDIF. – IF …. ELSE … ENDIF. – IF …. ELSEIF …. ELSEIF …. ELSE …. ENDIF. – IF condition_1.

SAP ABAP

• MATH EXPRESSIONS– ADD +– SUBTRACT -– MULTIPLY *– DIVIDE /– MOD rest– DIV resultaat van een integral division

Je kan beide gebruiken

Page 10: SAP ABAP A short introduction. SAP ABAP • Selectie: – IF …… ENDIF. – IF …. ELSE … ENDIF. – IF …. ELSEIF …. ELSEIF …. ELSE …. ENDIF. – IF condition_1.

SAP ABAP• Nog enkele ABAP <-> Java verschillen

– Afsluiten met een .– , bij opvolging– WRITE / -> nieuwe regel– WRITE -> gewoon erachter– this . In java me -> in ABAP

– Package -> Class -> Programs– Parameters op voorhand ingeven in

Page 11: SAP ABAP A short introduction. SAP ABAP • Selectie: – IF …… ENDIF. – IF …. ELSE … ENDIF. – IF …. ELSEIF …. ELSEIF …. ELSE …. ENDIF. – IF condition_1.

SAP ABAP

Page 12: SAP ABAP A short introduction. SAP ABAP • Selectie: – IF …… ENDIF. – IF …. ELSE … ENDIF. – IF …. ELSEIF …. ELSEIF …. ELSE …. ENDIF. – IF condition_1.

SAP ABAP

Page 13: SAP ABAP A short introduction. SAP ABAP • Selectie: – IF …… ENDIF. – IF …. ELSE … ENDIF. – IF …. ELSEIF …. ELSEIF …. ELSE …. ENDIF. – IF condition_1.

SAP ABAP

Page 14: SAP ABAP A short introduction. SAP ABAP • Selectie: – IF …… ENDIF. – IF …. ELSE … ENDIF. – IF …. ELSEIF …. ELSEIF …. ELSE …. ENDIF. – IF condition_1.

SAP ABAP

Let op: als je wenst te veranderen of toevoegen ->

compileren

activeren

Page 15: SAP ABAP A short introduction. SAP ABAP • Selectie: – IF …… ENDIF. – IF …. ELSE … ENDIF. – IF …. ELSEIF …. ELSEIF …. ELSE …. ENDIF. – IF condition_1.

Voorbeeld programma class

• *&---------------------------------------------------------------------**& Report  Z_JA_KHLCATERING*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*

REPORT z_ja_khlcatering.

*DATA gt_resto TYPE REF TO z_ja_koekenkraam.

include Z_JA_KHLCATERING_I.

CREATE OBJECT gt_resto EXPORTING name = 'GT_RESTO'.

DATA koek1 TYPE REF TO z_ja_koffiekoek.DATA koek2 TYPE REF TO z_ja_koffiekoek.DATA koek3 TYPE REF TO z_ja_koffiekoek.

DATA prijs1 TYPE p VALUE '0.85'.

CREATE OBJECT koek1 EXPORTING name = 'Puddinghoorntje' price = prijs1.

DATA prijs2 TYPE p VALUE '1.65'.

CREATE OBJECT koek2EXPORTINGname = 'Frangipanne'price = prijs2.

DATA prijs3 TYPE p VALUE '2.05'.CREATE OBJECT koek3EXPORTINGname = 'Berliner bol'price = prijs3.

Page 16: SAP ABAP A short introduction. SAP ABAP • Selectie: – IF …… ENDIF. – IF …. ELSE … ENDIF. – IF …. ELSEIF …. ELSEIF …. ELSE …. ENDIF. – IF condition_1.

CALL METHOD gt_resto->opstellentoog EXPORTING cake1 = koek1 cake2 = koek2 cake3 = koek3.

DATA temp TYPE string.

WRITE / 'Maak uw keuze:'.WRITE / '1'.CALL METHOD koek1->tostring IMPORTING output = temp.WRITE temp.WRITE / '2'.CALL METHOD koek2->tostring IMPORTING output = temp.WRITE temp.WRITE / '3'.

CALL METHOD koek3->tostring IMPORTING output = temp.WRITE temp.

CALL METHOD gt_resto->verkopen EXPORTING keuze = 1.CALL METHOD gt_resto->verkopen EXPORTING keuze = 2.CALL METHOD gt_resto->verkopen EXPORTING keuze = 3.CALL METHOD gt_resto->verkopen EXPORTING keuze = 5.CALL METHOD gt_resto->verkopen EXPORTING keuze = 0.

CALL METHOD gt_resto->kassa.

Page 17: SAP ABAP A short introduction. SAP ABAP • Selectie: – IF …… ENDIF. – IF …. ELSE … ENDIF. – IF …. ELSEIF …. ELSEIF …. ELSE …. ENDIF. – IF condition_1.

• Vb. class programma met ‘switch’

• method VERKOPEN.

DATA: TOTAAL TYPE P DECIMALS 2, SUBTOT TYPE P DECIMALS 2.

CASE keuze. WHEN 0. WRITE / 'Het TOTAAL van deze aankoop = '. WRITE TOTAAL. WHEN 1. CALL METHOD KOEK1->VERKOOP. CALL METHOD KOEK1->GET_PRIJS Wat staat hier? Doe een call naar de methode VERKOOP via object IMPORTING E_PRIJS = SUBTOT. KOEK1 . In Java: KOEK1.verkoop ( ); TOTAAL = TOTAAL + SUBTOT. WHEN 2. een call naar de methode GET_PRIJS. Je ontvangt E_PRIJS (zo heb je CALL METHOD KOEK2->VERKOOP. De parameter genoemd bij het definiëren van de ‘EXPORT’ value bij de CALL METHOD KOEK2->GET_PRIJS methode GET_PRIJS). Je stelt E_PRIJS gelijk aan SUBTOT. IMPORTING E_PRIJS = SUBTOT. TOTAAL = TOTAAL + SUBTOT.

WHEN 3. CALL METHOD KOEK3->VERKOOP. CALL METHOD KOEK3->GET_PRIJS IMPORTING E_PRIJS = SUBTOT. TOTAAL = TOTAAL + SUBTOT. WHEN OTHERS. WRITE / 'U keuze is momenteel niet in de aanbieding'. ENDCASE.

endmethod.

Page 18: SAP ABAP A short introduction. SAP ABAP • Selectie: – IF …… ENDIF. – IF …. ELSE … ENDIF. – IF …. ELSEIF …. ELSEIF …. ELSE …. ENDIF. – IF condition_1.

Voorbeeld methode uit classmethod KASSA.

DATA KAS TYPE p DECIMALS 2. DATA KASTOT TYPE p DECIMALS 2.

CALL METHOD KOEK1->BEREKENOMZET IMPORTING OMZET = KAS.

KASTOT = KASTOT + KAS.

CALL METHOD KOEK2->BEREKENOMZET IMPORTING OMZET = KAS.

KASTOT = KASTOT + KAS.

CALL METHOD KOEK3->BEREKENOMZET IMPORTING OMZET = KAS.

KASTOT = KASTOT + KAS.

WRITE / 'De omzet van vandaag is:'. WRITE KASTOT.

endmethod.

Page 19: SAP ABAP A short introduction. SAP ABAP • Selectie: – IF …… ENDIF. – IF …. ELSE … ENDIF. – IF …. ELSEIF …. ELSEIF …. ELSE …. ENDIF. – IF condition_1.
Page 20: SAP ABAP A short introduction. SAP ABAP • Selectie: – IF …… ENDIF. – IF …. ELSE … ENDIF. – IF …. ELSEIF …. ELSEIF …. ELSE …. ENDIF. – IF condition_1.

1. SE 802. Package aanmaken: Z_JA_ loginnr.3. Normaal gaat SAP je een developerkey vragen. Check Docent4. Maak een programma (of class) aan. Transport nodig?5. Maak de oefening van de thermostaat.6. Maak de nodige methodes en bijhorende parameters imports/ exports7. Good luck.

Page 21: SAP ABAP A short introduction. SAP ABAP • Selectie: – IF …… ENDIF. – IF …. ELSE … ENDIF. – IF …. ELSEIF …. ELSEIF …. ELSE …. ENDIF. – IF condition_1.
Page 22: SAP ABAP A short introduction. SAP ABAP • Selectie: – IF …… ENDIF. – IF …. ELSE … ENDIF. – IF …. ELSEIF …. ELSEIF …. ELSE …. ENDIF. – IF condition_1.

Oefening :

Maak een thermostaat voor een airco.

•(instantie)variabelen:temperatuur

increment (de eenheid waarmee je verhoogd of verlaagd)•(class)variabelen:

minimummaximum

•Constructor krijgt de temperatuur en het increment mee als parameter•Maak de nodige setters/getters•Maak een methode verhoog (als je deze methode selecteert dan verhoog hij met incr. tot een maximum)•Methode toString: Schrijf een ‘String’ notatie van de huidige temperatuur bv.