Oracle Designer i Oracle Form Builder



Podobne dokumenty
ĆWICZENIE Uruchomić Oracle Forms Builder. 2. Utworzyć nowy formularz (File->New->Form) 3. Nawiązać połączenie z bazą danych (file-connect).

Oracle Developer/2000 Form Builder

WHEN_NEW_FORM_INSTANCE

Oracle Developer Suite. Budowa aplikacji użytkownika końcowego

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

BAZY DANYCH Panel sterujący

DECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ];

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

OBIEKTY TECHNICZNE OBIEKTY TECHNICZNE

Tworzenie bazy danych na przykładzie Access

I. Interfejs użytkownika.

6. Formularze tabelaryczne, obiekty nawigacji - rozgałęzienia

Dodanie nowej formy do projektu polega na:

Język PL/SQL Procedury i funkcje składowane

PODSTAWY BAZ DANYCH 13. PL/SQL

BAZY DANYCH Formularze i raporty

Procedury i funkcje składowane

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1

Microsoft Access zajęcia 3 4. Tworzenie i wykorzystanie kwerend, formularzy i raportów

15. Funkcje i procedury składowane PL/SQL

Obszar Logistyka/Zamówienia Publiczne

Bloki anonimowe w PL/SQL

Access - Aplikacja. Tworzenie bazy danych w postaci aplikacji

Pakiety podprogramów Dynamiczny SQL

DECLARE VARIABLE zmienna1 typ danych; BEGIN

MS Excel 2007 Kurs zaawansowany Obsługa baz danych. prowadzi: Dr inż. Tomasz Bartuś. Kraków:

5. Integracja stron aplikacji, tworzenie zintegrowanych formularzy i raportów

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Kolumna Zeszyt Komórka Wiersz Tabela arkusza Zakładki arkuszy

PL/SQL. Zaawansowane tematy PL/SQL

Bazy danych Access KWERENDY

Język PL/SQL. Rozdział 5. Pakiety podprogramów. Dynamiczny SQL

LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika

Plan. Aplikacja. Architektura aplikacji. Architektura aplikacji Tworzenie aplikacji Application Builder podstawy

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

Tworzenie prezentacji w MS PowerPoint

5. Bazy danych Base Okno bazy danych

QUERY język zapytań do tworzenia raportów w AS/400

Pakiety są logicznymi zbiorami obiektów takich jak podprogramy, typy, zmienne, kursory, wyjątki.

MGA Sp. z o.o Toruń ul. Piaskowa 6

Oracle Application Express

Procedury składowane. Funkcje vs. procedury Funkcja. Procedura. zazwyczaj ma parametry tylko typu IN; można wywoływać z poziomu

2. Kliknij Insert->Userform. Jeżeli Toolbox nie pojawi się automatycznie, kliknij View -> Toolbox. Otrzymany widok powinien być jak poniżej.

3. Budowa prostych raportów opartych o bazę danych

Oracle PL/SQL. Paweł Rajba.

Projekt Hurtownia, realizacja rejestracji dostaw produktów

Systemy GIS Tworzenie zapytań w bazach danych

w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze

Dane wejściowe. Oracle Designer Generowanie bazy danych. Wynik. Przebieg procesu

UMOWY INSTRUKCJA STANOWISKOWA

Plan. Raport. Tworzenie raportu z kreatora (1/3)

Autor: Joanna Karwowska

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Język PL/SQL. Rozdział 3. Obsługa błędów wykonania Wyjątki predefiniowane i użytkownika, zgłaszanie i obsługa wyjątków.

Oracle Report Builder Materiały szkoleniowe

Temat: Organizacja skoroszytów i arkuszy

7. Formularze master-detail

System imed24 Instrukcja Moduł Analizy i raporty

Materiały do laboratorium MS ACCESS BASIC

Formularze i raporty w MS Access

Wstęp 7 Rozdział 1. OpenOffice.ux.pl Writer środowisko pracy 9

Oracle PL/SQL. Paweł Rajba.

Plan wykładu BAZY DANYCH II WYKŁAD 3. Zasięg zmiennych. Zasięg zmiennych

MS Access formularze

Kursory i wyjątki. (c) Instytut Informatyki Politechniki Poznańskiej 1

Przygotuj za pomocą tabulatorów element formularza. Utwórz pole tekstowe i sformatuj tak, aby dół napisu w polu był dokładnie nad kropkami.

ACCESS ćwiczenia (zestaw 1)

Laboratorium 050. Crystal Reports. Ćwiczenie 1. Otwarte pozycje

Oracle11g: Programowanie w PL/SQL

Bazy danych raporty. 1. Przekopiuj na dysk F:\ bazę M5BIB.mdb z dysku wskazanego przez prowadzącego.

Przestrzenne bazy danych Podstawy języka SQL

Formularze w programie Word

Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface)

Zwróćmy uwagę w jakiej lokalizacji i pod jaką nazwą zostanie zapisana baza (plik z rozszerzeniem *.accdb). Nazywamy

1. Przypisy, indeks i spisy.

Plan. Stan sesji (1/2) Stan sesji (2/2) Stan sesji Tworzenie przycisku Integracja prostego formularza z raportem Tworzenie formularza z raportem

4. Budowa prostych formularzy, stany sesji, tworzenie przycisków

Symfonia Produkcja. Kreator raportów. Wersja 2013

Przygotowanie formularza do wypożyczenia filmu:

Zmiany funkcjonalne i lista obsłużonych zgłoszeń Comarch DMS , Comarch DMS i Comarch DMS

