PRIVIRE DE ANSAMBLU SQL*MENU VERSIUNEA 5.0


Scopurile acestei sectiuni:



Aceasta sectiune este proiectata sa dea o privire de ansamblu asupra caracteristicilor, operatiilor si proiectarii aplicatiilor SQL*Menu.

Ce este SQL*Menu?



SQL*Menu este o unealta de dezvoltare, folosita pentru legarea si structurarea aplicatiilor, oferind securitate, flexibilitate si un aspect uniform pentru aplicatiile tuturor utilizatorilor.

O interfata meniu are urmatoarele avantaje si caracteristici:



Strategia "Dynamic Menu" (meniuri dinamice)



Accesul la meniu este controlat de apartenenta la roluri. Continutul meniului se va schimba, in functie de ce operator il utilizeaza. De exemplu, un operator poate vedea trei item-uri utilizabile in meniu, alt operator poate vedea zece. Item-urile disponibile vor aparea pe ecran bold. Item-urile nedisponibile pot fi ascunse sau afisate non-bold. Proiectantul poate decide, pentru fiecare item sa afiseze sau sa ascunda item-urile nedisponibile.

Permisiunea de a folosi item-uri meniu este acordata categoriilor de privilegii, numite roluri (roles). Un rol poate accesa un anumit set de item-uri meniu intr-o aplicatie. Utilizatorii sunt atasati unor roluri functie de accesul pe care- l doresc. Cand o aplicatie ruleaza, apartenenta la roluri determina item-urile disponibile. Apartenenta la mai mlte roluri va da acces la toate item-urile disponibile pentru rolurile combinate.

Cine poate utiliza SQL*Menu?



Administratorul SQL*Menu acorda accesul la SQL*Menu, putand da utilizatorilor unul dintre urmatoarele trei nivele de acces:



Cerinte SQL*Menu



SQL*Menu necesita ORACLE RDBMS versiunea 6.0. Poate si legat la SQL*Forms versiunea 3.0 si la SQL*Plus versiunea 3.0.

Pentru a utiliza SQL*Menu este nevoie:


Folosirea SQL*Menu



Sunt disponibile trei stiluri de afisare:


Fiecare din stilurile de afisare va afisa aceleasi item-uri meniu. Stilurile Pull-down si Bar folosesc numele scurt pentru fiecare item, numele intreg pentru item-ul respectiv fiind folosit ca indicatie in partea de jos a ecranului. Meniurile full-screen folosesc tot textul item-ului ca identificator pentru item.

Cand un item Pull-down a fost actionat, meniul se intoarce intotdeauna la meniul superior. Pentru stilul Full-screen si Bar se va ramane in acelasi meniu.

Sintaxa pentru a schimba stilul de afisare:
     runmenu application_name -M {PULLDOWN|BAR|FULLSCREEN}

OR

     runmenu application-name -M {P|B|F}


Navigarea in Runmenu



Pentru a naviga prin arborele meniului prin cai standard selectati item-ul meniului care cheama un submeniu. In full- screen selectarea directa de item-uri meniu este disponibila.

Urmatoarele taste functionale sunt disponibile pentru navigatie:

     [RIGHT] si [LEFT]      Muta la item-urile adiacente din
                            meniurile Bar si meniul principal
                            Pull-down

     [UP] si [DOWN]         Meniuri full-screen si submeniuri
                            pull-down: pozitioneaza la item-urile
                            adiacente

     [NEXT FIELD] si        Pozitionarea pe campurile dintr-o
     [PREVIOUS FIELD]       cutie de dialog

     [SHOW BGM]             Afiseaza meniul background daca
                            exista si daca rolul dumneavoastra
                            are permisia background menu (< BGM>
                            in linia de stare)

     [MAIN MENU]            Pozitionarea pe meniul principal

     [APPLICATION MENU]     Pozitionarea pe meniul aplicatiei. De
                            aici puteti selecta alt meniu al
                            aplicatiei sau puteti iesi din
                            SQL*Menu

     [EXIT]/[CANCEL]        Iesirea din aplicatie. Intr-un
                            submeniu Pull-down sunteti pozitionati pe meniul
                            parinte. Printr-o cutie de dialog sunteti
                            pozitionat din nou in meniu.



