Oracle HTML DBユーザーズ・ガイド
リリース1.6
部品番号: B15713-02
  目次へ移動
目次
索引へ移動
索引

戻る
戻る
次へ
次へ
 

6 Application Builderの概念

この章では、Application Builderの概要を示します。Application Builderは、Oracle HTML DBの中核的なコンポーネントです。Application Builderを使用すると、データベース集中型のWebアプリケーションを構築できます。

この章の内容は次のとおりです。

「作業領域」ホームページ

Oracle HTML DBにログインすると、「作業領域」ホームページが表示されます。作業領域は、Oracle HTML DB開発環境内の共有の作業領域で、複数の開発者がアプリケーションを作成できます。

図6-1「作業領域」ホームページ




図6-1に示すとおり、ページ左上の作業領域名のすぐ上には、ログインしたユーザーの名前が表示されます。3つの大きいアイコン(「Application Builder」、「SQL Workshop」、「Data Workshop」)と、カレント・アプリケーションのリストが表示されます。

ページの右側には、次の2つのリストが表示されます。


参照:

「作業領域管理」リストの使用方法の詳細は、「「作業領域管理」リストの概要」を参照してください。

Application Builderの概要

Oracle HTML DBでは、Application Builderを使用して、動的にレンダリングされたアプリケーションを構築します。各アプリケーションは、タブ、ボタンまたはハイパーテキスト・リンクを使用して相互にリンクされたコレクションです。

Application Builderにアクセスするには、次の手順を実行します。

  1. Oracle HTML DBにログインします。

    「作業領域」ホームページが表示されます。

  2. Application Builderにアクセスするには、次のいずれかの手順を実行します。

    • 「アプリケーション」リストからアプリケーション名を選択します。

    • アプリケーションを作成」をクリックして、新しいアプリケーションを作成します。

    Application Builderが表示されます。

ページの概要

ページは、アプリケーションの基本的なビルディング・ブロックです。Application Builderでアプリケーションを構築する際は、タブ、リスト、ボタン、アイテム、リージョンなどのユーザー・インタフェース要素を含むページを作成します。図6-2に、実行中のアプリケーションでこれらの要素を使用する例を示します。

図6-2 サンプル・アプリケーション




ページ定義上のページにコンポーネントを追加してコントロールを配置します。

既存のページのページ定義を表示するには、次の手順を実行します。

  1. 「作業領域」のホームページで、「アプリケーション」リストからアプリケーション名を選択します。

    Application Builderが表示されます。ページの下部に、ページのリストが表示されます。

  2. 特定のページを編集するには、ページ名を選択するか、「検索」フィールドにページ番号を入力して、「実行」をクリックします。

    ページ定義が表示されます。(図6-3を参照。)

    図6-3 ページ定義




    ページ定義は3つのセクションに分かれています。

    • ページ・レンダリング

    • ページ・プロセス

    • 共有コンポーネント

    左側のセクション「ページ・レンダリング」には、ページのレンダリング時に実行されるユーザー・インタフェース・コントロールとロジックが表示されます。中央のセクション「ページ・プロセス」には、ページ・プロセス時に評価され実行されるロジック・コントロール(計算や処理など)が表示されます。右側のセクション「共有コンポーネント」には、アプリケーション内のすべてのページに表示される共通のコンポーネントが表示されます。

ページ・レンダリングの概要

「ページ・レンダリング」のコントロールの概要を次に示します。

  • リージョン:リージョンはページの任意の領域であり、HTMLコンテンツを生成するための特定のテンプレートが使用されています。各ページには任意の数のリージョンを設定できます。リージョンを使用すると、ボタンやアイテムなどの他のコントロールをグループ化できます。追加のHTMLを生成しない単純なリージョンを作成したり、HTML表やイメージ内でコンテンツを形成する詳細なリージョンを作成できます。HTML DBエンジンは、リージョンを列内で順番に表示します。ユーザーは、リージョンを条件付きで表示するかどうかを選択できます。

  • ボタン:ボタンは、ページの送信に使用されます。ページを送信すると、HTML DBエンジンによって処理され、ユーザーはプロセスなしで他のページにリダイレクトされます。ボタンは、HTMLボタンやイメージとして、またはテンプレートを使用して実装できます。

  • アイテム:リージョンでグループ化されたアイテムが表示されます。アイテムは、関連するセッション・ステートを持つテキスト・フィールド、選択リスト、チェック・ボックスなどのHTMLフォーム要素です。

  • 計算:ページのレンダリング時に実行される計算が表示されます。計算は、セッション・ステートをアイテムに割り当てるために使用される論理単位です。

  • プロセス:ページのレンダリング時に実行されるプロセスが表示されます。プロセスは、データ操作言語(DML)またはPL/SQLを実行するために使用されるロジック・コントロールです。たとえば、ページのレンダリング時に、プロセスを使用してセッション・ステートを移入できます。

ページ・プロセスの概要

「ページ・プロセス」のコントロールの概要を次に示します。

  • 計算:ページ・プロセス時に実行される計算が表示されます。計算は、セッション・ステートをアイテムに割り当てるために使用される論理単位です。

  • 検証:ユーザーによる入力が有効かどうかを検証するロジック・コントロールを作成できます。たとえば、検証で、必須フィールドに値が入力されたかどうかを確認できます。

  • プロセス:ページの送信後に実行されるプロセスが表示されます。プロセスは、データ操作言語(DML)またはPL/SQLを実行するために使用されるロジック・コントロールです。

  • ブランチ処理:ユーザーがアプリケーション内をナビゲートする方法を決定するロジック・コントロールを作成できます。

共有コンポーネントの概要

共有コンポーネントは、アプリケーション内のすべてのページに表示される共通の要素です。配置できる共有コントロールの例を次に示します。

リスト

リストは、テンプレートを使用してレンダリングされるリンクのコレクションです。リストの各エントリに対して、表示テキスト、ターゲットURL、およびリスト・エントリがいつどのように表示されるかを制御するその他の属性を指定できます。リストの表示方法およびすべてのリスト・エントリの外観は、そのリストをテンプレートにリンクすることによって制御します。

LOV

LOVは、ラジオ・グループ、チェック・ボックス、選択リストなどの、特定のタイプのページ・アイテムを表示するために使用される静的定義または動的定義です。LOVは、静的(事前定義された一連の表示値および戻り値に基づく)または動的(表から値を選択するSQL問合せに基づく)のいずれかです。

LOVは、「LOV」ウィザードを実行して名前付きLOVリポジトリに追加して、アプリケーション・レベルで定義します。

メニュー

メニューは、テンプレートを使用してレンダリングされるリンクの階層的なリストです。たとえば、メニューをリンクのリストまたはブレッドクラム・パスとして表示できます。