Deklarowanie kursora

Oracle Application Express

MS Excell 2007 Kurs podstawowy Filtrowanie raportu tabeli przestawnej

BAZA_1 Temat: Tworzenie i modyfikowanie formularzy.

WPROWADZENIE DO BAZ DANYCH

Laboratorium Oracle Forms

Informatyzacja Przedsiębiorstw

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

Tworzenie raportów XML Publisher przy użyciu Data Templates

5.4. Tworzymy formularze

Oracle11g: Wprowadzenie do SQL

DIAGNOSTYKA DIAGNOSTYKA

Zadanie 11. Przygotowanie publikacji do wydrukowania

Projektowanie baz danych za pomocą narzędzi CASE

LABORATORIUM 6: ARKUSZ MS EXCEL JAKO BAZA DANYCH

REJESTRACJA PROJEKTÓW

Budowa i oprogramowanie komputerowych systemów sterowania. Laboratorium 4. Metody wymiany danych w systemach automatyki DDE

Transkrypt:

Oracle Designer i Oracle Form Builder Materiały szkoleniowe 1

Spis treści Spis treści... 2 Wstęp... 3 Wprowadzenie do CASE*Method...4 Wprowadzenie do Form Builder...9 Uruchamianie i obsługa aplikacji utworzonych za pomocą narzędzia Form Builder...13 Środowisko Form Builder...17 Tworzenie prostych formularzy... 19 Bloki danych... 22 Pola tekstowe... 25 Pozostałe obiekty umożliwiające operowanie na danych... 30 Elementy formularza nie pozwalające na wprowadzanie danych...32 Okna i kanwy... 35 Wyzwalacze w Form Builder...38 Wyświetlanie komunikatów i obsługa błędów...42 Wyzwalacze obsługujące zapytania do bazy danych... 45 Walidacja wprowadzanych danych... 47 Nawigacja w formularzach...50 Przetwarzanie transakcyjne w formularzach...52 Zmienne systemowe i operacje na właściwościach obiektów...55 Aplikacje obejmujące wiele formularzy... 59 Tworzenie menu...62 Zegar... 64 2

Wstęp Celem zawartego w tym dokumencie materiału jest przedstawienie możliwości tworzenia aplikacji z wykorzystaniem narzędzi firmy Oracle. W pracy tej szczególny nacisk został położony na tworzenie formularzy z wykorzystaniem programu Form Builder. Zaprezentowane zostały też wcześniejsze etapy realizacji projektu informatycznego bazujące na Oracle Designer, jednakże jest to ujęcie bardziej poglądowe i prezentacyjne. Materiału zawartego w tej pracy nie należy traktować jako kompletnego podręcznika wyczerpującego tematykę tworzenia aplikacji w oparciu o wspomniane programy. Autor ma jednak nadzieję, że będzie to dobry punkt wyjścia do dalszej nauki. 3

Wprowadzenie do CASE*Method Dążenia do usystematyzowania i poprawy jakości wytwarzanego oprogramowania doprowadziły do rozwoju dziedziny informatyki nazywanej Inżynierią oprogramowania. Rozwój tej nauki zaowocował opracowaniem różnych standardów realizacji projektów informatycznych i pojawieniem się programów wspomagających proces tworzenia oprogramowania. Tak została opracowana metodyka CASE (ang. Computer Aided Software Engeenering), czyli komputerowo wspomagana inżynieria oprogramowania. Ma ona w pełni odzwierciedlenie w narzędziach firmy Oracle. Poniżej zostały przedstawione główne fazy cyklu życia projektu informatycznego i ich odwzorowanie w produktach Oracle (Designer). 4

W tym rozdziale będą zaprezentowane wybrane programy z pakietu Oracle Designer: Entity Relationship Diagrammer tworzenie diagramu związków encji Function Hierarchity Diagrammer tworzenie diagramu funkcji Database Design Transformer wygenerowanie struktur tabel z diagramu encji Application Design Transformer wygenerowanie modułów z diagramu funkcji Design Editor dalsze projektowanie tabel i modułów Entity Relationship Diagrammer: umożliwia modelowanie związków encji 5

Encja (ang. entity): obiekt rzeczywisty lub niematerialny mający znaczenie dla organizacji, o którym informacje muszą być przechowywane każda encja musi być jednoznacznie identyfikowalna encja posiada atrybuty, które służą do identyfikacji, klasyfikacji lub wyrażenia stanu encji. Wartości jakie mogą przyjmować atrybuty są ograniczone przez typ, wielkość i zbiór wartości dopuszczalnych opisy atrybutów i encji są ważne dla generowania dokumentacji Związek (ang. relationship): nazwane, istotne powiązanie między encjami każdy związek ma dwa końce, z których każdy ma przypisaną: nazwę stopień/liczebność opcjonalność (opcjonalny/wymagalny) Function Hierarchity Diagrammer: pozwala na utworzenie diagramu hierarchii funkcji realizowanych przez organizację umożliwia: tworzenie, modyfikację i dekompozycję funkcji określenie sposobu wykorzystania danych przez funkcję automatyczne tworzenie podzbiorów dużych i złożonych hierarchii Database Design Transformer: encja -> tabela atrybut -> kolumna typ atrybutu -> typ kolumny dziedzina atrybutu -> ograniczenie check unikalny identyfikator encji -> klucz główny tabeli związki -> ograniczenia referencyjne (klucze obce) Application Design Transformer: umożliwia generację modułów na podstawie diagramów funkcji 6

