Oracle Forms Aufbau und Bestandteile von

Werbung
Oracle Forms
• Oracle Forms ist eine Applikation für den Entwurf
und die Erstellung Forms-basierender Anwendungen.
• Diese Forms umfassen
¾ Dateneingabe-Formulare
¾ Datenabfrage-Formulare
¾ Browser-Formulare
Oracle Forms ist ein Teil der Oracle Developer Suite
Oracle Forms Dr. Annemarie Herrmann
Starten von Oracle Forms
1. Start OC4J (Oracle
Components for
Java) Æ muss im
Hintergrund laufen
2. Start Forms Builder
(in der Oracle
Developer Suite)
Aufbau und Bestandteile von Formularen
Ein Formular ist eine Zusammenstellung von Objekten.
Objekte sind z. B.:
¾Datenblöcke (aus Tabellen oder Views)
¾Steuerblöcke (z. B. Buttons)
¾Leinwände (Canvas)
¾Datensatzgruppen (Record group)
¾Wertelisten (LOV's)
¾Trigger
¾Fenster
¾...
Oracle Forms Dr. Annemarie Herrmann
Erstellen eines neuen Blocks (1)
1. Der Assistent (Werkzeuge / Datenblockassistent)
wird gestartet
2. Tabelle oder View dient als Datenquelle
3. Um Spalten aus einer Tabelle oder View auswählen
zu können, muss man sich mit der Datenbank
verbinden
3. Es erscheint der
Objektnavigator
Oracle Forms Dr. Annemarie Herrmann
Oracle Forms Dr. Annemarie Herrmann
Erstellen eines neuen Blocks (2)
Die entsprechenden Attribute werden ausgewählt und,
falls nötig (bei mehr als einer Tabelle), die Datenintegrität
sicher gestellt.
Windows und Canvas (Leinwand)
1. Ein Window (Fenster) ist ein Container für
graphische Objekte (inklusive ≥ 1 Canvas-Objekte)
2. Ein Fenster beinhaltet einen Titel, evt. Bildlaufleisten
(scroll bars) und erlaubt fensterbezogene
Benutzerinteraktionen (z.B. Größenänderung)
3. Eine Form kann beliebig viele Fenster
beinhalten, besitzt aber mindestens ein Fenster
(ROOT WINDOW)
4. In einem Fenster kann eine (oder mehrere) Leinwand
platziert werden.
Oracle Forms Dr. Annemarie Herrmann
Leinwand (Canvas) erstellen (1)
Nachdem der Layout-Assistent gestartet
wurde, wird eine Leinwand erstellt.
Oracle Forms Dr. Annemarie Herrmann
Leinwand erstellen (2)
In der Leinwand kann das Layout der künftigen Form festgelegt
werden. Folgendes kann geändert werden:
1. Schriftart und Größe
2. Breite und Position der einzelnen Felder
3. Abstand und Ausrichtung der Felder
– Unter Layout / Komponenten ausrichten und
– Layout / Größen-Komponenten
4. Es gibt jeweils noch Untermenüs, mit denen Sie das Formular
optimal gestalten können.
Oracle Forms Dr. Annemarie Herrmann
Oracle Forms Dr. Annemarie Herrmann
Mehrere verbundene Tabellen
•
Werden mehrere Tabellen in
einer Leinwand dargestellt,
muss der Datenblock-Assistent
neu gestartet werden.
Achtung : der soeben erstellte
Datenblock darf im Objektnavigator nicht markiert sein.
Der Datenblock-Assistent fragt
jetzt ab, ob er eine Beziehung
erstellen soll.
•
Oracle Forms Dr. Annemarie Herrmann
Form ausführen
•
Mit Programm/Form ausführen
wird die Form erzeugt und im
Browser dargestellt.
Ist sie im Abfragemodus, kann
man einen Wert eingeben, nach
dem gesucht wird.
Das Beispiel stellt ein
Master/Detail-Formular dar.
•
•
Oracle Forms Dr. Annemarie Herrmann
Objektnavigator(1)
•
•
Die neu erzeugten Objekte werden im Objektnavigator
dargestellt
Durch Rechtsklick auf den Datenblock und "Attributpalette"
können noch Eigenschaften eingestellt werden (where, order
by)
Oracle Forms Dr. Annemarie Herrmann
Objektnavigator(2)
•
Durch Anklicken können auch die automatisch erzeugten
Trigger betrachtet werden
Oracle Forms Dr. Annemarie Herrmann
Datensätze ändern
•
Eine Form kann sich in 2 verschiedenen Modi befinden
– Abfragemodus wird eingestellt mit
• Abfrage / Eingabe bzw.
• Abfrage / Ausführen
– Eingabemodus wird eingestellt mit
• Standardeinstellung
• Ändern in jedem Modus – einfach den Wert überschreiben
• Einfügen eines Datensatzes mit Datensatz / Einfügen (bzw. Entfernen)
• Mit Aktion / Sichern wird die Änderung gespeichert.
•
Speichern der Form im Forms Builder mit Datei / Speichern
Die Form wird als .fmb abgespeichert
Oracle Forms Dr. Annemarie Herrmann
Werteliste (1)
•
Für Felder mit einer endlichen Anzahl von Werten ist die
Vorgabe einer Werteliste sinnvoll
•
Um eine Werteliste zu erstellen, öffnet man nach dem Erstellen
eines Formulars den Wertelisten-Assistenten (z.B. mit
Werkzeuge / Wertelisten-Assistent)
•
Im zweiten Fenster wird man aufgefordert, eine SQL-Anfrage,
die die entsprechenden Werte liefert, einzutragen (oder zu
generieren). Diese kann auf Syntax überprüft werden.
•
Man folgt weiter den Anweisungen des Assistenten. Wichtig ist
die Eintragung des Rückgabewertes.
Oracle Forms Dr. Annemarie Herrmann
Werteliste (2)
•
Nachdem der Wertelisten-Assistent seine Arbeit vollendet hat,
müssen noch weitere Eintragungen erfolgen, und zwar:
– In der Attributpalette (rechte Maustaste) der Werteliste
Funktional / Automatische Anzeige : Ja und
– Attribute Spaltenzuordnung: Attributwert der Werteliste
– In der Attributpalette der Datensatzgruppen
Funktional / Spaltenangaben: Attributwert der Werteliste
•
Nach der Ausführung der Form sollte im Modus
Datensatz / Einfügen bei dem Wertelistenattribut nach
Doppelklick eine Werteliste erscheinen
Oracle Forms Dr. Annemarie Herrmann
Trigger (1)
Mit Oracle-Forms können einfache Trigger automatisch auf
– Formularebene
– Blockebene
– Feldebene
erstellt werden.
Es gibt bei Oracle-Forms unterschiedliche Triggertypen, die noch
durch Programmierelemente angepasst werden können.
Beispiele:
KEY-NEXT-ITEM
KEY-OTHERS
KEY-SCR-DOWN
KEY-UP
ON-CHECK-DELETE-MASTER
ON-COMMIT
ON-DELETE
WHEN-NEW-FORM-INSTANCE
Oracle Forms Dr. Annemarie Herrmann
Trigger (3)
Trigger (2)
Allgemein gibt es bei Oracle Forms 4 Grundtypen von Triggern:
• PRE – Trigger vor dem Ereignis ausgelöst
• POST - Trigger nach dem Ereignis ausgelöst
• WHEN – Trigger löst nach einer Überprüfung aus
• KEY – Trigger wird nach bestimmtem Tastendruck ausgelöst
Eingefügt wird ein Trigger immer durch Doppelklick auf „Trigger“ in
der entsprechenden Ebene. Es öffnet sich ein Editorfenster, in
das die Aktionen eingetragen werden.
Siehe Online-Hilfe
Oracle Forms Dr. Annemarie Herrmann
Einfaches Beispiel für einen Trigger auf Formularebene.
Funktionalität:
Gleich beim Öffnen des Formulars sollen Datensätze angezeigt
werden:
– Im Objektnavigator oben unter dem Formularnamen auf Trigger
klicken
– Im Fenster den Typ WHEN-NEW-FORM-INSTANCE auswählen
– Anklicken und im PL/SQL-Editor "execute_query;" eintragen
– Alles schließen und abspeichern.
Oracle Forms Dr. Annemarie Herrmann
Trigger (5)
Trigger (4)
(Beispiel nach Ralf Tautenhahn)
Funktionalität:
Wert aus einer anderen Tabelle anfügen:
Die Inhalte der Tabelle Stueck sollen durch den Titel des Stücks (aus Tabelle
Aufnahme) ergänzt werden.
1. Im Layouteditor mit den Werten von Stueck wird ein
zusätzliches Textfeld eingefügt.
2. In dessen Eigenschaften (Attributpalette) wird
•
•
Der Name des Objektes geändert (Titel)
Die Eigenschaft Datenbank|Datenbankobjekt auf Nein gesetzt
3. Im Datenblock wird ein neuer Trigger vom Typ POST-QUERY
angelegt, dessen PL/SQL Code im den Wert erzeugt.
4. Im Beispiel:
select titel
into :aufnahme.titel
from stueck
where snr=:aufnahme.snr;
Oracle Forms Dr. Annemarie Herrmann
Oracle Forms Dr. Annemarie Herrmann
Trigger (6)
Button einfügen
Beispiel : Vor – und Zurück - Button
1. Im Design-Editor 2 Buttons einfügen
2. In der jeweiligen Attribut-Palette die Beschriftung ändern
3. Rechts-Klick auf den jeweiligen Button
es erscheint die Triggerliste
4. Auswahl: WHEN-BUTTON-PRESSED
5. PL/SQL-Fenster
6. Eintragen:
begin
begin
previous_record;
bzw.
next_record;
end;
end;
Oracle Forms Dr. Annemarie Herrmann
Oracle Forms Dr. Annemarie Herrmann
Herunterladen