Sunteți pe pagina 1din 56

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

Capitolul IF.05. Crearea aplicaiilor folosind Application Express


Cuvinte-cheie: Application Express, spatiu de lucru, conturi APEX, aplicaii, formulare, rapoarte

IA.05.1. Generaliti
Oracle Application Express (APEX) este o platform software destinat dezvoltrii rapide a aplicaiilor care acceseaz baze de date Oracle. Conceput ca o aplicaie web, APEX nu necesit instalarea unor componente software suplimentare, lucrul cu platforma APEX realizndu-se din fereastra unei aplicaii de navigare n Internet (Internet Explorer, Mozilla Firefox, Google Chrome etc.). Platforma Oracle APEX este integrat n Oracle XE. O soluie alternativ pentru testarea platformei este conectarea la serviciol oferit de Oracle online accesnd adresa http://apex.oracle.com. Accesul la platform n Windows se poate realiza selectnd succesiv Start / All Programs / Oracle Database 11g Express Edition / Get Started:

n fereastra aplicaiei de navigare implicit a sistemului va fi ncrcat o pagin de unde se poate accesa platforma APEX (se selecteaz butonul Application Express).

-1-

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

IA.05.2. Tipurile de conturi specifice APEX


Contul de administrare a platformei
Conectarea la APEX n vederea realizrii unor activiti de administrare se realizeaz folosind un cont care are drepturi de administrare asupra serverului Oracle (sau Oracle XE). Se poate crea un cont special n acest scop dar la fel de bine este s se utilizeze system. Dup selectarea butonului Application Express se va afia o fereastr n care se va introduce contul de administrator al platformei Oracle APEX:

Not: Administratorul platformei nu poate crea aplicaii. El poate doar defini spaii de lucru (eng. workspaces).

Contul de administrare a unui spaiu de lucru (workspace)


Administratorul platformei ( system de exemplu) poate defini spaii de lucru (workspaces) i, implicit, conturi de administrare a acestora. Exemplu de creare a unui nou spaiu de lucru destinat crerii de aplicaii bazate pe schema personal:

-2-

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

Noul spaiu de lucru se va numi PERSONAL. n cazul selectrii opiunii Use Existing, ca n imagine, numele se selecteaz folosind caseta combinat Database User i va coincide cu numele schemei (bazei de date) pe care se vor baza aplicaiile create ulterior n cadrul noului spaiu de lucru. Numele administratorului spaiului de lucru din exemplul dat va fi PERS iar ultimele dou cmpuri vor servi la impunerea parolei care va fi utilizat de administratorul noului spaiu de lucru. Not: Setrile minimale pentru utilizatorul PERSONAL trebuie s permit platformei APEX conectarea. Pentru a le impune se va folosi Oracle SQL Developer, astfel: User... : se realizeaz o conexiune ca system i se selecteaz Other Users / PERSONAL / Edit

Opiunile contului PERSONAL se vor seta folosind opiunile din fereastra de dialog afiat, astfel:

-3-

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

-4-

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

Pentru a se realiza conectarea la noul spaiu de lucru creat, n fereastra afiat dup intrarea n Application Express (ca system) se va selecta butonul Already have an acount?

-5-

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

Administratorul unui spaiu de lucru (PERS de exemplu) este responsabil pentru gestionarea acestuia. El poate creea n spaiul administrat conturi (de dezvoltatori sau simpli utilizatori) i aplicaii.

Contul de dezvoltator (developer)


O aplicaie poate fi realizat de un singur dezvoltator sau de mai muli. n primul caz dezvoltatorul poate fi chiar administratorul spaiului de lucru. n al doilea caz ns este bine s se creeze pentru fiecare dezvoltator cte un cont de dezvoltator. Pentru a aduga un cont de dezvoltator sau de simplu utilizator, administratorul spaiului de lucru (PERS n exemplul considerat) poate selecta Administration / Create Users and Groups. n continuare se prezint succesiunea de etape parcurs pentru crearea dezvoltatorului avnd numele de utilizator mdamian:

-6-

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

Dezvoltatorii pot crea i apoi accesa aplicaiile din cadrul spaiului lor de lucru da r nu se pot conecta la alte spaii de lucru. Pentru dezvoltarea unei noi aplicaii se va realiza conectarea la spaiul de lucru PERSONAL ca dezvoltator folosind noul cont.

-7-

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

Contul de utilizator simplu


Utilizatorii simpli sunt creai de administratorul unui spaiu de lucru pentru a lucra cu aplicaiile existente n cadrul spaiului. Crearea unui cont de utilizator al unui spaiu de lucru se realizeaz ca i crearea unui developer selectnd butonul radio corespunztor opiunii No din dreptul mesajului User is a developer. Un utilizator simplu nu va avea acces direct la spaiul de lucru i la instrumentele disponibile n cadrul acestuia. Pentru a lucra cu o aplicaie din cadrul spaiului de lucru, un utilizator simplu va tasta n caseta de adre se a ferestrei browser-ului un URL coninnd adresa primei pagini a aplicaiei n care va opera: http://127.0.0.1:8080/apex/f?p=perso1:home n adresa din exemplu perso1 este numele aplicaiei iar home este numele dat primei pagini a acesteia.

IA.05.3. Dezvoltarea unei aplicaii n APEX


Crearea aplicaiei i a paginii home
Pentru a crea o nou aplicaie folosind Oracle Application Express, din contul de administrare a spaiului de lucru sau dintr-un cont de dezvoltator se va selecta Application Builder / Create.

Procesul de creare va fi realizat n cadrul unei aplicaii-expert (wizard), n mai muli pai. n primul pas se selecteaz tipul aplicaiei care va fi creat. Principial aplicaia expret poate crea dou tipuri de aplicaii. Tipul Database se refer la aplicaii obinuite, de tip "desktop". Acestea presupun definirea unui ansamblu de formulare i rapoarte care pot fi accesate n urma unui proces de autentificare. Tipul Websheet se refer la aplicaii web. Acestea constau dintr -un numr de pagini web, unele dintre acestea coninnd regiuni create folosind date din baza de date. De regul accesarea informaiei se realizeaz fr a fi necesar crearea n prealabil a unui cont, cu excepia unor pagini de administrare a bazei de date.
-8-

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

n cele ce urmeaz, avnd n vedere obiectivele cursului, va fi abordat doar prima categorie de aplicaii, deci n prima fereastr se va selecta varianta "Database" i se va apsa butonul "Next>".

Ca punct de pornire a noii aplicaii se va selecta "From Scratch" (creare de la zero) i se va apsa "Next>"..

n pasul urmtor se va da aplicaiei un nume i un cod unic. De asemenea se va putea impune domeniul din baza de date (schema) pe care se bazeaz aplicaia. Deoarece la crearea spaiului de lucru s-a pornit de la un domeniu ("personal" n exemplul considerat) acesta va aprea deja selectat.

-9-

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

n pasul urmtor se vor putea aduga paginile (formulare i rapoarte) care formeaz aplicaia. Deoarece acestea pot fi adugate i ulterior, pe msura dezvoltrii aplicaiei, n aceast etap se poate aduga doar prima pagin. Din multitudinea de variante oferit de interfaa aplicaiei expert se alege "Blank". O astfel de pagin const din unul sau mai multe blocuri html statice coninnd informaii generale despre aplicaie i autorii ei. Paginii adugate i se d i un nume ("Home" n exemplul considerat). Apoi se selectaz butonul "Add Page".

n pasul urmtor aplicaia expert afieaz o list a formularelor avnd deocamdat un singur element, Home. Se va selecta butonul "Next".

- 10 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

n fereastra afiat n continuare se impune dispunerea taburilor care vor fi folosite la navigare. Pentru aplicaii obinuit e se poate opta pentru varianta "One Level of Tabs".

n continuare se va selecta dac aplicaia curent copiaz elemente partajate definite n cadrul unei alte aplicaii. Varianta implicit este "No".

