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

前
 
次
 

8.5 ページ・プロセスの理解

1つのページ・プロセスは、ページのレンダリング中または送信中の指定されたポイントで1つのアクションを実行します。たとえば、ページ・プロセスを作成して、ロジックを実行したり、Application Expressエンジンをコールできます。ページ・プロセスは、ページのロードや送信など、特定のイベントが発生したときに実行するロジックの単位です。

ファンクションの観点からみると、ページ・レベルのプロセスとアプリケーション・レベルのプロセスに違いはありません。これらの2つのプロセス・タイプの違いは、プロセスが定義された場所(ページ・レベルかアプリケーション・レベルか)です。


ヒント:

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

内容は次のとおりです。

8.5.1 ページ・プロセスの作成について

プロセスを作成するには、プロセスの作成ウィザードを実行します。ウィザードの実行中にプロセス名を定義し、順序、およびプロセスが実行されるポイントを指定し、プロセス・カテゴリを選択します。ページ・プロセスの編集ページで、これらのほぼすべての属性を変更できます。

内容は次のとおりです。

8.5.1.1 ページ・プロセスの作成

ページ・プロセスを作成するには、次のステップを実行します。

  1. 該当するページ定義にナビゲートします。「ページ定義へのアクセス」を参照してください。

  2. ページ・プロセスの作成ウィザードにアクセスします。

    • ツリー・ビュー: 適切なページ・レンダリング・イベント(「ヘッダーの前」や「ヘッダーの後」など)で、「プロセス」を見つけます。右クリックして「作成」を選択します。

    • コンポーネント・ビュー: 「プロセス」で、「作成」アイコンをクリックします。

  3. 表8-14の説明に従って、「プロセス・タイプ」で、作成するプロセスのカテゴリを選択します。

    表8-14 ページ・プロセスのカテゴリ

    プロセス・カテゴリ 説明

    PL/SQL

    指定したPL/SQLを実行します。このプロセス・タイプを使用して、プロセスに直接入力したPL/SQLブロックを実行したり、既存のAPIをコールします。

    ページ区切りのリセット

    「レポート」リージョンで、ページ区切りを最初の結果セットへリセットします。Application Expressエンジンは、指定された結果セット内のユーザーの位置を追跡します。このプロセス・カテゴリは、ユーザーを最初の結果セットに戻します。つまり、レポート・リージョンに関連付けられたカウンタをリセットして、次回結果セットが表示されるときに、結果セットの最初の部分を戻します。

    プラグイン

    開発者はプラグインを使用して、Application Expressで使用可能な組込みタイプを宣言的に拡張できます。このオプションは、プラグイン・タイプのプロセスがこのアプリケーション内に存在する場合にのみ使用可能です。

    関連項目: 「プラグインの実装」

    セッション・ステート

    既存のセッション・ステート・アイテムの値をNULLに設定します。このプロセス・タイプを選択すると、既存のユーザー設定、アプリケーション、セッションまたはアイテムのキャッシュがクリアされます。

    関連項目:「セッション・ステート値の管理」および Oracle Application Express管理ガイドの「ユーザー・プリファレンスの管理」

    データ操作

    ウィザードでは、データ操作言語(DML)のアクションをサポートするために、「データ操作」プロセス・タイプが頻繁に使用されます。Application Builderでは、次のような宣言によるデータ操作プロセスをサポートしています。

    • 自動的なデータ操作言語(DML)プロセスを作成するには、「行の自動フェッチ」および「行の自動処理(DML)」を選択します。

    • 「複数行の更新」および「複数行の削除」は、表形式フォームとともに使用します。

    • 「表形式フォームに行の追加」は、表形式フォームとともに使用します。

    Webサービス

    Webサービスをページ上のプロセスとして実装します。このプロセスを実行すると、リクエストがサービス・プロバイダに送信されます。

    関連項目: 「プロセスとしてのWebサービスの起動」

    フォーム・ページ区切り

    マスター・ディテール・フォームに関連付けられたディテール・レコードのページ区切りを実装します。このプロセスは、マスター・ディテール・フォーム(マスター・ディテール・ウィザードなど)で最も頻繁に使用され、マスター表をチェックして該当するディテール・レコード・セットを判別したり、次のディテール・レコードを判別します。

    関連項目: 「マスター・ディテール・フォームの作成」

    電子メールの送信

    APEX_MAIL.SEND_MAILパッケージのための宣言的なインタフェースを提供します。プロセス・タイプでは添付ファイルをサポートします。

    ポップアップ・ウィンドウを閉じる

    ポップアップ・ウィンドウ内で実行中のプロセスに適用されます。このプロセス・タイプを実行すると、現在のポップアップ・ウィンドウが閉じます。

    オンデマンド・プロセスの実行

    特定のページからコールされた場合のみ実行される、アプリケーション・レベルのプロセスを作成します。このプロセス・タイプをページ・レベルで作成すると、既存のアプリケーション・レベルのプロセスへの参照が作成されます。

    関連項目: 「オンデマンド・アプリケーション・プロセスについて」


  4. 画面に表示されるステップに従います。