Design Editor: umożliwia: przeglądanie i ręczną modyfikację powstałego w wyniku transformacji schematu logicznego bazy danych definiowanie dodatkowych obiektów schematu logicznego: liczników, perspektyw, kodu PL/SQL utworzenie diagramu schematu modelu relacyjnego modyfikację i dalsze budowanie modułów aplikacji (przyszłych formularzy i raportów) 7

generację fizycznej struktury bazy generację modułów do formularzy i raportów Po wygenerowaniu plików formularzy i raportów dalszy proces ich obróbki odbywa się przy pomocy narzędzi pakietu Oracle Developer (odpowiednio Oracle Report Builder i Oracle Form Builder). 8

Wprowadzenie do Form Builder Oracle Forms Developer jest środowiskiem dostarczającym zestawu narzędzi pozwalających projektantom łatwo i szybko konstruować formularze bazodanowe i logikę biznesową. Programy składowe tego pakietu są mocno zintegrowane z Oracle Designer środowiskiem projektowym umożliwiającym modelowanie wymagań biznesowych. Przedmiotem dalszej części tego dokumentu będzie zaprezentowanie możliwości Oracle Form Builder. Architektura oprogramowania narzędziowego Oracle D esign er D evelo per C /C ++ VB D e lp hi SQ L PL /SQ L SQ L *N et R D BM S O r a cle Opis składników Oracle Developer: Project Builder Form Builder Report Builder Graphics Builder Procedure Builder Query Builder Schema Builder środowisko projektowe środowisko uruchomieniowe generator wersji uruchomieniowej 9

Elementy interfejsu projektanta wspólne dla składników pakietu Oracle Developer Nawigator obiektów Edytor układu Paleta właściwości Edytor PL/SQL Nawigator obiektów (ang. Object Navigator): przedstawia obiekty składowe modułu w postaci hierarchicznej Paleta właściwości (ang. Property Palette): przedstawia właściwości danego obiektu można ją wyświetlić i edytować dla każdego obiektu Edytor układu (ang. Layout Editor): pozwala na modyfikację strony wizualnej aplikacji Edytor PL/SQL (ang. PL/SQL Editor): służy do edycji i kompilacji jednostek programu PL/SQL Dostosowywanie sesji z narzędziami Oracle Developer (Preferencje): Ogólne: Zapisz przed skonstruowaniem Skonstruuj przed uruchomieniem Dostęp: Miejsce składowania źródeł modułów (plik, baza danych) Ograniczenie listy przy Plik/Otwórz Kreatory: Włączanie okien powitalnych kreatorów Runtime: 10

Parametry pracy tworzonych aplikacji (optymalizacja przetwarzania, debugger) Składowanie źródeł aplikacji tworzonych w Oracle Developer może odbywać się: w bazie danych: wymaga wcześniejszego utworzenia odpowiednich tabel, zalecane gdy: wymagana jest kontrola dostępu do źródeł aplikacji nie ma miejsca w systemie plików aplikacje są współdzielone przez projektantów czas dostępu do modułów nie jest istotny w systemie plików, zalecane gdy: zalety składowania w bazie danych nie są istotne istotny jest czas dostępu do źródeł aplikacji Zmienne środowiskowe Oracle Developer (runtime): FORMS60_PATH ścieżka przeszukiwania dla modułów Form Builder REPORTS60_PATH ścieżka przeszukiwania dla modułów Report Builder GRAPHICS60_PATH ścieżka przeszukiwania dla modułów Graphics Builder UI_ICON ścieżka przeszukiwania dla ikon Diagram encji wykorzystywanych w ćwiczeniach: Ćwiczenie 1 1. Uruchom narzędzie Form Builder 2. Upewnij się, że ustawione są następujące preferencje: 11

a. Zapisywanie modułów tylko w systemie plików b. Konstruowanie modułu przed uruchomieniem c. Brak automatycznego zapisu przed skonstruowaniem 3. Przejrzyj obiekty bazy danych (pamiętaj o dołączeniu się do bazy danych) 4. Wyjdź z Form Builder 12

Uruchamianie i obsługa aplikacji utworzonych za pomocą narzędzia Form Builder Menu Pasek narzędzi Okno Okno MDI Konsola Uruchamianie aplikacji: np. IFRUN60 nazwa_modułu [parametry] nazwa komendy zależy od systemu operacyjnego i wersji Form Builder środowisko okienkowe MDI (multiple - document interface) Menu: alternatywa dla skrótów klawiszowych domyślne można zmienić Paski narzędzi (ang. toolbars): graficzne skróty do pozycji menu dostępne dla macierzystego okna MDI oraz pozostałych okien aplikacji Konsola: linia komunikatów: - miejsce pojawiania się komunikatów systemowych i generowanych przez aplikację 13

