この章では、Oracle Formsに関連する問題について説明します。次のトピックが含まれています:
この項では、一般的な問題および回避策について説明します。次のトピックが含まれています:
変更された機能または非推奨となった機能については、Oracle Forms Oracle Forms 6iからOracle Forms 12cへのアップグレード・ガイドを参照してください。
Oracle Forms 10gまたはOracle Forms Services 11g (11.1.x)からのアップグレードについては、Oracle Fusion MiddlewareのアップグレードのプランニングおよびFormsおよびReportsのアップグレード・ガイドを参照してください。
この項では、Oracle FormsおよびMicrosoft Windowsに関連する問題について説明します。次のトピックが含まれています:
Forms BuilderをJAWSと組み合せて使用すると、アイテムを作成するために[Ctrl]を押しながら[Insert]を押すキーボード・ショートカットは、機能しません。
この問題を回避するには、メニューのニーモニック・キーを使用します。[Alt]を押しながら[E]を押すと、「編集」メニューが開き、次に[R]を押すと「作成」を選択してアイテムを作成できます。
この項では、Oracle FormsおよびLinux/UNIXに関連する問題について説明します。次のトピックが含まれています:
JVMバージョン1.5以上でシグナル・チェーン機能が動作するには、default.env
にLD_PRELOAD
設定が必要です。他の環境ファイルを作成または使用する場合、その環境ファイルでのLD_LIBRARY_PATH
およびLD_PRELOAD
の設定は、default.env
での設定と同じである必要があります。
この項では、構成に関する問題およびその回避方法について説明します。次のトピックが含まれています:
Internet Explorer以外のサポートされる任意のブラウザでOne-Button-Runを使用している際にFORBIDDENエラーが発生した場合、127.0.0.1 (localhost)がブラウザのプロキシ・設定に存在するかどうかを確認してください。127.0.0.1が例外リストに存在しない場合は、追加します。これにより、ブラウザはプロキシ・サーバーを迂回できます。
実行時にWebutilを使用して構成された場合、Oracle Forms 12cはクライアント側のOLE統合を実行するためにJACOBバージョン1.18-M2をサポートします。このバージョンのJACOBは、Oracle Formsの以前のリリースでサポートされたバージョンとは異なることに注意してください。
JACOBは、JavaからのCOMオートメーション・コンポーネントの呼出しを可能にするJAVA-COMブリッジです。これは、JNIを使用してCOMライブラリにネイティブ・コールを行います。JACOBは、32ビットおよび64ビットのJVMをサポートするx86およびx64環境で動作します。
Oracle Forms 12cにおいて、カラー・スキームのデフォルト値がTEALからSWANに変更されました。この値はformsweb.cfgで初期インストール構成の一部として設定されています。
colorScheme=SWAN
このカラー・スキームは、更新されたモダンなルック・アンド・フィールをFormsに対して提供します。これはまた、Fusion Middleware Controlや、Forms12cの管理に使用される他のすべてのコンポーネントに似てもいます。古いカラー・スキームのほうが望ましい場合は、Forms Web構成(formsweb.cfg)のデフォルト・セクションの値を変更します。
Oracle Formsでは、ADJUST_TZビルトインのサポートおよびDATETIME項目に表示される日付や時間の調整にタイム・ゾーン・データを使用します。DATETIME項目に表示される値は「サーバー」タイム・ゾーンからエンドユーザーの「ローカル」タイム・ゾーンに変換されたものであるのに対し、データベースからロードされた値やアプリケーション・ロジックによって設定された値はサーバー・タイム・ゾーンのものとして解釈されます。サーバー・タイム・ゾーンはFORMS_DATETIME_SERVER_TZにより指定され、デフォルトはGMTです。エンドユーザーのローカル・タイム・ゾーンはFORMS_DATETIME_LOCAL_TZにより指定され、デフォルトはJavaクライアントのタイム・ゾーンです。このように、FORMS_DATETIME_SERVER_TZとFORMS_DATETIME_LOCAL_TZのデフォルト値は通常は異なります。
Formsの以前のリリースでは、FORMS_TZFILEがnullの場合にDATETIME項目に対するタイム・ゾーン調整が行われないものと解釈していました。Forms 12.2.1.1リリース以降では、FORMS_TZFILEは検査されなくなるため、DATETIME項目のタイム・ゾーン調整を抑制する特定のメカニズムはありません。このため、FORMS_TZFILEを設定しないままにしているユーザーは、エンドユーザーのローカル・タイムゾーンがサーバーのタイムゾーンと同じになるようになんらかの処置を取っている場合を除き、Forms 11.1.2以降と比較して動作が変更されていることに気づきます。これを設定するには、たとえばdefault.envなどの環境変数構成ファイルにFORMS_DATETIME_LOCAL_TZ=GMTを追加する必要があります。
FORMS_DATETIME_SERVER_TZのデフォルトはGMTであるため、前述の手順を使用するなら明示的にGMTに設定する必要はありません。
この項では、既知の問題について説明します。次のトピックが含まれています:
Forms Builderオブジェクト・ナビゲータで新規レポート・オブジェクトを作成した場合、Report Builderを開こうとすると失敗し、「FRM-10400: Reports Builderを開けません。」というエラーが表示されます。回避策として、必要に応じてReport Builderを手動で開きます。
Forms builderで「フォームの実行」ボタンを使用しようとすると、先にフォームがFORMS_PATHに含まれるディレクトリに保存されていない場合は失敗します。かわりに、作業ディレクトリをFORMS_PATHに追加します。これは通常MIDDLEWARE_HOME \binディレクトリです。これは意図的な動作上の変更で、ディレクトリ・パスがURLに追加されるのを防ぎます。推奨はされませんが、FORMS_MODULE_PATHエントリ全体をdefault.envから削除(コメント化)すると、以前のバージョンの動作に戻すことができます。
WLS_FORMSがプロキシ・サーバーの後ろにある場合、Web Startを使用してFormsアプリケーションを起動しようとすると失敗します。この問題を修正するには、formsweb.cfgのWEBSTART_CODEBASEを外部サーバーからの表示のようなCODEBASEの完全修飾パスに設定します。たとえば、http://OHShost:OHSport/forms/javaです。
Oracle Forms組込みRUN_REPORT_OBJECTを使用してOracle Reportsと統合されるアプリケーションでは、新規環境変数をForms環境構成(default.env)に追加する必要があります。新規変数名はCOMPONENT_CONFIG_PATH
で、値はReports Toolsコンポーネントへの完全修飾パスです。例: DOMAIN_HOME/config/fmwconfig/components/ReportsToolsComponent/<reports_tools_component_name>
Fusion Middleware ControlのOracle Formsホームページにあるリンクの一部が機能しません。同様の情報の代替ソースとしてOracle Formsデプロイメント・ガイドを使用します。
Forms Builderは、Linux OEL7、RedHat7、SUSE Linux Enterprise Server 12 SP1、またはより新しいオペレーティング・システムで起動されません。次のエラーが表示されます。
共有ライブラリlibXm.so.3をロードしようとしてエラーが発生しました。共有オブジェクト・ファイルを開けません。ファイルまたはディレクトリがありません。
これは、Forms BuilderがlibXm.so.3を見つけようとしているためです。このバージョンは、新しいLinuxのバージョンには存在しません。問題を回避するには、ソフト・リンクを作成します。
libXm.so.3という名前の/usr/lib64/下のlibXm.so.4へのソフト・リンクを作成します
ln -s /usr/lib64/libXm.so.4.0.4 libXm.so.3
これをLD_LIBRARY_PATHに追加します
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64
ソリューション: 次のパッチをForms中間層に適用します - Windowsの場合: 21892409 / UNIXの場合: 21534616
Oracle Formsのオーディオ機能は、オーディオ・ファイルの取得先URLがOracle WebLogic Serverにより提供されている場合には動作しません。オーディオ・ファイルのロードに失敗します。
オーディオ・ファイルのURLはOracle HTTP Serverが提供するものでなければなりません。JARファイルで配信されるオーディオ・ファイルでは、Oracle WebLogic ServerとOracle HTTP Serverのいずれが提供するURLも使用できます。
この項では、ドキュメントの訂正箇所を示します。次のトピックが含まれています:
Oracle Forms Builderオンライン・ヘルプに、次の情報を追加する必要があります。
Forms Builder (frmbld)を使用してフォームが作成されると、項目のプロパティ「問合せ長」のデフォルト値は0になります。その後フォームが11gより前のリリースでコンパイルされると、この値(0)によって、「問合せ長」のデフォルト値が「最大長」プロパティの値になります。Oracle Forms 11gでは、「問合せ長」のデフォルト値が、「最大長」プロパティの値に2を加算した値になります。以前のリリースの動作に戻す場合は、フォームのコンパイル時に環境変数FORMS_QUERY_LENGTH_DELTA
を'0'に設定する必要があります。
DATE書式マスクによって、テキスト項目またはコンボ・ボックスに入力できる文字数が決まります。通常、この数は出力書式マスクおよび許容されるすべての入力書式マスクに必要な最大文字数になります。コンボ・ボックスまたは書式マスクが設定されていないテキスト項目に対して、入力書式マスクと出力書式マスクがどのように選択されるかについては、日付用の書式要素に関する項を参照してください。FORMS_USER_DATE_FORMAT
またはFORMS_USER_DATETIME_FORMAT
環境変数では、複数の入力書式マスクが指定される場合があります。また、Oracle Forms Builderオンライン・ヘルプに含まれるSQLリファレンスの書式モデルに関する項で、文字列から日付への変換規則の説明に記載されているとおり、FX
を含まないどの入力書式マスクに対しても、代替書式マスクを使用できます。
前述の説明に含まれる規則には、例外が1つあります。文字列から日付への変換規則の説明に記載されている動作では、数字の月(MM形式のマスク要素)または省略形の月(MON形式のマスク要素)のかわりに、月のスペル全体を入力することも許可されます。ただしこの場合、テキスト項目またはコンボ・ボックスに入力できる文字数は、省略形の月のみを入力できる長さになります。
11gR1以前のリリースでは、入力DATE書式マスクは考慮されません。10gR2 (10.1.2)では、エンド・ユーザーがDATE項目に入力できる文字数は、出力書式マスクによってのみ決まります。Forms 6i (6.0.8)では、DATE項目の「最大長」プロパティも考慮されます。
回避策
前述の説明に含まれる動作の変更は、DATE項目のAuto-Skipプロパティを設定したユーザーに影響を与える場合があります。このリリースでは、エンド・ユーザーがより多くの文字を特定のDATE項目に入力できる場合があります。この場合、自動スキップは11gR1より前とは異なり発生しません。自動スキップを確実に発生させるには、項目に使用する書式マスクに、FX
修飾子をFXYYYY/MM/DDのように追加します。項目固有の書式マスクがない場合(つまり、項目のプロパティ・パレットまたはプログラムに書式マスクが設定されていない場合)、項目の書式マスクは環境変数から取得されます。FORMS_USER_DATE_FORMAT
およびFORMS_USER_DATETIME_FORMAT
環境変数は、DATE書式マスクに影響を与える可能性があるどのNLS環境変数よりも優先されるため、これらの変数を使用することをお薦めします。
FX
修飾子を指定すると、SQLリファレンスの書式モデルに関する項で、文字列から日付への変換規則の説明に記載されている、代替書式マスクが許可されなくなります。また、FORMS_USER_DATE_FORMAT
およびFORMS_USER_DATETIME_FORMAT
環境変数では、代替書式マスクを縦線で区切って明示的に指定できます。たとえば、FXDD-MON-YYYY|FXMON-DD-YYYYのように指定します。FORMS_OUTPUT_DATE_FORMAT
およびFORMS_OUTPUT_DATETIME_FORMAT
環境変数が設定されていない場合、出力書式マスクは、FORMS_USER_DATE_FORMAT
およびFORMS_USER_DATETIME_FORMAT
環境変数のそれぞれに指定された最初の書式マスクから取得されます。
Oracle Forms Builderに自動バックアップという新しい機能が用意されました。この機能は、Forms Builderが予期せず終了した場合にモジュール更新を保護するためのものです。自動バックアップ時間はForms Builderの「プリファレンス」ダイアログにある「一般」タブで設定できます。時間は分単位で表されますが、有効な値は2から1440までです。2より小さい値や無効なエントリ、nullエントリの場合は自動バックアップ機能が無効化されます。
有効な値が入力されると、Forms Builderでは開いているモジュールに変更がないかをモニターします。最後にバックアップが作成されてから変更が検出されると、更新されたバックアップが生成されます。モジュールのバックアップが正しく作成されるようにするために、新しいモジュールを作成したらすぐに名前を付けて保存することをお薦めします。予期しないシャットダウンが発生した場合、Forms Builderを再度開き、前に開いていたモジュールを再度開いてください。モジュールのバックアップ・コピーが必要かどうかを尋ねるダイアログが表示されます。
自動バックアップ機能には次の制限があります。
自動バックアップはForms Builderが使用中の場合のみ機能します。言い換えると、Forms Builderが最小化されている、つまりユーザーからの操作を受け付けていない状態ではバックアップは作成されません。このときには変更は加えられないため、多くの場合これは問題とはなりません。
有効な自動バックアップ時間が入力されてかつForms Builderが正しく終了するまで、設定された値は保持されません。つまり、自動バックアップ時間の変更後、Forms Builderがまだ正しく終了されていないときに予期しない終了が発生した場合、再起動するとこの設定は以前の値に戻ります。