ナビゲーション・バー

ナビゲーション・バーを使用すると、アプリケーション内の様々なページにユーザーをリンクできます。通常、ナビゲーション・バーは、ユーザーがヘルプ・テキストに対してログインおよびログアウトを行う場合、またはヘルプ・テキストにリンクできるようにする場合に使用します。ナビゲーション・バーの位置は、関連付けられたページ・テンプレートによって異なります。ナビゲーション・バー・アイコンを使用すると、イメージまたはテキストからのリンクを表示できます。ナビゲーション・バー・アイコンの作成時に、イメージ名、テキスト、表示順序およびリンク先の位置(URLまたはページ)を指定できます。


参照:

ナビゲーション・バーの作成方法の詳細は、「ナビゲーション・バーの作成」を参照してください。

タブ

タブは、アプリケーションのページ間でのナビゲートに有効な方法です。Application Builderには、標準タブおよび親タブという2つのタイプのタブが含まれています。

タブが1レベルのみのアプリケーションでは、標準タブ・セットを使用します。標準タブ・セットは、特定のページに関連付けられます。標準タブを使用すると、アプリケーション内の他のページにユーザーをリンクできます。親タブ・セットは、標準タブのグループを保持するコンテナとして機能します。親タブを使用すると、ナビゲーションのレベルおよびアプリケーション内でのコンテキスト(位置)を増やすことができます。

テンプレート

テンプレートは、アプリケーション内のページのルック・アンド・フィールを制御します。アプリケーションの作成時に、ページ、リージョン、レポート、リスト、ラベル、メニュー、ボタンおよびポップアップLOVのテンプレートを指定します。テンプレートのグループは、テーマという指定したコレクションで構成されます。

ページ・レンダリングおよびページ・プロセスの動作

Oracle HTML DBにアプリケーションを作成する際に、タブ、ボタンまたはハイパーテキスト・リンクを使用して複数のページをリンクできます。各ページにはボタンおよびアイテムを配置でき、アプリケーション・ロジックを含めることができます。ページでは、条件付きナビゲーションを使用したあるページから次のページへのブランチ、計算の実行、検証の実行、およびレポート、カレンダおよびチャートの表示を行うことができます。組込みウィザードを使用してレポート、チャートおよびフォームを生成したり、静的HTMLを生成したり、PL/SQLプログラミングによってカスタム・レンダリングを行うことができます。

HTML DBは、データベース表に格納されたデータに基づいて、ページを動的にレンダリングおよび処理します。レンダリングされたアプリケーションを表示するには、アプリケーションを実行するか、またはHTML DBエンジンに送信します。アプリケーションを実行すると、HTML DBエンジンによって次の2つのプロセスが使用されます。

URLを使用してページをコールすると、HTML DBエンジンによってページ表示(ページ・レンダリング・プロセス)が実行されます。ページを送信すると、HTML DBエンジンによって、送信した値がセッション・キャッシュに保存され、任意の計算、検証またはプロセスが実行されます。

条件付きのレンダリングおよびプロセスの理解

条件とは、リージョン、アイテム、ボタンおよびタブの表示と、プロセス、計算および検証の実行を制御するために役立つ論理単位です。たとえば、ボタンに条件を適用すると、レンダリング・エンジンによって、レンダリング(ページ表示)プロセス中にその条件が評価されます。条件に合格するかどうかによって、そのページ・コントロール(この場合はボタン)が表示されるかどうかが決まります。

条件を指定するには、コントロールまたはコンポーネント(リージョン、アイテム、ボタン、タブなど)の作成時に条件タイプを選択するか、または条件付き表示属性で条件を選択します。(図6-4を参照。)条件は、「式」フィールドに入力した値に基づいて、trueまたはfalseに評価されます。

図6-4 条件付き表示属性




任意のコンポーネントまたはコントロールに使用可能なすべての条件のリストを表示するには、「条件タイプ」リストの右側にある「ビュー」アイコンをクリックします。リストのすぐ下に、一般的な選択項目へのショートカットが表示されます。条件に式が必要な場合は、該当するフィールドにその式を入力します。

次のセクションでは、一般的に使用されるいくつかの条件タイプについて説明します。


参照:

Oracle HTML DBで使用可能な条件タイプの詳細なリストは、付録A「使用可能な条件」を参照してください。

カレント・ページ=式1

カレント・ページ=式1」は、カレント・ページが、「式1」フィールドに指定されたページ番号に一致する場合にtrueと評価されます。次に例を示します。

100,101,102

カレント・ページが100、101または102である場合、この条件はtrueに評価され、条件に合格します。

存在する

存在する(SQL問合せが1行以上を戻す)」は、SQL問合せとして表現されます。問合せで1行以上が戻される場合、この条件はtrueと評価されます。次に例を示します。

SELECT 1 FROM emp WHERE deptno = :P101_DEPTNO

この例では、アイテムP101_DEPTNOがバインド変数として参照されます。アプリケーション・プロセスおよびSQL問合せリージョン内でバインド変数を使用すると、アイテムのセッション・ステートを参照できます。P101_DEPTNOの値に指定した部門に1人以上の従業員が存在する場合、この条件はtrueと評価されます。


参照:

詳細は、「バインド変数」を参照してください。

PL/SQL式

PL/SQL式」は、trueまたはfalseに評価される有効なPL/SQL構文に式を指定するために使用します。次に例を示します。

NVL(:MY_ITEM,'NO') = 'YES'

:MY_ITEMの値がYESの場合、この条件はtrueと評価されます。それ以外の場合は、falseと評価されます。

ユーザーの本人確認

認証は、ユーザーがアプリケーションにアクセスする前に、そのユーザーの本人確認を行うプロセスです。認証では、ユーザーがユーザー名とパスワードを入力するか、またはデジタル証明書や保護キーを使用する場合があります。

Oracle HTML DBは、モジュール認証をサポートしているため、必要に応じて認証メソッドを簡単に切り替えられます。ユーザーの本人確認は、複数の組込み認証メソッドから選択するか、またはウィザードを使用して独自のカスタム認証方法を作成して実行できます。


参照:

詳細は、「認証を介したユーザーの本人確認」を参照してください。

コントロールおよびコンポーネントへのアクセスの制御

条件はページ上の特定のコントロールまたはコンポーネントのレンダリングおよび処理を制御しますが、認可スキームはユーザーのアクセスを制御します。認可は、ユーザー権限に基づいてリソースへのアクセスを制御することを示す広義語です。