Urmtoarea fereastr permite stabilirea modului de autentificare a utilizatorilor aplicaiei. Varianta implicit este "Application Express". Aceasta presupune c aplicaia va fi accesat doar de utilizatori avnd conturi definite n cadrul spaiului de lucru, dezvoltatori sau utilizatori s impli. Exist posibilitatea impunerii unui sistem de autentificare bazat pe utilizarea unui tabel de utilizatori coninut n baza de date, dar pentru aplicaii obinuite, avnd un numr redus i relativ stabil de utilizatori, varianta implicit este de regul preferabil. Pentru aplicaia din exemplu s-a acceptat aceast soluie. Tot n fereastra afiat se selecteaz i formatul datei calendaristice.

- 11 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

n fereastra urmtoare se impune aspectul ferestrelor afiate de aplicaie. Sunt oferite un numr mare de variante, pentru aplicaia din exemplu selectndu -se varianta 1.

n ultima fereastr se afieaz un rezumat al opiunilor selectate. Dup selectarea butonului "Create" aplicaia este creat i se poate ncepe dezvoltarea ei.

- 12 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

Observaie: Aplicaia conine dou formulare, cel creat, "Home", avnd codul 1 i "Login" , avnd codul 101. Formularul "Login" a fost inclus deoarece am restricionat accesul la aplicaie la utilizatorii declarai n cadrul spaiului de lucru. Dac nu s-ar fi restricionat accesul aplicaia ar fi avut doar formularul creat, "Home". n acest moment aplicaia poate fi executat (butonul "Run Application").

- 13 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

La prima ncercare de executare din APEX se va afia formularul "Login". Datele care trebuie introduse sunt cele ale unui cont din cadrul spaiului de lucru.

Dinafara APEX, pentru a executa aplicaia se va tasta n fereastra unui browser adresa: http://127.0.0.1:8080/apex/f?p=101:1 (sau http://localhost:8080/apex/f?p=101:1)

Evident dac serverul Oracle XE ruleaz pe un calculator din reeaua Internet, adresele trebuie adaptate. n locul adresei 127.0.0.1 se va folosi adresa IP a calculatorului respectiv. Observaie: Dac utilizatorul a crui nume i parol sunt furnizate este administratorul spaiului de lucru sau este un dezvoltator, n partea inferioar a ferestrei afiate va fi automat inclus o bar cu butoane care permit printre altele revenirea la aplicaia selectat sau editarea pagin ii curente.

- 14 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

n continuare vor fi adugate i configurate cteva dintre principalele tipuri de formulare i rapoarte necesare crerii unei aplicaii tipice.

IA.05.4. Crearea principalelor tipuri de formulare si rapoarte


a. Crearea unei pagini simple
Prima pagin existent n aplicaie este de tipul "Blank". Editarea ei va consta n modificarea modului de acces (de la acces bazat pe autentificare la acces public) i adugarea unor informaii despre aplicaie. Pentru editarea unei pagini a aplicaiei se selecteaz aplicaia i apoi pagina (cu un dublu clic):

dublu clic

Rezultat:

dublu clic

Pentru modificarea unor proprieti generale legate de pagina selectat se selecteaz n zona "Page Rendering" cu un dublu clic numele acesteia. n cazul paginii curente, "Home" se va
- 15 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

putea astfel accesa seciunea "Security". Pentru a face pagina accesibil fr autentificare se va modifica "Authentication" n "Page Is Public".

Dup modificarea modului de acce s se va selecta "Apply Changes" din partea de sus a paginii cu proprieti afiate.

Observaie: Suprimarea pagin ii curente se realizeaz selectnd n acelai set de butoane butonul "Delete". Editarea regiunii implicite, adugate la crearea paginii, se realizeaz selectnd cu un dublu clic regiunea.

dublu clic

