TVORBA APLIKACÍ V ORACLE FORMS I.

Podobné dokumenty
PL/SQL. Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd.

Úvod do MS Access. Modelování v řízení. Ing. Petr Kalčev

Reliance 3 design OBSAH

3 Formuláře a sestavy Příklad 1 Access 2007

Jazyk PL/SQL Úvod, blok

Formuláře. Téma 3.2. Řešený příklad č Zadání: V databázi formulare_a_sestavy.accdb vytvořte formulář pro tabulku student.

3 Makra Příklad 4 Access Ve vytvořené databázi potřebuje sekretářka společnosti Naše zahrada zautomatizovat některé úkony pomocí maker.

Tiskové sestavy. Zdroj záznamu pro tiskovou sestavu. Průvodce sestavou. Použití databází

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Postupy práce se šablonami IS MPP

Microsoft Access. Úterý 26. února. Úterý 5. března. Typy objektů databáze: Vytvoření a návrh nové tabulky

RELAČNÍ DATABÁZE ACCESS

1 Tabulky Příklad 3 Access 2010

Databázový systém označuje soubor programových prostředků, které umožňují přístup k datům uloženým v databázi.

ÚLOHA 6. Úloha 6: Stěžejní body tohoto příkladu:

3 Formuláře a sestavy Příklad 1 Access 2010

Sestavy. Téma 3.3. Řešený příklad č Zadání: V databázi zkevidence.accdb vytvořte sestavu, odpovídající níže uvedenému obrázku.

Databázové systémy Cvičení 5.2

3 Makra Příklad 4 Access Ve vytvořené databázi potřebuje sekretářka společnosti Naše zahrada zautomatizovat některé úkony pomocí maker.

Kontingenční tabulky v MS Excel 2010

BALISTICKÝ MĚŘICÍ SYSTÉM

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

DATABÁZE A SYSTÉMY PRO UCHOVÁNÍ DAT 61 DATABÁZE - ACCESS. (příprava k vykonání testu ECDL Modul 5 Databáze a systémy pro zpracování dat)

Microsoft Access tvorba databáze jednoduše

Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace

UniLog-D. v1.01 návod k obsluze software. Strana 1

02. HODINA. 2.1 Typy souborů a objektů. 2.2 Ovládací prvky Label a TextBox

Microsoft Access. Typy objektů databáze: Vytvoření a návrh nové tabulky. Vytvoření tabulky v návrhovém zobrazení

UniLog-L. v0.81 návod k obsluze software. Strana 1

Průvodce instalací modulu Offline VetShop verze 3.4

Jak importovat šablony tiskových sestav do aplikace MarkTime PORTAL. Administrační manuál Bellman Group, s.r.o. 2007/09/23 verze 1.

Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška

Uživatelská příručka pro respondenty

ZADÁNÍ: Informatika B Příklad 10 MS Access. TÉMA: Formuláře. OPF v Karviné, Slezská univerzita v Opavě. Ing. Kateřina Slaninová

Databáze MS-Access. Obsah. Co je to databáze? Doc. Ing. Radim Farana, CSc. Ing. Jolana Škutová

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal

Access. Tabulky. Vytvoření tabulky

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

10 Algoritmizace Příklad 2 Word 2007/ VBA

Postup instalace přídavného modulu pro Aktuální zůstatky (CBA) v programu MultiCash KB (MCC)

FIREMNÍ CERTIFIKÁT V APLIKACI PŘÍMÝ KANÁL NÁVOD PRO KLIENTY

Obsah Úvodem... 5 Co je to vlastně formulář... 6 Co je to šablona... 6 Jak se šablona uloží... 6 Jak souvisí formulář se šablonou...

Standardně máme zapnutý panel nástrojů Formátování a Standardní.

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM. Manuál pro administrátory. Verze 1.

Uživatelský manuál aplikace. Dental MAXweb

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

MS Excel 2007 Kontingenční tabulky

POKROČILÉ POUŽITÍ DATABÁZÍ

MANUÁL K OBSLUZE REDAKČNÍHO SYSTÉMU / wordpress

LabMeredian Gravik. gravik

Ovládání Open Office.org Calc Ukládání dokumentu : Levým tlačítkem myši kliknete v menu na Soubor a pak na Uložit jako.

Marketingová komunikace. 2. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph)

1. Umístěte kurzor do sloupce Datový typ na řádek s polem, ve kterém vytvořit chcete seznam.

Fotogalerie pro redakční systém Marwel Obscura v. 2.0

apilot - První kroky Publikační platforma apilot První kroky

Formátování pomocí stylů

Databázové systémy. Doc.Ing.Miloš Koch,CSc.

Stored Procedures & Database Triggers, Tiskové sestavy v Oracle Reports

Výukový příklad 2 (příklad s řešením): Seznam členů klubu společenských her

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MS Access propojení relací s formuláři a sestavami Ing.

Připojení přístroje A4101 k aplikaci DDS2000

