26. November 2007

Forms 11g New Features: Events

Mein Vortrag auf der DOAG Konferenz 2007 war "Forms 11g: Ein Blick hinter die Kulissen"

Die zwei neuen Features sind: Advanced Queuing und Javascript-API. Hier beschreibe ich nun die AQ-Technik mit den neuen Forms-Events.

Events - Interaktion mit Advanced Queuing

Dies ist die erste grosse Änderung im Forms Builder seit 6 Jahren. Wir können Events erstellen und Queues zuweisen. Sobald neue Daten in einer AQ ankommen, wird der neue Trigger WHEN-EVENT-RAISED gestartet.


Erlaubte Properties für Events

Event Type : Data Base, User Defined
Subscription Name : AQ-Name (LOV)
Scope : Application, Form
Auto Subscribe : Yes, No
Correlation ID :
View Mode : Browse, Locked, Removed

formsweb.cfg

maxEventWait=1000

Der neue Parameter maxEventWait ist sehr wichtig. Der Wert gibt in Millisekunden das Zeitintervall an, in dem die AQ's überprüft werden. Ansonsten würde die Formsmaske nur noch Refreshs ausführen, wenn der Anwender in der Maske etwas anklickt.

Code-Beispiel

BEGIN
:CONTROL.TI_Payload := get_event_object_property ('EV_Default', Event_Payload);
IF upper (:CONTROL.TI_Payload) = 'ATTACH DEBUG' THEN
DEBUG.Attach;
...
END IF;
END;

Dieses Beispiel zeigt eine Fernsteuerung für ein Remote Debugging. Auf der Datenbank füllt man einfach in einer Queue einen Datensatz ein, der dem Forms-Event EV_DEFAULT zugeordnet ist. Jedesmal, wenn die Payload den Wert ATTACH DEBUG hat, startet man in der Forms Runtime das Debug.

In meinem Download-Bereich gibt es einen Link zum Vortrag.

Keine Kommentare: