次の項では、Oracle Formsでのビジネス・ロジックの働きと、Oracle Application Expressアプリケーションの類似する機能の働きの違いについて説明します。
Oracle Formsアプリケーションにおいて、ビジネス・ロジックは、Oracle Formsのユーザー・インタフェースの機能に組み込まれています。画面操作に使用されるOracle Formsユーザー・インタフェース機能(go_block
、go_item
、set_item_property
など)は、そのユーザー・インタフェースに根本的な違いがあるため、Oracle Application Expressには適さないことがあります。
ビジネス・ロジックは、Oracle Formsトリガーおよびプログラム・ユニット、PL/SQLライブラリに組み込まれています。ビジネス・ロジックは、オブジェクトにSQLまたはPL/SQLで直接記述できます。このコードで、データベース・パッケージ、プロシージャまたはファンクションを順番にコールすることができます。基礎となる表に、ビジネス・ロジックを実装するデータベース・トリガーを定義することもできます。
データベース・トリガーは、そのユーザー・インタフェースに関係なく、基礎となる表で動作するため、アプリケーションをOracle Application Expressに変換する際に変更する必要はありません。データベース・パッケージ、プロシージャまたはファンクションでもSQLとPL/SQLが使用されているため、これらはOracle Application Expressからコールすることができます。これらのデータベース・オブジェクトを、Oracle Application Express開発環境で使用する際に変更する必要はありません。
Oracle Formsに定義されたビジネス・ロジックを実装し直すには、トリガー、プログラム・ユニット、PL/SQLライブラリを分析し、対応するロジックをOracle Application Express内に手動で記述する必要があります。
Oracle Application Expressでは、このようなビジネス・ロジックを、プロセス、計算および検証を使用して実装します。ビジネス・ロジックを実装し直す初期アプリケーション・タスクを作成する前に、様々なタイプのプロセス、計算および検証をいつどのように実行するかを理解しておくことが重要です。また、このようなタイプのコンポーネントに対して条件付きの処理を適用し、実行環境をカスタマイズする方法について理解することも重要です。
参照:
Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド
プロセスは、データ操作言語(DML)またはPL/SQLの実行に使用されるロジック・コントロールです。プロセスは、ページを表示または送信する際、指定した時点でアクションを実行します。たとえばロジックを作成したり、Application Expressエンジンへのコールを実行するプロセスを作成できます。プロセスは、ロジックの1つの単位であり、ページのロードや送信など、特定のイベントが発生すると実行されます。
プロセスは、アプリケーションレベルのプロセスまたはページレベルのプロセスのいずれかで定義できます。ファンクションの観点からみると、ページ・レベルのプロセスとアプリケーション・レベルのプロセスに違いはありません。アプリケーション・レベルのプロセスは、アプリケーション内の任意のページからコールできます。オンデマンドでのコールは、複数のページにわたって様々な実行ポイントから実行するPL/SQLロジックがある場合に有効です。ページレベルのプロセスは、定義されているページからのみコールできます。
参照:
『Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド』のページ・プロセスの理解に関する項。
計算は、ロジックの単位で、ページが送信または表示されるとき、指定したアイテムに値を割り当てるために使用します。
計算は、アプリケーションレベルの計算またはページレベルの計算のいずれかで定義できます。ほとんどのアプリケーションレベルの計算は、アプリケーションのすべてのページに対して実行されます。一方、ページレベルで作成された計算は、そのページが表示または処理される際にのみ実行されます。
参照:
Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイドのページの計算の理解に関する項
Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイドのアプリケーションの計算の理解に関する項
検証では、ロジック・コントロールを作成し、ユーザー入力が有効かどうかを検証できます。たとえば検証によって、必須フィールドに値が入力されているかどうかをチェックできます。検証が失敗すると、エラー・メッセージが表示され、後続のページの処理と計算は実行されません。
検証には次の2つのタイプがあります。
アイテムレベルの検証。これは単一アイテムのみです。
ページレベルの検証。これは単一アイテムではなくページ全体に適用します。
検証には複数の方法があります。
SQL: アイテムの値をデータベース内のデータと比較します。
PL/SQL: 複雑なロジックを指定して、入力されたデータを検証できます。
アイテム・レベルNULL: セッション・ステートのアイテム値がNULL
かどうかをチェックします。
アイテム文字列の比較: アイテムの値を特定の文字列と比較します。
正規表現: テキストのパターンの記述方法です。
参照:
Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイドの検証の実行に関する項