FH Brandenburg - Wirtschaftsinformatik ABAP Einführung …public.hochschule-trier.de/.../2005-03-09_ABAP-Kurs_FH_Brandenburg… · ABAP Einführung 3 ©FHB, Höding 03/2005, FH Brandenburg

Embed Size (px)

Citation preview

  • ABAP Einfhrung

    1 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    HCC-Kurs: ABAP-EinfhrungMichael Hding FH BrandenburgMrz 2005

  • ABAP Einfhrung

    2 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Ablauf Begrung Organisatorisches ber das Konzept

  • ABAP Einfhrung

    3 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Begrung Herzlich Willkommen an der FH Brandenburg FHB: Langjhrige SAP-Erfahrung

    Eigenes System bis 2001 (Heinrich, Hausmann) Seit 2001 HCC-Kunde (Hding)

    Vorstellung Informatiker, Forschungsthema Datenbanken 2000-2001 Aufbau HCC Magdeburg SAP-Schwerpunkt: Basis, SAP und Web (technische Seite

    von SAP)

    Hier dabei: Frau Reber und Herr Hausmann Dank: Prof. Robert Franz (Folien) Vorstellungsrunde

    Wer bin ich? Was kann ich? Was erwarte ich?

  • ABAP Einfhrung

    4 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Organisatorisches Arbeit in zwei Rumen (damit wir in Bewegung

    bleiben) 317: SAP-Labor fr bungen 320: Vortragsraum und Kaffee-Ecke

    Getrnke und Kekse sind von SAP gesponsert Ebenso das Mittagessen ( FHB-Mensa hat

    mehrmals das Goldene Tablett gewonnen)

  • ABAP Einfhrung

    5 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Organisatorisches - KonzeptZiele: Einfhrung in ABAP als Sprache und Benutzung zur

    Reportprogrammierung Anregung fr eine ABAP-Grundlagenveranstaltung

    (ca. 2 SWS)

    Aufteilung Vortragsblcke (30-60 Min) (allg. Teil + Demo) und

    bungsblcke (30-60 Min) wechseln sich ab viele bungen

    Es gibt keine vollstndigen Unterlagen sondern einen Rahmen Nutzung der Tafel

    Entwickeln von Konzepten Mitschreiben Konzept: Weniger ist Mehr

  • ABAP Einfhrung

    6 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Struktur Thema

    bersicht (Lernziel) Beispiel Hilfsmaterial bungsaufgaben Fazit: Sie sollten nun knnen

  • ABAP Einfhrung

    7 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Technische Voraussetzungen Zugang zu einem SAP-System, in dem entwickelt werden darf

    Achtung: Entwicklung ist mandantenbergreifend und kann Daten anderer Benutzer gefhrden

    Spezielle Entwicklungsrechte (u. a. SAP_NEW - su01) Entwicklerschlssel (beim HCC anfordern) (Evtl. Objektschlssel, wenn man echte SAP-Objekte anfasst)

    Populres SAP-Beispiel: Flugdatenmodell von SAP Anlegen mit Report:

    4.6c: SAPBC_DATA_GENERATOR 4.7: S_FLIGHT_MODEL_DATA_GENERATOR

    Alternativ: DEKRA-Beispiele zu Wertpapieren

  • ABAP Einfhrung

    8 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Literatur - Hilfen Keller, Krger: ABAP-Objects, Galileo Press 2002 Alles ber ABAP: http://www.4ap.de/abap/abap.php Teach Yourself ABAP/4 in 21 days

    http://cma.zdnet.com/book/abap/index.htm SAP Online Hilfe http://help.sap.com/ (Meist hilft aber

    F1) Sehr Wertvoll: SAP-Beispiele im System (SE80)

  • ABAP Einfhrung

    9 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Weitergabe und Vervielfltigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher Form auch immer, ohne die ausdrckliche schriftliche Genehmigung durch FHB Brandenburg, SG Wirtschaftsinformatik nicht gestattet. In dieser Publikation enthaltene Informationen knnen ohne vorherige Ankndigung gendert werden.

    Microsoft, WINDOWS, NT, EXCEL, Word, PowerPoint und SQL Server sind eingetragene Marken der Microsoft Corporation.

    IBM, DB2, OS/2, DB2/6000, Parallel Sysplex, MVS/ESA, RS/6000, AIX, S/390, AS/400, OS/390und OS/400 sind eingetragene Marken der IBM Corporation.

    ORACLE ist eine eingetragene Marke der ORACLE Corporation.

    INFORMIX-OnLine for SAP und Informix Dynamic ServerTM sind eingetragene Marken der Informix Software Incorporated.

    UNIX, X/Open, OSF/1 und Motif sind eingetragene Marken der Open Group.

    Citrix, das Citrix-Logo, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, MultiWin und andere hier erwhnte Namen von Citrix-Produkten sind Marken von Citrix Systems, Inc.

    HTML, DHTML, XML, XHTML sind Marken oder eingetragene Marken des W3C, World Wide Web Consortium, Massachusetts Institute of Technology.

    JAVA ist eine eingetragene Marke der Sun Microsystems, Inc.

    JAVASCRIPT ist eine eingetragene Marke der Sun Microsystems, Inc., verwendet unter der Lizenz der von Netscape entwickelten und implementierten Technologie.

    SAP, SAP Logo, R/2, RIVA, R/3, SAP ArchiveLink, SAP Business Workflow, WebFlow, SAP EarlyWatch, BAPI, SAPPHIRE, Management Cockpit, mySAP, mySAP.com und weitere im Text erwhnte SAP-Produkte und -Dienstleistungen sowie die entsprechenden Logos sind Marken oder eingetragene Marken der SAP AG in Deutschland und anderen Lndern weltweit. MarketSet und Enterprise Buyer sind gemeinsame Marken von SAP Markets und Commerce One.

    Alle anderen Namen von Produkten und Dienstleistungen sind Marken der jeweiligen Firmen.

  • ABAP Einfhrung

    10 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    1: Intro Was ist ABAP? ABAP einordnen und abgrenzen Mindmap Komplettes Beispiel (klassisch Bezug auf ganzen

    Lehrgang) bungsblatt

  • ABAP Einfhrung

    11 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    1: Stichworte ABAP-Sprache Entwicklungsumgebung (hnlich Eclipse) Bibliothek Laufzeitumgebung Object-Navigator: SE80 Namensraum Z

    zz##progname Kein Top-Include Lokales Objekt (wir wollen nicht transportieren) Entwicklungsklasse Paket (4.7) Pretty-Printer Vorwrtsnavigation Systemfelder

  • ABAP Einfhrung

    12 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Vorwrtsnavigation

  • ABAP Einfhrung

    13 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Kein Top-Include

  • ABAP Einfhrung

    14 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Kaufm. Rechnen

  • ABAP Einfhrung

    15 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Lokales Objekt eingeschrnkte Transportierbarkeit

  • ABAP Einfhrung

    16 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    nderbarkeit aktivieren: Nun geht es los

    Achtung: Das ist kein Schmutz auf dem Bildschirm!

  • ABAP Einfhrung

    17 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Entwicklung des ABAP-Programms Hallo Welt, Syntax, Kenntensatz

    Prfen Aktivieren Ausfhren (F8) Hallo Welt mit sy Hallo Welt mit Parametereingabe Pretty Printer Nun Abflugort aus SPFLI Vorwrtsnavigation, like Wertehilfe funktioniert!!! Datenbankabfrage

  • ABAP Einfhrung

    18 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Hallo Welt*&--------------------------------------------------------------------*& Report ZZ38HALLO *& *&--------------------------------------------------------------------*& Erstes ABAP-Programm im HCC-Kurs*& im Mrz 2005 (M. Hding) *&--------------------------------------------------------------------REPORT zz38hallo.

    Parameters eingabe1(22) type c default 'Brandenburg'.

    START-OF-SELECTION.

    WRITE: 'Hallo ', eingabe1.

    Globale Deklaration

    Ausfhrungsteil wird von der Laufzeitumgebung aufgerufen

    Sogenannter Kettensatz

  • ABAP Einfhrung

    19 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Komplettes Beispiel mit DB-ZugriffREPORT zz38hallo.

    PARAMETERS abflugo LIKE spfli-cityfrom.DATA waspfli LIKE spfli.

    START-OF-SELECTION.

    WRITE: 'Hallo ', abflugo,/.

    SELECT *FROM spfliINTO waspfliWHERE cityfrom = abflugo.

    WRITE: waspfli-cityto,waspfli-carrid,waspfli-fltime,/.

    ENDSELECT.

  • ABAP Einfhrung

    20 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

  • ABAP Einfhrung

    21 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

  • ABAP Einfhrung

    22 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Beispiele

  • ABAP Einfhrung

    23 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

  • ABAP Einfhrung

    24 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    1: bungsaufgabenKennen lernen des Object Navigator Rufen Sie den Object Navigator auf: Transaktion SE80

    Wie ist der Pfad? Verschaffen Sie sich einen berblick ber die von der SAP

    ausgelieferten Hilfen und Beispielea) Unter Umfeld Beispiele gibt es eine umfangreiche Sammlung von Quelltexten zu den Themen Ergonomie, Performance, Controls und ABAP-Beispielenb) Whlen Sie im Bereich Performance Beispiele die Gegenberstellungen von einzelnen Ausdrcken und Programmierbeispielen und messen Sie jeweils die Laufzeit (sofern mglich) der vorgestellten Beispiele und lesen Sie die Erluterungen zu den Beispielen, warum einige Programmierbefehle eher genutzt werden sollten als andere bzw. in welchen Situationen die Verwendung welches Befehls besser geeignet ist:b1) Select ...Where vs. Select + Check

  • ABAP Einfhrung

    25 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    1: bungsaufgaben Anzeige des Transaktioncodes SE80:

    Wechseln Sie im Object Navigator auf das RepositoryInfosystem und whlen Sie im Objektlistenbereich den Eintrag Weitere Objekte Transaktion aus. Suchen Sie nach dem Transaktionscode *SE8* (die Suche mit Platzhaltern funktioniert) und lassen Sie sich die Details anzeigen.a) Zu welchem Paket gehrt die Transaktion SE80?b) Welche Transaktionsklassifikation hat die Transaktion SE80?c) Mit welchen GUI arbeitet die Transaktion SE80?

    Schreiben Sie analog der Demonstration ein Hallo Welt-Programm.

    Modifizieren Sie das Programm so, dass Sie zwei Zahlen als Parameter eingeben knnen und eine Berechnung durchfhren

    Geben Sie mit Hilfe der Systemfelder den Mandanten und den Nutzernamen aus

  • ABAP Einfhrung

    26 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    1. bungsaufgaben1. Schreiben Sie analog der Demonstration ein Hallo

    Welt-Programm.2. Modifizieren Sie das Programm so, dass sie zwei

    Zahlen als Parameter eingeben knnen und eine Berechnung durchfhren

    3. Geben Sie mit Hilfe der Systemfelder den Mandanten und den Nutzernamen aus

  • ABAP Einfhrung

    27 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    1: FazitSie sollten nun einen grundstzlichen Eindruck von der Komplexitt

    von ABAP erhalten haben mit Hilfe des Object Navigator sehr einfache Reports

    schreiben knnen Beispiele in der Hilfe finden und nutzen knnen

  • ABAP Einfhrung

    28 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    2: Datentypen 1 Vorstellung elementarer Datentypen und Nutzung

    (Grundrechenarten) (Vortrag 30 Minuten) Elementare Datentypen

    i: integer, ganze Zahlp: packed, gepackte Zahl (kaufm. Rechnen)f: float, Gleitpunktzahl (ungenaues Rechnen)c: Charakter, Zeichenkette (max. 65536)n: Charakter, numerischer Text (max. 65536)d: Datum (sehr ntzlich)t: Zeit (sehr ntzlich)string: Text (wie c aber dynamisch), xstring (Bytefolge)

  • ABAP Einfhrung

    29 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Stichworte Definition, Datentyp vs. Datenobjekt, Nutzung DATA: anumber TYPE p DECIMALS 2,

    mytext(200) TYPE c value leer,myvtext TYPE string.

    TYPES zeittyp TYPE t. DATE myzeit TYPE zeittyp.

    myzeit = sy-uzeit.myzeit = myzeit + 7200.write: 'Moskau',myzeit.

    LIKE Eingebaute Typen im ABAP-Dictonary

  • ABAP Einfhrung

    30 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    2: bungsaufgaben (40 Min) Legen Sie ein Programm zz##datentypen Definieren Sie einen Typ mytype zu f. Definieren Sie 2 Datenobjekte (x1,x2) zu mytype Fhren Sie eine Division und Rckwrts-Multiplikation

    z. B. durch 3 durch: Beobachten Sie die Ergebnisse und Zwischenergebnisse.

    Experimentieren Sie mit p durch nderung von TYPES Wie funktionieren Zuweisungen zwischen

    verschiedenen Datentypen? Verboten, erlaubt, verflschend?

    Experimentieren Sie mit der Datumsrechnung In wie vielen Tagen ist Weihnachten? (*P) Was passiert bei der Multiplikation von/mit Datumswerten?

    Kann man mit Zeichenketten rechnen?

  • ABAP Einfhrung

    31 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    2: FazitSie sollten nun Datentypen und Datenobjekte definieren und

    beherrschen knnen wissen, inwieweit sich Datenobjekte verschiedener

    Typen ineinander umwandeln oder nutzen lassen den Sinn eingebauter Datentypen kennen

  • ABAP Einfhrung

    32 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    3: Datentypen 2 Vorstellung der Strukturierten Datentypen Struktur

    und interne Tabelle (Vortrag 45 Minuten) Bezug zu herkmmlichen Programmiersprachen

    Records, Arrays Mengen

    Tiefe vs. Flache Datentypen LIKE benutzen Objektorientierung

  • ABAP Einfhrung

    33 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    3: Stichworte

    Strukturierte Datentypen Strukturierte Typen

    Feste Anzahl von Feldern Strukturen in Strukturen mglich Anspechen mittels (Bindestrich)

    Z.B. sy-uname

    Interne Tabellen Beliebig viele Elemente Auch Schachtelung mglich Interne Tabellen vs. Datenbanktabellen

    ABAP-Dictionary

  • ABAP Einfhrung

    34 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    3: Vorgehen Strukturierte Typen Syntax erklren

    BEIN OF END OF. Beispiel

    Adressentyp mit TYPES definieren. 2 Adresseobjekte anlegen Zuweisung ganzer Strukturobjekte

    Inkludieren anderer Strukturen und Feldzugriff INCLUDE STRUCTURE adresse AS adr RENAMING WITH

    SUFFIX _adr kunde-plz_adr

    LIKE greift oft auf strukturierte Typen zu

  • ABAP Einfhrung

    35 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    3: Beispiel: Strukturierte TypenTYPES: BEGIN OF adresse,

    name(40) TYPE c,strasse(40) TYPE c,ort(40) TYPE c,plz type i,

    END OF adresse.

    DATA: fhbadr type adresse,ibawadr type adresse.

    fhbadr-name = 'FH Brandenburg'.fhbadr-strasse = 'Magdeburger Str. 50'.fhbadr-ort = 'Brandenburg'.fhbadr-plz = '38771'.

    ibawadr = fhbadr.

    ibawadr-name = 'Insttit fr ...'.

    write: ibawadr-name, ibawadr-strasse, ibawadr-plz, ibawadr-ort.

  • ABAP Einfhrung

    36 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    3: Vorgehen (2)

    Interne Tabelle einfhren Was sind interne Tabellen? TYPES DATA LIKE tabkind OF linetype WITH key

    Definition einer internen Tabelle Beispiel Nutzung einer internen Tabelle Vorgriff Schleife Typen interner Tabellen

    STANDARD TABLE SORTED TABLE HASHED TABLE

    Intern durch Referenzen verwaltet

  • ABAP Einfhrung

    37 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    3: Beispiel interne TabelleDATA adressen TYPE TABLE OF adresse WITH KEY name.

    APPEND ibawadr TO adressen.APPEND fhbadr TO adressen.

    DATA: adr TYPE adresse.

    LOOP AT adressen INTO adr.WRITE: adr-name, adr-strasse, adr-plz, adr-ort.

    ENDLOOP.

  • ABAP Einfhrung

    38 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    ABAP-Dictionary Bislang definierte Datentypen sind nur

    programmlokal verfgbar ABAP-Dictionary bietet globale Datentypen, die in

    Programmen genutzt werden knnen (LIKE, Vorwrtsnavigation)

    Eigene Strukturen knnen im ABAP-Dictionaryangelegt werden (SE11)

    Zahlreiche eingebaute Type im ABAP-Dictionary, z.B. DEC, INT1, INT2, CURR, QUAN

  • ABAP Einfhrung

    39 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    SE11 Startbildschirm

  • ABAP Einfhrung

    40 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

  • ABAP Einfhrung

    41 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Anlegen einer Struktur

    Hier direkte Typeingabeeinschalten

  • ABAP Einfhrung

    42 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Nutzung des neuen Datentypen

    DATA adressen TYPE TABLE OF zz38adresse WITH KEY name.

    APPEND ibawadr TO adressen.APPEND fhbadr TO adressen.

    DATA: adr TYPE adresse.

    LOOP AT adressen INTO adr.WRITE: adr-name, adr-strasse, adr-plz, adr-ort.

    ENDLOOP.

  • ABAP Einfhrung

    43 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    3: bung Definieren Sie programmlokal einen strukturierten

    Typen, der die Komponenten eines Essens (Vorspeise, Getrnk, ) speichern kann

    Legen Sie mehrere Datenobjekte zu ihrem Typ an A) kopieren sie dabei ganze Strukturen B) weisen Sie Feldwerte einzeln zu

    Legen Sie nun einen passenden Tabellentypen im ABAP-Dictionary an was ist hierbei problematisch?

    Nutzen Sie ihren Tabellentypen zum Anlegen einer Tabelle, die sie mit ihren Beispiel-Essen fllen

    Lesen Sie den Tabelleninhalt mit einer Schleife auswie wirken SORTED TABLE und HASHED TABLE

  • ABAP Einfhrung

    44 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    3: FazitSie sollten nun Strukturierte Datentypen definieren knnen Strukturierte Datenobjekte benutzen knnen Interne Tabellen verstehen sowie definieren und

    benutzen knnen Datentypen im ABAP-Dictionary begreifen

  • ABAP Einfhrung

    45 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    4: Operationen und KontrollstrukturenVortrag mit Demo = Beispiel Vorstellung grundlegender Operationen (30 Min)

    (Intro: einiges haben wir schon benutzt) Wertzuweisung (MOVE) Typkonvertierung Numerische Operationen Logische Ausdrcke

    Vorstellung grundlegender Kontrollstrukturen (30 Min) Bedingte Verzweigungen Schleifen

    ZeichenkettenverarbeitungVergleich mit anderen Sprachen

  • ABAP Einfhrung

    46 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Stichworte: Operationen MOVE quelle TO ziel entspricht ziel = quelle.

    Kompatibel, konvertibel oder Syntaxfehler

    Einschub Debugger Addition Zahl mit String, DIV, MOD Mathematische Funktionen Demo ceil , sin einer Zahl Zeitberechnung Adressierung von Teilfeldern Logische Ausdrcke: = entspricht EQ,

  • ABAP Einfhrung

    47 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Typkonvertierung ABAP versucht Typen zu konvertieren Grundregel: Wenn es eine sinnvolle Entsprechung

    des Wertes (!) im Zieldatentyp gibt, wird konvertiert Statische Inkompatibilitt

    Zwischen d und t

    Dynamische Inkompatibilitt 1234Hallo und i (Zeichenkette und Zahl)

    Dynamische Kompatibilitt 12345 und i (Zeichenkette und Zahl)

    Laufzeitfehler abfangen mit CATCH SYSTEM-EXCEPTION conversation_errors =4. ENDCATCH.

  • ABAP Einfhrung

    48 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    4: BeispielREPORT zz38operationen .DATA: num TYPE p DECIMALS 2,

    d_start TYPE d,xmas TYPE d,days TYPE i,tnum TYPE string.

    num = 11.tnum = 22.num = num * tnum.WRITE num.

    d_start = sy-datum.xmas = d_start.xmas+3(4) = '1224'.WRITE: /, xmas.days = xmas - d_start.WRITE: /,'Tage bis Weihnachten:',days.

  • ABAP Einfhrung

    49 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Stichworte: Kontrollstrukturen Bedingte Verzweigung

    IF ELSEIF ELSE ENDIF CASE WHEN WHENENDCASE. (Beispiel mit

    sy-datum+4(2) und Jahreszeit) Bedingte Schleifen

    WHILE log_ausdr. Anweisungsblock. ENDWHILE.sy-index

    Nichtbedingte SchleifenDO n TIMES. Anweisungsblock. ENDDO.Beispiel Sinuskurve mit sy-index und Zahlenausg.

  • ABAP Einfhrung

    50 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Stichworte: Zeichenkettenverarbeitung CONCATENATE s1 s2 INTO s2 SEPERATED BY

    SPACE. SPLIT s AT | INTO s1, s2, s3. SEARCH s1 FOR m*en. (sy-fdpos) REPLACE , WITH - INTO s. Strlen (s1) Zeichenkettenvergleich:

    CO (contains Only) s1 enthlt nur Zeichen aus s2 CP (covers Pattern) Mustervergleich mit (*+)

    Sinusbeispiel mit CONCATENATE erweitern

  • ABAP Einfhrung

    51 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    BeispielREPORT zz38kontrollstrukturen .

    DATA: a TYPE i VALUE 3,b TYPE i VALUE 5,c TYPE i VALUE -12.

    IF a < b.WRITE 'A ist kleiner als B'.

    ELSEIF b < c.WRITE 'B ist am kleinsten'.

    ELSE.WRITE 'C ist am kleinsten'.

    ENDIF.

  • ABAP Einfhrung

    52 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    BeispielREPORT zz38kontrollstrukturen .

    DATA: f1 TYPE f VALUE 0,f2 TYPE f,isin TYPE i,graph TYPE string.

    DO 32 TIMES.f2 = SIN( f1 ) * 50 + 50.isin = f2.graph = ''.DO isin TIMES.CONCATENATE graph '.' INTO graph.

    ENDDO.WRITE: /,graph,'X'.f1 = f1 + '0.2'.

    ENDDO.

  • ABAP Einfhrung

    53 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Debugger starten

    Kontextmen wird mitrechter Maustaste erreicht

  • ABAP Einfhrung

    54 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Debugger benutzten

    Werte beobachten

    Notizen:F5F6

    Aktuelle Programmposition

  • ABAP Einfhrung

    55 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    4: bung Schreiben sie eine Programmsequenz, die zwei Zahlen

    miteinander verknpft und testen sie die Operation DIV und MOD aus

    Programmieren sie mit Hilfe einer (beliebigen) Schleife einen Report, der einen Tilgungsplan fr einen Kredit erstellt. Eingangsparameter sind die Kreditsumme, die monatliche Tilgung, der nominelle Jahreszins. Verzinst und getilgt wird monatlich.

    Optional: Fgen sie eine jhrliche Sondertilgung in den ersten 8 Jahren hinzu

    Benutzen Sie den Debugger um ihre Schleifen zu beobachten Weiterhin: Debugger erkunden

    Funktionstasten, Werkzeugbuttons erkunden und notieren Setzen Sie einen geeigneten Watchpoint

    Erstellen sie eine Endlosschleife und testen Sie, wie ABAP mit einem solchen blichen Programmierfehler umgeht Vorher anderer Modus ffnen: dort sm50 (refresh notwendig) Machen Sie eine kurze Pause, beobachten Sie: Was passiert nach

    300.. 600 Sekunden?

  • ABAP Einfhrung

    56 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    4: FazitSie sollten nun Grundlegende Operationen und Kontrollstrukturen

    kennen und beherrschen Die Grenzen und Mglichkeiten der Typkonvertierung

    verstehen Mit Zeichenketten arbeiten knnen Interne Tabellen benutzen knnen

  • ABAP Einfhrung

    57 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    5: Lokale Modularisierung Motivation: Softwareengineering Wartbarkeit,

    Wiederverwendbarkeit (Vortrag 45 Min) Programme besser strukturieren FORM ENDFORM PERFORM Parameterbergabe

    Call by Value: Hier wird kopiert Call by Referenz: Hier wird auf Originaldaten gearbeitet

  • ABAP Einfhrung

    58 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Vorgehen FORM mit PERFORM (Ich will immer) Parameterbergabe mit USING (ich_will_oft) Call By Reference

    - USING nderung der Eingabeparameter mglich - CHANGING - nderung der Eingabeparameter mglich

    wie USING: Empfehlung bei USING lokal nicht ndern

    - Call by Value: Mit einer Kopie des Wertes wird gearbeitet USING VALUE nderung der Eingabepar. nicht mglich CHANGING VALUE nderung bei Verlassen durch

    ENDFORM, CHECK oder Exit

    Ausblick Modularisierungstechniken

  • ABAP Einfhrung

    59 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Beispiel: FORM ohne ParameterREPORT zz38ichwill .DATA wunsch TYPE string VALUE 'eine Pause'.

    DO 10 TIMES.PERFORM ich_will.

    ENDDO.

    PERFORM ich_will_oft USING 33 wunsch.WRITE:/ wunsch.

    FORM ich_will.WRITE: 'Ich will immer alle Stze mit einem Punkt abschliessen.'.

    ENDFORM. "ich_will

    FORM ich_will_oft USING anz TYPE i was TYPE string.DO anz TIMES.

    WRITE: 'Ich will',was,'!'.ENDDO.was = 'Jetzt reicht es aber'.

    ENDFORM. "ich_will_oft

  • ABAP Einfhrung

    60 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    5. bung Entwickeln Sie ihr Kreditplanungsprogramm so

    weiter, dass ein Unterprogramm den Tilgungsplan berechnet.

    Modifizieren Sie das Unterprogramm so, dass es abhngig von einem Eingangsparameter eine ausfhrliche Ausgabe liefert oder nur die Kreditlaufzeit als Rckgabeparameter liefert.

    Rufen Sie das Unterprogramm mit verschiedenen Monatsraten auf, die eine Schleife liefert.

  • ABAP Einfhrung

    61 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    5: FazitSie sollten nun Lokale Modularisierung kennen. Den Umgang mit Parametern (call by refernce, call

    by value) beherrschen.

  • ABAP Einfhrung

    62 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    6: Tabellen nutzen Interne Tabellen SQL-hnliche Syntax (Vortr. 60m.) Eines der mchtigsten Sprachelemente von ABAP Seit 4.0 beliebige Schachtelung Tabelle mit Kopfzeile (

  • ABAP Einfhrung

    63 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Stichworte Definieren einer internen Tabelle zu teilnliste Einfgen von Datenstzen APPEND Ausgabe aller Datenstze mit LOOP AT Ausgabe einzelner Datenstze mit

    READ TABLE teilnliste WITH TABLE KEY name = 'Reber' INTO wa. dazu key definieren

    Sortieren Massendatennderung: Brandenburg FHB SORTED TABLE UNIQUE KEY sort verboten

    Laufzeitfehler bei APPEND per Hand umsortieren Einfgen INSERT: bei sortierten Tabellen wird sortiert eingefgt Lschen: Delete

    FROM key, WITH TABLE key v=w, WHERE Ausdruck

  • ABAP Einfhrung

    64 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    BeispielREPORT zz38_interne_tabelle .TYPES: BEGIN OF teilnehmer, name TYPE string, stadt TYPE string, END OF teilnehmer.DATA: wa TYPE teilnehmer,

    teilnliste TYPE SORTED TABLE OF teilnehmer WITH UNIQUE KEY name.

    wa-name = 'Lang'.wa-stadt = 'Berlin'.APPEND wa TO teilnliste.

    wa-name = 'Reber'. wa-stadt = 'Brandenburg'. APPEND wa TO teilnliste.

    wa-name = 'Hausmann'. wa-stadt = 'Brandenburg'. APPEND wa TO teilnliste.

    LOOP AT teilnliste INTO wa.WRITE: wa-stadt, wa-name,/.

    ENDLOOP.

    READ TABLE teilnliste WITH TABLE KEY name = 'Reber' INTO wa.

    WRITE: 'Stadt zu Name:', wa-stadt,/.

    *SORT teilnliste.wa-stadt = 'FH Brandenburg'.MODIFY teilnliste FROM wa TRANSPORTING stadt WHERE stadt = 'Brandenburg'.LOOP AT teilnliste INTO wa.

    WRITE: wa-stadt, wa-name,/.ENDLOOP.

  • ABAP Einfhrung

    65 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    6: bung Definieren Sie einen strukturierten Typ fr einen

    Jahresdatensatz des Tilgungsplans Legen Sie eine interne Tabelle fr den Tilgungsplan

    an und fllen Sie diese Sortieren Sie nun ggf. die Tabelle absteigend nach

    der Restsumme Inwieweit ist eine interne Tabelle sinnvoll fr den

    Tilgungsplan welcher Typ ist geeignet? Notieren sie kurz Ihren Vorschlag und den ihre Pro/Contra-Argumente

  • ABAP Einfhrung

    66 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    6: FazitSie sollten nun einen grundstzlichen berblick ber die

    verschiedenen Arten interner Tabellen besitzen interne Tabelle fllen knnen, Workarea-Konzept interne Tabellen manipulieren knnen

    Einzelsatz vs. Gesamte Tabelle

    auf Elemente Interner Tabellen zugreifen knnen

  • ABAP Einfhrung

    67 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    7: Datenbankzugriff SQL-Anfragen Einfhrung Datenbanknutzung (60 Minuten) berblick ber Zusammenspiel von SAP-Appl.-

    Server und DBMS Open-SQL vs Nativ SQL Einfaches SELECT Erweiterungen

    Genauer sein: Mehr where Zusammenfassen: Aggregatfunktionen Verschmelzen: Join

  • ABAP Einfhrung

    68 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Stichworte Grafik: CS-Architektur mit DB-Zugriff Datenbank grundstzlich als Integrationskomponente Nutzung mit SQL und Frontend

    Datendefinition Datenmanipulation Abfrage

    Beispieldatenbank mit SPFLI mit SE11 anschauen Grundlage relationaler Datenbaken

    Modellierung, Schlssel, Transaktionen SQL: Standard vs. Native SQL

    SELECT FROM Beispiel SPFLI WHERE - Einschrnkung auf fromcty FRA Mengenoperationen vs. Einzeloperationen

  • ABAP Einfhrung

    69 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    SELECT FROM WHERE SELECT was FROM woher INTO wohin (Das gibt es in SQL so nicht) WHERE Bedingung (Einschrnkung) ENDSELECT (Schleife zur satzweisen Bearbeitung)

    Genau ein Datensatz: SELECT SINGLE SELECT CORRESPONDING FIELDS um

    strukturiertes WA mit LIKE zu definieren und trotzdem nicht * nehmen zu mssen

    WHERE und Indexe

  • ABAP Einfhrung

    70 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Performance gerade bei DB-Zugriff wichtig Treffermenge klein halten bertragene Datenmenge klein halten

    Niemals * immer where

    Zahl der DB-Zugriffe klein halten Ergebnisse in internen Tabellen zwischenspeichern?

  • ABAP Einfhrung

    71 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    SPFLI im ABAP-Dictionary

  • ABAP Einfhrung

    72 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    SPFLI: Liste der Spalten der Tabelle SPFLI

  • ABAP Einfhrung

    73 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Technische Einstellungen

    Interessant: Grenkategorie

  • ABAP Einfhrung

    74 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Beispiel SFWREPORT ZZ38_SQL1 .DATA waspfli LIKE spfli.START-OF-SELECTION.SELECT *FROM spfliINTO waspfliWHERE cityfrom = 'FRANKFURT'.WRITE: waspfli-cityto,waspfli-carrid,waspfli-fltime,/.

    ENDSELECT.

  • ABAP Einfhrung

    75 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Beispiel: SINGLE und eingeschr. WorkareaREPORT zz38_sql1 .

    DATA: wato LIKE spfli-cityto,wacarr LIKE spfli-carrid.

    START-OF-SELECTION.

    SELECT cityto carridFROM spfliINTO (wato, wacarr)WHERE cityfrom = 'FRANKFURT'.

    WRITE: wato,wacarr,/.ENDSELECT.

    SELECT SINGLE cityto carridFROM spfliINTO (wato, wacarr)WHERE cityfrom = 'FRANKFURT'.

    WRITE: 'Single',wato,wacarr,/.

  • ABAP Einfhrung

    76 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Beispiel select into ganze TabelleREPORT zz38_sql1 .

    DATA: watab TYPE TABLE OF scarr,wasatz LIKE scarr.

    START-OF-SELECTION.

    SELECT *FROM scarrINTO TABLE watab.

    LOOP AT watab INTO wasatz.WRITE wasatz-carrid.

    ENDLOOP.

  • ABAP Einfhrung

    77 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    7: bung Nutzen Sie das ABAP-Dictionary um die Attribute der

    Tabellen SCARR, SFLIGHT und SBOOK zu ermitteln notieren Sie die Tabellenstruktur, eine geeignete Beschreibung der Tabelle und die Beziehungen zwischen den Tabellen

    Betrachten Sie den Inhalt der Tabelle mit dem DataBrowser (SE16)

    Schreiben Sie einen Report, der alle Fluglinien mit Code, Name und Hauswhrung auflistet

    Beschrnken Sie ihre Aufgabe auf Fluglinien die EUR als Whrung haben

  • ABAP Einfhrung

    78 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    FazitSie sollten nun Das grundstzliche Zusammenspiel von SAP und

    Datenbanksystem verstanden haben Informationen ber DB-Tabellen aus dem ABAP-

    Dictionary gewinnen knnen Einfache Anfragen in Open-SQL formulieren und

    implementieren knnen

  • ABAP Einfhrung

    79 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    SQL-Anfragen Mehr in WHERE SQL-Anfragesprache ist sehr mchtig Weitere Mglichkeiten in WHERE

    Bereichsanfragen LIKE (das SQL-Like)

    Genau das anfordern was man will Performance

  • ABAP Einfhrung

    80 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Stichworte Grundstzlich: Logische Verknpfungen sind blich

    AND schrnkt Ergebnis ein: Beispiel sbook-smoker Auf Gre des Scrollbar achten

    Where connid = 3504 and fldate < 20020308 Nicht nur Konstantenvergleich sondern auch Attributvergleich

    Intervallprfung BETWEEN bei Datum (BETWEEN 20020305 AND

    20020428)

    Enthaltensein: IN fr Mengen (nur kurz erklren SELECT OPTIONS)

    LIKE unscharfer Vergleich % beliebige viele Zeichen, _ genau ein Zeichen Passname like %art%

  • ABAP Einfhrung

    81 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Beispiel: Bereichsanfrage und LIKEREPORT zz38_sql_mehrwhere .

    DATA: wa LIKE sbook.

    SELECT *FROM sbookINTO waWHERE connid = '3504' AND

    fldate BETWEEN '20020305' AND '20030428'.WRITE: wa-smoker.

    ENDSELECT.

    SELECT *FROM sbookINTO waWHERE passname LIKE '%art%'.WRITE: wa-passname.

    ENDSELECT.

  • ABAP Einfhrung

    82 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    bung Schreiben Sie einen Report, der alle Flughfen

    ausgibt, bei denen der Flughafencode Teil der Stadt ist Welche Tabelle enthlt diese Informationen? Vergleich von Attributen mit LIKE

  • ABAP Einfhrung

    83 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    FazitSie sollten Zustzliche Sicherheit mit SQL-Anfragen gewonnen

    haben Logische Verknpfungen in der WHERE-Klausel

    problemlos anwenden knnen Mit IN und BETWEEN arbeiten Unscharfe Anfragen mit LIKE und Mustern

    formulieren knnen

  • ABAP Einfhrung

    84 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    SQL-Anfragen - Aggregation

    Aggregation ist Zusammenfassung und Berechnung Wesentliche Aggragatfunktionen in SQL eingebaut

    und Verfgbar Aggregation liefert leistungsfhige Berichte Erster Ansatz fr Data-Mining

  • ABAP Einfhrung

    85 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Stichworte, Vorgehen berblick ber Aggregatfunktionen:

    MAX, MIN (numerisch, String) AVG - Mittelwertbildung SUM - Summenbildung COUNT Zhlen, Anzahl ermitteln

    SBOOK Maximalgewicht des Gepcks, Anz. Eintrge in SBOOK

    Gruppierung: Anzahl pro connid, fldate Sortierung: ORDER BY HAVING Bedingung auf eine Gruppe (z.B.

    AVG(LUGGWEIGHT)>20.

  • ABAP Einfhrung

    86 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    BeispielREPORT zz38_sql_mehrwhere .

    DATA: wa LIKE sbook,maxg LIKE sbook-luggweight,flnr LIKE sbook-connid,datum LIKE sbook-fldate.

    SELECT connid fldate count( * )FROM sbookINTO (flnr, datum, maxg)GROUP BY connid fldateORDER BY fldate.WRITE: /, flnr, datum, maxg.

    ENDSELECT.

  • ABAP Einfhrung

    87 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    bung Schreiben Sie ein Programm, das das

    Durchschnittsgewicht des Fluggepcks ermittelt Gruppieren Sie so

    dass Sie das Durchschnittsgewicht fr bestimmte Flugverbindungen ermitteln

    dass Sie das Durchschnittsgewicht fr bestimmte Flge (Verbindung und Datum) ermitteln

    Schreiben Sie ein Programm, das die Anzahl der Flge gruppiert nach Personen ermittelt

  • ABAP Einfhrung

    88 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    SQL-Anfragen - Joins

    Relationaler Entwurf beinhaltet Normalisierung Zerhacken von Tabellen in Untertabellen zur Redundanzvermeidung bzw. Konsistenzuntersttzung

    lteres ABAP: Geschachtelte Schleifen Join Verbund setzt Tabellen wieder zusammen Gemeinsames Attribut (Schlssel-Fremdschlssel)

  • ABAP Einfhrung

    89 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Stichworte Nochmals an Tafelbeispiel Normalisierung und Join

    erklren: SCARR SPFLI Views: eine Verirrung? (~4.0) Join ersetzt geschachtelte SELECT-Schleifen

    Funktional gleichwertig aber Performance und Einfachheit

    Join-Syntax: FROM tab1 INNER JOIN tab2 ON join-Vergleich Beispiel

    Join Arten Inner Join, Left Outer Join Nullwerte

    Umbenennung mit AS

  • ABAP Einfhrung

    90 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    BeispielREPORT zz38_sql_join .DATA: wan LIKE scarr-carrname,

    waab LIKE spfli-cityfrom,waan LIKE spfli-cityfrom.

    SELECT scarr~carrname spfli~cityfrom spfli~citytoFROM scarr INNER JOIN spfli ON scarr~carrid = spfli~carridINTO (WAN,WAAB,WAAN)ORDER BY cityfrom.WRITE: wan,waab,waan,/.

    ENDSELECT.

  • ABAP Einfhrung

    91 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    bung Ermitteln Sie: Von wo nach wo ist Amelie Vrsic an

    welchen Tagen geflogen? Join mit 2 Tabellen Wo sind die Passagiernamen gespeichert? Wo sind Ortsnamen gespeichert? Wie (ber welches gemeinsame Attribut) sind die Tabellen

    miteinander verbunden?

    Erweitern Sie auf einen Join mit drei Tabellen, wobei zustzlich der Name der Fluggesellschaft ausgegeben wird: Welche Airline bevorzugt Amelie Vrsic?

  • ABAP Einfhrung

    92 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Beispielausgabe

  • ABAP Einfhrung

    93 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    FazitSie sollten nun Aggregatfunktionen kennen und beherrschen Mit Gruppierung umgehen knnen und so

    zusammenfassende Berichte erstellen knnen Den Verbund (Join) nutzen knnen, um Tabellen zu

    verknpfen

  • ABAP Einfhrung

    94 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    8: SQL-Datenmanipulation Datenmanipulation notwendig um Daten zu pflegen Weniger Komplex als Anfrageteil SQL: Grundstzlich mchtige Mengenoperationen

    Gefhrlich!

    Einfgen, ndern und Lschen von Zeilen in DB-Tabellen

    Berechtigungsprfung und Konsistenzsicherung

  • ABAP Einfhrung

    95 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Vorgehen, Varianten Einfgen: SQL wie Standard

    INSERT INTO scarr VALUES wa_carr oderINSERT spfli FROM wa_spfliINSERT spfli FROM TABLE carr_tab.

    Beispiel FHB-Airline Lschen

    DELETE FROM scarr WHERE carrid = LHLH lschen, Hinweis SPFLI ist inkonsistent (SE16)

    DELETE scarr FROM wa_scarrDELETE scarr FROM TABLE scarr_tab

    Modifizieren mit UPDATEUPDATE spfli SET carrid = FHB where carrid = ACAuch UPDATE FROM (TABLE)

  • ABAP Einfhrung

    96 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    BeispielREPORT zz38_sql_dml .

    DATA: wa LIKE scarr.wa-carrid = 'FHB'.wa-carrname = 'Air FH Brandenburg'.wa-currcode = 'EUR'.wa-url = 'www.fh-brandenburg.de'.INSERT scarr FROM wa.

    *DELETE FROM scarr WHERE carrid = 'LH'.

    UPDATE spfli SET carrid = 'FHB' WHERE carrid = 'AA'.WRITE: 'Gendert:',sy-dbcnt.

  • ABAP Einfhrung

    97 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    bung Fgen Sie einen Flug der FHB-Airline von

    Brandenburg zu Ihrem Heimatort ein. ndern Sie die Tabelle SBOOK so, dass alle Flge

    von Amelie Vrsic nun auf Ihren Namen laufen Halbieren Sie alle Flugpreise Was ergeben Sich fr Erfahrungen in Hinsicht auf

    Berechtigungen und Sicherheit in SAP? Notieren Sie fnf Aussagen.

  • ABAP Einfhrung

    98 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    BerechtigungsprfungREPORT demo_authorithy_check.

    PARAMETERS pa_carr TYPE sflight-carrid.DATA wa_flights TYPE demo_focc.

    AT SELECTION-SCREEN.AUTHORITY-CHECK OBJECT 'S_CARRID'

    ID 'CARRID' FIELD pa_carrID 'ACTVT' FIELD '03'.

    IF sy-subrc = 4.MESSAGE e045(sabapdocu) WITH pa_carr.

    ELSEIF sy-subrc 0.MESSAGE e184(sabapdocu) WITH text-010.

    ENDIF.

    START-OF-SELECTION.SELECT carrid connid fldate seatsmax seatsocc

    FROM sflightINTO CORRESPONDING FIELDS OF wa_flightsWHERE carrid = pa_carr.

    WRITE: / wa_flights-carrid,wa_flights-connid,wa_flights-fldate,wa_flights-seatsmax,wa_flights-seatsocc.

    ENDSELECT.

  • ABAP Einfhrung

    99 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    FazitSie sollten nun Daten in SAP mittels ABAP manipulieren knnen Mglichkeiten und Gefahr von

    Mengendatennderungen vermitteln knnen Gefahren von unberechtigtem Zugriff von ABAP auf

    Datenbankdaten erkannt habe

  • ABAP Einfhrung

    100 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    9: BSP mit SQL

    Business Server Pages sind eine einfache und mchtige Mglichkeit SAP webfhig zu machen

    Vermischung von ABAP und HTML

  • ABAP Einfhrung

    101 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    BSP mit SE80-Entwickeln

  • ABAP Einfhrung

    102 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Eigenschaften: u.a. Pfad zur Seite (Problem?)

  • ABAP Einfhrung

    103 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Mit SICF ggf. Benutzer frei schalten und aktivieren

  • ABAP Einfhrung

    104 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    BSP-Beispiel

    Alle Airlines

    Das war's

  • ABAP Einfhrung

    105 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    9: FazitSie sollten BSP ansatzweise als einfache Technik zum Web-

    Zugriff auf SAP prsentieren knnen Ihr ABAP Wissen in BSPs anwenden knnen

    Ausblick Komplexes Framework mit Ablaufsteuerung,

    Sitzungsverwaltung, Prfung, komfortable Entwicklungsuntersttzung

    HTMLB Objektorientierung

  • ABAP Einfhrung

    106 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    10. Zusammenfassung und Ausblick Erster Eindruck vom klassischen ABAP mit

    Datenbanknutzen Berechtigungsprfung?

    Keine BAPIs Keine Dynpro-Programmierung Kein Screenpainter Keine Objektorientierung Kein JAVA

  • ABAP Einfhrung

    107 FHB, Hding 03/2005,

    FH Brandenburg - Wirtschaftsinformatik

    Lsung: Join mit 3 Tabellen (Amelie Vrsic)REPORT zz38_sql_join .DATA: wan LIKE scarr-carrname,

    waab LIKE spfli-cityfrom,waan LIKE spfli-cityfrom,n LIKE sbook-passname,datum LIKE sbook-fldate.

    SELECT scarr~carrname passname sbook~fldate cityfrom citytoFROM sbook inner join spfli on sbook~connid = spfli~connid

    inner join scarr on spfli~carrid = scarr~carridINTO (wan,n,datum,waab,waan)WHERE passname = 'Amelie Vrsic'ORDER BY sbook~fldate.WRITE: wan,n,datum,waab,waan,/.

    ENDSELECT.