Oracle FormsをコールするJavaScriptイベントについて
FormsアプレットをホストするWebページでJavaScriptを使用して、JavaScriptからOracle Formsをコールすることもできます。
DOM (Document Object Model)ツリー内の埋め込まれたFormsオブジェクトに新しい機能が提供されています。JavaScriptを使用して次の処理を行います。
document.forms_applet.raiseEvent(event_name, payload);
ここでは、ID構成変数をforms_appletに設定していたことを前提としています。
周囲のWebページがこのJavaScriptコードを実行すると、Oracle FormsがWHEN-CUSTOM-JAVASCRIPT-EVENTという新しいタイプのトリガーを起動します。このトリガーには、system.javascript_event_valueとsystem.javascript_event_nameの2つの有効なシステム変数があります。これらの変数に含まれているペイロードとイベント名は、raiseEventメソッドを通じてFormsに渡されたものです。raiseEventメソッドがコールされると、WHEN-CUSTOM-JAVASCRIPT-EVENTという名前のトリガーがサーバー側で起動されます。
declare
event_val varchar2(300):= :system.javascript_event_value;
begin
if (:system.javascript_event_name='show') then
handleShowEvent(event_val);
elsif(:system.javascript_event_name='grab') then
handleGrabEvent(event_val);
else
null;
end if;
end;
このPL/SQLコードは、showとgrabの2つのイベントを認識します。それ以外の名前は無視されます。