Sunteți pe pagina 1din 90

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).

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:

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:
-

se realizeaz o conexiune ca system i se selecteaz Other Users / PERSONAL / Edit

User... :

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 dar 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 adrese 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 obinuite 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 simpli.
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 paginii
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 acces se va selecta "Apply Changes" din partea de sus a
paginii cu proprieti afiate.

Observaie: Suprimarea paginii 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 continuare:
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 anterior, 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 formularul


(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 "From 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"). Pentru 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 introducere 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 coloana 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 acesta 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 acceptat 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 complexe, 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 peste
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 selectat.
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
-

S-ar putea să vă placă și