n fereastra de editare a diferitelor proprieti se va interveni n seciunile "Identification" i "Source"). n seciunea "Identification" se va schimba numele seciunii n "Aplicaie pentru ..." iar n seciunea "Source" se vor aduga informaii despre aplicaie. Pentru introducerea acestora se poate folosi codificarea HTML. Astfel n exemplul dat s-au folosit marcajele <h1>, <p> i <ol>.

- 16 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

Rezultat:

Observaie: Se pot aduga n pagin seciuni suplimentare prin selectarea n meniul contextual afiat la selectarea intrrii "Regions" ( dublu clic pentru afiare) a intrrii "Create".

- 17 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

b. Crearea unui formular destinat inserrii de date ntr-un tabel


Pentru adugarea unui formular suplimentar n aplicaia nceput se va selecta aplicaia i n irul de butoane afiat se va selecta "Create Page >":

n prima fereastr afiat de aplicaia-expert astfel iniiat se selecteaz opiunea "Form":

n fereastra urmtoare se selecteaz varianta "Form on a Table or View":

- 18 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

n ferestrele care se afieaz n contiunuare se va selecta domeniul (schema) "PERSONAL" i tabelul n care se va opera ("ANGAJATI").

n fereastra urmtoare se definete identificatorul paginii (2), numele paginii ("Introducere angajat"), se indic legarea paginii curente n irul de legturi denumit " Breadcrumb" (afiat n partea superioar a paginii, sub bara cu taburi de navigare).

Breadcrumb

Dac se selecteaz "Breadcrumb" aplicaia expert afieaz o fereastr suplimentar n care se configureaz modul de afiare a paginii curente n lista de legturi. n exemplul considerat s-a indicat afiarea legturii spre pagina curent dup legtura spre prima pagin ("Home").

- 19 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

n pagina afiat n continuare se configureaz lista de taburi destinate afirii diferitelor pagini (formulare). Pentru formularul curent se va aduga un tab n lista existent purtnd numele "Adaugare angajat".

n urmtorii doi pai se indic cheia primar a tabelului respectiv modul de generare a valorilor acesteia ("Existing trigger"). Pentru ca opiunea selectat s fie operaional s -au adugat
- 20 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

folosind Oracle SQL Developer dou obiecte "sequence" i dou trigger -e care genereaz valorile consecutive ale cheilor primare pentru tabelul "Angajai" respectiv "Copii" (vezi cap. 4).

n continuare se selecteaz cmpurile care vor aprea n formularul generat.

- 21 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

Fereastra afiat n continuare impune practic modul de funcionare a formularului. Astfel ascunzndu-se butoanele "Save" i "Delete", formularul nu va putea fi folosit dect la adugarea de noi angajai (butonul "Create", inscripionat cu "Adugare angajat"). Operatorul nu va putea deci opera modificarea unor nregistrri din tabelul "Angajai". Pe lng butonul "Adugare angajat" va mai fi afiat un buton de abandon ("Cancel", inscripionat cu "Abandon").

n continuare se va afia o fereastr care permite impunerea ferestrei la care se merge dup apsarea butoanelor. Indiferent de buton, prin configurarea realizat se va merge la pagina 1 ("Home").

Ultima pagin afiat de aplicaia expert de generare a formularului de inserare de nregistrri n tabelul "Angajai" afieaz o recapitulare a opiunilor stabilite. La apsarea butonului "Finish" se va realiza crearea efectiv a formularului.

- 22 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

Rezultat:

Observaie: Dac se iniiaz editarea paginii (selectare cu dublu clic n lista de pagini) se pot accesa i reconfigura controalele Windows folosite la introducerea datelor.

dublu clic - 23 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

dublu clic

Fereastra afiat permite modificarea tuturor parametrilor legai de controlul selectat, dou dintre acestea fiind prezentate n continuare. Numele cmpului ("P2_NUME") i tipul controlului folosit ("Text Field");

Eticheta afiat naintea controlului ("Nume") i cadrajul acesteia (dreapta).