認可スキームは、アプリケーションの認証スキームのセキュリティを強化します。認可スキームは、アプリケーション全体、各ページ、またはリージョン、アイテム、ボタンなどの特定のページ・コントロールに対して指定できます。たとえば、認可スキームを使用して、ユーザーに表示するタブ、リージョンまたはナビゲーション・バーを選択的に決定できます。

セッション・ステートの管理の理解

HTTP(HTMLページの配布に最も一般的に使用されるプロトコル)は、ステートレスなプロトコルです。Webブラウザは、ページ全体をダウンロードするために必要な時間のみサーバーに接続します。また、サーバーでは、各ページ・リクエストは、発生済または将来発生する他のページ・リクエストと関連しない個別のイベントとして処理されます。これは、あるページで入力したフォーム値に後続のページでアクセスするには、なんらかのセッション・ステート管理を使用する必要があることを意味します。通常、ユーザーがあるページのフォームに入力した値には、後続のページからはアクセスできません。Oracle HTML DBは透過的にセッション・ステートを保持するため、開発者は、アプリケーションの任意のページでセッション・ステートの値を取得および設定できます。

セッションは、ページ・ビュー間で永続性(またはステートフルな動作)を確立する論理的な構成体です。各セッションには、Oracle HTML DBの使用環境で一意の識別子が割り当てられています。HTML DBエンジンは、この識別子(セッションID)を使用して、各ページ・ビューの前後に、アプリケーションで作業中のデータ・セット(セッション・ステート)を格納および取得します。

個々のセッションは相互に完全に独立しているため、任意の数のセッションがデータベース内に同時に存在できます。セッションは管理者によって消去されるまでデータベース内で存続するため、ユーザーは、以前のセッションに戻ることができ、1つのアプリケーションを長期間実行し続けることができます。また、ユーザーは複数のブラウザ・セッションで、アプリケーションの複数のインスタンスを同時に実行できます。

Oracle HTML DBセッションは、ページ・リクエストの処理に使用されるOracleデータベース・セッションとは論理的にも物理的にも異なります。ユーザーはアプリケーションを、1つのOracle HTML DBセッションで、ログインからログアウトまで実行します。この期間は、通常分単位か時間単位です。このセッション中にページがリクエストされるたびに、Oracle HTML DBエンジンはOracleデータベース・セッションを作成または再利用してデータベース・リソースにアクセスします。各Oracleデータベース・セッションは、数分の1秒のみ存続します。

セッションIDの理解

HTML DBエンジンは、データベースからセッション・ステートをフェッチするために、各ページ・リクエストのユーザーの識別情報(匿名性)、およびセッションIDを確認します。セッションIDは、ページ・リクエストのURL内に明示的に示されています。また、ページのHTML POST構造や、認証中にHTML DBエンジンによって送信され、アプリケーション(またはブラウザ)・セッションが終了するまで保持されるセッションのCookie内にもセッションIDが示されています。

Oracle HTML DBは、認証プロセス中に新しいセッションIDを割り当て、認証されたユーザーの識別情報をセッションIDとともに記録し、続けて各ページ・リクエストのURLまたはPOSTデータをセッションのCookieおよびデータベースのセッション・レコードと照合して確認します。この確認によって、柔軟性とセキュリティが向上します。

セッションIDがセッション・ステート用のキーであるのに対し、セッションのCookie(使用される場合)およびセッション・レコードは、セッションIDとユーザーの認証ステータスの整合性を保証します。

セッション・ステートの表示

HTML DBアプリケーションの動作は、通常、セッション・ステートの値によって決まります。たとえば、ボタンは、アイテムのセッション・ステートの値に基づいて、条件付きで表示できます。ページのセッション・ステートを表示するには、「開発者」ツールバーの「セッション」をクリックします。

図6-5 「開発者」ツールバー




「セッション・ステート」ページには、ページに関する重要な情報が含まれています。表6-1に、「セッション・ステート」ページで参照可能な様々なタイプの情報を示します。

表6-1 「セッション・ステート」ページで参照可能な情報

ヘッダー 説明
アプリケーション環境 セッションID、現行ユーザー、セキュリティIDおよびブラウザの言語が表示されます。
アプリケーション・アイテム アプリケーション・アイテムは、ページに存在しないアイテムです。アプリケーション・アイテムは、関連付けられたユーザー・インタフェース・プロパティを持たないセッション・ステート変数です。

参照: アイテム値を参照する方法の詳細は、「置換文字列の使用」を参照してください。

アプリケーション、ページ、セッション アプリケーション名、ページ番号およびセッションIDが表示されます。
ページ・アイテム アイテム名、アイテムの表示方法(非表示、ポップアップ、ボタン、HTMLでのみ表示)、ステートまたはセッションID、ステータスなどのページ属性が表示されます。

「ステータス」列には、セッション・ステートのステータスが示されます。表示される値を次に示します。

  • I: 挿入

  • U: 更新

  • R: リセット

セッション・ステート ユーザーの完全なセッション・ステートが示されます。上部のセクションには、カレント・ページのステートが示されます。


参照:

「開発者」ツールバーの詳細は、「「開発者」ツールバーの使用」を参照してください。

セッション・ステート値の管理

インタラクティブな、データに応じて動作するWebアプリケーションを構築するには、セッション・ステート値に簡単にアクセスして管理する機能が重要です。Oracle HTML DBでは、セッション・ステートはページごとに自動的に管理され、静的HTML、またはプロセスや検証などのロジック・コントロールによって簡単に参照できます。

このセクションの内容は次のとおりです。


参照:

詳細は、「アイテム」および「アイテム値の参照」を参照してください。

セッション・ステートの参照

アイテムの値の参照は、セッション・ステートの参照の最も一般的な例です。Oracle HTML DBでは、アイテムはフィールド、テキスト領域、パスワード、選択リスト、チェック・ボックスなどです。表6-2に、アイテム値を参照するためにサポートされている構文を示します。

表6-2 アイテム値を参照するための構文

タイプ 構文 説明
SQL :MY_ITEM 30文字以下のアイテム用の標準のバインド変数構文。この構文は、SQL問合せおよびPL/SQL内の参照用に使用します。
PL/SQL V('MY_ITEM') Vファンクションを使用してアイテム値を参照するPL/SQL構文。

参照: 「Oracle HTML DB API」

PL/SQL NV('MY_NUMERIC_ITEM') NVファンクションを使用して数値アイテム値を参照する標準のPL/SQL構文。

参照: 「Oracle HTML DB API」

静的テキスト(完全置換) &MY_ITEM. 静的テキスト。完全置換です。

セッション・ステートの設定

