Deutsches Application Express Forum (ApEx) -- Installation , Engine / SQL , Anwendungen
HTMLDB Engine :  Oracle Apex The fastest message board... ever.
Alles in HTMLDB, Applikationen, Berichte, SQL ... 
Anwendungen Erstellen - Kleine Tipps am Rande
geschrieben von: mozart (---.bytecamp.net)
Datum:

Hallo


ein paar Tipps am Rande zum Thema Anwendungen erstellen.

Folgendes Vorgehen hat sich sehr bewährt.

1. Tabellen und Datenmodell erstellen
Wer hier ein wenig Zeit investiert hat später weniger Ärger.
Unbedingt die Fremdschlüssel zu anderen Tabellen erstellen, sonst funktionieren die Master/Detail Formulare nicht.
Sehr Vorteilhaft ist auch vor dem Erstellen einer Anwendung die Benutzeroberflächenstandards zu Bearbeiten (wie sollen die Spalten der Tabelle in der Maske heißen)
Es sollten auch die Sequenzen oder Trigger vorher angelegt werden. (Sofern das nicht der Import - Assisten mit erledigt)
Achtung Falle - beim Import Assistenten für Worksheets und Paste in werden sowohl trigger als auch Sequenz angelegt. Dann sollte unbedingt der Trigger die ID vergeben (der Wizzard fragt das nach ...).

Sequenz: Vorteil - ID Steht schon bei Anzeige der Maske fest und kann entsprechend angezeigt oder verarbeitet werden, Nachteil die ID ist weg egal ob der Datensatz gespeichert wird oder nicht.

Trigger: Erst beim Schreiben des Datensatzes wird die Id hinzugefügt, also Lückenlos vergeben. Man kann allerdings nicht in der gleichen Maske weiterarbeiten.
Gibt man Daten ein springt man zwangsweise in den Bericht zurück und müsste den Vorgang neu suchen, da die Anwendung ja die ID des Datensatzes nicht kennt um reinzuspringen ...

2. Anwendung erstellen.
Auch wenn das Erstellen mittels Wizzard sehr verlockend ist. Möglichst wenig verwenden, da :
a) wer zentrale Navigation möchte sollte Seite 0 verwenden, diese wird nicht vom Assistenten erstellt, bzw. ALLE vom Assistenten erstellen Seitenmüssen dann nachbearbeitet werden.
Daher am Besten nur einen Rahmen ohne Seiten erstellen. Navigation hinterher.
b) Der Assisten erstellt Anwendungen davon ausgehend das die ID von einem Trigger erstellt wird, imho ist es wesentlich Praktischer mit Sequenzen zu arbeiten. Eigenes Thema.

3. Bestimmte Prozesse sollten mittels Trigger direkt an der DB erfolgen und nicht als Pageprozessing, da der Trigger nur einmal erstellt werden muß ....

4. Man sehe für jede Tabelle eine Spalte für Logging vor um zu sehen wer wann zuletzt dran war. Evtl. auch gleich Audit via Trigger einbinden (dann ist klar wer wann welche Daten gelöscht hat ... spart ne Menge Diskussionen). Wer hilfe braucht, ich stelle gern ein paar Beilspiele rein ...

5. Wertelisten
Es ist sehr praktisch für Wertelisten eine Tabelle anzulegen. Dort gibt es dann die Spalten anz, ret, lov ,log - die ersten beiden liefern die Anzeige und Rückgabewerte, lov definiert den Wertelistentyp und log wer wann zuletzt dran war.
Die dynamische Werteliste hat 3 Vorteile
- ist einfach Anzulegen - select anz a, ret r from tabelle_lov where lov='liste'
- Kann vom Benutzer erweitert werden (Eigenes Formular auf diese Tabelle ...)
- keine 20 Tabellen für 20 Wertelisten
Tabelle LOV kann auch noch erweitert werden, wenn mann z.B. Serienbriefe anhängen will kann man zu den Mitarbeitern noch zusätzliche Werte in die Tabelle hängen oder ähnliches ...


reicht für heute ;-)

Gruß
mozart <[a]> htmldb.de



1 mal bearbeitet. Zuletzt am .



Thema Neugierige geschrieben von geschrieben
Anwendungen Erstellen - Kleine Tipps am Rande 2045 mozart
Re: Anwendungen Erstellen - Kleine Tipps am Rande 1018 mozart


In diesem Forum dürfen nur registrierte Benutzer schreiben.
This forum powered by Phorum.