Observaie: Dac sunt necesare modificri la toate controalele afiate se poate selecta n arborele din zona "Page Rendering" opiunea "Items / Edit All". Rezultatul este afiarea succint, n format tabelar, a principalelor caracteristici ale controalelor formularului.

- 24 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

c. Crearea unei pagini bazate pe o procedur memorat


Exist situaii n care controalele Windows dintr-un formular servesc la culegerea valorilor unor parametri care apoi sunt transmii unei proceduri memorate n baz. Un exemplu poate fi cazul introducereii unor date ntr-un tabel al bazei doar dac acestea ndeplinesc anumite condiii impuse. Pentru exemplificarea modului de generare a acestui tip de formular se consider procedura AD_ANGAJAT, memorat n baza de date.

- 25 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

Pentru a uura introducerea corect a codului procedurii acesta este reluat n continuar e: create or replace PROCEDURE "AD_ANGAJAT" ( numeang in varchar2 , prenang in varchar2 ) as begin insert into angajati (nume, prenume) values (numeang, prenang); end ad_angajat; Procedura realizeaz adugarea unui angajat n tabelul "Angajai" i a fost creat folosind Oracle SQL Developer.

Iniierea generrii noului formular se realizeaz ca i n cazul precedent:

- 26 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

n ferestrele afiate n continuare se identific procedura (schema "PERSONAL", numele procedurii memorate n baz "AD_ANGAJAT"):

n continuare se definete numele paginii ( "Angajat") i se leag pagina n lista de legturi "Breadcrumb", ca i n exemplul anterior.

Pentru a fi accesibill, n lista de taburi a aplicaiei se va aduga n pasul urmtor o intrare dedicat lansrii noului formular:

- 27 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

n continuare se avanseaz cu "Next" pn la pagina n care se impune locul n care se merge dup apsarea butoanelor din noul formular. Ca i n cazul formularului an terior, n ambele cazuri se va indica pagina 1.

Aplicaia expert va afia n continuare parametrii de intrare n procedura utilizat. Se apas "Next".

n final se va afia o recapitulare a opiunilor introduse i se poate genera formular ul (butonul "Finish").

- 28 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

d. Crearea i utilizarea listelor de valori


n cadrul formularelor care folosesc controale cu list este necesar pregtirea n prealabil a listelor care vor fi folosite. Listele pot fi statice sau dinamice. Diferena dintre ele este faptul c listele statice au valori constante n timp ce listele dinamice sunt populate cu date preluate din baza de date folosind o comand SQL "SELECT". n APEX listele de valori sunt incluse n categoria obiectelor partajate ("Shared Components"). Pentru a crea o list de valori, static sau dinamic, se selecteaz "Shared Components" i apoi, n fereastra afiat se selecteaz "User Interface" / "Lists of Values".

HAREDPentru crearea unei

n fereastra afiat se selecteaz "Create".

- 29 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

Ca i variant se va selecta apoi "Fro m Scratch":

Pentru realizarea formularului care va fi adugat aplicaiei va fi necesar o list ordonat cu angajaii. Din acest motiv lista va fi numit "Angajati" i va fi de tip "Dynamic".

n fereastra urmtoare se introduce comanda "SELECT" care va popula lista de valori.

Observaie: Lista de valori va include dou elemente, respectiv numele angajatului i identificatorul asociat acestuia ("ID_ANGAJAT"). Pent ru obinerea numelui angajatului s-a optat pentru concatenarea a trei elemente: "nume || ' ' || prenume". Dup selectarea butonului "Create List of Values" lista "Angajati" va fi creat. Folosind lista creat se poate aduga aplicaiei un formular de intro ducere a copiilor angajatiilor. Lista "Angajati" va fi folosit pentru a selecta angajatul care este printele copilului introdus n baz. Pentru angajatul selectat dorim ns introducerea n baz a identificatorului
- 30 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

