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 → NextCreate Sequence

3. Create Application

  • Desktop

  • Name: Doodle  
     

  • Pages: Home-Page löschen

  • Add Page

  • Select Report

500
  • 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

500
500
500
500
  • Create  
     

  • KOPFID auswählen und in der Default-Section die Sequence angeben

300
500
  • 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

500
  • Keinen neuen Navigation Entry

500
  • 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,

500
  • Region auswählen, gibt ja eh nur eine ;)

 
 

  • Columns links auflkappen  
     

  • ERGID auswählen → zu Default

create abstimmen 4

 
 

  • 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 → ChartBar

500
  • Keinen neuen Navigation Entry  
     

  • Soll wie folgt ausschauen:

500
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;
500
  • Create

  • Optional: Links Series 1 auswählen und umbennenen (z.B. zu Result)

  • Save  
     

  • In Component View: Neues Page Item erstellen,

500
  • 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

500
  • 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

500
  • Linktext in der Select List auf das 1. ändern (ERGEBNIS)

8. Credits