Stručný manuál pro webový editor. Ukládáni základních informací, tvorba menu

Text úlohy. Systémový katalog (DICTIONARY):

Návod k aplikaci DPH Kontrol

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání

Obsah. při vyšetření pacienta. GDT souboru do programu COSMED Omnia GDT souboru z programu COSMED Omnia a zobrazení výsledků měření v programu MEDICUS

7. Enterprise Search Pokročilé funkce vyhledávání v rámci firemních datových zdrojů

Zdokonalování gramotnosti v oblasti ICT. Kurz MS Excel kurz 6. Inovace a modernizace studijních oborů FSpS (IMPACT) CZ.1.07/2.2.00/28.

PRŮBĚHOVÝ TEST Z PŘEDNÁŠEK

Návod pro práci s aplikací

Hlavní okno aplikace

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná.

Gymnázium Vincence Makovského se sportovními třídami Nové Město na Moravě

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče.

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

MANUÁL administrátora elektronické spisové služby

Modelování sestav. Autodesk INVENTOR. Ing. Richard Strnka, 2012

Manuál k programu KaraokeEditor

Výukový materiál pro projekt Perspektiva 2010 reg. č. CZ.1.07/1.3.05/ EXCEL příklad. Ing. Jaromír Bravanský, 2010, 6 stran

Úvod do databázových systémů

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM. Manuál pro editaci ŽS. Verze 1.

Postup přechodu na podporované prostředí. Přechod aplikace BankKlient na nový operační systém formou reinstalace ze zálohy

DATABÁZOVÉ A INFORMAČNÍ SYSTÉMY

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23

SCIA.ESA PT. Export a import souborů DWG a DXF

zobrazuje názvy polí, vložené hodnoty jednotlivých záznamů, lze v něm zadávat data (přidávat záznamy) v návrhovém zobrazení:

Prohlížení a editace externích předmětů

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných

Fides Software Storage Administrator

Informační systémy ve zdravotnictví. 6. cvičení

ZSF web a intranet manuál

MS OFFICE POWER POINT 2010

WebmMenu slouží pro editaci a management položek menu. Pro další informace si prosím vyberte jedno z následujících témat:

Popis ovládání. Po přihlášení do aplikace se objeví navigátor. Navigátor je stromově seřazen a slouží pro přístup ke všem oknům celé aplikace.

2 Dotazy Příklad 3 Access 2010

Šablona KRYPTON. Slidery na úvodní straně. kompletní návod pro obsluhu všech nově přidaných funkcí

Pátý modul. Databáze a systémy pro uchování dat. Co vše může v otázkách být?

Digitální kartografie 8

Transkript:

UČEBNÍ TEXTY OSTRAVSKÉ UNIVERZITY Přírodovědecká fakulta TVORBA APLIKACÍ V ORACLE FORMS I. (DISTANČNÍ VÝUKOVÁ OPORA) Zdeňka Telnarová 2006 Ostravská univerzita

Úvod a cíle výukové opory... 4 1 Výkladová část... 5 1.1 Forms Builder - Komponenty... 5 1.1.1 Komponenty Forms Builderu... 5 1.1.2 Začátek práce s Forms Builderem... 7 1.2 Komponenty formuláře... 8 1.2.1 Datové bloky... 9 1.2.2 Řídící bloky... 9 1.3 Tvorba jednoduchého modulu formuláře... 10 1.4 Tvorba Master - Detail formuláře... 13 1.5 Vizuální atributy... 16 1.6 Řízení chování datového bloku... 18 1.6.1 Navigace... 18 1.7 Tvorba řídících bloků... 19 1.8 Práce s textovými položkami... 19 1.9 Práce s LOV objekty... 22 1.10 Práce s editorem... 23 1.11 Přehled dalších vstupních položek... 23 1.12 Vytvoření nevstupních položek... 24 1.13 Úvod do formulářových triggerů... 27 1.13.1 Triggery se obvykle používají pro:... 27 1.13.2 Komponenty triggeru... 27 1.13.3 Tvorba jednoduchých triggerů... 28 1.13.4 Struktura PL/SQL bloku... 30 2 Část příkladů... 33 Příklad č. 1 Jednoduchý formulář na jednu tabulku... 33 Příklad č. 2 Formulář s podformulářem s vazebním polem... 34 Příklad č. 3 Kontrolní blok... 36 Příklad č. 4 Formulář s LOV objektem... 37 Příklad č. 5 Formulář s editorem pro položku typu CLOB... 39 Příklad č. 6 Skupina přepínačů... 40 Příklad č. 7 Formulář se zaškrtávacím políčkem... 41 Příklad č. 8 Položka zobrazení... 43 Příklad č. 9 Položka typu obrázek... 46 Příklad č. 10 Prvky seznamu... 48 2

Korespondenční úkol... 50 Použitá literatura... 51 3

