ヘッダーをスキップ
Oracle® Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド
リリース4.2 for Oracle Database 12c
B71338-03
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

8.8 アプリケーション・プロセスの理解

アプリケーション・プロセスとは、アプリケーションの複数ページからのプロセスを使用して、特定のポイントで実行されるように設定されているPL/SQLロジックのブロックです。デフォルトでは、アプリケーション・プロセスはアプリケーション内のすべてのページについて同じポイントで実行されます。ただし、特定のページに対する条件を適用して、プロセスが実行されるタイミングを制御できます。


ヒント:

検証エラーがあった際の処理の詳細は、「検証が失敗した場合の処理」を参照してください。

内容は次のとおりです。

8.8.1 オンデマンド・アプリケーション・プロセスについて

オンデマンド・プロセスは、「プロセス・ポイント」が「オンデマンド」の特殊なタイプのアプリケーション・プロセスで、ページ・レベルの「オンデマンド」プロセスからコールされた場合が、ブラウザからのAJAXからコールされた場合にのみ実行されます。オンデマンド・プロセスは、複数のページにわたって様々な実行ポイントから実行するPL/SQLロジックがある場合に有効です。

オンデマンド・プロセスは、通常、アプリケーションレベルではなく、ページに作成される必要があります。アプリケーションレベルで作成されたオンデマンド・プロセスは、初期認可スキームの「パブリック・ユーザーは不可」で作成されます。これは、認証済セッションのユーザーからプロセスが起動されることを禁止します。

8.8.1.1 ページ・リクエストからのオンデマンド・プロセスの実行

次の構文を使用すると、ページ・リクエストでオンデマンド・プロセスを実行できます。

f?p=application_id:page_id:session:APPLICATION_PROCESS=process_id

説明:

  • application_id は、アプリケーションIDまたは英数字の別名です。

  • page_idは、ページ番号または英数字の別名です。

  • session は、セッションIDです。

  • APPLICATION_PROCESS=process_idは、キーワードAPPLICATION_PROCESS=の後に、「オンデマンド」のプロセス・ポイントを持つアプリケーション・レベル・プロセスのプロセスIDまたは英数字の名前が続いたものです。

この構文を使用すると、Application Expressエンジンでリクエストが認識され、次のルールを使用して処理されます。

  • URL内のページ番号は、現在のページ番号または別名にできます。このタイプのリクエストでは特定のページにアクセスすることはないため、ページ番号または別名は構文プレースホルダとしてのみ必要です。

  • プロセス認可スキーム、アプリケーションの認可スキームおよびプロセス条件がサポートされます。

  • URLでセッション・ステート(アイテムの名前および値)を設定することはできますが、「キャッシュのクリア」オプションは無視されます。

  • 認証、認可、またはプロセス条件が失敗してもエラー・メッセージや失敗に対するその他のインジケータは表示されず、多くの場合、空白ページが表示されます。アプリケーション・ビルダーに開発者としてログインした場合、エラー・メッセージが表示されます。

  • プロセスを名前で指定すると、指定した(大/小文字が区別される)名前を持つ最初のプロセスが検出されます。

8.8.2 アプリケーション・プロセスの例

アプリケーション・プロセスを使用する場合の例として、ショッピング・カート・アプリケーションがあげられます。たとえば、各ページ・ビューでユーザーのショッピング・カートのコンテンツを表示するには、アプリケーションのページ0(ゼロ)に、アプリケーション・レベル・アイテムTOTAL_CART_ITEMSおよびTOTAL_PURCHASE_PRICEの値を表示するリージョンを作成します。

各ページでTOTAL_CART_ITEMSおよびTOTAL_PURCHASE_PRICEの値を設定するプロセスを記述するかわりに、「ロード時: ヘッダーの前」というタイプのアプリケーション・プロセスを記述して、これらの値を計算できます。これによって、Application Expressエンジンは、アプリケーションをレンダリングするよう各ページでプロセスを実行します。この結果、各ページでTOTAL_CART_ITEMSおよびTOTAL_PURCHASE_PRICEの最新の値が表示されます。

8.8.3 アプリケーション・プロセスの作成

アプリケーション・プロセスを作成するには、次のステップを実行します。

  1. 共有コンポーネント・ページにナビゲートします。

    1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。

    2. アプリケーションを選択します。

    3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。

      共有コンポーネント・ページが表示されます。

  2. 「ロジック」で、「アプリケーション・プロセス」を選択します。

    アプリケーション・プロセス・ページが表示されます。

  3. 「作成」をクリックします。

  4. 「指定」で、次のステップを実行します。

    1. 名前: アプリケーション・プロセスの名前を入力します。

    2. 順序: このプロセスの順序番号を指定します。この順序番号によって、同じポイントで実行される他のプロセスに対する、プロセスの相対的な評価順序が決まります。

    3. ポイント: アプリケーションの各ページの処理において、このプロセスが実行されるポイントを指定します。「オンデマンド」オプションは、ページ・プロセスによりリクエストされた場合にのみ実行されることに注意してください。

    4. 「次へ」をクリックします。

  5. 「ソース」で、次のステップを実行します。

    1. プロセス・テキスト: プロセスのソースとなるテキストを入力します。PL/SQLタイプのプロセッサは、BeginEnd;で囲まれます。

    2. 「エラー・メッセージ」: プロセスでエラーが発生した場合に表示するエラー・メッセージを入力します。「アプリケーション・プロセスのエラー・メッセージの作成」を参照してください。

    3. 「次へ」をクリックします。

  6. 「条件付け」で、次のステップを実行します。

    1. 条件タイプ: このプロセスを実行するために満たされる必要がある条件タイプを選択します。

    2. 式1、式2: これらの属性を使用して、プロセスが実行されるかどうかを条件付きで制御します。選択した特定の条件タイプに基づいて、この属性に値を入力します。指定した条件が満たされた場合、プロセスが実行されます。

    3. 「プロセスの作成」をクリックします。