Meniuri pull-down si bar


 ----------------------------------------------------------------
|Reports    Utilities Orders Exit                               |
|-------------------SQL*Menu V5.0 Course Demonstration-----------
| | Orders     |                                                |
| | Products   |----------------                                |
| | Customers  | All customers  |                               |
|  ------------- One customer   |                               |
|              |----------------                                |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|Report on products ordered by all customers                    |
|Application : ORDMENU                      BGM  OSC  DBG  REP  |
|                                                               |
 ---------------------------------------------------------------

 Fig 24.1: Exemplu de meniu pull-down


Diagrama de mai sus reprezinta un meniu ruland cu optiunile implicite, cu afisarea de tipul pull-down. Acesta are caracteristicile:

LINIA DE TITLU
Contine identificatorul aplicatiei

LISTA DE ITEM_URI
Fiecare meniu are o lista de unul sau mai multe item-uri. Item-urile sunt identificate dupa numele scurte. Item-urile inactive vor fi afisate diferit. Daca nu pot fi afisate toate item-urile va exista o sageata la sfarsitul listei pentru a arata ca mai sunt item-uri de afisat.

OPTIUNEA CURENTA LUMNATA
Cand un meniu apare prima data primul item este intotdeauna optiunea curenta.

TEXTUL PENTRU OPTIUNEA CURENTA
Textul integral al item-ului este folosit ca o indicatie pentru optiunea curenta si apare pe linia de mesaje.

NUMELE APLICATIEI
Este afisata in linia de stare in partea de jos a ecranului.

OPTIUNI DISPONIBILE
Pe linia de stare BGM, OSC si DBG indica faptul ca utilizatorul are acces la meniul backround , optiunile sistemului de operare si la modul debug.

MODUL DE EDITARE
Pe linia de stare REP indica modul typeover sau INS indica modul inserare.



Meniurile cu stilurile pull-down si bar afiseaza diferit submeniurile:


Meniuri full-screen

 ---------------------------------------------------------------
|                                                               |
 ---------------------------------------------------------------
|                     Sales Order Application                   |
|                                                               |
|                    A Sample Menu Application                  |
|                                                               |
|                                                               |
|                                                               |
|             1. Report on sales orders and customers           |
|             2. Display the utilities menu                     |
|             3. Update sales orders and customer data          |
|             4. Exit from the Orders menu specification        |
|                                                               |
|                                                               |
|                                                               |
|                     Enter your choice:                        |
|                   Summit Sporting Goods                       |
|                                                               |
|Application: ORDMENU  Menu: ORDMENU   u ^  BGM  OSC  DBG   REP |
|                                                               |
 ---------------------------------------------------------------

Fig 24.2: Exemplu de meniu full-screen


Imaginea reprezinta un meniu rulat in stilul de afisare full-screen . Acesta are caracteristicile urmatoare:

TITLU
Afiseaza titlul meniului (maxim 40 de caractere) - folosit de obicei pentru a afisa numele aplicatiei.

SUBTITLU
Afiseaza subtitlul meniului - maxim 40 de caractere.

LISTA DE ITEM-URI
Item-urile sunt identificate de textul intreg a item-ului (70 de caractere maxim). Nu vor fi afisate item-urile nedisponibile.

OPTIUNEA CURENTA ILUMINATA
Cand este afisat prima data un meniu, primul item este intotdeauna luminat.

'ENTER YOUR CHOICE'
Camp utilizat pentru a selecta item- urile meniului.

OPTIUNI DISPONIBILE
Pe linia de stare , si indica faptul ca utilizatorul are acces la meniul background, comenzile sistemului de operare si la modul debug.

MODUL EDIT
Pe linia de stare indica modul typeover sau indica modul insert.



Navigarea si selectarea item-urilor





Navigarea prin selectie directa





Restrictii la selectarea directa



Nu puteti:


Optiunea WHERE



Optiunea Where este utila pentru operatorii ce utilizeaza un nou meniu aplicatie. Le permite sa vada calea folosita spre diferite meniuri, dandu-le posibilitatea sa inteleaga repede structura meniului. Aceasta optiune este disponibila doar in meniurile full-screen. Poate fi activata/dezactivata prin folosirea cheii functionale [WHERE DISPLAY].