ÚVOD A CÍLE VÝUKOVÉ OPORY Výuková opora Tvorba aplikací v Oracle Forms I. je určena studentům, kteří začínají vytvářet aplikace ve vývojovém prostředí Oracle Forms Developer 10g. Před studiem problematiky, obsažené v této výukové opoře, by měl student znát: Základní příkazy jazyka SQL (DDL, DML, DQL, DCL). Příkazy a konstrukce jazyka PL/SQL včetně procedur, funkcí a databázových triggerů. Dále by student před zahájením studia této opory měl být schopen: Vytvořit schéma relační databáze v SŘBD Oracle jako množinu relací a integritních omezení. Na základní úrovni administrovat databázi Oracle. Po prostudování výukové opory by měl být student schopen vytvořit jednoduchou interaktivní aplikaci pracující v grafickém uživatelském prostředí (GUI) založenou na uživatelských formulářích se vstupními položkami jako jsou textová pole, zaškrtávací políčka, přepínače, seznamy, položky zobrazení, příkazová tlačítka, atd. Dále by měl student zvládnout tvorbu událostmi řízených triggerů, tvorbu vložených formulářů, používání oken a canvasů. Výuková opora je rozdělena do dvou základních částí. První z nich je část výkladová. I tato část je doplněna příklady a názornými ukázkami. Druhá část je pak výhradně věnována příkladům. 4

1 VÝKLADOVÁ ČÁST 1.1 Forms Builder - Komponenty Forms Builder je komponentou Oracle Forms Developer, která je využívána k rychlé tvorbě aplikací založených na formuláři pro prezentaci dat a manipulaci s nimi. Uživatelé Forms Builder mohou: Vkládat, aktualizovat a mazat data, dotazovat se na data (získávat informace z databáze). Prezentovat data s využitím textů, obrázků a uživatelských objektů. Přecházet mezi jednotlivými formuláři a okny. Využívat integrované menu. Odesílat data do Oraclovských reportů. 1.1.1 Komponenty Forms Builderu Navigátor objektů 5

Navigátor objektů lze využít k umísťování a manipulaci s objekty. Základními objekty jsou: Formulář Nabídka Knihovny PL/SQL Vestavěné balíky Databázové objekty Navigátor objektů je doplněn lištou (toolbar) pro: vytvoření nového objektu, otevření existujícího objektu, editaci objektu, uložení objektu, spuštění formuláře, atd. U každého objektu je možné zobrazit paletu jeho vlastností. 6

Všechny objekty v modulu, včetně modulu samotného, mají své vlastnosti. Pro umísťování objektů do formuláře slouží editor rozložení (layout). Editor rozložení má grafické rozhraní a umožňuje vkládat do formuláře grafické objekty. 1.1.2 Začátek práce s Forms Builderem Pro práci s databázovými objekty s využitím Forms Builderu je třeba se připojit k databázi. Připojení k databázi je nutné pro: kompilaci kódu, přístup k databázovým objektům prostřednictví navigátoru objektů, vytvoření objektu formuláře, založeném na databázovém objektu. 7

Pojmy k zapamatování Navigátor objektů Paleta vlastností Editor rozložení Formulář Nabídka Knihovny PL/SQL Vestavěné balíky Databázové objekty 1.2 Komponenty formuláře Formulář se může skládat z několika modulů. Hlavními objekty modulu formuláře jsou: Položky: jsou objekty formuláře, které odkazují na hodnoty atributů v databázových tabulkách. Na formuláři se mohou vyskytovat různé typy položek. Položky jsou logicky seskupeny do bloků a visuálně jsou umístěny na canvasech. Bloky: Každý formulář se skládá z jednoho nebo více bloků. Každá položka, umístěná na formuláři, musí logicky náležet nějakému bloku. Existují dva základní typy bloků: datové bloky a řídící bloky. Jeden datový blok představuje jednu databázovou tabulku. Canvasy: jsou plochy, na kterých jsou vizualizovaný grafické objekty a položky jednotlivých bloků. Formulář může mít několik canvasů (podobně jako papírový formulář může mít několik stránek). Canvas může zobrazovat položky z jednoho nebo více bloků. Každý canvas je nutné zobrazit v nějakém okně. Implicitně jsou všechny canvasy zobrazeny v jednom okně (tzn. najednou lze vidět pouze jeden canvas), ale je možné navrhnout více oken a každý canvas umístit do jiného okna. 8

Canvas 1 Canvas 2 Položky Položky Blok A Blok B 1.2.1 Datové bloky Datové bloky jsou spojovány s databázovými tabulkami nebo pohledy, mohou být rovněž spojovány s uloženými procedurami, s dotazy nebo transakčními triggery. Spojení datových bloků s databází umožňuje uživateli automatický přístup k zobrazení dat a jejich manipulaci. 1.2.2 Řídící bloky Řídící bloky nejsou spojovány s databází, jejich položky se nevztahují k žádným sloupcům tabulek. Řídící bloky mohou obsahovat např. tlačítka, která inicializují nějakou akci. Položka Blok Canvas Datový blok Řídící blok Pojmy k zapamatování 9