linia statusu: - kolejny numer rekordu w bloku - tryb pracy formularza - dostępność listy wartości dla bieżącego pola Elementy formularza: Stały tekst Stałe elementy graficzne Etykiety pól Pola tekstowe Elementy listowe Pola wyświetlania Pola wyboru Grupy radiowe Wykresy Obrazy Formanty ActiveX Kontenery OLE Kontenery OLE Przyciski Dźwięki Drzewa hierarchiczne Sposoby nawigacji w formularzu: Menu / Pasek narzędzi menu: przesuwanie kursora, zapisywanie i anulowanie zmian, wykonywanie zapytań, wstawianie i usuwanie rekordów, wywołanie pomocy Mysz: przesuwanie kursora, wybór z menu i list wartości, obsługa pól wyboru i grup radiowych, przełączanie między oknami, obsługa okien komunikatów i pasków przewijania Przyciski: funkcje zależne od aplikacji (np. obliczenia, wywołanie innych okien) Klawisze funkcyjne: nawigacja, funkcje zależne od aplikacji podgląd funkcji klawiszy: Pomoc / Klawisze zmiana domyślnych: plik terminala Tryby pracy formularza: Tryb wprowadzania zapytań (Enter Query Mode): pozwala na: odczyt wszystkich rekordów odczyt rekordów spełniających kryteria selekcji wprowadzone do pól lub okienka Zapytanie/Klauzula WHERE odczyt liczby rekordów, które zwróci zapytanie nie pozwala na: wstawianie, usuwanie i modyfikację rekordów opuszczenie bieżącego bloku korzystanie z niektórych funkcji Tryb normalny (Normal Mode): pozwala na: 14

odczyt wszystkich rekordów wstawianie, usuwanie i modyfikację rekordów zatwierdzanie i wycofywanie zmian nawigację między blokami nie pozwala na: specyfikację warunków selekcji rekordów Wykonywanie zapytań w bieżącym bloku: Bez kryteriów selekcji: Bez kryteriów selekcji: Zapytanie/Wykonaj Zapytanie/Wykonaj Przycisk Wykonaj zapytanie Przycisk Wykonaj zapytanie Z kryteriami selekcji: Przejście do trybu wprowadzania zapytań:wprowadzania zapytań Zapytanie/Wprowadź Zapytanie/Wprowadź Przycisk Wprowadź zapytanie Przycisk Wprowadź zapytanie Wprowadzenie kryteriów selekcji 2) Wprowadzenie kryteriów selekcji Wykonanie zapytania:3) Wykonanie zapytania Zapytanie/Wykonaj Zapytanie/Wykonaj Przycisk Wykonaj zapytanie Przycisk Wykonaj zapytanie Wprowadzanie kryteriów selekcji i wyszukiwanie danych: Brak apostrofów we wzorcach pól znakowych i dat Znaki specjalne _ i % wywołują operator LIKE Operatory SQL należy poprzedzić znakiem # Skomplikowane warunki i klauzul ORDER BY wprowadza się w okienku Query / Where (wymagane apostrofy) Dla dat obowiązuje domyślny format Przykłady wzorców: 110, Kowal - dokładne dopasowanie Kow % - operator LIKE #BETWEEN 10 AND 20 - operator BETWEEN :S - Warunek w Zapytanie / Klauzula WHERE (:S nazwa zmiennej) Wstawianie, modyfikacja i usuwanie rekordów: Wstawianie: utworzenie pustego rekordu poprzez: przejście kursorem poniżej ostatniego rekordu menu Rekord / Wstaw przycisk Wstaw rekord na pasku narzędzi odpowiedni klawisz funkcyjny wprowadzenie danych do pól rekordu Modyfikacja: przejście do szukanego rekordu (po wydaniu zapytania) modyfikacja zawartości pól 15

Usuwanie: przejście do szukanego rekordu (po wydaniu zapytania) usunięcie bieżącego rekordu poprzez: menu Rekord / Usuń przycisk Usuń rekord na pasku narzędzi odpowiedni klawisz funkcyjny Zatwierdzanie i wycofywanie zmian: Akcja / Zapisz (lub przycisk na pasku narzędzi) Akcja / Wyczyść wszystko Zakończenie sesji: Akcja / Zakończ (lub przycisk na pasku narzędzi) Odpowiedni klawisz funkcyjny Informacje o błędach SQL: Pomoc / Pokaż błąd Ćwiczenie 2 1. Uruchom aplikację appl_1. 2. Wyświetl dane zespołu, którego adres to POLNA 14. 3. Dla zespołu z punktu 2 wyświetl pracowników, których nazwisko zaczyna się na literę B lub C. Wyniki posortuj według etatu zatrudnienia pracownika. 4. Wprowadź błędną klauzulę WHERE. Wykonaj zapytanie. Obejrzyj informację o błędach. 16

Środowisko Form Builder Możliwości aplikacji Form Builder: Przeglądanie danych z bazy danych (zapytania SQL) Wstawianie, usuwanie i modyfikacja rekordów Prezentacja danych: tekstowych multimedialnych (dźwięki, obrazy i filmy) Praca z wieloma oknami: w ramach tej samej transakcji w ramach różnych transakcji Dostęp do wykresów Graphics Builder Dostęp do aplikacji OLE2 Wysyłanie danych do Report Builder Typy modułów Form Builder: Formularze (ang. Forms).fmb,.fmt (źródło: postać binarna i tekstowa).fmx (postać wykonywalna) Menu (ang. Menus).mmb,.mmt (źródło: postać binarna i tekstowa).mmx (postać wykonywalna) Biblioteki PL/SQL (ang. PL/SQL Libraries).pll (źródło + postać wykonywalna).plx (postać wykonywalna).pld (źródło: postać tekstowa) Biblioteki obiektów (ang. Object Libraries).olb,.olt (źródło: postać binarna i tekstowa) Podstawowe obiekty formularza: Bloki (ang. Blocks): logicznie grupują elementy: - pochodzące z tej samej tabeli - należące do tego samego cyklu nawigacji Elementy (ang. Elements): prezentują dane mogą akceptować wprowadzanie danych logicznie pogrupowane w bloki wizualnie rozmieszczone na kanwach Kanwy (ang. Canvases): 17