acestuia ("ID_ANGAJAT"), aceasta fiind explicaia prezenei n comanda "SELECT" cu care s-a populat lista a dou cmpuri, al doilea fiind chiar "ID_ANGAJAT". Demararea crerii formularului va fi cea cunoscut: "Form" / "Form on a Table or View", selectare domeniu ("PERSONAL"), selectare tabel ("COPII"). Numele formularului i conectarea lui n lista de legturi sunt prezentate n figura de mai jos.

Ca i cmpuri incluse n formular au fost selectate toate cmpurile afiate.

- 31 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

Butoanele din formular, implicit i funciile formularului, au fost impuse ca i n formularul destinat introducerii unui nou angajat.

Rezultat:

- 32 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

Pentru utilizarea listei de valori "Angajati" n noul formular se iniiaz editarea noii pagini i se selecteaz cu un dublu clic n "Page Rendering" controlul "P3_ID_ANGAJAT".

n fereastra afiat se modific urmtoarele: n panoul "Name" se impune afiarea controlului ca "Popup List of Values" ;

n panoul "Label" se modific "Id_Angajat " n "Parinte";

n panoul "List of Values" se selecteaz lista "ANGAJATI".


- 33 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

Rezultat:

n formular va fi selectat numele angajatului dar n comanda "INSERT" corespunztoare va fi inclus, desigur, "ID_Angajat". Observaie: Dac lista de valori necesar populrii unui control cu list nu are informaii din baz ci este o list static, dup selectarea tipului ("Static") i introducerea numelui listei aplicaia expert de creare a acesteia va afia un tabel cu dou coloane. Pe co loana din stnga vor fi introduse elementele care vor fi afiate n lista asociat controlului iar n coloana din dreapta valorile transmise de controlul cu list mai departe. De regul acestea vor fi coduri, ca n exemplu, sau vor coincide cu valorile de pe coloana din stnga.

- 34 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

e. Crearea formularelor bazate pe dou tabele aflate n relaie 1 la n (formulare de tip "Master Detail")
n cazul tabelelor aflate n relaie 1 la n se pot crea formulare care s conin dou pri: o parte destinat selectrii unei linii din tabelul printe i o parte destinat afirii n format tabelar a informaiilor asociate din tabelul copil. n continuare se va realiza un astfel de formular. n panoul "Detail" el va afia tabelar copii unui angajat selectat n prealabil n panoul "Master". Dup iniierea crerii formularului, n prima fereastr se selecteaz opiunea "Form" i apoi n fereastra urmtoare "Master Detail Form".

n continuare se va defini tabelul "Master" i se vor selecta cmpurile din aces ta care vor fi afiate n panoul corespunztor acestuia.

- 35 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

n fereastra urmtoare se definete tabelul asociat i se selecteaz cmpurile care vor fi afiate tabelar n panoul "Detail".

n continuare se indic modul de obinere a cheilor primare pentru cele dou tabele:

- 36 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

n fereastra afiat n continuare se stabilete dispunerea tabelului din panoul "Detail". n exemplul dat s-a optat pentru varianta implicit, respectiv dispunerea acestuia pe aceeai pagin cu panoul "Master".

- 37 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

n fereastra urmtoare se configureaz tabul aferent formularului.

n ultima fereastr aplicaia expert va afia o recapitulare a opiunilor introduse. n final se selecteaz butonul "Create".

Rezultat: La selectarea tabului "Copii angajailor" se afieaz o fereastr care permite selectarea dintr-o list a unui angajat.

- 38 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

Dup selectarea pictogramei din dreptul unui angajat, fereastra aplicaiei va afia formularul propriuzis, avnd cele dou panouri.

n prima pagin afiat se poate impune ordonarea angajailor dup nume. Pentru aceasta se editeaz pagina 4. Se selecteaz cu butonul drept al mouse -ului intrarea Angajati i n meniul contextual se selecteaz "Edit Report Attributes".

- 39 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

Aplicaia va afia ntr-un tabel cmpurile selectate, putnd fi impuse diverse modificri. Pentru impunerea sortrii dup nume se va selecta caseta de validare "Sort" i se va indica faptul c "NUME" este prima cheie de sortare.

Rezultat:

- 40 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

f. Crearea unui raport


Un raport este bazat de obicei pe o comand SQL "SELECT". Pentru a genera un astfel de raport se iniiaz adugarea unei noi pagini aplicaiei curente i n prima fereastr afiat se selecteaz "Report".

n fereastra urmtoare se selecteaz tipul de raport ( "Classic Report").

- 41 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

n continuare se definete un tab a crui selectare va genera raportul.

n fereastra urmtoare se introduce comanda SQL "SELECT" care va produce liniile raportului.

n fereastra urmtoare se configureaz raportul (aspect. numr de coloane, numr de linii pe pagin) i se impune exportarea sa n format CSV (Comma Separated Values, format a cceptat de Excel).

- 42 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

Ultima fereastr afiat conine o recapitulare final a opiunilor impuse.

Rezultatul este realizarea raportului pe baza comenzii SQL date. n partea inferioar a paginii apare referina "Imprima" a crei selectare provoac crearea fiierului "angajati.csv" care poate fi deschis i prelucrat n continuare n Excel.

- 43 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

g. Crearea unui raport pornind de la un formular simplu (Blank Page)


n APEX exist posibilitatea realizrii unor pagini avnd structuri co mplexe, adaptate unor cerine neacoperite de variantele expuse de aplicaia expert. Un exemplu este realizarea unei pagini coninnd un raport al crui coninut depinde de elementul selectat dintr -un control de tip list aflat pe aceeai pagin. Pentru crearea unei astfele de pagini n aplicaia dezvoltat va fi adugat o pagin goal ("Blank Page").

Dup adugarea paginii se va aduga o prim regiune. Pentru a opera mai uor modificrile impuse pagina se va afia selectnd butonul "Component View".

Component View

Ca i tip de regiune se poate alege "HTML Text".

- 44 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

n continuare se configureaz regiunea adugat. I se d un titlu i ca i tip se selecteaz "Button Region without Title", ca n imagine.

Pentru a aduga controale Windows unei regiuni se va selecta "Create" din zon "Items". n exemplul dat se va crea un control de tip "Select List" care se va aduga regiunii "Selectare Angajat". Numele dat controlului va fi "P33_selectare".

- 45 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

- 46 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

Pentru a provoca refacerea coninutului raportului care va fi adugat paginii, Pentru "Page Action when Value Changed" se selecteaz "Submit Page".

n fereastra urmtoare se va selecta lista dinamic de valori cu care se populeaz lista noului control. n aplicaie exist deja lista "Angajati" care este exact lista necesar.

n ultimul pas se creaz elementul din pagin i se testeaz pagina.

- 47 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

n continuare se va aduga paginii o regiune nou coninnd un raport. n comanda SELECT utilizat la crearea mulimii de selecie a datelor din raport va interveni ca parametru controlul "P33_SELECTARE" creat deja.

- 48 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

Ca tip de raport se alege fie "Interactive Report", fie "SQL Report".

- 49 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

n comanda scris intervine parametrul ":P33+SELECTARE". Valoarea acestuia este chiar valoarea cheii primare corespunztoare angajatului selectat, aa cum s -a impus la crearea acestei liste de valori. Rezultat:

- 50 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

n regiunea "Buttons" se selecteaz "New Item".

Ca regiune n care s se afieze noul buton se selecteaz "Selectare angajat".

- 51 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

n continuare se precizeaz numele butonului i eticheta cu care va fi inscripionat.

La apsarea butonului se va realiza rencrcarea paginii.

Efectul selectrii butonului adugat este rencrcarea paginii curente. Pentru ca la rencrcare angajatul selectat n list s fie urmtorul angajat trebuie adugat o secven de cod PL/SQL care impune aceasta. Secvena de cod se adaug astfel: Pagina curent fiind selectat, n regiunea "Processes" din panoul "Page Processing" se selecteaz butonul "Create".

- 52 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

Ca tip de procers se selecteaz PL/SQL.