1.3 Tvorba jednoduchého modulu formuláře Nový modul formulář lze vytvořit s využitím průvodce (průvodce datovými bloky a průvodce rozložením) nebo můžeme vytvořit nový formulář manuálně. Datový blok může být založen na tabulce, resp. pohledu nebo na uložené proceduře. Vybereme-li datový blok, založený na tabulce, je třeba vybrat tabulku/pohled z databáze. Pro tuto činnost je nezbytné, abychom byli připojeni k existující databázi Oracle. Pokud nejsme, průvodce nás provede procedurou přihlášení. 10

Po výběru tabulky lze vybírat jednotlivé sloupce (atributy tabulky) a umísťovat je jako položky formuláře. Po výběru položek se spustí průvodce rozložením, který umístí jednotlivé položky na canvas (lze vybrat typ canvasu o tom později). Průvodce rozložením umožní každou položku umístit na canvas. 11

Každý datový blok modulu může být dvojího typu (formulářový a tabulkový) Následuje specifikace rámu, ve kterém je datový blok na canvasu zobrazován a specifikace počtu záznamů, které se mají v rámu zobrazit. Je možno využít posuvník. 12

Po vytvoření modulu formuláře je třeba modul uložit (Soubor/Uložit jako), zkompilovat (Program/Kompilovat) a event. spustit (Program/Spustit formulář). Pojmy k zapamatování Modul Průvodce datovými bloky Průvodce rozložením Atributy tabulky Položky formuláře Posuvník 1.4 Tvorba Master - Detail formuláře Master-Detail formulář se využívá k vytváření vztahů mezi datovými bloky založenými na databázových tabulkách, resp. pohledech. Takovýto formulář může obsahovat dva nebo více datových bloků. Každý datový blok může být buď samostatný nebo spojený s jiným datovým blokem. Master-Detal vztah je spojen se dvěma datovými bloky a odkazuje na primární klíč nadřazené tabulky a cizí klíč podřízené tabulky, na kterých jsou tyto datové bloky založeny. Detail blok může pak vystupovat v roli Master bloku v jiném vztahu (dle schématu databáze). Příklad: Mějme dva datové bloky Pacient a Pojišťovna. Datový blok Pacient je spojen s databázovou tabulkou Pacient, datový blok Pojišťovna je spojen s tabulkou Pojišťovna. Tabulka Pacient je závislá na tabulce Pojišťovna. Vytvořte Master_detail formulář, kdy vazebním prvkem (PK v nadřazené tabulce a FK v podřízené tabulce) bude Kod_pojistovny. 13

Při vytváření datového bloku na tabulku Pacient se můžeme rozhodnout, zda vytvořit vztah. Po rozvržení a umístění datového bloku na canvas (stejný nebo jiný) se zobrazí návrh. 14

Po spuštění formuláře se pak zobrazí následující okno. Pojmy k zapamatování Master detail formulář Položka Master Položka Detail Vztah 15

1.5 Vizuální atributy Vizuální atributy slouží k definování fontů, barev a dalších vlastností, které lze nastavit pro formulářové objekty a objekty menu. Vizuální atributy lze použít pro titulky, nápovědy, popisky rámů, atd.. Každý objekt formuláře či menu může využívat implicitního nastavení (vizuální atribut NULL) nebo může využívat explicitního vizuálního atributu. Příklad dokumentuje existenci explicitního vizuálního atributu VA1. Vlastnosti atributu VA1 zobrazuje následující tabulka (paleta vlastností). 16

Pro použití vizuálního atributu je třeba dodržovat následující kroky: 1. Vytvořit vizuální atribut 2. Nastavit vlastnosti tohoto nového vizuálního atributu 3. Spustit formulář Pro každý atribut datového bloku je možno nastavit, jaký využívá vizuální atribut. Pojmy k zapamatování Vizuální atribut Titulky Nápovědy Popisky Rámy 17

1.6 Řízení chování datového bloku 1.6.1 Navigace Implicitně je v Oracle Forms navigace nastavena tak, že po zpřístupnění poslední položky záznamu se navigace přesune na první položku stejného záznamu. Explicitně lze tuto navigaci změnit např. tak, že se po poslední položce záznamu navigace přesune na první položku následujícího záznamu nebo datového bloku. Styl navigace tedy může být: stejný záznam (implicitně), změnit záznam, změnit datový blok. Styl navigace lze nastavit pro daný datový blok. Pojmy k zapamatování Explicitní navigace Implicitní navigace Styl navigace 18

1.7 Tvorba řídících bloků Řídící blok je blok, který není asociován s žádnou databází, jeho položky nesouvisí s žádnými položkami (sloupci) tabulky. Řídící bloky jsou využívány pro příkazová tlačítka, která obsahují funkcionality, definované pomocí tzv. formulářových triggerů. Příklad Následující obrázek dokumentuje definici řídícího bloku. 1.8 Práce s textovými položkami textová položka je položka formuláře, prostřednictvím které se můžeme dotazovat, vkládat data, mazat či modifikovat data v databázové položce. Textovou položku můžeme vytvořit několik různými způsoby: 19