powierzchnie, na których umieszczane są elementy aby mogły być wyświetlane Typy bloków: Bloki danych (ang. Data Blocks): powiązane ze źródłem danych: tabelą lub perspektywą (najczęściej) procedurą składowaną, zapytaniem lub wyzwalaczem transakcyjnym (rzadziej) gdy bazują na tabeli, Form Builder automatycznie obsługuje zapytania i instrukcje DML oraz uwzględnia ograniczenia integralnościowe elementy bloku bazującego na tabeli mogą odpowiadać danym z innych tabel (dostęp programowy) Bloki kontrolne (ang. Control Blocks) nie mają powiązania z bazą danych logicznie grupują takie elementy jak np. przyciski Powiązania między blokami: Między blokami mogą istnieć zależności nadrzędny podrzędny (ang. master detail) Zależności takie w definicji formularza reprezentowane są jako tzw. Relacje (ang. Relations) Zależności te najczęściej odpowiadają powiązaniom Klucz główny -> Klucz obcy w bazie danych 18

Tworzenie prostych formularzy Sposoby tworzenia formularza: Przy pomocy kreatorów Kreator bloków danych (ang. Data Block Wizard) Kreator układu (ang. Layout Wizard) Ręcznie Tworzenie nowego formularza: Wybór opcji z powitalnego okna kreatora Modyfikacja tworzonego przy wejściu pustego formularza Z poziomu menu głównego (Plik/Nowy) Z poziomu Nawigatora obiektów Paleta właściwości formularza: Nazwa Menu System współrzędnych: rzeczywiste: Piksel Centymetr Cal Punkt = 1/72 cala znakowe: wg rozmiaru czcionki Kreator bloków danych: Wybór typu bloku danych: bazujący na tabeli lub perspektywie bazujący na procedurze Wybór tabeli / perspektywy / procedury źródłowej Wybór atrybutów, które mają być uwzględnione w bloku Możliwość włączenia kontroli spójności danych (w oparciu o ograniczenia integralności) Możliwość przejścia do Kreatora układu Kreator układu: Wybór kanwy, na której mają znaleźć się elementy bloku Wybór elementów, które mają być wyświetlane Wybór stylu układu ramki bloku formularz (wskazany dla bloków pokazujących 1 rekord) 19

tabela (dla bloków zawierających wiele rekordów) Wybór liczby rekordów wyświetlanych w bloku Modyfikacja układu: Ponowne wywołanie Kreatora układu Edytor układu (Narzędzia / Edytor układu) Zmiana właściwości elementów (palety właściwości) Opcje administracyjne: Zapisywanie definicji modułu Plik / Zapisz Kompilacja modułu Plik /Administracja / Kompiluj plik Uruchamianie Program / Uruchom (lub przycisk) Konwersja definicji modułu do postaci tekstowej Plik / Administracja / Przekształć Utworzenie dokumentacji modułu Plik / Administracja /Raport z list obiektów Tworzenie powiązań między blokami: Strona nadrzędny podrzędny w Kreatorze bloków danych opcja automatycznego połączenia bloków wybór bloku nadrzędnego i atrybutów połączeniowych Ręczne utworzenie relacji między blokami sekcja Relacje w Nawigatorze obiektów dla bloku, który ma być blokiem nadrzędnym Uwagi Strona nadrzędny podrzędny jest dostępna gdy istnieją już jakieś bloki w formularzu Najpierw należy utworzyć blok nadrzędny a dopiero później podrzędny Właściwości związku między blokami: Nazwa związku, blok nadrzędny, blok podrzędny Zachowanie przy usuwaniu rekordu nadrzędnego kaskadowo (usuwa podrzędne razem z nadrzędnym) pojedynczo (usuwa tylko nadrzędny) nie pojedynczo (uniemożliwia usunięcie nadrzędnego gdy istnieją podrzędne) Koordynacja odroczone zapytanie automatyczne zabroń operacji bez obiektów nadrzędnych Warunek złączenia (w oparciu o nazwy bloków i elementów w formularzu) Ćwiczenie 3 1. Utwórz nowy formularz i nazwij go appl_1. 20

2. Uruchom kreator bloków danych, a następnie kreator układu. Dodaj do formularza blok ZESPOLY stanowiący odpowiednik tabeli ZESPOLY. Dane z wszystkich kolumn niech będą wyświetlane w postaci jednego wiersza. Uwzględnij pasek przewijania. Uruchom formularz i sprawdź czy pokazuje zawartość tabeli ZESPOLY. 3. Przy pomocy kreatorów utwórz blok PRACOWNICY opierający się na tabeli PRACOWNICY. Powiąż go z blokiem ZESPOLY. W bloku PRACOWICY pokaż w postaci tabelarycznej 8 wierszy. Zapewnij wyświetlanie danych z kolumn: ID_PRAC, NAZWISKO, ETAT, ID_SZEFA, ZATRUDNIONY, PLACA_POD, PLACA_DOD, ID_ZESP. Dodaj pasek przewijania. Ustaw blok PRACOWNICY jako drugi w Nawigatorze Obiektów. Uruchom formularz i sprawdź jego działanie. 4. Ukryj pole ID_ZESP w bloku PRACOWNICY (ustaw właściwość Kanwa na Brak). 5. Ustaw tytuł okna tak aby pokazywał napis Zespoły i pracownicy. 21

