+ All Categories
Home > Documents > I_IF.05_APEX

I_IF.05_APEX

Date post: 10-Feb-2018
Category:
Upload: catalin-del-bosque
View: 214 times
Download: 0 times
Share this document with a friend

of 56

Transcript
  • 7/22/2019 I_IF.05_APEX

    1/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 1 -

    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 rapidea aplicaiilor care acceseaz baze de date Oracle. Conceput ca o aplicaie web, APEX nu necesitinstalarea unor componente software suplimentare, lucrul cu platforma APEX realizndu-se dinfereastra unei aplicaii de navigare nInternet (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 adresahttp://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 sepoate accesa platforma APEX (se selecteaz butonulApplication Express).

  • 7/22/2019 I_IF.05_APEX

    2/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 2 -

    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). Sepoate crea un cont special n acest scop dar la fel de bine este s se utilizezesystem. Dup selectareabutonuluiApplication Expressse va afia o fereastr n care se va introduce contul de administratoral platformei Oracle APEX:

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

    Contul de administrare a unui spaiu de lucru (workspace)

    Administratorul platformei (systemde 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:

  • 7/22/2019 I_IF.05_APEX

    3/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 3 -

    Noul spaiude lucru se va numi PERSONAL. n cazul selectrii opiunii Use Existing, can imagine, numele se selecteaz folosind caseta combinatDatabase Useri va coincide cu numeleschemei (bazei de date) pe care se vor baza aplicaiile create ulterior n cadrul noului spaiu delucru.

    Numele administratorului spaiului de lucru din exemplul dat va fi PERS iar ultimele doucmpuri vor servi la impunerea parolei care va fi utilizat de administratorul noului spaiu de lucru.

    Not: Setrile minimale pentru utilizatorul PERSONAL trebuie s permit platformeiAPEX conectarea. Pentru a le impune se va folosi Oracle SQL Developer, astfel:

    - se realizeaz o conexiune ca systemi se selecteaz Other Users / PERSONAL / EditUser... :

    Opiunile contuluiPERSONALse vor seta folosind opiunile din fereastra de dialog afiat,astfel:

  • 7/22/2019 I_IF.05_APEX

    4/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 4 -

  • 7/22/2019 I_IF.05_APEX

    5/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 5 -

    Pentru a se realiza conectarea la noul spaiu de lucru creat, n fereastra afiat dup intrareanApplication Express(casystem) se va selecta butonulAlready have an acount?

  • 7/22/2019 I_IF.05_APEX

    6/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 6 -

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

    Contul de dezvoltator (developer)

    O aplicaie poate fi realizat de un singur dezvoltator sau de mai muli. n primul cazdezvoltatorul poate fi chiar administratorul spaiului de lucru. n al doilea caz ns este bine s secreeze pentru fiecare dezvoltator cte un cont de dezvoltator.

    Pentru a aduga un cont de dezvoltator sau de simplu utilizator, administratorul spaiuluide lucru (PERSn exemplul considerat) poate selecta Administration / Create Users and Groups.n continuare se prezint succesiunea de etape parcurs pentru crearea dezvoltatorului avnd numelede utilizator mdamian:

  • 7/22/2019 I_IF.05_APEX

    7/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 7 -

    Dezvoltatorii pot crea i apoi accesa aplicaiile din cadrul spaiului lor de lucru da r nu sepot conecta la alte spaii de lucru.

    Pentru dezvoltarea unei noi aplicaii se va realiza conectarea la spaiul de lucruPERSONALca dezvoltator folosind noul cont.

  • 7/22/2019 I_IF.05_APEX

    8/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 8 -

    Contul de utilizator simplu

    Utilizatorii simpli sunt creai de administratorul unui spaiu de lucru pentru a lucra cuaplicaiile existente n cadrul spaiului. Crearea unui cont de utilizator al unui spaiu de lucru serealizeaz ca i crearea unui developer selectnd butonul radio corespunztor opiunii No dindreptul mesajului User is a developer. Un utilizator simplu nu va avea acces direct la spaiul delucru i la instrumentele disponibile n cadrul acestuia. Pentru a lucra cu o aplicaie din cadrulspaiului de lucru, un utilizator simplu va tasta n caseta de adrese a ferestrei browser-ului un URLconinnd adresa primei pagini a aplicaiei n care va opera:http://127.0.0.1:8080/apex/f?p=perso1:home n adresa din exemplu perso1este numele aplicaieiiar homeeste 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 deadministrare a spaiului de lucru sau dintr-un cont de dezvoltator se va selectaApplication 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 Databasese refer la aplicaii obinuite, de tip "desktop". Acestea presupundefinirea unui ansamblu de formulare i rapoarte care pot fi accesate n urma unui

    proces de autentificare.

    Tipul Websheetse refer la aplicaii web. Acestea constau dintr-un numr de paginiweb, 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 aunui cont, cu excepia unor pagini de administrare a bazei de date.

    http://127.0.0.1:8080/apex/f?p=perso1:homehttp://127.0.0.1:8080/apex/f?p=perso1:homehttp://127.0.0.1:8080/apex/f?p=perso1:home
  • 7/22/2019 I_IF.05_APEX

    9/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 9 -

    n cele ce urmeaz, avnd n vedere obiectivele cursului, va fi abordat doar primacategorie 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 vaapsa "Next>"..

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

  • 7/22/2019 I_IF.05_APEX

    10/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 10 -

    n pasul urmtor se vor putea aduga paginile (formulare i rapoarte) care formeazaplicaia. Deoarece acestea pot fi adugate i ulterior, pe msura dezvoltrii aplicaiei, n aceastetap se poate aduga doar prima pagin. Din multitudinea de variante oferit de interfaa aplicaieiexpert se alege "Blank". O astfel de pagin const din unul sau mai multe blocuri html staticeconinnd informaii generale despre aplicaie i autorii ei.

    Paginii adugate i se d i un nume ("Home" n exemplul considerat). Apoi se selectazbutonul "Add Page".

    n pasul urmtor aplicaia expert afieaz o list a formularelor avnd deocamdat un

    singur element,Home. Se va selecta butonul "Next".

  • 7/22/2019 I_IF.05_APEX

    11/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 11 -

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

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

    Urmtoarea fereastr permite stabilirea modului de autentificare a utilizatorilor aplicaiei.Varianta implicit este "Application Express". Aceastapresupune c aplicaia va fi accesat doar deutilizatori 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 utilizatoriconinut n baza de date, dar pentru aplicaii obinuite, avnd un numr redus i relativ stabil deutilizatori, 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.

  • 7/22/2019 I_IF.05_APEX

    12/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 12 -

    n fereastra urmtoare se impune aspectul ferestrelor afiate de aplicaie. Sunt oferite unnumr 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.

  • 7/22/2019 I_IF.05_APEX

    13/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 13 -

    Observaie: Aplicaia coninedou formulare, cel creat, "Home", avnd codul 1 i "Login",avnd codul 101. Formularul "Login" a fost inclus deoarece am restricionat accesul la aplicaie lautilizatorii declarai n cadrul spaiului de lucru. Dac nu s-ar fi restricionat accesul aplicaia ar fiavut doar formularul creat, "Home".

    n acest moment aplicaia poate fi executat (butonul "Run Application").

  • 7/22/2019 I_IF.05_APEX

    14/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 14 -

    La prima ncercare de executare din APEX se va afia formularul "Login". Datele caretrebuie 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, adreseletrebuie 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 administratorulspaiului de lucru sau este un dezvoltator, n partea inferioar a ferestrei afiate va fiautomat incluso bar cu butoane care permit printre altele revenirea la aplicaia selectat sau editarea paginiicurente.

  • 7/22/2019 I_IF.05_APEX

    15/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 15 -

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

    IA.05.4. Crearea principalelor tipuri de formulare si rapoarte

    a. Crearea unei pagini simplePrima 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 unorinformaii despre aplicaie.

    Pentru editarea unei pagini a aplicaiei se selecteaz aplicaia i apoi pagina (cu un dubluclic):

    Rezultat:

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

    dublu clic

    dublu clic

  • 7/22/2019 I_IF.05_APEX

    16/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 16 -

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

    Dup modificarea modului de acces se va selecta "Apply Changes" din partea de sus apaginii cu proprieti afiate.

    Observaie: Suprimarea paginii curente se realizeaz selectnd n acelai set de butoanebutonul "Delete".

    Editarea regiunii implicite, adugate la crearea paginii, se realizeaz selectnd cu un dubluclic regiunea.

    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 ..." iarn seciunea "Source" se vor aduga informaii despre aplicaie. Pentru introducerea acestora se

    poate folosi codificarea HTML. Astfel n exemplul dat s-au folosit marcajele ,

    i .

    dublu clic

  • 7/22/2019 I_IF.05_APEX

    17/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 17 -

    Rezultat:

    Observaie: Se pot aduga n pagin seciuni suplimentare prin selectarea n meniulcontextual afiat la selectarea intrrii "Regions" (dublu clicpentru afiare) a intrrii "Create".

  • 7/22/2019 I_IF.05_APEX

    18/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 18 -

    b. Crearea unui formular destinat inserriide date ntr-un tabelPentru adugarea unui formular suplimentar n aplicaia nceput se va selecta aplicaia i

    n irul de butoane afiatse 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":

  • 7/22/2019 I_IF.05_APEX

    19/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 19 -

    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 identificatorulpaginii (2), numele paginii ("Introducereangajat"), se indic legarea paginii curente n irul de legturi denumit " Breadcrumb" (afiat n

    partea superioar a paginii, sub bara cu taburi de navigare).

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

    Breadcrumb

  • 7/22/2019 I_IF.05_APEX

    20/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 20 -

    n pagina afiat n continuare se configureaz lista de taburi destinate afirii diferitelorpagini (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 avalorilor acesteia ("Existing trigger"). Pentru ca opiunea selectat s fie operaional s-au adugat

  • 7/22/2019 I_IF.05_APEX

    21/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 21 -

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

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

  • 7/22/2019 I_IF.05_APEX

    22/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 22 -

    Fereastra afiat n continuare impune practic modul de funcionare a formularului. Astfelascunzndu-se butoanele "Save" i "Delete", formularul nu va putea fi folosit dect la adugarea denoi angajai (butonul "Create", inscripionat cu "Adugare angajat"). Operatorul nu va putea deciopera 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 semerge dupapsarea 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 denregistrri n tabelul "Angajai" afieaz o recapitulare a opiunilor stabilite. La apsarea butonului"Finish" se va realiza crearea efectiv a formularului.

  • 7/22/2019 I_IF.05_APEX

    23/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 23 -

    Rezultat:

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

    dublu clic

  • 7/22/2019 I_IF.05_APEX

    24/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 24 -

    Fereastra afiat permite modificarea tuturor parametrilor legai de controlul selectat, doudintre 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 narborele din zona "Page Rendering" opiunea "Items / Edit All". Rezultatul este afiarea succint, nformat tabelar, a principalelor caracteristici ale controalelor formularului.

    dublu clic

  • 7/22/2019 I_IF.05_APEX

    25/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 25 -

    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 ficazul introducereii unor date ntr-un tabel al bazei doar dac acestea ndeplinesc anumite condiiiimpuse.

    Pentru exemplificarea modului de generare a acestui tip de formular se considerprocedura AD_ANGAJAT, memorat n baza de date.

  • 7/22/2019 I_IF.05_APEX

    26/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 26 -

    Pentru a uura introducerea corect a codului procedurii acesta este reluat n continuare:

    create or replacePROCEDURE "AD_ANGAJAT"(

    numeang in varchar2

    , prenang in varchar2) asbegin

    insert into angajati (nume, prenume)values (numeang, prenang);

    end ad_angajat;

    Procedura realizeaz adugarea unui angajat n tabelul "Angajai" i a fost creatfolosindOracle SQL Developer.

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

  • 7/22/2019 I_IF.05_APEX

    27/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 27 -

    n ferestrele afiate n continuare se identific procedura (schema "PERSONAL", numeleprocedurii 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 intrarededicat lansrii noului formular:

  • 7/22/2019 I_IF.05_APEX

    28/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 28 -

    n continuare se avanseaz cu "Next" pn la pagina n care se impune locul n care semerge dup apsarea butoanelor din noul formular. Ca i n cazul formularului anterior, n ambelecazuri 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").

  • 7/22/2019 I_IF.05_APEX

    29/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 29 -

    d. Crearea i utilizarea listelor de valorin 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 auvalori constante n timp ce listele dinamice sunt populate cu date preluate din baza de date folosindo comand SQL "SELECT".

    n APEX listele de valori sunt incluse n categoria obiectelor partajate ("SharedComponents"). Pentru a crea o list de valori, static sau dinamic, se selecteaz "SharedComponents" i apoi, n fereastra afiat se selecteaz "User Interface" / "Lists of Values".

    HAREDPentru crearea unei

    n fereastra afiat se selecteaz "Create".

  • 7/22/2019 I_IF.05_APEX

    30/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 30 -

    Ca i variant se va selecta apoi "From Scratch":

    Pentru realizarea formularului care va fi adugat aplicaiei va fi necesar o list ordonatcu 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 iidentificatorul 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 copiilorangajatiilor. Lista "Angajati" va fi folosit pentru a selecta angajatul care este printele copiluluiintrodus n baz. Pentru angajatul selectat dorim ns introducerea n baz a identificatorului

  • 7/22/2019 I_IF.05_APEX

    31/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 31 -

    acestuia ("ID_ANGAJAT"), aceasta fiind explicaia prezenei n comanda "SELECT" cu care s-apopulat 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 conectarealui n lista de legturi sunt prezentate n figura de mai jos.

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

  • 7/22/2019 I_IF.05_APEX

    32/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 32 -

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

    Rezultat:

  • 7/22/2019 I_IF.05_APEX

    33/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 33 -

    Pentru utilizarea listei de valori "Angajati" n noul formular se iniiaz editarea noii paginii 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";

    npanoul "List of Values" se selecteazlista "ANGAJATI".

  • 7/22/2019 I_IF.05_APEX

    34/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 34 -

    Rezultat:

    n formular va fi selectat numele angajatului dar n comanda "INSERT" corespunztoareva fi inclus, desigur, "ID_Angajat".

    Observaie: Dac lista de valori necesar populrii unui control cu list nu are informaiidin baz ci este o list static, dup selectarea tipului ("Static") i introducerea numelui listeiaplicaia expert de creare a acesteia va afia un tabel cu dou coloane. Pe co loana din stnga vor fiintroduse 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.

  • 7/22/2019 I_IF.05_APEX

    35/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 35 -

    e. Crearea formularelor bazate pe dou tabeleaflate 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: oparte destinat selectrii unei linii din tabelul printe i o parte destinat afirii n format tabelar ainformaiilor asociate din tabelul copil.

    n continuare se va realiza un astfel de formular. n panoul "Detail" el va afia tabelar copiiunui angajat selectat n prealabil n panoul "Master".

    Dup iniierea crerii formularului, n prima fereastr se selecteaz opiunea "Form" i apoin fereastra urmtoare "Master Detail Form".

    n continuare se va defini tabelul "Master" i se vor selecta cmpurile din acesta care vor fiafiate n panoul corespunztor acestuia.

  • 7/22/2019 I_IF.05_APEX

    36/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 36 -

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

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

  • 7/22/2019 I_IF.05_APEX

    37/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 37 -

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

    panoul "Master".

  • 7/22/2019 I_IF.05_APEX

    38/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 38 -

    n fereastra urmtoare se configureaz tabul aferent formularului.

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

    Rezultat:

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

  • 7/22/2019 I_IF.05_APEX

    39/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 39 -

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

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

  • 7/22/2019 I_IF.05_APEX

    40/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 40 -

    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:

  • 7/22/2019 I_IF.05_APEX

    41/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 41 -

    f. Crearea unui raportUn 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 seselecteaz "Report".

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

  • 7/22/2019 I_IF.05_APEX

    42/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 42 -

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

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

    n fereastra urmtoare se configureaz raportul (aspect. numr de coloane, numr de liniipe pagin) i se impune exportarea sa n format CSV (Comma Separated Values, format acceptat deExcel).

  • 7/22/2019 I_IF.05_APEX

    43/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 43 -

    Ultima fereastr afiat conine o recapitulare final a opiunilor impuse.

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

  • 7/22/2019 I_IF.05_APEX

    44/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 44 -

    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 paginiconinnd 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 modificrileimpuse pagina se va afia selectnd butonul "Component View".

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

    Component View

  • 7/22/2019 I_IF.05_APEX

    45/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 45 -

    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 adugacontroale Windows unei regiuni se va selecta "Create" din zon "Items". nexemplul dat se va crea un control de tip "Select List" care se va aduga regiunii "SelectareAngajat". Numele dat controlului va fi "P33_selectare".

  • 7/22/2019 I_IF.05_APEX

    46/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 46 -

  • 7/22/2019 I_IF.05_APEX

    47/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 47 -

    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 listanoului control. n aplicaie existdeja lista "Angajati" care este exact lista necesar.

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

  • 7/22/2019 I_IF.05_APEX

    48/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 48 -

    n continuare se va aduga paginii o regiune nou coninnd un raport. n comandaSELECT utilizat la crearea mulimii de selecie a datelor din raport va interveni ca parametru

    controlul "P33_SELECTARE" creat deja.

  • 7/22/2019 I_IF.05_APEX

    49/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 49 -

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

  • 7/22/2019 I_IF.05_APEX

    50/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 50 -

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

    Rezultat:

  • 7/22/2019 I_IF.05_APEX

    51/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 51 -

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

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

  • 7/22/2019 I_IF.05_APEX

    52/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 52 -

    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 larencrcare angajatul selectat n list s fie urmtorul angajat trebuie adugat o secven de codPL/SQL care impune aceasta. Secvena de cod se adaug astfel:

    Pagina curent fiind selectat, n regiunea "Processes" din panoul "Page Processing" seselecteaz butonul "Create".

  • 7/22/2019 I_IF.05_APEX

    53/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 53 -

    Ca tip de procers se selecteaz PL/SQL.

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

  • 7/22/2019 I_IF.05_APEX

    54/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 54 -

    declareCURSOR c1 IS SELECT * FROM angajati order by nume;ang angajati%ROWTYPE; -- var. structurata de tip recordBEGINOPEN c1;LOOP

    FETCH c1 INTO ang; -- preia linia curenta in ANGif c1%NOTFOUND THENexit;

    elseif ang.id_angajat = :P33_selectare THEN

    FETCH c1 INTO ang; -- preiau linia urmatoareif c1%NOTFOUND THENexit;

    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 unconinut similar listei de valori ANGAJATI. Dup gsirea angajatului selectat n lista ANGAJATIse 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.

  • 7/22/2019 I_IF.05_APEX

    55/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    - 55 -

    Pentru butonul care realizeaz parcurgerea listei de angajai n sens invers, de la poziia curent sprenapoi, codul PL/SQL poate fi urmtorul:

    declareCURSOR c1 IS SELECT * FROM angajati order by nume;ang angajati%ROWTYPE; -- var. structurata de tip recordangurm angajati%ROWTYPE; -- var. structurata de tip record

    BEGINOPEN c1;FETCH c1 INTO ang; -- preia linia curenta in ANG

    IF ang.id_angajat != :P33_selectare THENLOOPFETCH c1 INTO angurm; -- preia linia curenta in ANGURMif c1%NOTFOUND THEN

    exit;else

    if angurm.id_angajat = :P33_selectare THEN:P33_selectare := ang.id_angajat;exit;

    elseang := 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 accescorect impuse i creai n APEX spaiul de lucru BIBLIO cu parola biblio definit pesteschema BIBLIO.

  • 7/22/2019 I_IF.05_APEX

    56/56

    INFORMATIC*I* IF.05. Crearea aplicaiilor folosind Application Express

    2. Creai o aplicaie de administrare a schemei BIBLIO avnd un singur rnd de taburi ipaginile urmtoare:

    a. O pagin denumit "Home" de tip "Blank" coninnd o singur regiune. nregiunea inclus tastai o descriere a aplicaiei.

    b. O pagin de tip "Form" / "Form on a Table or View" destinat editriidatelordin tabelului "Edituri".

    c. O pagin de tip "Form" / "Form on a Table or View" destinat editriidatelordin tabelului "Autori".

    d. O pagin de tip "Form" / "Form on a Table or View" destinat editriidatelordin tabelului "Cititori".

    e. O pagin de tip "Form" / "Form on a Table or View" destinat editriidatelordin tabelului "Carti". Pentru introducerea codului editurii se va defini o list devalori de tip "Dynamic" (coninnd editurile n ordine alfabetic) i se vamodifica tipul controlului Windows corespunztor din "Number Field" n"Select List".

    f. O pagin de tip "Form" / "Form on a Table or View" destinat editriidatelordin tabelul de legtur "Autcarti". Pentru a putea realiza selectarea valorilor dindou controale Windows cu list seva defini o list suplimentar de valoride 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 acesteiase va porni de la un formular gol ("Blank Page") i se vor aduga dou regiunidestinate 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.