Optiunea Where afiseaza intr-o linie orizontala pe ecran chiar dedesubtul subtitlului meniul curent, si oricare meniuri selectate pentru a ajunge la el. Toate numele de meniuri vor fi trunchiate la sase caractere.

Introducerea valorilor parametrilor

Daca un parametru este asociat cu un item atunci o cutie de dialog va aparea, cerand valoarea respectiva pentru a fi inserata in campul de introducere date. Aceasta intrare nu va fi validata de meniu. Pentru a folosi cutii de dialog:

  1. Tastati informatia respectiva si apasati [ACCEPT].

  2. Daca cutia de dialog are mai mult de un camp de introducere date folositi [NEXT FIELD] si [PREVIOUS FIELD] pentru a naviga.


HELP

Sunt disponibile mai multe help-uri on-line.



     Tip de Help          Descriere

Indicatii si descrieri    Indicatiile apar doar in meniurile
                          pull-down si bar. Ele vor afisa textul
                          intreg pentru item-ul curent.

Mesaje de eroare          Mesaje de eroare pot sa apara in linia
                          de mesaje pentru a va ajuta sa
                          corectati si detectati erorile.

Help pentru tastele       Pentru a afisa o lista cu cheile
functionale               functionale in contextul curent si
                          maparile pe terminalul dumneavoastra
                          tastati [SHOW KEYS].

Sistemul de help al       Informatii de help context-sensitive
aplicatiei                pot fi puse la dispozitie de
                          proiectant. Mutati cursorul la item-ul
                          respectiv si apasati [HELP] pentru
                          aceste informatii. Vor fi afisate intr-
                          un format modificat full-screen.



Meniuri background

Meniurile background ofera shortcut-urile si functiile generale pentru a a rula o aplicatie. Daca un meniu background este disponibil, veti vedea BGM pe linia de stare. Daca nu apara sau rolul dunmeavoastra nu va da acces sau nu exista un meniu background.

Cheia functionala [SHOW BGM] va afisa meniul background, listand item-urile si cheile asociate, intr-un display full- screen modificat.

Pentru a selecta o optiune dintr-un meniu background apasati cheia [BACKGROUND MENU] urmata de numarul optiunii.

NOTA: Nu puteti accesa direct item-uri din meniul background afisat in stil bar sau pull-down. El arata o lista de item-uri disponibile impreuna cu tastele corespunzatoare. Intr-un meniu full-screen este posibil sa navigati spre meniul background utilizand selectarea directa (tastati BGM in campul 'Enter your choice' si apasati [RETURN]).

Comenzile sistemului de operare

Aceasta facilitate permite accesul direct la sistemul de operare. OSC afisat pe linia de stare indica daca aveti acces. Sunt disponibile doua chei functionale:

     [ENTER 1 OS COMMAND]     Introduceti o comanda. Cand comanda
                              a fost executata vi se va cere sa
                              apasati orice tasta pentru a va
                              intoarce in meniu.

     [ENTER 1 OS COMMAND]    Introduceti mai mult decat o
                              comanda. Pentru a va intoarce la
                              meniu apasati [RETURN] pe o linie
                              goala.

Introducere in proiectarea meniurilor

Inainte de proiectarea unui meniu al aplicatiei trebuie considerata utilitatea dorita pentru aplicatie. Aceasta va avea un impact asupra proiectarii finale a meniului. Meniurile pot folosi pentru:

  1. Structura sistemului si securitate - rularea meniului din sistemul de operare.

  2. Aplicatie meniu integrata in SQL*Forms 3.0.



Limitari



SQL*Menu pune putine limitari pentru proiectantii de aplicatii, totusi este bine sa tineti cont de aceste limitari in timpul proiectarii aplicatiei. Limitarile sunt:



Primii pasi in proiectarea SQL*Menu basic



O aplicatie SQL*Menu consista din obiecte definite utilizand interfata proiectantului. Aceste obiecte vor include aplicatia insasi, meniurile, item-urile meniu, parametri de substitutie si procedure PL/SQL pe care le invoca item-rile meniu.

Pasii fundamentali in construirea unei aplicatii SQL*Menu:

  1. Analiza cerintelor - decideti exact pentru ce este meniul si ce trebuie sa faca.

  2. Proiectati aplicatia - decideti stilul afisarii, accesul utilizatorului, etc.

  3. Construiti aplicatia.

  4. Salvati, generati si testati - debug daca este necesar.

  5. Elaborati documentatia pentru utilizatorii finali.



