Configurari interne SQL*Menu si Administrare
Scopurile acestui capitol
Acest capitol are ca scop o recapitulare a configurarilor interne ale
SQL*Menu si o apreciere a sarcinilor administrative implicate de
intretinerea mediului de aplicatii SQL*Menu. Subiectele acoperite
sunt:
- Tabelele de baza SQL*Menu
- Componentele SQL*Menu
- Operatii de intretinere a aplicatiei
- Securitatea SQL*Menu
Tabelele de baza SQL*Menu
Tabelele de baza SQL*Menu sunt create automat in timpul instalarii
produsului. Ele contin toate datele pentru SQL*Menu. SQL*Menu
foloseste informatia din tabelele de baza pentru a crea fisierele de
biblioteca ale aplicatiei in timpul generarii. Ele sunt deasemenea
accesate de fiecare data cand un utilizator ruleaza o aplicatie pentru
a verifica starea de securitate pentru acel utilizator.
Continutul tabelelor poate fi vazut folosind view-urile detaliat in
pagina. Orice modificare ce urmeaza a fi facuta asupra aplicatiilor
cu meniuri sau securitatii trebuie facuta prin interfata de
proiectare.
Tabelele de baza SQL*Menu
Nume View Descriere
--------- ---------
MENU_V_APPL Definitii aplicatie - corespund campurilor
din forma de definire a aplicatiei.
MENU_V_APPL_GRP Rolurile utilizate in fiecare aplicatie.
MENU_V_INFO Definitiile meniului - corespund campurilor
din forma de definire a aplicatiei, plus
numele aplicatiei.
MENU_V_OPTION Definitiile articolelor - corespund campurilor
din forma de definire a articolelor, plus
numele aplicatiei.
MENU_V_PARAM Definitiile parametrilor de substituire -
corespund elementelor din forma de definire a
parametrilor de substituire, plus numele
aplicatiei.
MENU_V_PARM_XREF Referintele incrucisate pentru parametri de
substituire - pentru meniuri full-screen
MENU_V_OBJ_TEXT Informatie obiect text - comentarii, mesaje
de ajutor si alte texte de informatie pentru
meniuri.
MENU_V_GROUP Definitii de roluri - corespund elementelor
din forma de definire a rolurilor.
MENU_V_GRP_PRIV Privilegii de acces la articole - corespund
ferestrei rol articol pentru fiecare articol
din meniu.
MENU_V_PRIV Referinte incrucisate privilegiate - listeaza
numerele interne de identificare pentru
fiecare articol de meniu.
MENU_V_USER Informatia de inscriere a utilizatorului -
corespunde informatiei din fereastra
utilizator pentru fiecare rol.
MENU_V_REF Informatie obiect referinta - corespunde
campurilor din cutia de dialog de copiere/
referentiere obiect, plus numele aplicatiei.
MENU_V_PROCEDURE Proceduri PL/SQL - corespunde elementelor din
forma de definire a procedurilor, plus numele
aplicatiei.
MENU_V_CIRCLE Informatia de comanda a meniului - folosita
in timpul generarii pentru a verifica
referintele circulare din meniuri.
Componente SQL*Menu
SQL*Menu Versiunea 5.0 are patru componente sistem care pot fi rulate
de la linia de comanda a sistemului de operare folosind urmatoarele
comenzi:
Componenta Comanda
---------- -------
SQL*Menu (Design) SQLMENU
SQL*Menu (Run Menu) RUNMENU
SQL*Menu (Generate) GENMENU
SQL*Menu (Document) DOCMENU
Pentru a afisa informatia de sintaxa tipariti numele comenzii cu
switch-ul '?' la promptul sistemului de operare. Detalii complete
despre aceste componente se afla in Anexa G.
Toate aceste componente pot fi accesate din interfata de proiectare
prin selectarea articolelor corespunzatoare.
Operatii de intretinere a aplicatiei
Ca parte a intretinerii normale si generare a aplicatiilor cu meniuri
veti avea cate odata nevoia de a indeplini unele dintre actiunile
urmatoare:
- Copierea unei aplicatii
- Redenumirea unei aplicatii
- Stergerea unei aplicatii
- Exportarea unei aplicatii
Stergerea unei aplicatii
Pentru a sterge o aplicatie din baza de date:
- Selectati Action din meniul principal.
- Selectati Delete din submeniul Action. Cutia de dialog Delete Menu
va apare.
- Introduceti numele aplicatiei pe care doriti sa o stergeti si
apasati [Accept]. Veti vedea mesajul "Working..." in timp ce
SQL*Menu sterge aplicatia din baza de date; apoi va veti intoarce
la meniul principal.
Trebuie deasemenea sa stergeti orice fisiere de biblioteca care exista
pentru aplicatia dvs. Aceasta se poate obtine fara a iesi din SQL*Menu
folosind articolul Host din submeniul Admin. Pentru a va intoarce la
SQL*Menu din aceasta optiune apasati [Return] de la promptul
sistemului de operare.
Descarcarea (exportarea) unei aplicatii
Puteti folosi metoda urmatoare pentru a muta o aplicatie dintr-o
baza de date in alta. Aceasta este folositoare in special pentru
aplicatii de back up.
Pentru a muta o aplicatie cu meniuri:
- Selectati Action din meniul principal.
- Selectati Unload din submeniul Action. Va apare cutia de dialog
Export application cu numele aplicatiei curente in campul Name si
numele fisierului in campul File.
+-------------------------------------------------------------------+
| Action Menu Procedure Help Options |
+---------------------------------SQL*Menu--------------------------+
| |
| +------------------------------------------------+ |
| | Export Menu Application | |
| | | |
| | | |
| | Name: ORDMENU | |
| | | |
| | File: ORDMENU | |
| | | |
| +------------------------------------------------+ |
| |
| |
| |
| |
|Enter name of menu application to be unloaded(exported) to file |
|App: ORDMENU Mnu: BGM List Rep |
| |
+-------------------------------------------------------------------+
Fig 26.1 - Cutia de dialog exportare meniu
- Pentru a exporta orice aplicatie folositi List of values si
selectati aplicatia dorita. Specificati un nume de fisier in campul
File, fara extensie. O cale catre un director poate fi inclusa.
Implicit este directorul curent.
- Apasati [ACCEPT] pentru a crea un fisier de iesire numit
numefisier.SQL. SQL*Menu va afisa mesajul "Working...", iar apoi
va reveni la meniul principal.
- Mutati fisierul numefisier.SQL la destinatia dorita si intrati in
SQL*Plus folosind un nume de utilizator care are autorizatia
SQL*Menu Designer sau Administartor. Tipariti @numefisier sau
start numefisier si SQL*Plus va importa aplicatia in baza de date.
- Inainte de a rula aplicatia importata va trebui sa o generati
pentru a produce fisierele de biblioteca la noua locatie. Rolurile
care au acces la aplicatie trebuie sa fie deasemenea recreate.
SQL*Menu nu va exporta nici o informatie din tabelele de
securitate pentru aplicatie.
Copierea unei aplicatii
Pasii urmatori descriu cum sa copiati o aplicatie din baza de date:
- Selectati Action din meniul principal din interfata de proiectare.
- Selectati Copy din submeniul Action. Va apare cutia de dialog
Copy Menu.
- Introduceti numele aplicatiei pe care doriti sa o copiati in
campul From. O lista a valorilor este disponibila in acest camp.
- Introduceti un nume nou in campul To.
- Apasati [ACCEPT] si mesajul "Working..." va apare in timp ce
SQL*Menu copiaza aplicatia. Veti reveni apoi la meniul principal.
- Deschideti noua copie a aplicatiei si introduceti forma de
definire a meniului pentru a schimba numele meniului principal
astfel incat sa se potriveasca cu numele noii aplicatii.
- Acum mergeti in forma de definire a aplicatiei si introduceti un
nume de fisier unic si un nume scurt pentru aplicatie. Modificati
campurile Creation Date si Creator daca este necesar.
Redenumirea unei aplicatii
Pasii urmatori descriu cum sa redenumiti o aplicatie din baza de date:
+-------------------------------------------------------------------+
| Action Menu Procedure Help Options |
+---------------------------------SQL*Menu--------------------------+
| |
| +------------------------------------------------+ |
| | Rename Menu Application | |
| | | |
| | | |
| | Old: ORDMENU | |
| | | |
| | New: ORDMENU | |
| | | |
| +------------------------------------------------+ |
| |
| |
| |
| |
| |
+-------------------------------------------------------------------+
Fig 26.2 - Cutia de dialog redenumire aplicatie
- Selectati Action din meniul principal.
- Selectati Rename din submeniul Action.
- Introduceti numele aplicatiei pe care doriti sa o redenumiti in
campul Old. O lista a valorilor este disponibila in acest camp.
- Introduceti noul nume in campul New si apasati [ACCEPT]. SQL*Menu
va afisa mesajul "Working..." in timp ce redenumeste aplicatia,
iar apoi revine la meniul principal.
- Deschideti aplicatia si redenumiti meniul principal astfel incat
sa se potriveasca cu numele noii aplicatii.
- Acum mergeti in forma de definire a aplicatiei si introduceti un
nume de fisier unic si un nume scurt pentru aplicatie. Modificati
campurile Creation Date si Creator daca este necesar. Apoi va
trebui sa salvati si sa generati noua aplicatie inainte de a o
testa.
Securitate SQL*Menu
Administratorul SQL*Menu este responsabil pentru:
- Acordarea accesului la SQL*Menu.
- Revocarea accesului la SQL*Menu.
- Crearea rolurilor.
- Asignarea utilizatorilor la roluri.
Acordarea si revocarea accesului la SQL*Menu
Accesul la SQL*Menu poate fi acordat din interfata de proiectare,
asa cum este detaliat mai jos, sau din sistemul de operare folosind
comanda GENMENU. Utilizatorul trebuie sa aiba un cont valid Oracle
inainte de a i se acorda accesul la SQL*Menu. Utilizatorului trebuie
sa i se acorde accesul la SQL*Menu inainte de a fi inrolat in orice
rol.
Pasii urmatori descriu cum sa acordati accesul unui utilizator prin
intermediul interfetei de proiectare:
- Selectati Action din meniul principal al interfetei de proiectare.
- Selectati Admin din submeniul Action.
- Selectati Grant Access din submeniul Admin. Va apare cutia de dialog
Grant Access to User.
- Introduceti numele valid de utilizator Oracle si apasati
[RETURN].
- O lista a valorilor este disponibila pentru nivelul de privilegiu.
Apasati [LIST] pentru a afisa lista.
- Folositi tastele [UP] si [DOWN] pentru a va pozitiona pe nivelul
dorit si apasati [RETURN]. Pentru a revoca accesul selectati
optiunea Revoke.
- Apasati [ACCEPT] pentru a continua. Mesajul "Working..." va apare
pe linia de mesaj. Daca ati selectat optiunea Show Detailed
Working Messages atunci veti vedea detalii complete ale diferitelor
drepturi la tabele si view-ere.
Orice erori in timpul acestui proces vor fi scrise intr-un fisier
numit GRANT.ERR.
+-------------------------------------------------------------------+
| Action Menu Procedure Help Options |
+---------------------------------SQL*Menu--------------------------+
| +---------------------------+
| | Privilege Level: |
| | |
| +--------------------------------+ +-+-------------------------+
| | Grant Access to User | | | Execute |
| | | +-+ Design |
| | Name: SM5T1 | | | Administrate |
| | | | | Revoke |
| | Privilege Level: | | | |
| | | | | |
| +--------------------------------+ | | |
| | | |
| | | |
| | | |
| +-+ |
| | | |
| +-+-------------------------+
| |
|App: ORDMENU Mnu: BGM Rep |
| |
+-------------------------------------------------------------------+
Fig 26.3 Acorda acces utilizatorilor - lista de valori
Pentru a acorda/revoca accesul din sistemul de operare trebuie sa
aveti accesul de administrare. Sintaxa este:
genmenu50 system/manager -ge username
pentru a acorda accesul de executie.
genmenu50 system/manager -gd username
pentru a acorda accesul de design.
genmenu50 system/manager -ga username
pentru a acorda accesul de administrare.
genmenu50 system/manager -r username
pentru a revoca accesul.
Crearea rolurilor si asignarea utilizatorilor la roluri
Adminmistratorul va defini roluri care activeaza accesul
utilizatorilor la aplicatiile dorite. Membrul de rol este necesar,
oricarui utilizator, pentru a rula aplicatiile cu meniuri. Fiecarui
rol i se pot asigna trasaturi aditionale. Acestea sunt:
- Background Menu - BGM
- Operating System Commands - OSC
- Debug Mode - DBG
In timp ce defineste rolurile DBA poate asigna utilizatorii la aceste
roluri, ori aceasta operatie poate fi facuta mai tarziu. Pasii
urmatori descriu cum se creaza rolurile si cum se asigneaza
utilizatori la aceste roluri:
- Selectati Action din meniul principal al interfetei de proiectare.
- Selectati Admin din submeniul Action.
- Selectati Security din submeniul Admin. Va apare forma de definire
a rolurilor.
+-------------------------------------------------------------------+
| Action Menu Procedure Help Options |
+----------------------------Role Definition------------------------+
| |
| +----------------------------------------------------------------+|
| | Role Name: SYS_DES ||
| | ||
| | Select Users ||
| | [ X ] Debug Mode [ X ] OS Command [ X ] Background Menu ||
| +----------------------------------------------------------------+|
| |- - - - - - - - - - - - - Comments - - - - - - - - - - - - - - -||
| | System designers have full access to all extra options. ||
| | ||
| | ||
| | ||
| | ||
| +----------------------------------------------------------------+|
| |
| |
|Enter the name of the role. |
|App: ORDMENU Mnu: BGM Rep |
| |
+-------------------------------------------------------------------+
Fig 26.4 - Forma de definire a rolurilor.
- Apasati [INSERT RECORD] si introduceti numele rolului in campul
Role Name.
- Apasati [NEXT FIELD] pentru a va pozitiona pe butonul Select
Users. Apasati [SELECT] pentru a afisa fereastra Username.
Apasati [INSERT RECORD] si introduceti numele utilizatorului
ORACLE. Remarcati ca acest nume de utilizator nu este
validat.
+-------------------------------------------------------------------+
| Action Menu Procedure Help Options |
+----------------------------Role Definition------------------------+
| |
| +----------------------------------------------------------------+|
| | Role Name: ADMI+-+----------------------+ ||
| | | | Username | ||
| | Select Users +-+----------------------+ ||
| | [ X ] Debug Mod| | SM5G1 | Background Menu ||
| +-----------------| | SM5G10 |---------------------+|
| |- - - - - - - - -| | SM5G11 |- - - - - - - - - - -||
| | | | SM5G2 | ||
| | | | SM5G3 | ||
| | | | SM5G4 | ||
| | +-+ SM5G5 | ||
| | |v| SM5G6 | ||
| +-----------------+-+--------------------------------------------+|
| |
| |
|Enlist user in current role. |
|App: ORDMENU Mnu: BGM Rep |
| |
+-------------------------------------------------------------------+
Fig 26.5 Forma de definire a rolurilor - Selectare utilizatori.
- Apasati [ACCEPT] pentru a reveni la forma de definire a rolurilor
si apasati [RETURN] pentru a va pozitiona pe check-box-ul Debug
Mode.
- Pentru a acorda rolului optiunea Debug Mode, apasati
[SELECT] sau
tipariti orice caracter. Repetati pentru optiunile Operating
System Commands si Background Menus.
- Pozitionati cursorul pe regiunea Comments si introduceti o
descriere a rolului.
- Pentru a adauga alte roluri apasati [INSERT RECORD] si repetati
procedura de deasupra.
- Pentru a elimina o definire de rol apasati [DELETE RECORD]. Vi se
va cere sa confirmati aceasta cerere.
- Apasati [ACCEPT] pentru a iesi din forma de definire a rolului.
O cutie de avertizare va apare cu mesajul "Do you want to save
security table ?".
- (Yes) salveaza noile definiri de roluri in tabela de
securitate.
- (No) iese fara a salva modificarile.
- (Cancel) se reintoarce la forma de definire a rolurilor.
Capitolul 26 Exercitii - Intretinerea aplicatiei
In sesiunea urmatoare vom urmari integrarea aplicatiilor SQL*Menu si
SQL*Forms. Vom modifica o copie a aplicatiei cu meniuri implicita.
Acest exercitiu este proiectat pentru a va oferi practica in copierea
acestei aplicatii pentru pregatirea ei pentru capitolul urmator.
Aplicatia cu meniuri relevanta se numeste DEFAULTMENUAPP in SQL*Menu.
Daca nu este incarcata veti gasi un fisier care poate fi utilizat
pentru a o crea in directorul de demo de pe masina dvs. Fisierul se
numeste MENUDEF.SQL si trebuie rulat in SQLPLUS, folosind un cont al
utilizatorului meniului.
- COPIATI DEFAULTMENUAPP intr-o aplicatie numita INTEG Gn, unde n
reprezinta numarul dvs. de grup. NU REDENUMITI DEFAULTMENUAPP.
- Deschideti aplicatia si redenumiti meniul principal, numele scurt
si numele fisierului corespunzator. Modificati campul Creator in
numele dvs. de utilizator Oracle. Salvati modificarile in baza de
date. Daca generati si rulati aplicatia veti intalni mesajul de
eroare 'MNU-10246: Error executing packaged procedure - inactive
form' - nu uitati ca vom folosi acest meniu in SQL*Forms mai
tarziu.
Capitolul 26: Solutii
Intretinerea aplicatiei
- Copiati DEFAULTMENUAPP
- Selectati Action din meniul principal de proiectare.
- Selectati Copy din submeniul Action.
- Apasati [LIST] si selectati DEFAULTMENUAPP.
- Apasati [RETURN] si introduceti numele INTEG_Gn, unde
n este numele dvs. de grup.
- Apasati [ACCEPT]. Cand copia este completa veti reveni
la meniul principal.