1 / 25

Übung 4 Reports mit Datenbankzugriff

Übung 4 Reports mit Datenbankzugriff. Komplexe Typen. Strukturen Geschachtelte und nicht-geschachtelte Strukturen. Flache und tiefe Strukturen. Interne Tabellen. Strukturen. TYPES|DATA : BEGIN OF structure, k1 { TYPE type| LIKE dobj}..,

boyd
Download Presentation

Übung 4 Reports mit Datenbankzugriff

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Übung 4Reports mit Datenbankzugriff

  2. Komplexe Typen • Strukturen • Geschachtelte und nicht-geschachtelte Strukturen. • Flache und tiefe Strukturen. • Interne Tabellen

  3. Strukturen • TYPES|DATA: BEGIN OF structure, k1 {TYPE type|LIKE dobj}.., k2 {TYPE type|LIKE dobj}.., ....... kn {TYPE type|LIKE dobj}.., END OF structure.

  4. Interne Tabellen • den Zeilentyp, der ein beliebiger elementarer Typ, ein Referenztyp oder komplexer Datentyp sein kann. • einen Schlüssel, welcher der Identifikation von Tabellenzeilen dient. Er läßt sich aus den elementaren Feldern der Zeilen aufbauen. Wir unterscheiden weiterhin zwischen eindeutigen und nicht eindeutigen Schlüsseln. TYPES|DATA <t> TYPE|LIKE <tabkind> OF <linetype> [WITH <key>].

  5. Tabellenart Standard Tabelle Sortier Tabelle Hash-Tabelle Beispiel: DATA itab TYPE HASHED TABLE OF ZKUNDEN         WITH UNIQUE KEY kundennr name .

  6. Standard-Tabellenobjekte Kurzformen der DATA-Anweisung DATA <itab> TYPE|LIKE [STANDARD] TABLE OF <linetype>. DATA <itab> TYPE|LIKE [STANDARD] TABLE OF <linetype>                       WITH DEFAULT KEY. Diese beiden DATA-Anweisungen werden vom System automatisch zur folgenden Anweisung vervollständigt: DATA <itab> TYPE|LIKE STANDARD TABLE OF <linetype>                       WITH NON-UNIQUE DEFAULT KEY.

  7. Tabellenarbeitsbereich DATA wa_dbtab TYPE|LIKE dbtab. Dabei ist dbtab eine Datenbanktabelle, ein View oder eine flache Struktur.

  8. Open-SQL • Data Manipulation Languge (DML) • Data Defintion Language • Data Control Language

  9. Daten aus Datenbanktabellen lesen SELECT was [Auswahlfelder] FROM woher [Datenbanktabelle] INTO wohin [Ziel] WHERE Bedingung

  10. SELECT-Anweisung und SELECT-Schleife SELECT-Anweisung • SELECT SINGLE • INTO CORRESPONDING FIELDS OF TABLE itab SELECT-Schleife • SELECT ........ ........ ENDSELECT

  11. SELECT SINGLE DATA wa_name LIKE zkunden-name, wa_vorname LIKE zkunden-vorname . SELECT SINGLE name vorname FROM zkunden INTO (wa_name , wa_vorname) WHERE kundennr = '124456' . WRITE: wa_name , wa_vorname .

  12. SELECT SINGLE DATA wa_kunden LIKE zkunden . SELECT SINGLE * FROM zkunden INTO wa_kunden WHERE kundennr = '124456' . WRITE: wa_kunden-name , wa_kunden-vorname .

  13. SELECT-Schleife DATA: wa_name LIKE zkunden-name,wa_vorname LIKE zkunden-vorname . SELECT name vorname FROM zkunden INTO (wa_name , wa_vorname) WHERE wohnort = 'Regensburg' . WRITE:/ wa_name , wa_vorname . ENDSELECT.

  14. APPEND, LOOP APPEND wa TO itable LOOP AT itable INTO a-bereich . < Bearbeiten des Datensatzes im Arbeitsbereich > ENDLOOP.

  15. Daten aus Datenbanktabellen lesen DATA: wa_kunden LIKE zkunden,it_kunden LIKE TABLE OF zkunden. SELECT name vorname FROM zkunden INTO CORRESPONDING FIELDS OF TABLE it_kunden WHERE wohnort = 'Regensburg' . LOOP AT it_kunden INTO wa_kunden. WRITE :/ wa_kunden-name, wa_kunden-vorname. ENDLOOP.

  16. Aggregate einzelner Spalten lesen • MAX: liefert den Maximalwert der Spalte • MIN: liefert den Minimalwert der Spalte • AVG: liefert den Durchschnittswert der Spalte • SUM: liefert die Summe der Spalte • COUNT: zählt Werte oder Zeilen wie folgt • COUNT( DISTINCT <si>) liefert die Anzahl unterschiedlicher Werte in der Spalte <s i >. COUNT( *) liefert die gesamte Anzahl der Zeilen in der Ergebnismenge

  17. Klauseln • GROUP BY, um mehrere Zeilen beim lesen in eine Zeile zu verdichten • HAVING, um Bedingungen für verdichtete Zeilen anzugeben • ORDER BY, um Zeilen beim Einlesen zu sortieren • ORDER BY <s1> [ASCENDING|DESCENDING]            <s2> [ASCENDING|DESCENDING]...

  18. Beispiel DATA: wa_zwkn TYPE zkurse-wkn, minimum TYPE p DECIMALS 2, maximum TYPE p DECIMALS 2. select wkn min( kurs ) max( kurs ) into (wa_zwkn, minimum, maximum) from zkurse group by wkn. WRITE: / wa_zwkn, minimum, maximum. ENDSELECT.

  19. REFRESH, CLEAR, SORT, Textelemente • REFRESH itable • CLEAR variable • SORT itable BY f1 f2 ...[ASCENDING] [DESCENDING] • Textelemente • Sy-subrc

  20. Übungen Reports mit Datenbankzugriff

  21. Open-SQL: SELECT, Textelemete Erstellen Sie für OOB 25 eine Übersicht über alle Depotkunden als Report ZKUNDEN_REGENSBURG_**, die ihren Wohnsitz in Regensbug haben. Die Übersicht soll die Kundennummer, Name, Vorname sowie Wohnort des Kunden aus der Tabelle ZKUNDEN enthalten und nach Kundennummer aufsteigend sortiert sein.

  22. Kursentwicklung mit SELECT SINGLE Die Wertpapierinhaber wünschen eine Aufstellung über die Kursentwicklung in ansprechender Form (siehe unten). Programmieren Sie hierzu einen Report ZKURSE_**.

  23. Interne Tabelle, APPEND, SORT, LOOP Legen Sie in einem Report ZDEPOTPOSTEN_** eine interne Tabelle an, welche die Daten der Datenbanktabelle ZDEPOTPSTN enthält. Sortieren Sie die interne Tabelle nach der WKN aufsteigend. Innerhalb gleicher WKN sortieren Sie nach der Anzahl absteigend. Geben Sie die interne Tabelle auf dem Bildschirm aus.

More Related