8.5.1.2 表形式フォームのページ・プロセスの作成

表形式フォームのページ・プロセスを作成するには、次のステップを実行します。

  1. 該当するページ定義にナビゲートします。「ページ定義へのアクセス」を参照してください。

  2. ページ・プロセスの作成ウィザードにアクセスします。

    • ツリー・ビュー: 適切なページ・レンダリング・イベント(「ヘッダーの前」や「ヘッダーの後」など)で、「プロセス」を見つけます。右クリックして「作成」を選択します。

    • コンポーネント・ビュー: 「プロセス」で、「作成」アイコンをクリックします。

  3. 「プロセス・タイプ」で、次の項目を指定します。

    • 表形式フォーム: 関連する表形式フォーム・リージョンを選択します。

    • 表8-15の説明に従って、作成するプロセスのカテゴリを選択します。

      表8-15 表形式フォーム・プロセスのカテゴリ

      プロセス・カテゴリ 説明

      PL/SQL

      指定したPL/SQLを実行します。このプロセス・タイプを使用して、プロセスに直接入力したPL/SQLブロックを実行したり、既存のAPIをコールします。

      プラグイン

      開発者はプラグインを使用して、Application Expressで使用可能な組込みタイプを宣言的に拡張できます。このオプションは、プラグイン・タイプのプロセスがこのアプリケーション内に存在する場合にのみ使用可能です。

      関連項目: 「プラグインの実装」

      データ操作

      ウィザードでは、データ操作言語(DML)のアクションをサポートするために、「データ操作」プロセス・タイプが頻繁に使用されます。Application Builderでは、次のような宣言によるデータ操作プロセスをサポートしています。

      • 自動的なデータ操作言語(DML)プロセスを作成するには、「行の自動フェッチ」および「行の自動処理(DML)」を選択します。

      • 「複数行の更新」および「複数行の削除」は、表形式フォームとともに使用します。

      • 「表形式フォームに行の追加」は、表形式フォームとともに使用します。

      Webサービス

      Webサービスをページ上のプロセスとして実装します。このプロセスを実行すると、リクエストがサービス・プロバイダに送信されます。

      関連項目: 「プロセスとしてのWebサービスの起動」

      電子メールの送信

      APEX_MAIL.SEND_MAILパッケージのための宣言的なインタフェースを提供します。プロセス・タイプでは添付ファイルをサポートします。


  4. 画面に表示されるステップに従います。

8.5.2 ページ・プロセス属性の編集

プロセスを作成すると、「ページ・プロセスの編集」ページで属性を編集することによって、プロセスを実行するタイミングおよびプロセスの内容を制御できます。

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

  1. 該当するページ定義にナビゲートします。「ページ定義へのアクセス」を参照してください。

  2. ページ・プロセスの編集ページにアクセスします。

    • ツリー・ビュー: 適切なページ・レンダリング・イベント(「ヘッダーの前」や「ヘッダーの後」など)で、「プロセス」セクションを見つけます。右クリックして「編集」を選択します。

    • コンポーネント・ビュー: 「プロセス」で、プロセス名を選択します。

    「ページ・プロセスの編集」ページが表示されます。

  3. 対象となる属性を編集します。詳細は、アイテム・ヘルプおよび次に続く各項を参照してください。

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

8.5.3 ページ・プロセスを実行するタイミングの制御

プロセスを実行するタイミングを制御するには、「プロセス・ポイント」で順序番号およびプロセス・ポイントを指定します。「プロセスの実行」でオプションを選択すると、後続のページへのアクセス時におけるプロセスの実行を制限できます。

