1. Create Tables
→ SQL Workshop → SQL Commands
-
Einen Befehl nach der Reihe kopieren sonst nix gehen :(
CREATE TABLE abstimmung(
kopfid NUMBER(5, 0) NOT NULL,
name VARCHAR2(100),
CONSTRAINT pk_abstimmung PRIMARY KEY(kopfid)
);
CREATE TABLE abstimmung_position(
kopfid NUMBER(5, 0) NOT NULL,
posid NUMBER(5, 0) NOT NULL,
termin DATE,
CONSTRAINT pk_abstimmung_position PRIMARY KEY(posid),
CONSTRAINT fk_abstimmung FOREIGN KEY(kopfid) REFERENCES abstimmung(kopfid)
)
CREATE TABLE abstimmung_ergebnis(
ergid NUMBER(5, 0),
posid NUMBER(5, 0),
name VARCHAR2(1000),
ergebnis VARCHAR2(1),
CONSTRAINT pk_abstimmung_ergebnis PRIMARY KEY(ergid),
CONSTRAINT fk_abstimmung_position FOREIGN KEY(posid) REFERENCES abstimmung_position(posid),
CONSTRAINT chk_abstimmung_ergebnis CHECK(UPPER(ergebnis) LIKE 'Y' OR UPPER(ergebnis) LIKE 'N')
)
2. Create Sequences
-
seq_kopfid
-
seq_posid
-
seq_ergid
→ SQL-Workshop → Object Browser → Rechts aufs Plus → Sequence → Jeweiligen Namen in Sequence Name → Next → Create Sequence
3. Create Application
-
Desktop
-
Name: Doodle
-
Pages: Home-Page löschen
-
Add Page
-
Select Report
-
Add Page
-
Authentication Scheme: No Authentication
-
Date-Formats: optional auch leer sinds ok :)
-
Create Application
4. Master Detail Page
-
Create Page
-
Select Form
-
Select Single Page Master Detail
-
Create
-
KOPFID auswählen und in der Default-Section die Sequence angeben
-
Optional: Name links auswählen und als Textfeld
-
Columns von Detail links aufklappen
-
POSID auswählen
-
Vorgang wiederholen - andere Sequence natürlich :)
-
Datepicker auswählen
-
Rechts unter Settings → Show auf Both
5. Selbst Abstimmen
-
Neue Page erstellen
-
Report → Interactive Grid
-
Keinen neuen Navigation Entry
-
Create
-
Abstimmen Region links auswählen
-
Vorhandene SQL Query mit Folgender ändern
select ERGID,
POSID,
NAME,
ERGEBNIS
from ABSTIMMUNG_ERGEBNIS
where posid in (select posid from abstimmung_position where kopfid=:P3_KOPFID)
-
In Component View: Neues Page Item erstellen,
-
Region auswählen, gibt ja eh nur eine ;)
-
Columns links auflkappen
-
ERGID auswählen → zu Default
-
POSID auswählen
-
Type zu Select List ändern
-
Bei List of Values als Type SQL Query auswählen
select termin d, posid r from abstimmung_position where kopfid = :P3_KOPFID
-
Save
-
Name auswählen
-
Type zu Textfield ändern
-
Ergebnis auswählen
-
Type zu Select List ändern
-
Bei List of Values als Type Static Values auswählen
STATIC:Ja;Y,Nein;N
6. Graph
-
Neue Page erstellen → Chart → Bar
-
Keinen neuen Navigation Entry
-
Soll wie folgt ausschauen:
select null, to_char(TERMIN, 'DD-MM-YYYY') as Termin,
(select count(*) from ABSTIMMUNG_ERGEBNIS erg
where pos.POSID = erg.POSID and erg.ERGEBNIS='Y') as Count
from ABSTIMMUNG_POSITION pos where pos.KOPFID = :P4_KOPFID;
-
Create
-
Optional: Links Series 1 auswählen und umbennenen (z.B. zu Result)
-
Save
-
In Component View: Neues Page Item erstellen,
-
Region auswählen, gibt ja eh nur eine ;)
-
Save
7. Auf Page 1 wechseln
-
Abstimmung Region auswählen
-
SQL Query auf Folgende ändern
select name, kopfid, 'Ergebnis' as Ergebnis from abstimmung
-
Columns links aufklappen
-
KOPFID auswählen → Type auf Hidden Column
-
Name auswählen → Type auf Link ändern → No Link Defined Button betätigen und zu folgendem ändern
-
Linktext in der Select List auf das 1. ändern (NAME)
-
Ergebnis auswählen → Type auf Link ändern → No Link Defined Button betätigen und zu folgendem ändern
-
Linktext in der Select List auf das 1. ändern (ERGEBNIS)
8. Credits
-
Jonas Birklbauer
-
Nico Bojer
-
Tarik Hošić
-
Falls was nicht geht
→ https://tinyurl.com/hilfreiche-seite
→ https://tinyurl.com/auch-hilfreich