Oracle HTML DBのページがユーザーによって送信されると、HTML DBエンジンは、フィールド(アイテム)に入力された値をセッション・ステートに自動的に格納します。たとえば、2つのページを持つアプリケーションが存在すると想定します。このアプリケーションの最初のページには、ユーザーが電話番号を入力できるフォームが含まれています。このフォームは、P2_PhoneNoという名前のアイテムを作成して定義しています。2つ目のページには、ユーザーがフォームに入力する情報を表示する必要があります。

このページが送信されると、Oracle HTML DBによって、電話番号フィールドに入力された値が取得され、その値が今後の使用のために格納されます。ユーザーが入力した電話番号は、そのページのフィールドに関連付けられたアイテムを参照することで、セッション・ステートから取得できます。

セッション・ステートの消去

アプリケーションの開発時に、特定のアイテム、ページ上のすべてのアイテム、アプリケーション内のすべてのページ、または現行のユーザー・セッション用にキャッシュされた値を消去する必要がある場合があります。キャッシュされた値を消去すると、その値がNULLにリセットされます。次のトピックでは、セッション・ステートを消去する具体的な例について説明します。

アイテムごとのキャッシュの消去

1つのアイテムのキャッシュを消去すると、そのアイテムの値がNULLにリセットされます。たとえば、ページがレンダリング用に準備されるときに特定のアイテムの値を確実にNULLにしておく必要がある場合に、この方法を使用します。

次の例では、標準f?p構文を使用してアイテムのキャッシュを消去します。この例では、アプリケーション100のページ5がコールされます。f?p構文のClearCache位置にMY_ITEMを指定すると、MY_ITEMの値がNULLにリセットされます。

f?p=100:5:&SESSION.::NO:MY_ITEM

次の例では、アイテムTHE_EMPNOおよび THE_DEPTNOの値がリセットされます。

f?p=100:5:&SESSION.::NO:THE_EMPNO,THE_DEPTNO

ページごとのキャッシュの消去

アプリケーション・アイテムをキャッシュすると、セッション・ステートを効率的に保持できます。ただし、ページ上のすべてのアイテムのキャッシュを消去する必要がある場合もあります。たとえば、ユーザーが新しい注文を作成するリンクをクリックすると、ページ上のすべてのフィールドが消去されるようにする必要があると想定します。ページ全体のキャッシュを消去することで、ページ上のすべてのアイテムの値をNULLに設定できます。

2つのページのセッション・キャッシュの消去およびページ区切りのリセット

この例では、2つのページのセッション・キャッシュが消去され、ページ区切りがリセットされます。

f?p=6000:6003:&SESSION.::NO:RP,6004,6014

この例では、次の動作が実行されます。

  • アプリケーション6000のページ6003が実行され、現行のセッションIDが使用されます。

  • デバッグ情報を表示しないように指示されます(NO)。

  • カレント・セッションのキャッシュに保持されたページ6004および6014のアイテムのすべての値が消去されます。

  • ページ6003(リクエストされたページ)のリージョンのページ区切り(RP)がリセットされます。

ページのセッション・キャッシュの消去およびアイテム値の引渡し

この例では、更新フォームの効率的な実装方法を示します。既存の情報を消去し、アイテムの値(通常、主キー)を設定します。

f?p=6000:6003:&SESSION.::NO:6003:MY_ITEM:1234

この例では、次の動作が実行されます。

  • アプリケーション6000のページ6003が実行され、現行のセッションIDが使用されます。

  • デバッグ情報を表示しないように指示されます(NO)。

  • カレント・セッションのキャッシュに保持されたページ6003のアイテムのすべての値が消去されます。

  • MY_ITEMというアイテムのセッション・ステートの値を1234に設定します。

ページのセッション・キャッシュの消去および複数のアイテムに対する値の引渡し

この例は、値が複数のアイテムに渡されること以外は、前述の例に類似しています。

f?p=6000:6004:&SESSION.::NO:6003:MY_ITEM1,MY_ITEM2,MY_ITEM3:1234,,5678

この例では、次の動作が実行されます。

  • アプリケーション6000のページ6004が実行され、現行のセッションIDが使用されます。

  • ページ6003のアイテムのカレント・セッションのキャッシュが消去されます。

  • デバッグ情報を表示しないように指示されます(NO)。

  • MY_ITEM1の値が1234、MY_ITEM2の値がNULL(プレースホルダとして使用されたカンマによって示される)およびMY_ITEM3の値が5678に設定されます。

アプリケーション全体のキャッシュの消去

f?p構文で、キーワードAPPを使用してREQUEST引数を作成することによって、アプリケーション・キャッシュを消去することもできます。次の構文を使用します。

f?p=App:Page:Session::NO:APP


注意:

アプリケーション全体のキャッシュをリセットしても、アプリケーションは完全なリセット状態にはリストアされません。たとえば、アプリケーションに新しいインスタンス開始時の計算やプロセスが含まれている場合、HTML DBエンジンは、該当するアプリケーション・セッションが作成されたときに、これらの計算やプロセスを実行します。その後、キャッシュ消去リクエストを処理し、リクエストされたページを表示します。

(セッションIDの追跡にCookieが使用されていない場合に)セッションIDを指定せずにアプリケーションを完全にリセットするには、セッションIDを指定せずにURLを使用するか、または別のアプリケーションからHTMLDB_APPLICATION.CLEAR_APP_CACHEをコールして、そのアプリケーションをリクエストする必要があります。セッションIDがCookieを使用して追跡される場合、そのステートをリセットするためにログアウトする必要があります。


カレント・ユーザー・セッションのキャッシュの消去

アプリケーション・キャッシュは、f?p構文を使用して消去することもできます。キーワードSESSIONを使用してREQUEST引数を作成します。次に例を示します。

f?p=6000:6004:12507785108488427528::NO:SESSION

バインド変数

アプリケーション・プロセスまたはSQL問合せ内でバインド変数を使用すると、特定のアイテムのセッション・ステートを参照できます。次に例を示します。

SELECT * FROM emp WHERE name like '%' || :SEARCH_STRING || '%'

この例では、検索文字列がページ・アイテムです。リージョン・タイプがSQL問合せとして定義されている場合、標準SQLバインド変数構文を使用して値を参照できます。バインド変数を使用すると、解析済のSQL問合せがデータベースによって再利用されるため、サーバーによるメモリーの使用が最適化されます。

バインド変数構文を使用する場合、次の規則に注意してください。

  • バインド変数名は、アイテム名に対応している必要があります。

  • バインド変数名は、大/小文字が区別されません。

  • バインド変数名は、30文字以下である必要があります(有効なOracle識別子である必要があります)。

    アプリケーション・アイテムは255文字以下に設定できますが、アプリケーション・アイテムをバインド変数構文を使用したSQL内で使用する場合、そのアイテム名は30文字以下で指定する必要があります。