Proiectarea aplicatiei



Cand proiectati aplicatia trebuie sa considerati urmatoarele lucruri:



Proiectarea arborelui meniu

Un exemplu de structura a arborelui meniului:

                           ORDERS
                       meniu principal
                            |
                            |
            -------------------------------------------------
           |                       |              |          |
     --------------          -------------     Orders      Exit
    | REPORTS     |         | UTILITIES   |  Acest item
    | submeniu    |         | submeniu    |  ruleaza forma
     --------------          -------------   ORDERS
           |                      |
           |        -----------------------------
           |       |              |              |
           |   Directory         OS          SQL*Plus
           |                  Commands
           |
       -----------------------------------------------------
      |                       |                             |
  ---------              ----------                    Customers
 |ORDERS   |            | PRODUCTS |
 |submeniu |            | submeniu |
  ---------              ----------
      |                       |
  ---------             -------------
 |         |           |             |
All      Dated        All           One
orders   orders       customers    customer

                            ------------------
                           |       BGM        |
                           | meniu background |
                            ------------------
                                    |
                        -------------------------
                       |                         |
                  Dated orders                 Orders
                                         Acest item ruleaza
                                            forma ORDERS


Fig 24.3: Un exemplu de diagrama a arborelui meniu.


Consideratii precise trebuie facute in planificarea stucturii meniului dumneavoastra. Ar fi de ajutor sa construiti o diagrama a arborelui meniului asa cum a fost ilustrat mai sus. Aceasta va va ajuta sa descoperiti caile meniului pe care trebuie sa le creati.

Iata niste sugestii





Planificarea categoriilor de privilegii (roluri)

Toti utilizatorii trebuie sa fie atasati la unul sau mai multe categorii de privilegii numite roluri. Accesul la item- urile meniului este controlat de apartenenta la rol. Fiecare rol este identificat prin-un nume asignat lui de administratorul de sistem la creare. Accesul rolului la un item din meniu este stabilit in timpul definirii item-ului (aceasta este facut la nivel de item).

Alternativ in versiunea curenta de SQL*Mennu (versiunea 5.0.11.3.0) este necesara specificarea accesului doar pentru radacina meniului. Fiecare item aflat mai jos in structura va 'mosteni' accesul. Fiecare user care a ajuns asa departe poate utiliza acel item.

La proiectarea unei aplicatii trebuie considerati utilizatorii potentiali ai sistemului, apoi acestia trebuie grupati. Criterii folositoare pentru a identifica grupurile de utilizatori pot fi:



Acesti utilizatori pot fi inregistrati in rolul (sau rolurile) corespunzator.

Roluri si caracteristici speciale



Cand un rol este definit trebuie decis ce roluri poate sa utilizeze:


Scenariul aplicatiei meniu



In urmatorul capitol veti construi o aplicatie care incorporeaza urmatoarele componente:
     Componenta                                 Nume fisier

     Forma inregistrarii ordinelor              order.frm
     Forma intretinerii listei preturilor       pricehis.frm
     Forma cu detalii despre clienti            customer.frm
     Raport despre lista clientilor             client.sql
     Raport despre disponibilitatea stocurilor  stock.sql
     Raport despre costul ordinelor             ordcost.sql


Tabelul de mai jos arata componentele cu drepturile cerute pentru grupul utilizatorului. Toate rapoartele sunt disponibile pentru citire si tiparire. In prezent toate formele vor folosi meniul implicit al aplicatiei - mai tarziu veti integra alte meniuri in unele din aceste forme.

Componenta     Administratie  Manageri  Proiectanti de sistem

Order          X              X         X
Pricehis                      X         X
Customer       X              X         X
Client         X              X         X
Stock          X              X         X
Ordcost        X              X         X


. Toti utilizatorii pot lista propriul director. Managerii si proiectanti de sistem pot rula interogari "ad-hoc" in SQL*Plus. Toate acestea sunt aratate in diagrama arborelui meniului.

Specificarea item-urilor meniului

Intr-un meniu puteti avea cate item-uri doriti. Aceste item- uri pot invoca: