Acest capitol trareaza trei formate de stocare ale SQL*Forms si
trateaza caracteristicile fiecaruia. Subiectele tratate includ:
Nume Tabel Continut ---------- ---------------------------- FORM_APP idntificare forma FORM_AUTHUSER informatie despre formele pe care userul curent le poate referi/copia FORM_BLK identificare bloc si caracteristici FORM_COMMENT text comentariu FORM_FLD identificare camp si caracteristici FORM_MAP text fix si grafice FORM_PAGE atribute de pagina FORM_PROCEDURE informatii despre proceduri si pointer la text FORM_REFERENCE inregistrare a tuturor referintelor de obiecte SQL*Forms FORM_SQLTXT text al tututror declaratiilor SQL continute in forme FORM_TRG locatia si caracteristicile pasilor de trigger FORM_TRIGGER locatia si caracteristicile triggere-lor FORM_USER informatii despre drepturile user-ului acordate de user-ul curent
Dupa cum ati vazut, nu este nevoie sa stocati forma in baza de date in
ordinea modificarii, generarii sau executarii sale. Deci, care sunt
motivele pentru salvarea formelor in baza de date?
De exemplu, puteti scrie 'analize de impact' SQL pentru a determina
care forme folosesc o coloana anume sau care campuri au fost afisate.
______________________________________________________________ | Action foRm Block Field Trigger Procedure Image Help Options | | ________________________SQL*Forms___________________________ | | | New | | | | Open | | | | ----------- | | | | Copy | | | | Rename | | | | Delete | | | | Load | | | | Print Doc >| | | | ----------- | | | | Generate | | | | Execute | | | | ----------- | | | | Save | | | | FormSecurity| | | | Quit | | | |_____________| | | | | | |______________________________________________________________|
Optiunile meniului care relateaza crearea si stocarea formei: New creeaza o noua forma in zona de lucru. Pana sa o generati sau sa o salvati, forma este temporara si nu va exista in sesiunea SQL*Forms. Open copiaza o forma din baza de date in zona de lucru SQL*Forms. Copy copiaza o forma in baza de date. Daca forma numita se afla atat in zona de lucru SQL*Forms cat si in baza de date, va fi folosita versiunea din zona de lucru. Rename redenumeste o forma din zona de lucru sau, daca nu exista nici o forma in zona de lucru, din baza de date. Tastati in ambele vechiul si noul nume. Delete sterge o forma din baza de date; zona de lucru nu este afectata. Load incarca o forma dintr-un fisier.INP.Incarcarea reuseste chiar daca o versiune a formei exista in baza de date. Generate genereaza forma in zona de lucru pentru a produce doua fisiere ale sistemului de operare: nume_form.INP si nume_form.FRM. Execute ruleaza versiunea .FRM a unei forme; executia nu afecteaza continutul zonei de lucru. Save salveaza continutul zonei de lucru in baza de date. Daca forma din zona de lucru a fost incarcata dintr-un fisier.INP si o forma cu acelasi nume exista in baza de date, vi se va cere sa stergeti forma din baza de date inainte ca SAVE sa poata reusi.
* Pagina 1 _______________________________________________________________ | Action Edit Block Field Record Query Help | | ----------Demo FORM_APP, FORM_PROCEDURE, FORM_SQLTXT--------- | | | | _______________________________________________ | | | General Application Information | | | |_______________________________________________| | | |Owner: ITOWER Application Name: COMMON | | | |Title: Procedure Library | | | |Validation Unit: Mouse Navigation Limit: | | | |Menu Information - Menu App. Name: DEFAULT | | | | Starting Menu: | | | | Security Group: | | | |_______________________________________________| | | | | | | | |_______________________________________________________________| * Pagina 2 _______________________________________________________________ | | | ___________________________________________________________ | | | Procedures | | | |___________________________________________________________| | | |Name: cpl_call_pop-up Appl: COMMON Owner: ITOWER | | | |___________________________________________________________| | | | *** REF ONLY *** procedure!!! Used to call a pop-up page | | | |PROCEDURE cpl_call_pop_up ( pop_up_name IN CHAR | | | | ,x_coord IN NUMBER | | | | ,y_coord IN NUMBER | | | | ,called_from IN CHAR | | | | ,hide_caller IN CHAR ) IS | | | |/***** | | | |* Parameters | | | |* pop_up_name - name of the FRM Pop-Up to be return | | | |* x_coord - reqd xcoord of top left corner of Pop-Up| | | |* y_coord - reqd ycoord of top left corner of Pop-Up| | | |* called_from - calling environment, 'FORM' or 'MENU' | | | |* hide_caller - whether to hide calling Form | | | |*****/ | | | |l_nested CHAR := 'N'; | | | |l_hide_caller CHAR(?); | | | |___________________________________________________________| | | | | | |_______________________________________________________________|
- exemplu: GENERATE animal_form george/orwell -b
Comanda GENERATE (IAG)
GENERATE [optiuni][userid/parola] GENERATE animal_form george/orwell -b
CONVFORM [-optiuni][userid/parola]
CONVFORM -V23 Emps Emps scott/panther
Comanda CONVFORM indeplineste diferite functii depinzand de optiunea pe
care o specificati (daca exista).
CONVFORM nume_fisier.INP nume forma [userid/parola]
CONVFORM -i nume_fisier.INP nume forma [userid/parola]
CONVFORM -v23 -c VT220 ,nume_fisier.INP nume forma [userid/parola]
Nota: Este recomandat ca formele create inainte de Versiunea 2.3 sa fie
convertite la 2.3 si apoi convertite la Versiunea 3. Daca convertiti
direct din 2.0 in 3, aveti in vedere urmatoarele:
CONVFORM -d nume_fisier.INP nume_forma [userid/parola]
In SQL*Forms exista o ierarhie bine definita de obiecte. O intelegere
clara a ierarhiei este importanta pentru navigarea eficienta prin
interfata proiectata.
FORM | | __________________|___________________ | | | | | | | | BLOCK TRIGGER PROCEDURE PAGE | | ____|____ | | | | FIELD TRIGGER | | TRIGGER
Forma este obiectul principal, sau component, al unei aplicatii
SQL*Forms si de aceea rezida in topul ierarhiei. Apartinand formei avem
blocuri, pagini, proceduri de la nivelul formei si triggere.
Blocuri individuale pot detine campuri si triggere, si campurile
individuale pot contine triggere. Obiectele trigger sunt unice si pot
exista mai mult decat pe un nivel al ierarhiei.
SQL*Forms utilizeaza ierarhia pentru a determina Contextul curent.
- permite partajarea obiectelor intre forme
________________________________________________________________ | Action foRm Block Field Trigger Procedure Image Help Options | | SQL*Forms | | | | _________________________________ | | | Source Object | | | |_________________________________| | | | Copy or Reference Object: Copy | | | | Owner: | | | | Form: | | | | Block: | | | | Field: | | | | Trigger: | | | | Procedure: | | | | Text Page: | | | |---------------------------------| | | | Target Object | | | |---------------------------------| | | | Block: | | | | Field: | | | | Trigger: | | | | Position: X: Y: Page: | | | |_________________________________| | | | | Frm: dept_emp Blk: dept Fld: Trg: List Rep | |________________________________________________________________|
_______________________________________________________________ | | | ______________________ ____________________ | | | Form Security | | | | | | | |____________________| | | | Form: PERSONNEL | | | Grant | | | | User: PUBLIC | |__| Revoke | | | | Privilege: Grant | |__| | | | |______________________| |__|_________________| | | | | | | | |_______________________________________________________________|
Pentru a salva o copie a formei in baza de date, alegeti optiunea Save
din submeniul Action.
BAZA DE DATE _________________________________________________________ | | | BIBLIOTECA DE FORME FORMA TEMPLATE | | ____________________ __________________ | | | Blocuri de Control|------->| Referinta | | | | | | | | --------|----| Triggere ---------|------->| Copie/Referinta | | | | | | | | | | -----|----| Proceduri --------|------->| Referinta | | | | | |____________________| |__________________| | | | | | | | | | | | | | |___________________________________________________|_____| | | | | | | | | | Copy | | | Object | | | | | ______________________ | | | | FORMA "BRUTA" | | | | | _________________ | | | | | | | | | | -------------------------|--|--> | | | | copie sau referinta | | < --|-|-------- ----------------------------|--|--> | | | |_________________| | |______________________| Zona de Lucru SQL*Forms Action/New
Exercitiul A Solutii neformale pentru pasii 1,2,3,6 si 7. 4. Copiati pagina: _______________________________________________________________ | | | _______________________________ | | | Source Object | | | | | | | | Copy or Reference Object: Copy| | | | Owner: | | | | Form: customer | | | | Block: | | | | Field: | | | | Trigger: | | | | Procedure: | | | | Text Page: 1 | | | | Target Object | | | | | | | | Block: | | | | Field: | | | | Trigger: | | | | Position: X: Y: Page: 2 | | | |_______________________________| | | | | | |_______________________________________________________________| 5. Copiati blocul _______________________________________________________________ | | | _______________________________ | | | Source Object | | | | | | | | Copy or Reference Object: Copy| | | | Owner: | | | | Form: customer | | | | Block: cus | | | | Field: | | | | Trigger: | | | | Procedure: | | | | Text Page: | | | | Target Object | | | | | | | | Block: cus | | | | Field: | | | | Trigger: | | | | Position: X: Y: Page: | | | |_______________________________| | | | | | |_______________________________________________________________|