プロセス・ポイントまたはソースを変更するには、次のステップを実行します。

  1. 該当するページ定義にナビゲートします。「ページ定義へのアクセス」を参照してください。

  2. ページ・プロセスの編集ページにアクセスします。

    • ツリー・ビュー: 適切なページ・レンダリング・イベント(「ヘッダーの前」や「ヘッダーの後」など)で、「プロセス」セクションを見つけます。右クリックして「編集」を選択します。

    • コンポーネント・ビュー: 「プロセス」で、プロセス名を選択します。

    「ページ・プロセスの編集」ページが表示されます。

    プロセスを実行するタイミングを制御するには、「プロセス・ポイント」で順序番号およびプロセス・ポイントを指定します。

  3. 「プロセス・ポイント」セクションを見つけます。

  4. 「順序」で、数値を入力します。これによって評価の順序が決まります。

  5. 「プロセス・ポイント」から、プロセスを実行するポイントを選択します。

  6. 「プロセスの実行」で次のオプションを選択すると、後続のページへのアクセス時におけるプロセスの実行を制限できます。

    • ページへのアクセスごとに1回

    • セッションごとまたはリセット時に1回

  7. PL/SQLのプロセス・タイプに適切なコードを入力します。

    「PL/SQL無名ブロック」プロセスの場合は、「プロセス」で適切なコードを入力します。

    「キャッシュのクリア」プロセスの場合は、「ソース」に適切なコードを入力します。

  8. オプションでエラー・メッセージを定義します。「ページ・プロセスの成功メッセージとエラー・メッセージの作成」を参照してください。

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

8.5.4 ページ・プロセスの成功メッセージとエラー・メッセージの作成

プロセスの実行時に表示する成功メッセージとエラー・メッセージの両方を定義できます。エラー・メッセージの表示方法は、プロセス・ポイントによって異なります。「送信時 - 計算および検証の前」または「送信時 - 計算および検証の後」プロセス・ポイントを持つプロセスでは、カレント・ページにインラインでエラー・メッセージを表示するか(デフォルト)、別のページに表示するかを指定できます。他のすべてのページ・プロセスでは、エラー・メッセージは別のエラー・ページに表示されます。

ページ・プロセスのエラー・メッセージまたは成功メッセージを作成するには、次のステップを実行します。

  1. 該当するページ定義にナビゲートします。「ページ定義へのアクセス」を参照してください。

  2. ページ・プロセスの編集ページにアクセスします。

    • ツリー・ビュー: 適切なページ・レンダリング・イベント(「ヘッダーの前」や「ヘッダーの後」など)で、「プロセス」セクションを見つけます。右クリックして「編集」を選択します。

    • コンポーネント・ビュー: 「プロセス」で、プロセス名を選択します。

    「ページ・プロセスの編集」ページが表示されます。

  3. 「メッセージ」までスクロールします。

  4. 「プロセスの成功メッセージ」で、プロセスが正常に実行された場合に表示するメッセージを入力します。

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

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

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

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

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

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

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

8.5.5 ページ・プロセスを条件付きにする

条件付きのページ・プロセスを作成するには、次のステップを実行します。

  1. 該当するページ定義にナビゲートします。「ページ定義へのアクセス」を参照してください。

  2. ページ・プロセスの編集ページにアクセスします。

    • ツリー・ビュー: 適切なページ・レンダリング・イベント(「ヘッダーの前」や「ヘッダーの後」など)で、「プロセス」セクションを見つけます。右クリックして「編集」を選択します。

    • コンポーネント・ビュー: 「プロセス」で、プロセス名を選択します。

    「ページ・プロセスの編集」ページが表示されます。

  3. 「条件」までスクロールします。

  4. 「条件」で、次のように指定します。

    1. 対象ボタン: ページ・ボタンを選択します。選択したボタンをユーザーがクリックすると、検証が実行されます(定義された他の条件によって異なります)。この検証は、指定されたボタンをクリックする以外の方法でページが送信された場合に実行されます。

      ボタンがクリックされない場合、検証を実行する前に他の条件が評価されます。

    2. 実行スコープ: 表形式フォームにのみ適用されます。次のようにして、実行スコープを指定します。

      • 作成済および変更済の列: 表形式フォームで作成および変更した行でのみ検証を実行します。

      • すべての送信済の列: 送信したすべての行で検証を実行します。

    3. 条件タイプ: 条件タイプを選択します。

      • 式属性: 選択した条件タイプに応じて、式属性に値を入力します。

      • 実行条件: 表形式フォームにのみ適用されます。次のいずれかを選択します。

        各行: 条件で表形式フォームの列を参照する場合は、このオプションを選択します。このオプションにより、表形式フォームの各行で条件が評価されます。

        1回: 表形式フォームに固有の値を参照しない場合は、このオプションを選択します。

      指定した条件に一致した場合、検証がレンダリングまたは処理されます。

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