Převodem již existující položky na textovou. Použitím Textové položky v editoru rozložení. Použitím ikony Vytvořit v navigátoru objektů. Použitím průvodce. Příklad: Vytvořte textovou položku ve formuláři na tabulku Pojišťovna. Textová položka bude spojena s názvem sloupce Kod_pojistovny databázové tabulky Pojistovna. V navigátoru objektů nastavíme Položky datového bloku Pojišťovna a zmáčkneme ikonu +. Nastavíme vlastnosti textové položky, zejména název sloupce v části Databáze. Zde se vytvoří nová textová položka (implicitní jméno ITEM9) 20

Zde se napíše název položky (Kód_pojišťovny) Zde se spojí textová položka se sloupcem databáze (tabulky Pojistovna). Zde se umístí textová položka na canvas. 21

Ve fyzické části palety vlastností nastavujeme kromě canvasu rovněž polohu textové položky (poloha X, Poloha Y) a velikost (Šířka, Výška). Pojmy k zapamatování Řídící blok Trigger Textová položka Poloha a velikost položky 1.9 Práce s LOV objekty LOV objekty jsou objekty formuláře, které představují seznam hodnot (List Of Value) některé databázové položky. Tento seznam se nabízí při vkládání hodnoty do textové položky. Seznam hodnot se konstruuje na základě dotazu a zobrazuje se jako pop-up okno. Postup při vytváření a využité LOV objektu je následující: Nový formulář. Přidat datový blok pomocí průvodce na tabulku, ze které budeme vytvářet seznam LOV objektu, styl formulářový. Vytvořit LOV včetně nové skupiny záznamů, založené na dotazu, který vybere všechny položky ze specifikované tabulky. Nastavit šířky sloupců a vložit návratovou hodnotu. V paletě nástrojů daného LOV nastavit automatické zobrazení. do Vlastnosti LOV objektů Dynamika: Seznam hodnot se automaticky mění podle stavu databáze. 22

Nezávislost: LOV objekt může být použit pro různé textové položky (vyvolán z různých textových položek). Flexibilita: LOV může být využit mnohonásobně. Pojmy k zapamatování LOV objekt Dynamika Nezávislost Flexibilita 1.10 Prác e s editorem Pokud uživatel potřebuje složitější editor pro vkládání hodnot do např. textových polí datového typu BLOB a LONG RAW, může jej návrhář vytvořit. Takovému editoru se říká uživatelský editor. Jeho tvorba je snadná. V navigátoru objektů vybereme Editor na zmáčkneme ikonu +. Takto vytvořenému editoru nastavíme vlastnosti pomocí palety vlastností.. Vytvořený editor je pak třeba asociovat s konkrétní textovou položkou. 1.11 Přehled dalších vstupních položek K dalším vstupním položkám můžeme přiřadit: Zaškrtávací políčko Přepínač Položka graf Kontejner OLE Položka seznam Zvuková položka Tyto položky mohou být spojeny se sloupcem databázového pole a mohou být editovány, tzn. prostřednictvím formuláře může být zadávána či modifikována hodnota do pole databázové tabulky. 23

1.12 Vytvoření nevstupních položek Nevstupními položkami se rozumí takové položky, které nepřipouštějí zadávání vstupních hodnot uživatelem. Patří mezi ně: Zobrazované položky Obrazové položky Tlačítka Vypočítávané položky Hierarchické stromy Bean Area položky Kromě tlačítka, všechny ostatní položky mohou data zobrazovat. Tlačítko je spojeno s událostí a triggerem, který na tuto událost reaguje. Zobrazovaná položka může nedatabázové informace. zobrazovat odvozené hodnoty z databáze, eventuálně Vytvoření zobrazované položky pomocí editoru rozložení Vyvolejte editor rozložení. Zobrazte potřebný canvas. Vyberte tlačítko zobrazované položky. Umístěte položku na canvas. Zobrazte dvojklikem paletu vlastností. Specifikujte potřebné vlastnosti zobrazované položky. Vytvoření vypočítávané položky Vypočítávaná položka bůže být vyjádřena formulí (vzorcem výpočtu) nebo souhrnem všech položek v bloku. Výsledkem výpočtu vzorce je horizontální hodnota, tzn. výpočet je proveden v rámci jednoho záznamu databázové tabulky. Naproti tomu souhrny jsou vertikální výpočty, které zohledňují všechny hodnoty jedné položky v rámci bloku. Vypočítávaná položka není editovatelná, může se pouze zobrazit. Je to tedy speciální typ zobrazované položky. 24