SQL問合せまたはLOVに基づいたリージョンでのバインド変数の使用

リージョン・タイプがSQL問合せ、SQL問合せ(SQL問合せを戻すPL/SQLファンクション本体)、またはLOVとして定義されている場合、次の構文を使用してセッション・ステートを参照できます。

:MY_ITEM

これを行うための一般的な方法の1つは、セッション・ステート変数をWHERE句に組み込むことです。次の例では、アイテムTHE_DEPTNOの値を、SQL問合せから定義されるリージョンにバインドする方法を示します。

SELECT ename, job, sal
FROM emp
WHERE deptno = :THE_DEPTNO


参照:

様々なタイプのリージョンを作成する方法の詳細は、「リージョンのカスタマイズ」を参照してください。

PL/SQLプロシージャでのバインド変数の使用

PL/SQLプロシージャとして定義されたタイプのリージョンは、PL/SQL無名ブロック構文を使用して構築できます。開始と終了がPL/SQLの前後に自動的に追加されます。次に例を示します。

INSERT INTO emp (empno, ename, job)
VALUES (:P1_empno, :P1_name, :P1_job);

この例では、empnoenameおよびjobの値には、P1_empnoP1_nameおよびP1_jobの値が移入されます。

URL構文の理解

各アプリケーションは、そのアプリケーションを一意に識別する番号(アプリケーションID)または英数字の別名を持ちます。同様に、各ページも一意の番号(ページ番号)または英数字の別名を持ちます。アプリケーションを実行すると、HTML DBエンジンによってセッション番号が生成されます。この番号は、ユーザーのセッション・ステートに対するキーとして機能します。

各ページ用に表示されるURLには、Oracle HTML DBの位置、アプリケーションID、ページ番号およびセッションIDが示されます。次に例を示します。

http://htmldb.oracle.com/pls/otn/f?p=4350:1:220883407765693447

この例では、次のことが示されています。

f?p構文を使用したページのリンク

アプリケーションのページ間にリンクを作成するには、次の構文を使用します。

f?p=App:Page:Session:Request:Debug:ClearCache:itemNames:itemValues:PrinterFriendly

表6-3に、f?p構文を使用して指定できる引数を示します。

表6-3 f?p構文の引数

構文 説明
App アプリケーションIDまたは英数字の別名を指定します。
Page ページ番号または英数字の別名を指定します。
Session セッションIDを指定します。セッションIDを参照して、セッション番号を渡すことで同じセッション・ステートを保持している他のページへのハイパーテキスト・リンクを作成できます。セッションIDを参照するには、次の構文を使用します。
  • 短縮置換文字列: &SESSION

  • PL/SQL: V('SESSION')

  • バインド変数: :APP_SESSION

Request REQUESTの値を設定します。REQUESTの値は、各アプリケーション・ボタンによって、そのボタンの名前に設定されます。これによって、ユーザーがボタンをクリックしたときに、受入れプロセスでそのボタンの名前が参照されるようになります。REQUESTを参照するには、次の構文を使用します。
  • 置換文字列: &REQUEST

  • PL/SQL: V('REQUEST')

  • バインド変数: :REQUEST

Debug アプリーション処理の詳細を表示します。DEBUGフラグの有効値はYESまたはNOです。このフラグをYESに設定すると、アプリケーション・プロセスの詳細を表示できます。DEBUGフラグを参照するには、次の構文を使用します。
  • 短縮置換文字列: &DEBUG

  • PL/SQL: V('DEBUG')

  • バインド変数: :DEBUG

ClearCache キャッシュを消去します。1つのアイテムのキャッシュを消去すると、その名前リストの値がNULLに設定されます。キャッシュされたアイテムを消去するには、カンマで区切られたページ番号のリストを使用します。カンマで区切られたリストには、リセットされるもののコレクションまたはキーワードRPを含めることもできます。キーワードRPは、リクエストされたページ上のリージョンのページ区切りをリセットします。
itemNames URLでセッション・ステートを設定するために使用される、カンマで区切られたアイテム名のリストです。
itemValues URLでセッション・ステートを設定するために使用されるアイテム値のリストです。アイテム値にコロンを含めることはできませんが、カンマを円記号で囲んで指定することは可能です。アイテム値にカンマを渡すには、文字を円記号で囲んでください。次に例を示します。
\123,45\

PrinterFriendly ページを印刷用モードでレンダリングするかどうかを決定します。PrinterFriendlyが「はい」に設定されている場合は、ページが印刷用モードでレンダリングされます。 PrinterFriendlyの値は、リージョンなどの要素をページから削除して印刷される出力を最適化するための条件のレンダリングに使用されます。 印刷用設定項目を参照するには、次の構文を使用します。
V('PRINTER_FRIENDLY')

参照時は、HTML DBエンジンはタブやナビゲーション・バーを表示しません。すべてのアイテムは、フォーム要素ではなくテキストで表示されます。


f?p構文の動作を理解することは重要ですが、この構文をユーザー自身が構築する必要がある場合はほとんどありません。Oracle HTML DBには、これらの参照を自動的に作成する多くのウィザードが含まれています。次のセクションでは、f?p構文を使用してページをリンクする多くの具体的な場合について説明します。

アプリケーションおよびページの別名を使用したページのコール

アプリケーションおよびページの別名は、有効なOracle識別子で構成する必要があります。空白を含めることはできず、また大/小文字は区別されません。次の例では、Oracle HTML DBアプリケーション内から、アプリケーションおよびページの別名を使用してページをコールします。アプリケーションmyappのページhomeが実行され、現行のセッションIDが使用されます。

f?p=myapp:home:&SESSION.

アプリケーションの別名は、作業領域内で一意である必要があります。同じOracle HTML DBインスタンス内で、同じアプリケーション別名が異なる作業領域のアプリケーションにある場合は、&c引数を使用して作業領域名を指定します。次に例を示します。

f?p=common_alias:home:&session.&c=WORKSPACE_A

ボタンのURLからのページのコール

ボタンの作成時に、ユーザーがそのボタンをクリックするとリダイレクトされるURLを指定できます。この例では、アプリケーション6000のページ6001が実行され、現行のセッションIDが使用されます。

f?p=6000:6001:&SESSION.

これは、Oracle HTML DBでボタンを使用するための唯一の方法です。この方法は、ページの送信をバイパスし、そのページ上のハイパーリンクとして機能します。他にも、まずページを送信する方法があります。その方法では、ボタンをクリックすると、処理するページが送信され、フォームが送信された後、セッション・ステートが保存されます。

置換文字列の使用

ページ・テンプレート内またはリージョン・ソース内で置換文字列を使用すると、文字列を別の値に置換できます。ユーザーによるアイテムの編集を可能にするアプリケーションを設計するには、情報を渡すために置換文字列を使用する必要があります。

