Programátorská dokumentace
-
Instalace a spuštění
-
PL/SQL skripty
-
ER diagram
-
Tabulky atributů
-
Databázové programové objekty
-
Agenda firem a zaměstnanců - samostatný
soubor
-
Agenda důchodů - samostatný soubor
-
Formuláře
-
OBCAN
-
BYDLISTE
-
RODINA
-
HLEDANI_DETI
-
HLED_ADRESA
-
CEO
-
VOJAK
-
UTVAR
-
MANZELSTVI
-
Agenda firem a zaměstnanců - samostatný
soubor
-
Agenda důchodů - samostatný soubor
-
Výstupní sestavy
-
UTVARY
-
Agenda firem a zaměstnanců - samostatný
soubor
Instalace a spuštění
-
Instalace systému ORACLE 8i v české jazykové mutaci včetně spouštěče formulářů (Oracle Forms 6i) a výstupních sestav (Oracle Reports 6i). Pro spuštění skriptu vytvářejícího tabulky, pohledy a funkce je nutno nainstalovat SQL Plus 8.0
-
Rozbalit formuláře a výstupní sestavy aplikace do adresáře, přístupného
uživatelům, kteří budou s aplikací pracovat.
-
V prostředí ORACLE vytvořit uživatele a přidělit jim práva na jednotlivé
tabulky. Pod hlavním uživatelem vytvořit databázi CEO pomocí skriptu CEO_INSTALL.SQL
-
V zástupci "Aplikace CEO" změnit adresář s programem tak, aby odpovídal
současnému adresáři, v němž je aplikace uložena (viz. bod 2.)
-
V případě nutnosti překompilovat formuláře, nabídku a výstupní sestavy
do nového formátu, pokud je odlišný od současného.
-
Aplikace se spouští spuštěním zástupce "Aplikace CEO" v adresáři s programem. Tento zástupce provede spuštění formuláře CEO, který je hlavním řídícím modulem.
-
Po spuštění aplikace se objeví okno, ve kterém jsou vyžadovány autorizační
údaje. Zde zadejte v Vaše uživatelské jméno (Username), heslo (Password)
a jméno databáze (Database).
-
Po úspěšném přihlášení do databáze se objeví formulář s nápisem Centrální
Evidence Obyvatelstva a další činnosti jsou vykonávány prostřednictvím
výběru v nabídce (resp. stisknutím tlačítek ve formuláři).
PL/SQL skripty
CEO_CREATE_TABLES.SQL
Skript vytvoří všechny tabulky potřebné pro aplikaci:
- Obcan
- Bydleni
- Bydliste
- Rodina
- Vojak
- Slozka
- Utvar
- Manzelstvi
- Duchod
- Invalidni_duchod
- Starobni_duchod
- Invalidita
- Zamestnanec
- Pracovni_pomer
- Firma
- Platby
- Typy_firem
SEQ.SQL
Slouží pro vytvoření sekvencí:
- id_bydle_seq
- id_rodina_seq
- id_zamestnance
- id_pp
- vojc_cnt
A funkcí:
TRIGGERY.SQL
Slouží pro vytvoření triggerů:
- tr_obcan_del - before delete on obcan
- tr_obcan_post_up - after update on obcan
- tr_obcan_pre_up - before update on obcan
- tr_rc_obcan - before insert on obcan
- tr_ins_bydliste - before insert on bydliste
- zrus_zam - before delete on zamestnanec
- duchod_obcan - after insert or delete or update of ma_inv_duchod,ma_star_duchod ON DUCHOD
- zr_voj - before delete on vojak
- ed_slozka - before update or insert on slozka
- zr_manz - after delete on manzelstvi
- ed_manz - before insert or update of datum_svatby, datum_rozchodu, duvod_rozchodu on manzelstvi
VIEW.SQL
Slouží pro vytvoření pohledů:
- rodic
- deti
- bydleni_obcan
- v_invalidni_duchod
CEO_INSTALL.SQL
Vytvoří vše potřebné pro běh programu pomicí postupného spuštění skriptů:
- CEO_CREATE_TABLES.SQL
- SEQ.SQL
- VIEW.SQL
- TRIGGERY.SQL
CEO_UNINSTALL.SQL
Odstraní z databáze všechny objekty vytvořené skriptem CEO_INSTALL.SQL
Databázové programové objekty
Triggery
-
tr_obcan_del - před výmazem položky v tabulce obcan - smaže
z ostatních tabulek záznamy se stejným rodným číslem
-
tr_obcan_post_up - po změně záznamu v tabulce obcan - pokud
bylo změněno rodné číslo, změní se u závislých záznamů v ostatních tabulkách
-
tr_obcan_pre_up - před změnou položky v tabulce obcan - zkontroluje rodné číslo, pokud má správný formát změní rodné číslo u záznamů závislých na měněném na 0, aby bylo možno rodné číslo změnit
-
tr_rc_obcan - při vložení záznamu do tabulky obcan
- zkontroluje rodné číslo
-
tr_ins_bydliste - před vložením záznamu do tabulky bydliste
- doplní jednoznačné identifikační číslo, pokud nebylo vyplněno
-
zr_voj - před výmazem v tabulce VOJAK - odstraní z tabulky
SLOZKA
všecny záznamy tohoto vojáka a pokud byl velitelem útvaru, nastaví veitele
útvaru na NULL.
-
ed_slozka - při změně či vložení záznamu v tabulce SLOZKA
- Kontroluje zda datum nástupu není pozdější než datum
odchodu od útvaru.
-
ed_manz - při změně či vložení záznamu v tabulce MANŽELSTVÍ
- nastaví hodnoty atributu ROD_STAV v tabulce OBCAN podle
ukládaného manželství. Bohužel nelze během provádění triggeru provádět
SELECT nad měněnou tabulkou, takže není možno provádět některé kontroly,
jako např. zda se jedná o poslední záznam o manželství z časového hlediska
a zda již neexistuje uzavřené manželství, jež nebylo zrušeno, pro některého
z partnerů.
-
zr_manz - Vypuštěn - při rušení záznamu v tabulce
manželství - obnovoval hodnoty podle posledního manželství, vzhledem
k nemožnosti práce s měněnou tabulkou byl vypuštěn.
Sequence
-
id_bydle_seq - pro generování jednoznačného identifikačního čísla
do tabulky bydliste
-
id_rodina_seq - pro generování jednoznačného identifikačního čísla
do tabulky rodina
-
vojc_cnt - pro generování jedinečného
vojenského čísla
-
utvar_c - Vypuštěna - pro generování čísl útvaru -
to však přichází z ministerstva obrany?
Formuláře
OBCAN
Formulář slouží pro zadávání, změnu a vyhledávání záznamů v tabulce obcan.
Umožňuje spouštění formulářů 'manzelstvi', 'vojak', 'zamestnani', 'duchodce',
'rodina' a 'bydliste' s již vybraným záznamem aktuálně zobrazeného občana.
TRIGGERY
-
WHEN-NEW-FORM-INSTANCE - podle vstupního parametru on_start provede
dotaz nebo přejde do režimu zadávání dotazu
-
PRE-QUERY - pokud je v globální proměnné akt_rc nějaké rodné číslo,
nastaví se pro dotaz do položky rc
-
POST-UPDATE -blok obcan - pokud bylo měněno datum úmrtí občana
-
, změní příslušně záznamy o občanově manželství a položku rodinný
stav u jeho partnera
-
PRE-UPDATE -blok obcan - vloží do tabulky občan pomocný záznam
s rodným číslem 0
-
PRE-RECORD -blok obcan - zjistí si v tabulce uloženou hodnotu
data úmrtí, aby bylo možno zjistit změnu
-
WHEN-VALIDATE-ITEM -blok obcan, položka rc - podle rodného
čísla změní hodnotu položky pohlavi, kontroluje rodné číslo na správný
formát a na datum narození menší než datum úmrtí (je-li již vyplněno)
-
WHEN-VALIDATE-ITEM -blok obcan, položka rod_prijmeni - není-li
položka vyplněna, doplní stejnou hodnotu, jaká je v položce prijmeni
-
WHEN-VALIDATE-ITEM -blok obcan, položka narodnost - není-li
položka vyplněna, doplní hodnotu 'Ceska'
-
WHEN-VALIDATE-ITEM -blok obcan, položka pojistovna - kontroluje,
je-li hodnota položky v roysahu 1-256
-
WHEN-VALIDATE-ITEM -blok obcan, položka datum_smrti - kontroluje,
není-li datum úmrtí menší než datum narození (podle rodného čísla)
-
WHEN-BUTTON-PRESSED -blok obcan, položka manzelstvi_but -
při stisku tlačítka otevře formulář manzelstvi s hodnotou parametru on_start
'EXEC'
-
WHEN-BUTTON-PRESSED -blok obcan, položka vojak_but - při
stisku tlačítka otevře formulář vojak s hodnotou parametru on_start 'EXEC'
-
WHEN-BUTTON-PRESSED -blok obcan, položka zamestnani_but -
při stisku tlačítka otevře formulář zamestnani s hodnotou parametru on_start
'EXEC'
-
WHEN-BUTTON-PRESSED -blok obcan, položka duchodce_but - při
stisku tlačítka otevře formulář duchodce s hodnotou parametru on_start
'EXEC'
-
WHEN-BUTTON-PRESSED -blok obcan, položka rodina_but - při
stisku tlačítka otevře formulář rodina s hodnotou parametru on_start 'EXEC',
do globální proměnné akt_rc nastaví hodnotu aktuálně vybraného občana.
Po návratu z volaného formuláře vykoná dotaz.
-
WHEN-BUTTON-PRESSED -blok obcan, položka konec_but - při
stisku tlačítka zavře formulář
PARAMETRY
-
ON_START - slouží k identifikaci režimu, který je spuštěn po otevření
formuláře
BYDLISTE
Formulář slouží pro zadávání, změnu a vyhledávání záznamů v tabulkách bydliste
a bydleni. Pro usnadnění práce zobrazuje i část položek záznamu z tabulky
obcan.
TRIGGERY
-
PRE-QUERY - pokud je v globální proměnné akt_rc nějaké rodné číslo,
nastaví se pro dotaz do položky rc
-
WHEN-NEW-FORM-INSTANCE - podle vstupního parametru on_start provede
dotaz nebo přejde do režimu zadávání dotazu
-
WHEN-BUTTON-PRESSED -blok obcan1, položka konec_but - při
stisku tlačítka zavře formulář
-
PRE-INSERT -blok bydliste- do položky id_bydliste doplní
jednoznačné číslo
-
PRE-BLOCK -blok bydliste- při vstupu do bloku znemožní výběr
položek 'zadat novy' a 'spustit' z menu 'dotaz'
-
POST-BLOCK -blok bydliste- při výstupu z bloku umožní výběr
položek 'zadat novy' a 'spustit' z menu 'dotaz'
-
WHEN-VALIDATE-ITEM -blok bydliste, položka okres- není-li
položka vyplněna, doplní hodnotu, která je v položce mesto
-
PRE-INSERT -blok bydleni- do položky id_bydliste doplní id_bydliste
z bloku bydliste
-
PRE-BLOCK -blok bydleni- při vstupu do bloku znemožní výběr
položek 'zadat novy' a 'spustit' z menu 'dotaz'
-
POST-BLOCK -blok bydleni- při výstupu z bloku umožní výběr
položek 'zadat novy' a 'spustit' z menu 'dotaz'
-
WHEN-VALIDATE-ITEM -blok bydleni, položka bydli_do- kontroluje,
je-li datum větší nebo rovno položce bydli_od
PARAMETRY
-
ON_START - slouží k identifikaci režimu, který je spuštěn po otevření
formuláře
RODINA
Formulář slouží pro zadávání, změnu a vyhledávání záznamů v tabulce rodina.
Pro usnadnění práce zobrazuje i část položek záznamu z tabulky obcan.
TRIGGERY
-
PRE-QUERY - pokud je v globální proměnné akt_rc nějaké rodné číslo,
nastaví se pro dotaz do položky rc_potomka
-
WHEN-NEW-FORM-INSTANCE - podle vstupního parametru on_start provede
dotaz, přejde do režimu zadávání dotazu nebo doplní údaje potomka podle
globální proměnné akt_rc pro nový záznam
-
PRE-INSERT - do položky id_rodiny doplní jednoznačné číslo
-
WHEN-NEW-BLOCK-INSTANCE - blok rodina - doplní jména a příjmení
podle rodných čísel
-
PRE-RECORD - blok rodina - doplní jména a příjmení podle
rodných čísel
-
WHEN-VALIDATE-ITEM -blok rodina, položka rc_potomka- doplní
jméno a příjmení potomka do položek prijmeni_p a jmeno_p
-
WHEN-VALIDATE-ITEM -blok rodina, položka rc_matky- doplní
jméno a příjmení matky do položek prijmeni_m a jmeno_m
-
WHEN-VALIDATE-ITEM -blok rodina, položka rc_otce- doplní
jméno a příjmení otce do položek prijmeni_o a jmeno_o
-
WHEN-BUTTON-PRESSED -blok rodina, položka konec_but - při
stisku tlačítka zavře formulář
PARAMETRY
-
ON_START - slouží k identifikaci režimu, který je spuštěn po otevření
formuláře
HLEDANI_DETI
Formulář slouží pro vyhledávání záznamů v tabulce rodina. Pro usnadnění
práce zobrazuje i část položek záznamu z tabulky obcan. K vyhledání používá
pohled deti.
TRIGGERY
-
WHEN-NEW-FORM-INSTANCE - při spuštění formuláře znemožní výběr položek
'novy' a 'odstranit' z menu 'zaznam' a následně provede dotaz
-
POST-FORM - při ukončení formuláře umožní výběr položek 'novy' a
'odstranit' z menu 'zaznam'
-
WHEN-BUTTON-PRESSED -blok obcan, položka konec_but - při
stisku tlačítka zavře formulář
-
WHEN-BUTTON-PRESSED -blok obcan, položka vyhledat_but - při
stisku tlačítka provede dotaz
HLED_ADRESA
Formulář slouží pro vyhledávání záznamů v tabulce bydliste a bydleni. Pro
usnadnění práce zobrazuje i část položek záznamu z tabulky obcan. K vyhledání
používá pohled bydleni_obcan.
TRIGGERY
-
WHEN-NEW-FORM-INSTANCE - při spuštění formuláře znemožní výběr položek
'novy' a 'odstranit' z menu 'zaznam' a následně provede dotaz
-
POST-FORM - při ukončení formuláře umožní výběr položek 'novy' a
'odstranit' z menu 'zaznam'
-
WHEN-BUTTON-PRESSED -blok bydliste, položka konec_but - při
stisku tlačítka zavře formulář
-
WHEN-BUTTON-PRESSED -blok bydliste, položka vyhledat_but -
při stisku tlačítka provede dotaz
CEO
Hlavní formulář, spouštěný protože nabídku není možno spustit přímo. Zároveň
při spuštění vytvoří globální proměnnou akt_rc, která je dále použita v
některých z formulářů.
TRIGGERY
-
WHEN-NEW-FORM-INSTANCE - vytvoří proměnnou :global.akt_rc.
VOJAK
Formulář slouží pro zadávání, změnu a vyhledávání záznamů v tabulkach VOJAK,
SLOZKA a OBCAN. V tabulce OBCAN umožňuje poze změnu hodnoty
je_vojak, určující, zda je občan veden mezi vojáky. V tabulce VOJAK umožňuje
přidávání vojenských záznamů k jednotlivým občanům, přičemž pro nové záznamy
používá vojenské číslo vygenerované sekvencí vojc_cnt.
Postupné zařazení u jednotlivých útvarů pak lze zaznamenávat do tabulky
složka, kde je zapsáno postupné působení u jednotlivých útvarů.
TRIGGERY
-
WHEN-NEW-FORM-INSTANCE - podle vstupního parametru on_start provede
dotaz ('EXEC') nebo přejde do režimu zadávání dotazu ('ENTER').
-
PRE-BLOCK - blok VOJAK, OBCAN - znepřístupnění položek v
nabídce Zaznam.
-
POST-BLOCK - blok VOJAK, OBCAN - zpřístupnění položek v nabídce
Zaznam.
-
WHEN-MOUSE-CLICKED - blok SLOZKA, položka UTVAR -
otevírá
seznam hodnot, obsahující jednotlivé útvary.
-
WHEN-BUTTON-PRESSED - blok TLACITKA, tlačítko ZAVRI - zavře
formulář, pokud se tento nenachází v režimu zadávání dotazu, v takovém
případě je nutno nejprve zadávání dotazu zrušit.
PARAMETRY
-
ON_START - slouží k identifikaci režimu, který je spuštěn po otevření
formuláře
-
SOLDIERS_ONLY - YES - zobrazeni pouze občané, u nichž je nastavena
volba JE_VOJAK na 1, nebo při nastavené glob. proměnné akt_rc zobrazen
jediný záznam bez ohledu na to, zda je občan vojákem. NO - Zobrazeni i
nevojáci
SEZNAMY HODNOT (LOV)
-
UTVARY - seznam jednotlivých útvarů - číslo
+ název
UTVAR
Seznam jednotlivých útvarů v tabulce. Lze modifikovat tabulku UTVARY
a
vybrat mj. velitele útvarů ze seznamu jejich příslušníků.
TRIGGERY
-
WHEN-NEW-FORM-INSTANCE - podle vstupního parametru on_start provede
dotaz ('EXEC') nebo přejde do režimu zadávání dotazu ('ENTER').
-
WHEN-MOUSE-CLICKED - blok UTVAR, položka RC_VELITELE
-
otevírá seznam hodnot, obsahující jednotlivé příslušníky
útvarů.
-
WHEN-BUTTON-PRESSED - blok TLACITKA, tlačítko ZAVRI - zavře
formulář, pokud se tento nenachází v režimu zadávání dotazu, v takovém
případě je nutno nejprve zadávání dotazu zrušit.
-
WHEN-BUTTON-PRESSED - blok TLACITKA, tlačítko TISK_CL - vyvolá
výstupní sestavu pro tisk členů jednotlivých útvarů.
PARAMETRY
-
ON_START - slouží k identifikaci režimu, který je spuštěn po otevření
formuláře
SEZNAMY HODNOT (LOV)
-
VELITEL - seznam jednotlivých osob, které
jsou v danou chvíli v tomto útvaru, tj. těch, z nichž je možnovybrat velitele.
MANZELSTVI
Evidence uzavřených manželství. Umožňuje provádět výběr manželství podle
jednoho či obou manželů, doplňovat nová manželství a provádět změny, týkající
se manželství - ukončení existujícího manželství s uvedením důvodu skončení
jeho platnosti.
TRIGGERY
-
WHEN-NEW-FORM-INSTANCE - podle vstupního parametru on_start provede
dotaz ('EXEC') nebo přejde do režimu zadávání dotazu na oba manžele
('ENTER'), na manžela ('ENTER_HE') a manželku ('ENTER_SHE').
-
PRE-BLOCK - blok VOJAK, OBCAN - znepřístupnění položek v
nabídce Zaznam.
-
POST-BLOCK - blok VOJAK, OBCAN - zpřístupnění položek v nabídce
Zaznam.WHEN-MOUSE-CLICKED
- blok MANZELSTVI, položka RC_MANZELA resp. RC_MANZELKY
-
otevírá seznam hodnot, obsahující seznam mužů resp. žen.
-
WHEN-BUTTON-PRESSED - blok TLACITKA, tlačítko ZAVRI - zavře
formulář, pokud se tento nenachází v režimu zadávání dotazu, v takovém
případě je nutno nejprve zadávání dotazu zrušit.
PARAMETRY
-
ON_START - slouží k identifikaci režimu, který je spuštěn po otevření
formuláře
SEZNAMY HODNOT (LOV)
-
MUZI, ZENY - seznamy jednotlivých osob podle
pohlaví pro výběr manželů/manželek.
Výstupní sestavy
UTVARY
Vypisuje seznam členů jednotlivých útvarů - uloženo v Utvary.rdf