Documente Academic
Documente Profesional
Documente Cultură
1
2.12 Aplicaii cu formulare multiple (2)
Comportament:
Navigare flexibil ntre ferestre
Conexiuni singulare sau multiple la baza de
date
Tranzaciile pot viza date din formulare diferite
Operaiile commit au loc n ordinea deschiderii
formelor, pornind de la forma curent
Legturi:
Schimbul de date se realizeaz cu ajutorul
variabilelor globale, listelor de parametri,
grupurilor globale de nregistrri, sau
variabilelor PL/SQL din bibliotecile partajate
Codul poate fi partajat, prin intermediul
bibliotecilor i al bazei de date
2
2.12 Aplicaii cu formulare multiple (3)
Forms
Form C
Runtime
Open
Open (Parameters)
Form A Form B
(Parameters)
Open
(Parameters)
Form D
Variabile globale
Grupuridenregistrriglobale
Variabile PL/SQL
3
2.12 Aplicaii cu formulare multiple (4)
4
2.12 Aplicaii cu formulare multiple (5)
OPEN_FORM
MDI MDI
FORM A FORM A
FORM B
OPEN_FORM
Modeless
5
2.12 Aplicatii cu formulare multiple (6)
6
2.12 Aplicaii cu formulare multiple (7)
Aciuni:
1. Definirea ferestrelor i poziionarea lor, pentru fiecare
formular.
2. Stabilirea datelor partajate.
3. Implementarea trigger-ilor pentru:
Deschiderea altor formulare
deschise
7
2.12 Aplicaii cu formulare multiple (8)
Exemplu:
IF ID_NULL(FIND_FORM(ORDERS)) THEN
OPEN_FORM(ORDERS);
ELSE
GO_FORM(ORDERS);
END IF;
8
2.12 Aplicaii cu formulare multiple (9)
nchiderea sesiunii
Form C Form B
Run-time
session Form A
9
2.12 Aplicaii cu formulare multiple (10)
ENTER;
IF :SYSTEM.FORM_STATUS = CHANGED THEN
EXIT_FORM( DO_COMMIT );
ELSE
EXIT_FORM( NO_COMMIT );
END IF;
10
2.12 Aplicaii cu formulare multiple (11)
Trigger-i utili
Trigger-ii care menin referinele i sincronizeaz datele
ntre formulare:
n forma printe:
When-Validate-Item
When-New-Record-Instance
11
2.12 Aplicaii cu formulare multiple (12)
12
2.12 Aplicaii cu formulare multiple (13)
F_EMP
Employee F_DEP
Dep_ID Department
Department_ID
GLOBAL.DEP_ID
13
2.12 Aplicaii cu formulare multiple (14)
14
2.12 Aplicaii cu formulare multiple (15)
Execute_Query;
Pre-Query
:BL_DEP.department_id := :GLOBAL.dep_id;
15
2.12 Aplicaii cu formulare multiple (16)
16
2.12 Aplicaii cu formulare multiple (17)
Maximum Length
http://myhost:8889/forms/frmservlet
?form=emp.fmx&otherparams=deptno=140
17
2.12 Aplicaii cu formulare multiple (18)
18
2.12 Aplicaii cu formulare multiple (19)
19
2.12 Aplicaii cu formulare multiple (20)
20
2.12 Aplicaii cu formulare multiple (21)
21
2.12 Aplicaii cu formulare multiple (22)
OPEN_FORM(called_lib,ACTIVATE,
NO_SESSION,SHARE_LIBRARY_DATA);
22