Oracle HTML DBでは、次のように置換文字列を使用できます。

テンプレート内で使用する置換文字列には、シャープ記号(#)を含めます。次に例を示します。

#ABC#

アプリケーション・レベルで作成された置換文字列は、表示されず、セッション・ステートを保持する変数として使用されます。ページ・アイテムは、ページの属性として定義できます。このタイプのセッション・ステートの置換は、アプリケーション・レベルまたはページ・レベルで行うことができます。次に例を示します。

&MY_ITEM.

組込み置換文字列

Application Builderでは、多くの組込み置換文字列がサポートされています。これらの値を参照して特定のタイプの機能を実現できます。

次のセクションでは、これらの置換文字列の詳細、使用するタイミング、および現在使用可能な構文について説明します。SESSION およびUSER はOracleの予約語であるため、短縮バインド変数が存在しないことに注意してください。

このセクションの内容は次のとおりです。


参照:


APP_ALIAS

APP_ALIASは、カレント・アプリケーションの英数字の名前です。APP_ALIASは、APP_IDが1つのデータベースでホスティングされているすべての企業およびすべてのアプリケーションで一意である必要があるという点で、APP_IDと異なります。APP_ALIASは、作業領域内で一意である必要があります。1つのAPP_ALIASを使用して2つの作業領域にABCというアプリケーションを作成することができます。APP_ALIASは、APP_IDを使用できる場所であればほぼすべての場合に使用できます。たとえば、次の例に示すように、f?p構文にAPP_ALIASまたはアプリケーションIDを使用できます。

f?p=ABC:1:&SESSION.

この例では、アプリケーションABCのページ1が、カレント・セッションを使用して実行されます。

表6-4に、APP_ALIASを参照するためにサポートされている構文を示します。

表6-4 APP_ALIAS構文

参照タイプ 構文
バインド変数 :APP_ALIAS
PL/SQL V('APP_ALIAS')
置換文字列 &APP_ALIAS.

次に、HTMLの例を示します。

Click me to go to page 1 <a href="f?p=&APP_ALIAS.:1:&SESSION."> of the current application</a>

APP_ID

APP_IDは、現在実行されているアプリケーションのアプリケーションIDを示します。表6-5に、APP_IDを参照するためにサポートされている構文を示します。

表6-5 APP_ID構文

参照タイプ 構文
バインド変数 :APP_ID
直接PL/SQL HTMLDB_APPLICATION.G_FLOW_ID (A NUMBER)
PL/SQL NV('APP_ID')
置換文字列 &APP_ID.

次に、置換文字列の参照の例を示します。

f?p=&APP_ID.:40:&SESSION.

APP_IMAGES

この置換文字列を使用すると、特定のアプリケーションに固有であり、複数のアプリケーションで共有されないアップロードされたイメージ、JavaScriptおよびカスケード・スタイルシートが参照されます。 ファイルをアップロードして、そのファイルをアプリケーション固有に設定した場合、この置換文字列またはバインド変数を使用する必要があります。表6-6に、APP_IMAGESを参照するためにサポートされている構文を示します。

表6-6 APP_IMAGES構文

参照タイプ 構文
バインド変数 :APP_IMAGES
直接PL/SQL 使用不可
PL/SQL V('APP_IMAGES')
置換文字列 &APP_IMAGES.
テンプレート置換 #APP_IMAGES#

APP_PAGE_ID

APP_PAGE_IDは、カレント・アプリケーションのページ番号です。たとえば、アプリケーションが3ページ目に存在した場合、結果は3になります。この構文の使用は、複数のアプリケーションで汎用的に動作する必要があるアプリケーション・コンポーネントを記述する場合に有効です。表6-7に、APP_PAGE_IDを参照するためにサポートされている構文を示します。

表6-7 APP_PAGE_ID構文

参照タイプ 構文
バインド変数 :APP_PAGE_ID
直接PL/SQL HTMLDB_APPLICATION.G_FLOW_STEP_ID (A NUMBER)
直接PL/SQL :APP_PAGE_ID
PL/SQL NV('APP_PAGE_ID')
置換文字列 &APP_PAGE_ID.

次に、置換文字列の参照の例を示します。

f?p=&APP_ID.:&APP_PAGE_ID.:&SESSION.

APP_SESSION

APP_SESSIONは、最も一般的に使用される組込み置換文字列の1つです。この置換文字列を使用すると、セッション番号を渡すことで同じセッション・ステートを保持しているアプリケーション・ページ間にハイパーテキスト・リンクを作成できます。表6-8に、APP_SESSIONを参照するためにサポートされている構文を示します。

表6-8 APP_SESSION構文

参照タイプ 構文
バインド変数 :APP_SESSION
PL/SQL V('APP_SESSION')
短縮PL/SQL V('SESSION')
短縮置換文字列 &SESSION.
置換文字列 &APP_SESSION.

次に例を示します。

  • HTMLリージョン内からの参照:

    <a href="f?p=100:5:&SESSION.">click me</a>
    
    
  • PL/SQLを使用した参照:

    htf.anchor('f?p=100:5:'||V('SESSION'),'click me');
    
    
  • SQL問合せを使用した参照:

    SELECT htf.anchor('f?p=100:5:'||:app_session,'clickme') FROM DUAL;
    
    

APP_UNIQUE_PAGE_ID

APP_UNIQUE_PAGE_IDは、各ページ・ビューに固有なOracle順序から生成される整数です。この数値は、アプリケーションで重複したページの送信を防止するために使用され、その他の用途にも使用できます。たとえば、ブラウザのキャッシュの問題を防止するために一意のURLを作成する場合、この数値を、fプロシージャへのコール内のリクエスト列またはデバッグ列に埋め込むことができます。表6-9に、APP_UNIQUE_PAGE_IDを参照するためにサポートされている構文を示します。

表6-9 APP_UNIQUE_PAGE_ID構文

参照タイプ 構文
バインド変数 :APP_UNIQUE_PAGE_ID
PL/SQL V('APP_UNIQUE_PAGE_ID')
置換文字列 &APP_UNIQUE_PAGE_ID.

次に、HTMLの例を示します。

SELECT 'f?p=100:1:'||:APP_SESSION||':'||:APP_UNIQUE_PAGE_ID||
    ':::P1_EMPNO:'||empno,
   ename,
    job
FROM emp

リクエスト列にAPP_UNIQUE_PAGE_IDが使用されていることに注意してください。これによって、このURLが一意になり、ブラウザによる過度のキャッシュの問題が防止される場合があります。

APP_USER

APP_USERは、アプリケーションを実行している現行ユーザーです。認証モデルに応じて、ユーザーの値の設定も異なります。アプリケーションがデータベース認証を使用して実行されている場合、ユーザーの値はデータベースの擬似列USERと同じになります。アプリケーションが、ユーザー認証を必要とする認証スキームを使用する場合、APP_USERの値はその認証スキームによって設定され、通常は、認証時に使用されるユーザー名に設定されます。表6-10に、APP_USERを参照するためにサポートされている構文を示します。

表6-10 APP_USER構文

参照タイプ 構文
バインド変数 :APP_USER
PL/SQL V('APP_USER')
短縮PL/SQL V('USER')
置換文字列 &USER.

次に例を示します。

  • HTMLリージョン内からの参照:

    Hello you are logged in as &USER.
    
    
  • PL/SQLを使用した参照:

    htp.p('Hello you are logged in as'||V('USER'));
    
    
  • バインド変数としての参照:

    SELECT * FROM some_table WHERE user_id = :app_user
    
    

AUTHENTICATED_URL_PREFIX

このアプリケーション・レベルの属性は、有効な認証済接頭辞(ログインしているURLの接頭辞)を示します。相対パスまたはhttpで始まるフルパスを使用できます。このアイテムは、アプリケーションが認証済(ログイン済)モードとパブリック(未ログイン)・モードの両方で実行可能な場合に有効です。AUTHENTICATED_URL_PREFIXを使用すると、認証済のページへのリンクを作成できます。このアイテムは、Basicデータベース認証の使用時に最も有効です。これは、URLの変更に認証が必要になる場合があるためです。表6-11に、AUTHENTICATED_URL_PREFIXを参照するためにサポートされている構文を示します。

表6-11 AUTHENTICATED_URL_PREFIX構文

参照タイプ 構文
バインド変数 :AUTHENTICATED_URL_PREFIX
PL/SQL V('AUTHENTICATED_URL_PREFIX')
置換文字列 &AUTHENTICATED_URL_PREFIX.

BROWSER_LANGUAGE

BROWSER_LANGUAGEは、Webブラウザの現行の言語設定項目を参照します。表6-12に、BROWSER_LANGUAGEを参照するためにサポートされている構文を示します。

表6-12 BROWSER_LANGUAGE構文

参照タイプ 構文
バインド変数 :BROWSER_LANGUAGE
直接PL/SQL HTMLDB_APPLICATION.G_BROWSER_LANGUAGE
PL/SQL V('BROWSER_LANGUAGE')
置換文字列 :BROWSER_LANGUAGE.
置換文字列 &BROWSER_LANGUAGE.

CURRENT_PARENT_TAB_TEXT

CURRENT_PARENT_TAB_TEXTは、ページ・テンプレートで最も有効です。ただし、この文字列は、2つのレベルのタブ(親タブと標準タブ)が使用されるアプリケーションでのみ使用できます。この文字列は、親タブ・ラベルの参照に使用します。この置換文字列を使用すると、現在選択されている親タブを、ページ・テンプレート内で繰り返すことができます。表6-13に、CURRENT_PARENT_TAB_TEXTを参照するためにサポートされている構文を示します。

表6-13 CURRENT_PARENT_TAB_TEXT構文

参照タイプ 構文
バインド変数 使用不可
置換文字列 &CURRENT_PARENT_TAB_TEXT.

DEBUG

DEBUGフラグの有効値はYESまたはNOです。デバッグを有効にすると、アプリケーション・プロセスの詳細が表示されます。カスタム・コードを記述する場合、デバッグ・モードがYESに設定されている場合にのみデバッグ情報を生成できます。表6-14に、DEBUGを参照するためにサポートされている構文を示します。

表6-14 DEBUG構文

参照タイプ 構文
バインド変数 :DEBUG
直接PL/SQL HTMLDB_APPLICATION.G_DEBUG
PL/SQL V('DEBUG')
置換文字列 &DEBUG.

次に、DEBUGの現行の値を保持する置換文字列の参照の例を示します。

f?p=100:1:&SESSION.::&DEBUG

HOME_LINK

HOME_LINKは、アプリケーションのホームページです。HTML DBエンジンは、ページが指定されていない場合および認証スキームのロジックによって代替ページが指定されていない場合に、ここへリダイレクトします。「ホーム・リンク」は「アプリケーション属性」ページに定義します。

表6-15に、HOME_LINKを参照するためにサポートされている構文を示します。

表6-15 HOME_LINK構文

参照タイプ 構文
直接PL/SQL HTMLDB_APPLICATION.G_HOME_LINK
PL/SQL V('HOME_LINK')
テンプレート参照 #HOME_LINK#
置換文字列 &HOME_LINK.


参照:

「ホーム・リンク」属性の詳細は、「セッション管理」を参照してください。

IMAGE_PREFIX

IMAGE_PREFIXの値によって、Oracle HTML DBによって分散されたイメージ・ディレクトリを指すためにWebサーバーが使用する仮想パスが決まります。アップロードされたイメージを参照する場合、WORKSPACE_IMAGESおよびAPP_IMAGESを使用します。表6-16に、IMAGE_PREFIXを参照するためにサポートされている構文を示します。

表 6-16 IMAGE_PREFIX構文

参照タイプ 構文
バインド変数 :IMAGE_PREFIX
直接PL/SQL HTMLDB_APPLICATION.G_IMAGE_PREFIX
PL/SQL V('IMAGE_PREFIX')
置換文字列 &IMAGE_PREFIX.
テンプレート置換 #IMAGE_PREFIX#

HTML DB SCHEMA OWNER

PL/SQLコードからアプリケーションへのコールを生成する場合、Oracle HTML DBスキーマの所有者を参照する必要がある場合があります。次に、直接PL/SQLの参照用の適切な構文を示します。

HTMLDB_APPLICATION.G_FLOW_SCHEMA_OWNER

また、#FLOW_OWNER#を使用してSQL問合せおよびPL/SQL(リージョンやプロセスなど)でこの値を参照することもできます。

PRINTER_FRIENDLY

PRINTER_FRIENDLYの値によって、HTML DBエンジンが印刷表示モードで実行するかどうかが決定されます。この設定は、印刷されるドキュメントには不適切な要素をページから排除する条件で参照できます。表6-17に、PRINTER_FRIENDLYを参照するためにサポートされている構文を示します。

表6-17 PRINTER_FRIENDLY構文

参照タイプ 構文
直接PL/SQL HTMLDB_APPLICATION.G_PRINTER_FRIENDLY (VARCHAR2 DATATYPE)
PL/SQL V('PRINTER_FRIENDLY')
置換文字列 &PRINTER_FRIENDLY.

LOGOUT_URL

LOGOUT_URLはアプリケーション・レベルの属性であり、ログアウトURLの指定に使用されます。これは、ユーザーをログアウト・ページに移動させるか、またはオプションで直接ユーザーをログアウトさせるURLです。ログアウト・ナビゲーション・バー・アイコンを作成するには、そのナビゲーション・バー・リンクに&LOGOUT_URLを使用します。ページ・テンプレートをコーディングしている場合、#LOGOUT_URL#を使用します。表6-18に、LOGOUT_URLを参照するためにサポートされている構文を示します。

表6-18 LOGOUT_URL構文

参照タイプ 構文
バインド変数 :LOGOUT_URL
PL/SQL V('LOGOUT_URL')
置換文字列 &LOGOUT_URL.
テンプレート置換 #LOGOUT_URL#

PROXY SERVER

PROXY SERVERは、アプリケーション属性です。この属性は、ソースがURLであるリージョンによって使用される場合があります。次に、直接PL/SQL参照用の適切な構文を示します。この参照は、データベースからリモートWebサーバーにアクセスするためのPL/SQLを記述する場合に使用します(たとえば、データベースに付属するutl_httpパッケージを使用する場合)。

HTMLDB_APPLICATION.G_PROXY_SERVER

PUBLIC_URL_PREFIX

PUBLIC_URL_PREFIXは、アプリケーション・レベルの属性であり、ログイン・モードをパブリック表示に切り替えるURLを指定します。表6-19に、PUBLIC_URL_PREFIXを参照するためにサポートされている構文を示します。

表6-19 PUBLIC_URL_PREFIX構文

参照タイプ 構文
バインド変数 :PUBLIC_URL_PREFIX
PL/SQL V('PUBLIC_URL_PREFIX')
置換文字列 &PUBLIC_URL_PREFIX.
テンプレート置換 #PUBLIC_URL_PREFIX#

REQUEST

REQUESTの値は、各アプリケーション・ボタンによって、そのボタンの名前に設定されます。これによって、ユーザーがボタンをクリックしたときに、受入れプロセスでそのボタンの名前が参照されるようになります。f?p構文では、REQUESTは4つ目の引数を使用して設定できます。

REQUESTの値の参照

REQUESTは、通常、受入れプロセス(ページのポスト時に発生するプロセス)中に参照されます。表6-20に、REQUESTを参照するためにサポートされている構文を示します。

表6-20 REQUEST構文

参照タイプ 構文
バインド変数 :REQUEST
直接PL/SQL HTMLDB_APPLICATION.G_REQUEST
PL/SQL V('REQUEST')
置換文字列 &REQUEST

&REQUEST.(構文の完全一致)


ポストされたページのREQUESTの有効範囲および値

ページをポストすると、受入れプロセスが起動されます。受入れプロセスは、計算、検証、プロセスおよびブランチで構成されています。リクエストの値は、受入れプロセスの各フェーズで使用可能です。Oracle HTML DBが別のページにブランチされると、REQUESTはNULLに設定されます。

REQUESTの値は、ユーザーがクリックするボタンの名前か、またはユーザーが選択するタブの名前です。たとえば、名前が「CHANGE」、ラベルが「変更を適用」というボタンがあると想定します。ユーザーがこのボタンをクリックすると、REQUESTの値がCHANGEになります。

宣言条件を使用したREQUESTの参照

REQUESTは、通常、条件を使用して参照されます。たとえば、ユーザーがレポート・ページ上の「実行」をクリックしたときにページ区切りをリセットする必要がある場合があります。ページ区切りは、送信時ページ・プロセスを作成してリセットできます。ページ・プロセスには、条件「リクエスト=式1」を使用して条件を付けることができます。

送信時ページ・プロセスを作成するには、次の手順を実行します。

  1. 条件付き表示で、条件タイプ「リクエスト=式1」を選択します。

  2. 式1で「実行」を実行します。

表示プロセスでのREQUESTの使用

REQUESTは、f?p構文を使用してページに移動するときの表示プロセスにも使用できます。次に例を示します。

f?p=100:1:&SESSION.:GO

f?p構文の4つ目の引数がREQUESTです。この例では、カレント・セッションのアプリケーション100のページ1に移動し、REQUESTの値がGOに設定されます。すべてのプロセスまたはリージョンでは、表示プロセスを使用してREQUESTの値を参照できます。

次に、PL/SQLを使用した同様の例を示します。

IF V ('REQUEST') = 'GO' THEN
   htp.p('hello');
END IF;

htp.p('hello')は、特定のテキスト文字列を出力するためのPL/SQL Webツールキット・パッケージへのコールであることに注意してください。


参照:

  • PL/SQLを使用したWebアプリケーションの開発については、『Oracle Databaseアプリケーション開発者ガイド - 基礎編』を参照してください。

  • htpパッケージの詳細は、『PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス』を参照してください。


SQLERRM

SQLERRMは、アプリケーション・リージョン・エラー・メッセージでのみ使用可能なテンプレート置換です。次に、リージョン・テンプレート置換の参照用の適切な構文を示します。

#SQLERRM#

SYSDATE_YYYYMMDD

SYSDATE_YYYYMMDDは、データベース・サーバーの現在の日付にYYYYMMDD書式マスクを適用して表示します。この値を、SYSDATE()ファンクションを繰り返しコールするかわりに使用できます。次のリストに、SYSDATE_YYYYMMDDを参照するためにサポートされている構文を示します。

  • バインド変数:

    :SYSDATE_YYYYMMDD
    
    
  • PL/SQL:

    V('SYSDATE_YYYYMMDD')
    
    
  • 直接PL/SQL:

    HTMLDB_APPLICATION.G_SYSDATE (DATE DATATYPE)
    
    

表6-21 SYSDATE_YYYYMMDD構文

参照タイプ 構文
バインド変数 :SYSDATE_YYYYMMDD
直接PL/SQL HTMLDB_APPLICATION.G_SYSDATE (DATE DATATYPE)
PL/SQL V('SYSDATE_YYYYMMDD')

WORKSPACE_IMAGES

この置換文字列を使用すると、作業領域内の複数のアプリケーションで共有されるアップロードされたイメージ、JavaScriptおよびカスケード・スタイルシートが参照されます。表6-22に、WORKSPACE_IMAGESを参照するためにサポートされている構文を示します。

表6-22 WORKSPACE_IMAGES構文

参照タイプ 構文
バインド変数 :WORKSPACE_IMAGES
直接PL/SQL 使用不可
PL/SQL V('WORKSPACE_IMAGES')
置換文字列 &WORKSPACE_IMAGES.
テンプレート置換 #WORKSPACE_IMAGES#