Bloki danych Oracle Designer i Oracle Form Builder Materiały szkoleniowe Paleta właściwości bloków: Ogólne Nawigacja Rekordy Baza danych Baza danych - zaawansowane Pasek przewijania Czcionka i kolor Tryb znakowy Narodowe Właściwości nawigacyjne: Styl nawigacji ten sam rekord zmiana rekordu zmiana bloku danych Poprzedni blok danych w nawigacji (domyślnie poprzedni w hierarchii) Następny blok danych w nawigacji (domyślnie następny w hierarchii) Właściwości dotyczące rekordów: Grupa atrybutów wizualnych bieżącego rekordu Zapytania - rozmiar tablicy Liczba buforowanych rekordów Liczba wyświetlanych rekordów Pobieranie wszystkich rekordów Ułożenie rekordów: poziome pionowe Pojedynczy rekord Właściwości bazodanowe: Blok bazy danych Wymuszanie klucza głównego Zapytania / Wstawianie / Modyfikacja / Usuwanie dozwolone Informacje o źródle danych (typ, nazwa, kolumny) Klauzule WHERE i ORDER BY Wskazówka optymalizatora Tryb blokowania (natychmiastowe lub opóźnione) Modyfikacja tylko zmienionych kolumn 22

Maksymalny czas zapytania Maksymalna liczba pobieranych rekordów Właściwości wizualne bloku: Czcionka Kolor Wzór wypełnienia Grupa atrybutów wizualnych Atrybuty wizualne: Obiekty formularza posiadające następujące właściwości: Czcionka Kolor Wzór wypełnienia Wykorzystywane do określania powyższych właściwości dla elementów formularza Mogą mieć określone tylko niektóre z właściwości Ramki: obszary w obrębie kanwy ramka zawiera elementy bloku danych tworzone przez Kreator układu można tworzyć je ręcznie w Edytorze układu Właściwości ramek: uaktualnianie układu (automatyczne, ręczne, zablokowane) styl układu (formularz, tabela) położenie na kanwie i wymiary odstęp między rekordami Bloki kontrolne: Nie powiązane z bazą danych Tworzone ręcznie (bez użycia kreatora) Usuwanie bloków: Przycisk Usuń na pasku narzędzi Nawigatora obiektów Menu Nawigator / Usuń Ćwiczenie 4 1. Utwórz atrybut wizualny o nazwie PODSWIETLENIE_AKT_REK. Ustaw typ atrybutu na Ogólny i kolor tła na cyan. 2. Ustaw właściwość Grupa atrybutów wizualnych bieżącego rekordu w bloku PRACOWNICY na utworzony w punkcie 1 atrybut. 23

3. W bloku ZESPOLY zapewnij sortowanie po kolumnie NAZWA, zaś w bloku PRACOWNICY po kolumnie NAZWISKO. 4. Zmień właściwości ramek dotyczące uaktualniania układu na Ręczne. 24

Pola tekstowe Oracle Designer i Oracle Form Builder Materiały szkoleniowe Tworzenie i funkcje pól tekstowych: Tworzenie pól tekstowych: przez kreatory w Nawigatorze obiektów w Edytorze układu poprzez zmianę typu istniejącego pola Funkcje: domyślny typ pola zapytania, wstawianie, modyfikacja i usuwanie danych Właściwości pól tekstowych: Atrybuty wizualne Etykiety Funkcjonalne Nawigacja Dane Obliczenia Rekordy Baza danych Lista wartości Edytor Fizyczne Pomoc Narodowe Wartości domyślne: Wartość stała (23, Brak ) Zmienna systemowa ($$DATE$$, $$DATETIME$$, $$TIME$$, $$DBDATE$$, $$DBDATETIME$$, $$DBTIME$$) Zmienna globalna (:GLOBAL.nazwa_ zm) Parametr formularza (:PARAMETER.nazwa_par) Element formularza (:blok.element) Sekwencja (:SEQUENCE.nazwa_ sekw.nextval) Lista wartości (ang. list of values): okienko z dynamicznie generowaną listą wartości do wyboru mogą być wywoływane niezależnie od elementów tekstowych formularza Właściwość Edytor: NULL domyślny edytor Forms 25

nazwa zaprojektowanego edytora SYSTEM_EDITOR wywołany zostanie edytor zewnętrzny (domyślny systemu operacyjnego) Grupy rekordów: Posiadają strukturę tabel w bazie danych Zawierają wartości statyczne lub będące wynikiem zapytania SQL Zastosowania udostępnianie danych listom wartości udostępnianie danych dla programowej zmiany zawartości list (elementów typu Lista) przekazywanie danych do Graphics Builder i i Report Builder Programowe operowanie na grupie rekordów: Dodanie rekordu do dynamicznej grup rekordów: declare rg _id RecordGroup; gc _id_ zesp GroupColumn; gc _ nazwa GroupColumn; row_no number; begin rg _id:=find_group('rg_dynamiczna'); gc_id_zesp:=find_colum('rg_dynamiczna.id_zesp'); gc_nazwa :=Find_Column('rg_dynamiczna.nazwa'); Add_Group_Row( rg_id, END_OF_GROUP); row_no:=get_group_row_count(rg_id); Set_Group_Number_Cell(gc_id_zesp, row_no, 60); Set_Group_Char_Cell(gc_nazwa, row_no, 'Oracle'); end; Wypełnienie grupy rekordów na podstawie zapytania: declare rg_id RecordGroup; gc_id_prac GroupColumn; gc_nazwisko GroupColumn; error_code number; begin rg _id:=find_group('rg_ dynamiczna'); error_code:=populate_group_with_query(rg_id, 'select id_zesp, nazwa from zespoly order by 2'); if error_code!=0 then message ('Grupa nie zostala wypelniona'); end if; end; 26

