ホーム > アプリケーション・ビルダーの概念 > 置換文字列の理解 > 組込み置換文字列について
前へ |
次へ |
アプリケーション・ビルダーでは、多くの組込み置換文字列がサポートされています。これらの値を参照して特定のタイプの機能を実行できます。
次の項では、これらの置換文字列について、使用する状況および現在サポートされている構文を説明します。バインド変数:USER
はデータベース内で特別な意味を持つことに注意してください。また、直接PL/SQLという用語は、プロシージャおよびファンクションなどのストアド・データベース・オブジェクトで使用可能なPL/SQLを表します。
トピック:
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:&APP_SESSION.
この例では、アプリケーションABCのページ1が、カレント・セッションを使用して実行されます。
表「APP_ALIAS構文」に、APP_ALIAS
を参照するためにサポートされている構文を示します。
次に、HTMLの例を示します。
Click me to go to page 1 <a href="f?p=&APP_ALIAS.:1:&APP_SESSION."> of the current application</a>
APP_ID
は、現在実行されているアプリケーションのアプリケーションIDを示します。表「APP_ID構文」に、APP_ID
を参照するためにサポートされている構文を示します。
APP_ID構文
参照タイプ | 構文 |
---|---|
バインド変数 |
|
直接PL/SQL |
|
PL/SQL |
|
置換文字列 |
|
次に、置換文字列の参照の例を示します。
f?p=&APP_ID.:40:&APP_SESSION.
この置換文字列を使用して、特定のアプリケーションに固有で、複数のアプリケーションでは共有されていないアップロードされたイメージ、JavaScriptおよびカスケード・スタイルシートを参照します。ファイルをアップロードして、そのファイルをアプリケーション固有に設定した場合、この置換文字列またはバインド変数を使用する必要があります。表「APP_IMAGES構文」に、APP_IMAGES
を参照するためにサポートされている構文を示します。
APP_PAGE_ID
はカレント・アプリケーションIDです。たとえば、アプリケーションが3ページ目に存在した場合、結果は3になります。この構文の使用は、複数のアプリケーションで汎用的に動作する必要があるアプリケーション・コンポーネントを記述する場合に有効です。表「APP_PAGE_ID構文」に、APP_PAGE_ID
を参照するためにサポートされている構文を示します。
APP_PAGE_ID構文
参照タイプ | 構文 |
---|---|
バインド変数 |
|
PL/SQL |
|
PL/SQLおよび直接PL |
|
置換文字列 |
|
次に、置換文字列の参照の例を示します。
f?p=&APP_ID.:&APP_PAGE_ID.:&APP_SESSION.
APP_SESSION
は、最もよく使用される組込み置換文字列の1つです。この置換文字列を使用して、セッション番号を渡すことによりセッション・ステートを維持するアプリケーション・ページ間のハイパーテキスト・リンクを作成できます。APP_SESSION
のかわりに置換文字列SESSION
を使用することもできます。表「APP_SESSION構文」に、APP_SESSION
を参照するためにサポートされている構文を示します。
APP_SESSION構文
参照タイプ | 構文 |
---|---|
バインド変数 |
|
PL/SQL |
|
短縮PL/SQL |
|
置換文字列 |
|
次に例を示します。
HTMLリージョン内からの参照:
<a href="f?p=100:5:&APP_SESSION.">click me</a>
PL/SQLを使用した参照:
htf.anchor('f?p=100:5:'||V('APP_SESSION'),'click me');
SQL問合せを使用した参照:
SELECT htf.anchor('f?p=100:5:'||:APP_SESSION,'clickme') FROM DUAL;
APP_UNIQUE_PAGE_ID
は、各ページ・ビューに固有なOracle順序から生成される整数です。この数値は、アプリケーションで重複したページの送信を防止するために使用され、その他の用途にも使用できます。たとえば、一意のURLを作成し、ブラウザのキャッシュの問題を防止するには、この数値を、f
プロシージャへのコール内のリクエスト列またはデバッグ列に埋め込むことができます。表「APP_UNIQUE_PAGE_ID構文」に、APP_UNIQUE_PAGE_ID
を参照するためにサポートされている構文を示します。
APP_UNIQUE_PAGE_ID構文
参照タイプ | 構文 |
---|---|
バインド変数 |
|
PL/SQL |
|
置換文字列 |
|
次に、HTMLの例を示します。
SELECT 'f?p=100:1:'||:APP_SESSION||':'||:APP_UNIQUE_PAGE_ID|| ':::P1_EMPNO:'||employee_id, first_name, job_id FROM employees
リクエスト列にAPP_UNIQUE_PAGE_ID
が使用されていることに注意してください。これによって、このURLが一意になり、ブラウザによる過度のキャッシュの問題を回避できます。
APP_USER
は、アプリケーションを実行しているカレント・ユーザーです。認証モデルに応じて、ユーザーの値の設定も異なります。アプリケーションがデータベース認証を使用して実行されている場合、ユーザーの値はデータベースの擬似列USERと同じになります。アプリケーションが、ユーザー認証を必要とする認証スキームを使用する場合、APP_USER
の値はその認証スキームによって設定され、通常は、認証時に使用されるユーザー名に設定されます。表「APP_USER構文」に、APP_USER
を参照するためにサポートされている構文を示します。
次に例を示します。
HTMLリージョン内からの参照:
Hello you are logged in as &APP_USER.
PL/SQLを使用した参照:
htp.p('Hello you are logged in as'||V('APP_USER'));
バインド変数としての参照:
SELECT * FROM some_table WHERE user_id = :APP_USER
このアプリケーション・レベルの属性は、有効な認証済接頭辞(ログインしているURLの接頭辞)を示します。相対パスまたはhttp
で始まるフルパスを使用できます。このアイテムは、アプリケーションが認証済(ログイン済)モードとパブリック(未ログイン)・モードの両方で実行可能な場合に有効です。AUTHENTICATED_URL_PREFIX
を使用すると、認証済のページへのリンクを作成できます。このアイテムは、Basicデータベース認証の使用時に最も有効です。これは、URLの変更に認証が必要になる場合があるためです。表「AUTHENTICATED_URL_PREFIX構文」に、AUTHENTICATED_URL_PREFIX
を参照するためにサポートされている構文を示します。
BROWSER_LANGUAGE
は、Webブラウザの現行の言語プリファレンスを参照します。表「BROWSER_LANGUAGE構文」に、BROWSER_LANGUAGE
を参照するためにサポートされている構文を示します。
CURRENT_PARENT_TAB_TEXT
は、ページ・テンプレートで最も有効です。ただし、この文字列は、2つのレベルのタブ(親タブと標準タブ)が使用されるアプリケーションでのみ使用できます。この文字列は、親タブ・ラベルの参照に使用します。この置換文字列を使用すると、現在選択されている親タブを、ページ・テンプレート内で繰り返すことができます。表「CURRENT_PARENT_TAB_TEXT構文」に、CURRENT_PARENT_TAB_TEXT
を参照するためにサポートされている構文を示します。
DEBUG
フラグの有効値はYesまたはNoです。デバッグを有効にすると、アプリケーション・プロセスの詳細が表示されます。カスタム・コードを記述する場合、デバッグ・モードがYesに設定されている場合にのみデバッグ情報を生成できます。表「DEBUG構文」に、DEBUG
を参照するためにサポートされている構文を示します。
次に、DEBUG
の現行の値を保持する置換文字列の参照の例を示します。
f?p=100:1:&APP_SESSION.::&DEBUG
HOME_LINK
は、アプリケーションのホームページです。ページが指定されておらず、かつ認証スキームのロジックによって代替ページが指定されていない場合、Application Expressエンジンによって、この場所にリダイレクトされます。HOME_LINKはアプリケーション属性ページで定義します。
表「HOME_LINK構文」に、HOME_LINKを参照するためにサポートされている構文を示します。
HOME_LINK構文
参照タイプ | 構文 |
---|---|
直接PL/SQL |
|
PL/SQL |
|
テンプレート参照 |
|
置換文字列 |
|
現在ログインしていないユーザー用のログイン・ページへのリンクを表示するには、LOGIN_URL
を使用します。表「LOGIN_URL構文」に、LOGIN_URL
を参照するためにサポートされている構文を示します。
IMAGE_PREFIX
の値によって、Oracle Application Expressによって分散されたイメージ・ディレクトリを指すためにWebサーバーが使用する仮想パスが決まります。アップロードされたイメージを参照するには、WORKSPACE_IMAGES
およびAPP_IMAGES
を使用します。表「IMAGE_PREFIX構文」に、IMAGE_PREFIX
を参照するためにサポートされている構文を示します。
PL/SQLコードからアプリケーションへのコールを生成する場合、Oracle Application Expressスキーマの所有者を参照する必要がある場合があります。次に、直接PL/SQLを参照する際の正しい構文を示します。
APEX_APPLICATION.G_FLOW_SCHEMA_OWNER
また、#FLOW_OWNER#
を使用してSQL問合せおよびPL/SQL(リージョンやプロセスなど)でこの値を参照することもできます。
PRINTER_FRIENDLY
の値によって、Application Expressエンジンが印刷表示モードで実行するかどうかが決定されます。この設定は、印刷されるドキュメントには不適切な要素をページから排除する条件で参照できます。表「PRINTER_FRIENDLY構文」に、PRINTER_FRIENDLY
を参照するためにサポートされている構文を示します。
LOGOUT_URL
はアプリケーション・レベルの属性であり、ログアウトURLの指定に使用されます。これは、ユーザーをログアウト・ページに移動するか、またはオプションで直接ユーザーをログアウトさせるURLです。ログアウト・ナビゲーション・バー・エントリを作成するには、&LOGOUT_URL
の最後にピリオドを追加します(&LOGOUT_URL.
)。ページ・テンプレートをコーディングしている場合は、#LOGOUT_URL#
を使用します。表「LOGOUT_URL構文」に、LOGOUT_URL
を参照するためにサポートされている構文を示します。
PROXY SERVER
は、アプリケーション属性です。この属性は、ソースがURLであるリージョンによって使用される場合があります。次に、直接PL/SQLを参照する際の正しい構文を示します。この参照は、データベースからリモートWebサーバーにアクセスするためのPL/SQLを記述する場合に使用します(たとえば、データベースに付属するutl_http
パッケージを使用する場合)。
APEX_APPLICATION.G_PROXY_SERVER
PUBLIC_URL_PREFIX
は、アプリケーション・レベルの属性であり、ログイン・モードをパブリック表示に切り替えるURLを指定します。表「PUBLIC_URL_PREFIX構文」に、PUBLIC_URL_PREFIX
を参照するためにサポートされている構文を示します。
REQUEST
の値は、各アプリケーションのボタンによって、そのボタンの名前またはそのボタンに関連付けられているリクエスト値属性に設定されます。これによって、ユーザーがボタンをクリックしたときに、受入れプロセスでそのボタンの名前が参照されるようになります。f?p
構文では、REQUEST
は4つ目の引数を使用して設定できます。
REQUEST
は、通常、受入れプロセス(ページのポスト時に発生するプロセス)中に参照されます。表「REQUEST構文」に、REQUEST
を参照するためにサポートされている構文を示します。
ページをポストすると、受入れプロセスが起動されます。受入れプロセスは、計算、検証、プロセスおよびブランチで構成されています。REQUEST
の値は、受入れプロセスの各フェーズで使用可能です。アプリケーションが別のページにブランチされると、REQUEST
はNULLに設定されます。
REQUEST
の値は、ユーザーがクリックするボタンの名前か、またはユーザーが選択するタブの名前です。たとえば、名前がCHANGE
、ラベルが「変更の適用」というボタンがあるとします。ユーザーがこのボタンをクリックすると、REQUEST
の値がCHANGE
になります。
検証、プロセスおよびブランチには「対象ボタン」属性があります。この属性は、選択リストとして表示され、カレント・ページにあるボタン名を含みます。「対象ボタン」から選択した場合、ボタンのREQUEST
値を検証、プロセスまたはブランチに関連付けます。
ページの送信にボタンを使用する場合、REQUEST
値がページに渡されます。受入れプロセス・ロジックにより、「対象ボタン」属性を使用する各検証、プロセスおよびブランチが評価され、コンポーネントを実行(起動)するかどうかが決定されます。コンポーネントの1つが実行される場合、関連付けられたボタンをユーザーが実際にクリックしてページが送信されたとはみなさないでください。同じリクエスト値を使用する別のボタンがページを送信した可能性があります。同様に、ページのJavaScriptもページを送信してリクエスト値を渡します。
REQUEST
は、通常、条件を使用して参照されます。たとえば、ユーザーがレポート・ページ上の「実行」をクリックしたときにページ区切りをリセットする必要がある場合があります。ページ区切りは、送信時ページ・プロセスを作成してリセットできます。ページ・プロセスには、条件「リクエスト=式1」を使用して条件を付けることができます。
送信時ページ・プロセスに条件を設定するには、次のステップを実行します。
「条件」で、条件タイプ「リクエスト=式1」を選択します。
式1で「実行」を実行します。
REQUEST
は、f?p
構文を使用してページに移動するときの表示プロセスにも使用できます。次に例を示します。
f?p=100:1:&APP_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ツールキット・パッケージへのコールであることに注意してください。
参照:
|
SQLERRM
は、アプリケーション・リージョン・エラー・メッセージでのみ使用可能なテンプレート置換です。次に、リージョン・テンプレート置換を参照する際の正しい構文を示します。
#SQLERRM#
SYSDATE_YYYYMMDD
は、データベース・サーバーの現在の日付にYYYYMMDD
書式マスクを適用して表示します。この値を、SYSDATE()
ファンクションを繰り返しコールするかわりに使用できます。次のリストに、SYSDATE_YYYYMMDD
を参照するためにサポートされている構文を示します。
バインド変数
:SYSDATE_YYYYMMDD
PL/SQL
V('SYSDATE_YYYYMMDD')
直接PL/SQL
APEX_APPLICATION.G_SYSDATE (DATE DATATYPE)
この置換文字列を使用して、作業領域内の複数のアプリケーションで共有されているアップロードされたイメージ、JavaScriptおよびカスケード・スタイルシートを参照します。表「WORKSPACE_IMAGES構文」に、WORKSPACE_IMAGES
を参照するためにサポートされている構文を示します。
WORKSPACE_IMAGES構文
参照タイプ | 構文 |
---|---|
バインド変数 |
|
直接PL/SQL |
使用不可 |
PL/SQL |
|
置換文字列 |
|
テンプレート置換 |
|