Otto-von-Guericke-Universität MagdeburgGamal Kassem Übung 7 Reports mit Datenbankzugriff.
-
Upload
sonje-gerwe -
Category
Documents
-
view
109 -
download
0
Transcript of Otto-von-Guericke-Universität MagdeburgGamal Kassem Übung 7 Reports mit Datenbankzugriff.
Otto-von-Guericke-Universität Magdeburg
Gamal Kassem
Übung 7Übung 7Reports mit DatenbankzugriffReports mit Datenbankzugriff
Otto-von-Guericke-Universität Magdeburg
Gamal Kassem
Open-SQLOpen-SQL
Data Manipulation Languge (DML) Data Defintion Language (DDL) Data Control Language (DCL)
Otto-von-Guericke-Universität Magdeburg
Gamal Kassem
SELECT-Anweisung und SELECT-Anweisung und SELECT-SchleifeSELECT-Schleife
SELECT-AnweisungSELECT SINGLE was [Auswahlfelder der Datenbanktabelle ]FROM woher [Datenbanktabelle] INTO wohin [Ziel]
WHERE Bedingung . SELECT- Schleife
SELECT was [Auswahlfelder der Datenbanktabelle ]FROM woher [Datenbanktabelle] INTO wohin [Ziel]
WHERE Bedingung ..............ENDSELECT .
Otto-von-Guericke-Universität Magdeburg
Gamal Kassem
Ziel des INTO-KlauselZiel des INTO-Klausel
Flache Arbeitsbereich: Bei der Selektion einer einzelnen Zeile muß der Zielbereich flach sein– SELECT... INTO [CORRESPONDING FIELDS OF] <wa>
Einzelfelder– SELECT... INTO (<f 1>, <f 2>,...)
Interne Tabellen – SELECT... INTO [CORRESPONDING FIELDS OF] TABLE <itab>
Otto-von-Guericke-Universität Magdeburg
Gamal Kassem
Komplexe TypenKomplexe Typen
Strukturen- Geschachtelte und nicht-geschachtelte Strukturen. - Flache und tiefe Strukturen.
Interne Tabellen
Otto-von-Guericke-Universität Magdeburg
Gamal Kassem
StrukturenStrukturen
TYPES|DATA: BEGIN OF structure,
k1 {TYPE type|LIKE dobj}..,
k2 {TYPE type|LIKE dobj}..,
.......
kn {TYPE type|LIKE dobj}..,
END OF structure.
Otto-von-Guericke-Universität Magdeburg
Gamal Kassem
TabellenarbeitsbereichTabellenarbeitsbereich
DATA wa_dbtab TYPE|LIKE dbtab.
Dabei ist dbtab eine Datenbanktabelle, ein
View oder eine flache Struktur.
Otto-von-Guericke-Universität Magdeburg
Gamal Kassem
Interne TabellenInterne 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 <dbtab>
OF <linetype> [WITH <key>].
Otto-von-Guericke-Universität Magdeburg
Gamal Kassem
Standard-TabellenobjekteStandard-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.
Otto-von-Guericke-Universität Magdeburg
Gamal Kassem
SELECT SINGLESELECT SINGLE
DATA wa_kunden LIKE zkunden .
SELECT SINGLE *FROM zkundenINTO wa_kundenWHERE kundennr = '124456' .WRITE: wa_kunden-name , wa_kunden-vorname .
Otto-von-Guericke-Universität Magdeburg
Gamal Kassem
SELECT SINGLESELECT SINGLE
DATA wa_name LIKE zkunden-name, wa_vorname LIKE zkunden-vorname . SELECT SINGLE name vornameFROM zkundenINTO (wa_name , wa_vorname)WHERE kundennr = '124456' .WRITE: wa_name , wa_vorname .
Otto-von-Guericke-Universität Magdeburg
Gamal Kassem
SELECT-SchleifeSELECT-Schleife
DATA: wa_name LIKE zkunden-name,wa_vorname LIKE zkunden-vorname .
SELECT name vornameFROM zkundenINTO (wa_name , wa_vorname)WHERE wohnort = 'Regensburg' . WRITE:/ wa_name , wa_vorname .ENDSELECT.
Otto-von-Guericke-Universität Magdeburg
Gamal Kassem
APPEND, LOOPAPPEND, LOOP
APPEND wa TO itable
LOOP AT itable INTO wa .
< Bearbeiten des Datensatzes im Arbeitsbereich >
ENDLOOP.
Otto-von-Guericke-Universität Magdeburg
Gamal Kassem
Daten aus Datenbanktabellen Daten aus Datenbanktabellen lesenlesen
DATA: wa_kunden LIKE zkunden,it_kunden LIKE TABLE OF zkunden.
SELECT name vornameFROM zkundenINTO CORRESPONDING FIELDS OF TABLE it_kundenWHERE wohnort = 'Regensburg' .LOOP AT it_kunden INTO wa_kunden. WRITE :/ wa_kunden-name, wa_kunden-vorname.ENDLOOP.
Otto-von-Guericke-Universität Magdeburg
Gamal Kassem
Aggregate einzelner Spalten lesenAggregate 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
Otto-von-Guericke-Universität Magdeburg
Gamal Kassem
KlauselnKlauseln
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]...
Otto-von-Guericke-Universität Magdeburg
Gamal Kassem
BeispielBeispiel
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 zkursegroup by wkn.WRITE: / wa_zwkn, minimum, maximum.ENDSELECT.
Otto-von-Guericke-Universität Magdeburg
Gamal Kassem
REFRESH, CLEAR, SORT, REFRESH, CLEAR, SORT, TextelementeTextelemente
REFRESH itable . CLEAR variable . (z.B. Arbeitsbereich) SORT itable BY f1 f2 ...[ASCENDING]
[DESCENDING] . Textelemente Sy-subrc Sy-index
Otto-von-Guericke-Universität Magdeburg
Gamal Kassem
Übungen
Reports mit Datenbankzugriff
Otto-von-Guericke-Universität Magdeburg
Gamal Kassem
Open-SQL: SELECT, TextelemeteOpen-SQL: SELECT, Textelemete
Erstellen Sie eine Übersicht über alle Depotkunden als Report ZREGENSBURG_**, 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.
Verwenden Sie statt feststehender Texte Textelemente. Pflegen Sie die Textelemente in deutscher Sprache. Übersetzen Sie die Textelemente ins Englische.
Otto-von-Guericke-Universität Magdeburg
Gamal Kassem
Otto-von-Guericke-Universität Magdeburg
Gamal Kassem
Kursentwicklung mit SELECT SINGLEKursentwicklung mit SELECT SINGLE
Die Wertpapierinhaber wünschen eine Aufstellung über die Kursentwicklung in ansprechender Form (siehe unten). Programmieren Sie hierzu einen Report ZKURSE**.
Otto-von-Guericke-Universität Magdeburg
Gamal Kassem
Legen Sie in einem Report ZDEPOTPOST** 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.
Interne Tabelle, APPEND, SORT, LOOPInterne Tabelle, APPEND, SORT, LOOP