8.8.3.1 アプリケーション・プロセス・ページについて

アプリケーション・プロセスを作成すると、そのアプリケーション・プロセスがアプリケーション・プロセス・ページに表示されます。検索バーがページの上部に表示されます。使用可能なコントロールは次のとおりです。

  • 検索列の選択: 虫めがねに似ています。このアイコンをクリックして、検索を絞り込みます。すべての列を検索するには、「すべての列」を選択します。

  • テキスト領域: 名前でプロセスを検索するための大/小文字を区別しない検索基準(ワイルドカード文字は暗黙的に定義される)を入力し、「実行」をクリックします。

  • 「実行」ボタン: 検索を実行したり、フィルタを適用します。

  • アイコンの表示: 各プロセスを大きいアイコンとして表示します。プロセスを編集するには、該当するアイコンをクリックします。

  • レポートの表示: 各プロセスをレポート内の1行として表示します。プロセスを編集するには、名前をクリックします。

  • 「アクション」メニュー: 「アクション」メニューを使用して、レポート・ビューをカスタマイズします。「「アクション」メニューについて」を参照してください。

8.8.4 アプリケーション・プロセス属性の編集

既存のページ・プロセスを編集するには、次のステップを実行します。

  1. 共有コンポーネント・ページにナビゲートします。

    1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。

    2. アプリケーションを選択します。

    3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。

      共有コンポーネント・ページが表示されます。

  2. 「ロジック」で、「アプリケーション・プロセス」を選択します。

    アプリケーション・プロセス・ページが表示されます。

  3. プロセス名をクリックします。

  4. 対象となる属性を編集します。詳細は、アイテム・ヘルプを参照してください。

  5. 「変更の適用」をクリックします。

8.8.5 アプリケーション・プロセスのエラー・メッセージの作成

プロセスでエラーが発生した場合にユーザーに表示するエラー・メッセージを定義できます。エラー・メッセージの表示方法は、プロセス・ポイントによって異なります。「送信時 - 計算および検証の前」または「送信時 - 計算および検証の後」プロセス・ポイントを持つプロセスでは、カレント・ページにインラインでエラー・メッセージを表示するか(デフォルト)、別のページに表示するかを指定できます。他のすべてのアプリケーション・プロセスでは、エラー・メッセージは別のエラー・ページに表示されます。

アプリケーション・プロセスのエラー・メッセージを作成するには、次のステップを実行します。

  1. 共有コンポーネント・ページにナビゲートします。

    1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。

    2. アプリケーションを選択します。

    3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。

      共有コンポーネント・ページが表示されます。

  2. 「ロジック」で、「アプリケーション・プロセス」を選択します。

    アプリケーション・プロセス・ページが表示されます。

  3. プロセス名をクリックします。

  4. 「ソース」までスクロールします。

  5. 「プロセス・エラー・メッセージ」で、未処理例外が発生した場合に表示されるメッセージを入力します。成功メッセージとエラー・メッセージの両方についての詳細およびサポートされる置換文字列は、アイテム・ヘルプを参照してください。

  6. 「送信時 - 計算および検証の前」または「送信時 - 計算および検証の後」プロセス・ポイントを持つプロセスでは、エラー・メッセージの表示位置を指定できます。

    「エラー・メッセージ表示位置」から、次のいずれかを選択します。

    • 通知でインライン表示: エラーは、通知領域(ページ・テンプレートの一部として定義される)内のページにインラインで表示されます。これは、新しいプロセスに対するデフォルトの設定です。

    • エラー・ページ: エラーは別のエラー・ページに表示されます。

      アプリケーションに、(SQL文のAPEX_ITEMコールを使用して)手動で作成された表形式フォームが含まれている場合は、「エラー・ページ」を選択してください。そうしない場合、ユーザーが行った変更はページが再レンダリングされるときに破棄されます。エラーが別のエラー・ページに表示される場合、ユーザーはブラウザの「戻る」ボタンを使用して、入力された値を保持できます。

  7. 「変更の適用」をクリックします。

8.8.6 「アプリケーション・プロセス履歴」レポートの表示

アプリケーション・プロセスを作成した後、「アプリケーション・プロセス履歴」レポートにアクセスできます。このレポートには、最近変更されたアプリケーション・プロセスの履歴が日付ごとに表示されます。

アプリケーション・プロセス・レポートにアクセスするには、次のステップを実行します。

  1. 「ワークスペース」ホームページにナビゲートします。

  2. 「アプリケーション・ビルダー」をクリックします。

  3. アプリケーションを選択します。

  4. アプリケーションのホームページで、「共有コンポーネント」をクリックします。

  5. 「ロジック」で、「アプリケーション・プロセス」を選択します。

  6. ページ上部の 「履歴」 タブを選択します。

  7. ページ上部の検索バーを使用してページの概観をカスタマイズできます。使用可能なコントロールは次のとおりです。

    • 検索列の選択: 虫めがねに似ています。このアイコンをクリックして、検索を絞り込みます。すべての列を検索するには、「すべての列」を選択します。

    • テキスト領域: 名前でプロセスを検索するための大/小文字を区別しない検索基準(ワイルドカード文字は暗黙的に定義される)を入力し、「実行」をクリックします。

    • 「実行」ボタン: 検索を実行したり、フィルタを適用します。

    • 「アクション」メニュー: 「アクション」メニューを使用して、レポート・ビューをカスタマイズします。「「アクション」メニューについて」を参照してください。