Wypełnienie grupy rekordów na podstawie zapytania: declare rg_id RecordGroup; gc_id_prac GroupColumn; gc_nazwisko GroupColumn; error_code number; begin rg_id:=create_group('rg_pracownicy'); gc_id_prac :=Add_Group_Column (rg_id, 'id_prac', NUMBER_COLUMN); gc_nazwisko:=add_group_column (rg_id,'nazwisko',char_column, 30); error_code:=populate_group_with_query(rg_id, 'select id_prac, nazwisko from pracownicy order by 2'); if error_code!=0 then message ('Grupa nie zostala wypelniona); populate_list('lista_dynam', rg_id); end if; end; Tworzenie list wartości: Na bazie istniejącej grupy rekordów Jednoczesne tworzenie listy wartości i grupy rekordów przez podanie zapytania SQL Wskazówki: kolumny zwracane przez zapytanie, które mają być wykorzystane do walidacji danych wprowadzanych przez użytkownika powinny by pierwsze na liście atrybutów w zapytaniu definiującym zapytanie może zawierać klauzule WHERE, GROUP BY i ORDER BY Programowe działanie na elementach listowych: w wyzwalaczu When-New-Form-Instance: sposób 1: declare cursor c_zesp is select nazwa, id_zesp from zespoly order by 1; zesp c_zesp %ROWTYPE; i number default 1; begin for zesp in c_ zesp loop Add_List_Element('li_zesp',i,initcap (zesp.nazwa),to_char(zesp.id_zesp)); i:=i+1; end loop; 27

end; sposób 2: declare rg_id RECORDGROUP; rg_error number; begin rg_id:=create_group_from_query('rg_zesp', 'select nazwa, to_char(id_zesp) from zespoly order by 1'); rg _error:=populate_group(rg_id); if rg _error!=0 then raise form_trigger_failure; end if; Populate_List('li_zesp', rg_id) end; Przypinanie listy wartości do pola: Właściwości pola: Lista wartości Pozycja X listy Pozycja Y listy Walidacja za pomocą listy Przypinanie edytora do pola: Właściwości pola: Edytor Pozycja X edytora Pozycja Y edytora Ćwiczenie 5 1. Zmień typ elementu ETAT z bloku PRACOWNICY na Lista. Aby zapobiec zgłaszaniu ostrzeżeń dodaj odwzorowywanie elementu STAŻYSTA na STAŻYSTA. 2. W wyzwalaczu WHEN-NEW-FORM-INSTANCE na poziomie formularza dodaj dynamiczne wypełnianie elementu listowego z punktu 1. Wykorzystaj kod: -- Wypełnij pole typu lista dla etatu pracownika declare rec_id RecordGroup; temp number; begin if not Id_Null(rec_id) then -- Grupa istnieje - trzeba ja usunąć delete_group(rec_id); 28

end if; rec_id:=create_group_from_query('rg_etaty', 'select nazwa, nazwa from etaty order by 1'); temp := Populate_group(rec_id); populate_list('pracownicy.etat', rec_id); end; 3. Ustaw Wartość początkową dla elementu ETAT na STAŻYSTA. 4. Zapewnij automatyczne pokazywanie danych po uruchomieniu formularza. W tym celu w wyzwalaczu WHEN-NEW-FORM-INSTANCE dodaj kod powodujący przejście do bloku ZESPOLY i odczytanie rekordów: -- Wykonanie zapytania po wywołaniu formularza go_block('zespoly'); execute_query; 5. Dodaj podpowiedzi do elementów bloku PRACOWNICY. 29

Pozostałe obiekty umożliwiające operowanie na danych Pole wyboru (ang. check box): Posiadają dwa możliwe stany: zaznaczone nie zaznaczone Mogą przyjmować więcej niż dwie wartości: wartość zaznaczona wartość nie zaznaczona sposób traktowania innych wartości: zaznaczone nie zaznaczone niedozwolone (pomija rekordy z innymi wartościami) Specyficzne właściwości pól wyboru: Typ danych (znakowe, numeryczne, data) Etykieta Klawisz skrótu Wartość początkowa Wartość zaznaczonego pola Wartość nie zaznaczonego pola Odwzorowanie innych wartości w polu wyboru Nawigacja za pomocą myszy Element listowy (ang. list item): Pola prezentujące zbiór wykluczających się opcji do wyboru (każda opcja reprezentuje inną wartość) Alternatywa dla grup opcji (oszczędność miejsca) Alternatywa dla list wyboru (lista w stylu systemu Windows) Styl listy Lista rozwijana (ang. Poplist) Lista zwykła (ang. Tlist ) Pole kombi (ang. Combo box) Elementy listy zbiór par: element, wartość Odwzorowanie innych wartości Grupy opcji (ang. radio group): Zbiór wzajemnie wykluczających się przycisków opcji (każdy przycisk reprezentuje inną wartość) 30

Specyficzne właściwości grup opcji: Typ danych (znakowe, numeryczne, data) Odwzorowanie innych wartości Nawigacja za pomocą myszy Specyficzne właściwości przycisków opcji: Etykieta Klawisz skrótu Warto przycisku opcji Ćwiczenie 6 1. Utwórz ręcznie nowy niebazodanowy blok o nazwie CTRL. Umieść go w nawigatorze obiektów jako ostatni. Zapewnij wyświetlanie pojedynczego wiersza w tym bloku. Dodaj do CTRL nowy element typu przycisk o nazwie PRZ_POKAZ_ETATY. Ustaw właściwości kanwa i etykietę na Pokaż etaty. 31

Elementy formularza nie pozwalające na wprowadzanie danych Elementy wyświetlające informacje: Pole wyświetlania Obraz Dźwięk Przycisk Pole tekstowe wyliczane Obrazy: Wyświetlają obrazy: składowane w bazie danych (np. typ LONG RAW) składowane w systemie plików -obsługa programowa -formaty obrazów: BMP, CALS, GIF, JFIF, TIFF, JPEG, PICT, RAS, TPIC Obsługują edycję: wytnij kopiuj wklej Elementy dźwiękowe: Pozwalają na odtwarzanie i nagrywanie dźwiękówi nagrywanie dźwięków Składowane: w bazie danych (np. typ LONG RAW) w bazie danych (typ LONG RAW) w systemie plików (AU, AIFF, AIFF-C, WAV) C, WAV) Reprezentowane w formularzu przez suwak pokazujący zaawansowanie odtwarzania i zbiór przycisków Zbiór wyświetlanych przycisków (przewijanie, odtwarzanie, nagrywanie, itp.) można kontrolować programowo Przyciski: Rodzaje przycisk tekstowy przycisk z ikoną Zastosowania: nawigacja wywoływanie list wartości i edytorów dla pól tekstowych wywoływanie dodatkowych okienek 32