Se d apoi procesului un numa i se introduce codul PL/SQL corespunztor.

- 53 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

declare CURSOR c1 IS SELECT * FROM angajati order by nume; ang angajati%ROWTYPE; -- var. structurata de tip record BEGIN OPEN c1; LOOP FETCH c1 INTO ang; -- preia linia curenta in ANG if c1%NOTFOUND THEN exit; else if ang.id_angajat = :P33_selectare THEN FETCH c1 INTO ang; -- preiau linia urmatoare if c1%NOTFOUND THEN exit; else :P33_selectare := ang.id_angajat; exit; end if; end if; end if; END LOOP; CLOSE c1; end; Secvena de cod este un bloc anonim PL/SQL care creaz i parcurge un cursor avnd un coninut similar listei de valori ANGAJATI. Dup gsirea angajatului selectat n lista ANGAJATI se mai citete o linie din cursor i se impune noua valoare ca valoare curent n controlul cu list. Dup crearea procesului acesta trebuie editat deoarece execuia sa trebuie condiionat de apsarea butonului creat anterior.

- 54 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

Pentru butonul care realizeaz parcurgerea listei de angajai n sens invers, de la poziia curent spre napoi, codul PL/SQL poate fi urmtorul: declare CURSOR c1 IS SELECT * FROM angajati order by nume; ang angajati%ROWTYPE; -- var. structurata de tip record angurm angajati%ROWTYPE; -- var. structurata de tip record BEGIN OPEN c1; FETCH c1 INTO ang; -- preia linia curenta in ANG IF ang.id_angajat != :P33_selectare THEN LOOP FETCH c1 INTO angurm; -- preia linia curenta in ANGURM if c1%NOTFOUND THEN exit; else if angurm.id_angajat = :P33_selectare THEN :P33_selectare := ang.id_angajat; exit; else ang := angurm; end if; end if; END LOOP; end if; CLOSE c1; end;

IA.05.5. Aplicaii
1. Verificai folosind SQL Developer dac la Dv. utilizatorul BIBLIO are drepturile de acces corect impuse i creai n APEX spaiul de lucru BIBLIO cu parola biblio definit pe ste schema BIBLIO.
- 55 -

INFORMATIC*I*

IF.05. Crearea aplicaiilor folosind Application Express

2. Creai o aplicaie de administrare a schemei BIBLIO avnd un singur rnd de taburi i paginile urmtoare: a. O pagin denumit "Home" de tip "Blank" coninnd o singur regiune. n regiunea inclus tastai o descriere a aplicaiei. b. O pagin de tip "Form" / "Form on a Table or View" destinat editrii datelor din tabelului "Edituri". c. O pagin de tip "Form" / "Form on a Table or View" destinat editrii datelor din tabelului "Autori". d. O pagin de tip "Form" / "Form on a Table or View" destinat editrii datelor din tabelului "Cititori". e. O pagin de tip "Form" / "Form on a Table or View" destinat editrii datelor din tabelului "Carti". Pentru introducerea codului editurii se va defini o list de valori de tip "Dynamic" (coninnd editurile n ordine alfabetic) i se va modifica tipul controlului Windows corespunztor din "Number Field" n "Select List". f. O pagin de tip "Form" / "Form on a Table or View" destinat editrii datelor din tabelul de legtur "Autcarti". Pentru a putea realiza selectarea valorilor din dou controale Windows cu list se va defini o list suplimentar de valori de tip "Dynamic" care va conine autorii n ordinea alfabetic, procedndu-se apoi ca la punctul precedent. g. O pagin care va afia crile de la o anumit editur. Pentru realizarea acesteia se va porni de la un formular gol ("Blank Page") i se vor aduga dou regiuni destinate selectrii editurii respectiv afirii crilor de la editura select at. 3. Adugai aplicaiei Dv. alte pagini pe care le considerai necesare. 4. Adugai spaiului de lucru BIBLIO un utilizator simplu i verificai modul de operare a aplicaiei n cazul conectrii folosind noul cont.

- 56 -