Souhrnné funkce Průměr Počet Maximum Minimum Odchylka Součet Vypočítávaná položka založená na formuli (vzorci) Při nastavení režimu výpočtu na vzorec je třeba zadat PL/SQL výraz, který formuli definuje. Před jmény objektů formuláře je třeba v PL/SQL výrazu uvést dvojtečku (:). Příklad Vytvořte položku zobrazení (Jmneo_Prijmeni), do které se zobrazí zřetězení položek Jmeno_p a Prijmeni_p. Ve vzorci použijte správné označení položek formuláře (s dvojtečkou). 25

Pojmy k zapamatování Zaškrtávací políčko Přepínač Položka graf Kontejner OLE Položka seznam Zvuková položka Zobrazované položky Obrazové položky Tlačítka Vypočítávané položky Souhrnné funkce 26

1.13 Úvod do formulářových triggerů Triggery jsou programové bloky, které píšeme pro zvýšení funkčnosti implicitně vytvořené aplikace. Každý trigger má jméno a obsahuje jeden nebo více PL/SQL příkazů. Jméno triggeru zajišťuje spojení mezi programem triggeru a událostí, která způsobí jeho spuštění. Trigger se spouští, když proběhne příslušná událost. Existuje mnoho různých typů triggerů a mnoho způsobů jejich využití. Kompletní definice typů triggerů lze nalézt v manuálu Oracle Forms Designer s Reference. 1.13.1 Triggery se obvykle používají pro: Naplňování zobrazovaných položek daty. Provádění validace (kontroly platnosti dat), která nemůže být zajištěna prostřednictvím definic položek. Kontrolování referenční integrity pro databázové tabulky (tzv. databázové triggery). Aktivováná tlačítek a obrazů. Manipulování s ovládacími boxy a skupinami přepínačů. 1.13.2 Komponenty triggeru Trigger se skládá ze tří částí. Typ triggeru, úroveň platnosti a text. Typ triggeru se vztahuje k příslušné události, která může nastat při běhu aplikace. Jedná se o události: When, On, Pre, Post, Key. When trigger When události označují okamžiky, ve kterých můžeme rozšířit zpracování Oracle Forms dalšími úlohami nebo operacemi. Např.: Když se provádí validace položky, tak proveď On trigger On události označují okamžiky, ve kterých můžeme nahradit implicitní zpracování jinými úlohami. Např. Při vzniku chyby pošli tuto zprávu Pre trigger Pre události označují okamžiky těsně před vznikem buď When nebo On události. Např. Před vstupem do bloku inicializuj tyto proměnné. Post triggery Post události označují okamžiky těsně po vzniku buď When nebo On události. Můžeme napsat triggery, které provádějí validaci objektů nebo dat po vykonání některé úlohy. 27

Key triggery Jedná se především pro triggery funkčních kláves. Mají vzájemně jednoznačný vztah k určité klávese. Jména triggerů Jména triggerů korespondují s událostmi Oracle Forms. Pomocí zadání jména spojíme tento trigger s událostí, pro kterou chceme vykonat PL/SQL blok.tyto události jsou předdefinované. Např. trigger Whe-Button-Pressed (když je stisknuto tlačítko) koresponduje s událostí stisknutí tlačítka. Uživatel může tyto události vyvolat buď stisknutím klávesy nebo kliknutím tlačítka myši, vykonáním transakce ve formuláři, změnou v položce či záznamu, bloku nebo ve formuláři. Úroveň platnosti triggeru Každý trigger je spojen s položkou, blokem nebo celým formulářem. Nastavení úrovně platnosti triggeru buď na úroveň formuláře, bloku nebo položky je závislé na úrovni dosahu působení, kterou od triggeru očekáváme. Text triggeru Text triggeru specifikuje PL/SQL program, který má Oracle Forms vykonat, když se trigger spustí. Triggery zvyšují takové schopnosti zpracování, jako je provádění výpočtů. Pomocí jazyka PL/SQL můžeme definovat složité procedurální předpisy, které obsahují všechny standardní příkazy jazyka SQL včetně speciálních rutin Oracle Forms, které se nazývají vestavěné (bulit-in) rutiny. Text triggeru může být: Jakýkoli PL/SQL příkaz. Vestavěné rutiny, což jsou pojmenované procedury nebo funkce, které jsou k dispozici k Oracle Forms, existuje jich přes 100 a můžeme je volat z triggerů. 1.13.3 Tvorba jednoduchých triggerů Při tvorbě triggeru musíme nejdříve vybrat úroveň platnosti triggeru. V navigátoru objektů můžeme vybrat tvorbu triggeru na úrovni formuláře, bloku nebo položky. 28

Po výběru úrovně zobrazíme seznam triggerů (nejsnadnější způsob je použití SmartTrigger volby. Po výběru jména triggeru se dostaneme do PL/SQL editoru, ve kterém můžeme zadat kód PL/SQL programu. 29

Po zapsání kódu triggeru je třeba trigger zkompilovat. Po kompilaci je možné nastavit vlastnosti triggeru (pomocí Palety vlastností). 1.13.4 Struktura PL/SQL bloku Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd. Rozšířením jazyka SQL o proceduralitu od společnosti ORACLE je jazyk PL/SQL (Processing Language/Structured Query Language). Jazyk PL/SQL umožňuje deklarovat konstanty, proměnné a kurzory, podporuje transakční zpracování, řeší chybové stavy pomocí výjimek. PL/SQL podporuje modularitu. Typická struktura programového bloku se skládá ze tří částí: deklarační část výkonná část část pro zpracování výjimek (ošetření chyb a nestandardních stavů) Deklarační část obsahuje deklarace proměnných, konstant, kurzorů, atd. Výkonná část funkční logiku (algoritmus programového bloku), část výjimek řeší vzniklé chyby. Povinná je pouze část výkonná. Declare Deklarace proměnných, konstant a kurzorů Begin Výkonné příkazy Exception Ošetření nestandardních stavů 30

Deklarace proměnných a konstant DECLARE Jméno1 Jméno2 constant datový typ1:=hodnota1; datový typ2; Jméno3 datový typ3;... Jménon datový typn; Příklad deklarace konstanty a proměnných DECLARE p_nasob constant number(3,2) :=1.15; p_plat p_bonus number(7,2); number(9,2); Deklarace kurzoru DECLARE CURSOR jméno1 IS SELECT seznam FROM tabulka; Příklad: DECLARE CURSOR k1 IS SELECT jmeno FROM zamestanec; Výkonná část BEGIN Příkaz1; Příkaz2;. 31

.. Příkaz n; END; Příklad DECLARE p_jmeno char(15); deklarace proměnné pro načítání jmen CURSOR k1 IS deklarace kurzoru na základě selectu SELECT upper(jmeno) FROM zamestanec; BEGIN OPEN k1; LOOP FETCH k1 INTO p_jmeno; dbms_output.put_line (p_jmeno); EXIT WHEN k1% NOTFOUND; END LOOP; CLOSE k1; END; začátek výkonné části otevření kurzoru začátek cyklu načtení řádku tabulky zamestnanec a uložení jmena do prom. výpis jména na konzolu test na konec tabulky konec cyklu uzavření kurzoru konec výkonné části Pojmy k zapamatování Typ triggeru Úroveň platnosti triggeru Text triggeru Události: When, On, Pre, Post, Key SmartTrigger PL/SQL editor Struktura PL/SQL bloku 32

2 ČÁST PŘÍKLADŮ Příklad č. 1 Jednoduchý formulář na jednu tabulku Vytvořte jednoduchý formulá ř, který bude splňovat následující podmínky: Vytvořte formulář na tabulku Pojišťovna. Vložte na formulář všechny položky tabulky Pojišťovna. Vytvořte si vizuální atribut VA1 a veškeré položky na formuláři zobrazte pomocí tohoto vizuálního atributu. 33

Po spuštění Modul přejmenujte na Ordinace1 a rovněž formulář uložte pod jménem Ordinace1. Příklad č. 2 Formulář s podformulářem s vazebním polem Otevřete formulář Ordinace1, přejmenujte modul na Ordinace2 a uložte formulář pod jménem Ordinace2. Dále proveďte následující úpravy ve formuláři Ordinace2: Změňte vizuální atribut VA1. Zkontrolujte, jak se to odrazilo na podobě položek na formuláři. Vložte do modulu Ordinace2 další datový blok, použijte průvodce. Vytvořte vztah, kdy vztahovou položkou bude kod_pojistovny. Datový blok vložte na stejný canvas. Na formulář vložte všechny položky. Zvolte styl tabulkový. Nadpis rámu zvolte seznam pacientů. Počet zobrazovaných záznamů bude 5. Nechte zobrazovat posuvník. Upravte velikost canvasu tak, aby se vám na něj vešly všechny položky. Spusťte modul. Vytvořte vizuální atribut VA2 a všechny položky vnořeného datového bloku zobrazte pomocí vizuálního atributu VA2. 34

Upravte popisky. Po spuštění Zobrazte data v tabulkách (dotaz/provést) 35

Příklad č. 3 Kontrolní blok Vytvořte kontrolní blok. Kontrolní blok je zvláštní typ datového bloku, který neobsahuje žádné položky. Klikněte na datový blok a vytvořte nový blok ručně. Otevřete paletu vlastností a změňte jméno bloku. Do tohoto bloku budeme později vkládat objekty. Vytvořte rám a spojte jej s řídícím blokem. Dále nastavte texty pomocných dolních řádků pro položky datum_navstevy (zadejte datum návštěvy) a pro dávkování (zvolte editor pro dávkování). 36

Příklad č. 4 Formulář s LOV objektem Pro zadávání nových pacientů do tabulky Pacient vytvořte formulář, který bude položku Kód Pojišťovny vyplňovat pomocí LOV a skupiny záznamů založených na dotazu. Modul, který bude řešit tento úkol pojmenujte Ordinace4. Formulář uložte do souboru Ordinace4. Nový formulář. Přidat datový blok pomocí průvodce na tabulku Pacient, styl formulářový. Vytvořte LOV včetně nové skupiny záznamů, založené na dotazu, který vybere všechny položky z tabulky Pojišťovna. Nastavte šířky sloupců a vložte návratovou hodnotu Pacient.Kod_Pojistovny. V paletě nástrojů daného LOV nastavte automatické zobrazení. Vyzkoušejte editování tabulky Pacient pomocí tohoto formuláře. 37

Nástin řešení 38

Příklad č. 5 Formulář s editorem pro položku typu CLOB Vytvořte formulář Ordinace5, který bude umožňovat zadávat data do tabulky recept. Datum_navstevy, ICO a Rodne_cislo bude brát z tabulky Navsteva, Davkovani a mnozstvi se bude zadávat, přičemž pro položku Davkovani, která je typu clob vytvořte editor. Nový datový blok (tabulka recept). LOV pro položky Datum_navstevy, ICO a Rodne_cislo. V paletě nástrojů daného LOV nastavte automatické zobrazení. Vyzkoušejte editování tabulky Recept pomocí tohoto formuláře. Přidejte editor 39

Příklad č. 6 Skupina přepínačů Změňte položku množství z textové položky na skupinu přepínačů tak, že v nabídce bude 1, 2, 3 a 4. 40

Po spuštění Příklad č. 7 Formulář se zaškrtávacím políčkem Do formuláře Ordinace6 vložte zaškrtávací políčko, které bude spojeno s položkou tabulky Recept s názvem platny. Tuto položku nejdříve přidejte do struktury tabulky s datovým typem Integer). Pamatujte na nastavení hodnot pro zatrženo a nezatrženo. Editujte datové vlastnosti položky podle aktuální struktury tabulky Recept. Formulář uložte do souboru Ordinace7 a modul taky přejmenujte na Ordinace7. Nezapomeňte položku umístit na CANVAS. 41