obliczenia inne zależne od inwencji programisty Specyficzne właściwości przycisków: Etykieta Nawigacja za pomocą myszy Ikona Nazwa pliku ikony Podpowiedź w dymku Pola wyliczane: Pola tylko do odczytu Prezentują dane będące wynikiem obliczeń Rodzaje obliczeń: formuła podsumowanie Pola wyliczane w oparciu o wzór: Rodzaj obliczenia = Formuła Formuła: (:PRAC.PLACA_POD + NVL(:PRAC.PLACA_DOD, 0)) * 12 Pola wyliczane w oparciu o standardowe funkcje agregujące: Rodzaj obliczenia = Podsumowanie Funkcja podsumowująca: AVG, COUNT, MAX, MIN, STDDEV, SUM, VARIANCE Podsumowywany blok Podsumowywany element Uwagi: element podsumowujący musi znajdować się : -w tym samym bloku co element podsumowywany LUB -w bloku kontrolnym z właściwości Records ->Single Record = Yes element podsumowywany musi znajdować się: -w bloku danych z jedną z właściwości: Records -> Query All records = Yes lub Database Advanced -> Precompute Summaries = Yes -w bloku kontrolnym dla elementów nie będących liczbami dozwolone tylko MIN i MAX Ćwiczenie 7 1. W bloku CTRL dodaj element tekstowy o nazwie LICZBA_PRACOWNIKOW typu NUMBER(3). Umieść go na kanwie poniżej elementów z bloku ZESPOLY. Zapewnij aby nowy element pokazywał ilość pracowników w aktualnym zespole. Wskazówka: ustaw 33

własności Rodzaj obliczenia podsumowanie, Funkcja podsumowująca Licznik, Podsumowywany blok PRACOWNICY, Podsumowywany element ID_PRAC. Pamiętaj o zapewnieniu odczytywania wszystkich wierszy w bloku PRACOWNICY. 2. W bloku PRACOWNICY dodaj niebazodanowy element PLACA_RAZEM typu NUMBER(8). Umieść go na kanwie obok elementów z bloku PRACOWNICY. Zapewnij aby element ten pokazywał sumę płacy podstawowej i dodatkowej (PLACA_POD+PLACA_DOD, pamiętaj o wartościach NULL). Wskazówka: ustaw własności Rodzaj obliczenia Formuła, Formuła: :placa_pod + nvl(:placa_dod,0) 3. Dodaj etykiety i podpowiedzi do pól z punktów 1,2. 4. Ustaw maskę formatu na 9G999d99 dla pól PLACA_POD, PLACA_DOD, SUMA_PLAC, RRRR.MM.DD dla ZATRUDNIONY. Dla pól PLACA_POD, PLACA_DOD, PLACA_RAZEM ustaw wyrównywanie do prawej strony (Format->Wyrównywanie). 34

Okna i kanwy Oracle Designer i Oracle Form Builder Materiały szkoleniowe Okno: zawiera widoczne elementy formularza formularz może posiadać wiele okien Kanwa: powierzchnia, na której znajdują się wyświetlane obiekty musi zostać wyświetlona w oknie aby była widoczna każdy element formularza może być przypisany najwyżej do jednej kanwy Widok: widoczna część kanwy atrybut kanwy Kanwy wypełniające: Podstawowy i domyślny typ kanw Widok kanwy wypełniającej odpowiada rozmiarowi okna Każde okno musi posiadać przynajmniej jedną kanwę wypełniającą W danej chwili w danym oknie może być wyświetlana tylko jedna kanwa wypełniająca Okna i ich właściwości: Dla każdego formularza domyślnie tworzone jest okno Typy okien: a. modalne: muszą zostać zamknięte przed powrotem do innego okna aktywowane w chwili wyświetlenia b. niemodalne (domyślne): może ich by wiele wyświetlonych jednocześnie nie muszą by aktywowane w chwili wyświetlenia Właściwości funkcjonalne: a. przyzwolenie na zamykanie, przesuwanie, itd. Typy kanw: Wypełniająca Nakładana Pionowy pasek narzędzi Poziomy pasek narzędzi Karty 35