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

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:



Stergerea unei aplicatii



Pentru a sterge o aplicatie din baza de date:
  1. Selectati Action din meniul principal.
  2. Selectati Delete din submeniul Action. Cutia de dialog Delete Menu va apare.
  3. 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:

  1. Selectati Action din meniul principal.

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


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

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

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

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

  1. Selectati Action din meniul principal din interfata de proiectare.

  2. Selectati Copy din submeniul Action. Va apare cutia de dialog Copy Menu.

  3. Introduceti numele aplicatiei pe care doriti sa o copiati in campul From. O lista a valorilor este disponibila in acest camp.

  4. Introduceti un nume nou in campul To.

  5. Apasati [ACCEPT] si mesajul "Working..." va apare in timp ce SQL*Menu copiaza aplicatia. Veti reveni apoi la meniul principal.

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

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


  1. Selectati Action din meniul principal.

  2. Selectati Rename din submeniul Action.

  3. Introduceti numele aplicatiei pe care doriti sa o redenumiti in campul Old. O lista a valorilor este disponibila in acest camp.

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

  5. Deschideti aplicatia si redenumiti meniul principal astfel incat sa se potriveasca cu numele noii aplicatii.

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

  1. Selectati Action din meniul principal al interfetei de proiectare.

  2. Selectati Admin din submeniul Action.

  3. Selectati Grant Access din submeniul Admin. Va apare cutia de dialog Grant Access to User.

  4. Introduceti numele valid de utilizator Oracle si apasati [RETURN].

  5. O lista a valorilor este disponibila pentru nivelul de privilegiu. Apasati [LIST] pentru a afisa lista.

  6. Folositi tastele [UP] si [DOWN] pentru a va pozitiona pe nivelul dorit si apasati [RETURN]. Pentru a revoca accesul selectati optiunea Revoke.

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



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:

  1. Selectati Action din meniul principal al interfetei de proiectare.

  2. Selectati Admin din submeniul Action.

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


  4. Apasati [INSERT RECORD] si introduceti numele rolului in campul Role Name.

  5. 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.
    
  6. Apasati [ACCEPT] pentru a reveni la forma de definire a rolurilor si apasati [RETURN] pentru a va pozitiona pe check-box-ul Debug Mode.

  7. Pentru a acorda rolului optiunea Debug Mode, apasati [SELECT] sau tipariti orice caracter. Repetati pentru optiunile Operating System Commands si Background Menus.

  8. Pozitionati cursorul pe regiunea Comments si introduceti o descriere a rolului.

  9. Pentru a adauga alte roluri apasati [INSERT RECORD] si repetati procedura de deasupra.

  10. Pentru a elimina o definire de rol apasati [DELETE RECORD]. Vi se va cere sa confirmati aceasta cerere.

  11. 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 ?".

    1. (Yes) salveaza noile definiri de roluri in tabela de securitate.
    2. (No) iese fara a salva modificarile.
    3. (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.

  1. COPIATI DEFAULTMENUAPP intr-o aplicatie numita INTEG Gn, unde n reprezinta numarul dvs. de grup. NU REDENUMITI DEFAULTMENUAPP.

  2. 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
  1. Copiati DEFAULTMENUAPP
    1. Selectati Action din meniul principal de proiectare.
    2. Selectati Copy din submeniul Action.
    3. Apasati [LIST] si selectati DEFAULTMENUAPP.
    4. Apasati [RETURN] si introduceti numele INTEG_Gn, unde n este numele dvs. de grup.
    5. Apasati [ACCEPT]. Cand copia este completa veti reveni la meniul principal.