Obecné vlastnosti položky Platny: Funkční vlastnosti: Datové vlastnosti: 42

Fyzické vlastnosti: Po spuštění Příklad č. 8 Položka zobrazení Do formuláře Ordinace7 vložte položku zobrazení: dnešní_datum a položku s výpočtem dnešní_datum datum_navstevy pro každý zadávaný recept a tyto položky zároveň doplňte popisky. 43

Vlastnosti položky DNESNI_DATUM: Vlastnosti položky POČET_DNU: 44

Okno pro zadávání vzorce Všimněte si, že položka formuláře musí být vždy uvedena znakem :. Po spuštění Modul přejmenujte na Ordinace8 a uložte do souboru Ordinace8. 45

Příklad č. 9 Položka typu obrázek Tabulku Pacient databáze rozšiřte o atribut FOTO datového typu LONG RAW. Vytvořte nový modul ve formsech s názvem ORDINACE9. Datový blok bude na tabulku Pacient a vložte veškeré atributy do bloku jako textové položky kromě atributu FOTO, který bude obrázek. Nastavte vlastnosti 46

Pro plnění dat je třeba vytvořit trigger READ_IMAGE_FILE('jmeno_souboru','typ_souboru','polozka'); Např. READ_IMAGE_FILE('H:\Vyuka\Forms\logo.jpg','JPEG','FOTO'); Pro obecnější volbu jména souboru lze použít: READ_IMAGE_FILE( :RODNE_CISLO.jpg','JPEG','FOTO'); Po spuštění 47

Příklad č. 10 Prvky seznamu Ve formuláři Ordinace9 proveďte následující změnu: Změňte typ položky Pojišťovna na položka seznamu a nastavte v prvcích seznamu hodnoty kódů pojišťoven z tabulky Pojišťovna. 48

Pro každý prvek seznamu je nutné uvést hodnotu, která se bude zapisovat do tabulky. Pozměněný formulář přejmenujte na Ordinace10 a uložte pod jménem Ordinace10 na disk. 49

KORESPONDENČNÍ ÚKOL Navrhněte jednoduchý datový model skládající se ze dvou relací (Kniha a Exemplář). Zvolte vhodně atributy, primární klíče a cizí klíč (Exemplář je existenčně závislý na Knize). Vygenerujte schéma do Oracle. V prostředí Oracle Forms Builder vytvořte formulář, který bude sloužit k vkládání, mazání a aktualizaci dat o knihách a exemplářích. Bude obsahovat textové položky, zobrazované položky a další typy položek dle vlastního výběru. Navrhněte vhodně datové bloky, event. bloky řídící, vizuální atributy a dále navrhněte aspoň jeden trigger When a jeden trigger On. 50

POUŽITÁ LITERATURA Pam Gamer: Oracle Form Developer 10g: Student Guide, Volume 1 Pam Gamer: Oracle Form Developer 10g: Student Guide, Volume 2 Luboslav Lacko: Oracle: Správa, programování a použití databázového systému, Computer Press, Brno 2003, ISBN 80-7226-669-3 Kevin Loney, Marlene Theriault: Mistrovství v Oracle, Computer Press, Praha 2002, ISBN 80-7226-635-7 51