ヘッダーをスキップ

Oracle E-Business Suite開発者ガイド
リリース12.2
E53035-01
目次へ
目次
前のページへ
前へ
次のページへ
次へ

APPCOREルーチンAPI

APPCOREルーチンAPIについて

この章では、PL/SQLプロシージャから多数のOracle E-Business Suite APIをコールするための仕様を説明します。APPCOREライブラリのルーチンのほとんどはこの章で説明していますが、一部のAPPCOREルーチンは他の章で説明しています(たとえば、APP_SPECIALルーチンについては「ツールバーおよびデフォルト・メニューの制御」の章で説明しています)。この章では次のルーチンについて説明しています。

APP_COMBO: 組合せブロックAPI

APP_COMBOを使用して、組合せブロックのナビゲーションを制御します。

APP_COMBO.KEY_PREV_ITEM

変数 説明
要約
procedure  APP_COMBO.KEY_PREV_ITEM;
場所 APPCOREライブラリ
説明 このプロシージャをKEY-PREV-ITEMトリガーでコールして、レコードの最初の項目からバックタブを行うときの標準動作を規定します。このプロシージャによって、カーソルは自動的に直前のレコードの最後の項目に移動します。

関連項目: 組合せブロック

APP_DATEとFND_DATE: 日付変換API

日付のフォーマット、変換または検証は、APP_DATEおよびFND_DATEパッケージ・ユーティリティを使用して実行できます。このパッケージは日付関連の複雑な書式マスクを隠すためのものです。これらのルーチンは、特に日付を文字列として処理するときに有用です。文字型の日付、つまり、略した文字日付は、内部的に日付として格納されますが、UIでは日付フィールドではなく文字フィールドとして処理される値です。これらのルーチンは、複数言語、フレキシブル書式マスク、およびこれらの変換の2000年対応の側面を処理するように設計されています。リリース12.2から、APP_DATEおよびFND_DATEでは国際カレンダをサポートしています(カレンダ認識)。

APP_DATEルーチンはAPPCOREライブラリの中にあり、フォームや他のライブラリからコールできます。ただし、CUSTOMライブラリなどAPPCOREに添付されているライブラリは除きます。CUSTOMライブラリやAPPCOREに添付されている各種ライブラリのコードに対しては、特別なAPPCORE2ライブラリの中のAPP_DATE2パッケージを使用します。APP_DATE2パッケージはAPP_DATEと同等のもので、同じルーチンと引数を含みます。

FND_DATEパッケージはデータベースに配置されています。FND_DATEルーチンはSQL文または他のデータベース・パッケージからコールできます。多くのルーチンはAPP_DATEとFND_DATEの両方のパッケージにあります。

日付用語リスト

日付は様々な方法で表すことができるため、次のAPIで使用される日付関連用語を定義しておくと有用です。

変数 説明
フォーム日付フィールド Dateデータ型の(フォーム内)テキスト項目。
フォーム日時フィールド Datetimeデータ型の(フォーム内)テキスト項目。
フォーム文字フィールド Charデータ型の(フォーム内)テキスト項目。
PL/SQL日付 PL/SQL日付Dateデータ型で宣言されたPL/SQL変数です。このような変数は日付と時間の両方のコンポーネントを持っています。
ユーザー日付書式 ユーザーが現在フォームで参照している日付の書式です。
ユーザー日時書式 ユーザーが現在フォームの時間コンポーネントで参照している日時の書式です。
標準日付書式 言語に関係なく日付を文字列として表すために使用する標準書式です。Oracle E-Business Suiteでは、標準日付書式としてYYYY/MM/DD HH24:MI:SSを使用します。

警告: APP_DATEおよびFND_DATEルーチンは、canonical_mask、user_maskなどのパッケージ変数を使用します。Oracle E-Business Suiteが正しく動作するためにはこれらの値が正しいことが条件となるため、これらの変数は変更しないでください。

国際カレンダ・サポートとcalendar_awareパラメータ

Oracle E-Business Suiteには、Hijrahカレンダおよびタイ・カレンダに対する国際カレンダ・サポートが組み込まれています。リリース12.2からは、文字日付もサポートするように拡張されています(文字日付とは、内部的には日付として格納され、UIでは文字フィールドとして処理される値です)。APP_DATEおよびFND_DATEはパラメータを使用して、内部的なカレンダ認識を制御します。カレンダ認識であることによって、APIではプロファイル・オプション「FND: フォーム・ユーザー・カレンダ」の設定が考慮されるようになります(設定されている場合)。デフォルトでは、ユーザー・カレンダにはグレゴリウス・カレンダが表示されますが、プロファイル・オプションに別のカレンダが設定されている場合は、そのカレンダが使用されます。

カレンダ・サポートの詳細は、『Oracle E-Business Suiteセットアップ・ガイド』のカレンダのサポートに関する項を参照してください。

このドキュメントでは、次の用語および意味を使用します。

デフォルトのAPP_DATEはカレンダ認識で、デフォルトのFND_DATEはカレンダ非認識です。calendar_awareパラメータを明示的に設定することで、これらのAPIで文字日付の値を処理する方法を制御できます。製品のカレンダとして常にグレゴリウスを必要とするインスタンスがある可能性に注意してください。その場合は、文字日付ルーチンがカレンダ非認識をコールするようにしてください。

calendar_awareパラメータには、次の値が使用されます。

calendar_unaware CONSTANT number := 0;
calendar_aware CONSTANT number := 1;

calendar_awareパラメータを使用する場合は、次の例のように明示的にリストする必要があります。

fnd_date_displaydt_to_date(
charDT=>:lines.need_by_date, 
calendar_aware=>1)

PL/SQLファンクションで定義された変数はSQL文から参照できないため、FND_DATEルーチンのコールでは、変数のかわりに0または1の数値を使用します。

calendar_awareパラメータの使用例

APP_DATEの例を次に示します。

l_promised_date := APP_DATE.displayDT_to_date(name_in('PO_SHIPMENTS.promised_date'),calendar_aware=>APP_DATE.calendar_unaware); 

FND_DATEの例を次に示します。

AND (Nvl(Trunc(fnd_Date.Displaydt_to_date(charDT=>:lines.Need_By_Date,calendar_aware=>1)), Trunc(SYSDATE))
BETWEEN Nvl(poh.Start_Date,Nvl(Trunc(fnd_Date.Displaydt_to_date(charDT=>:lines.Need_By_Date,calendar_aware=>1)), Trunc(SYSDATE)))
AND Nvl(poh.End_Date,Nvl(Trunc(fnd_Date.Displaydt_to_date(charDT=>:lines.Need_By_Date,calendar_aware=>1)), Trunc(SYSDATE)))
OR Trunc(SYSDATE)
BETWEEN Nvl(poh.Start_Date,Trunc(SYSDATE)) AND Nvl(poh.End_Date,Trunc(SYSDATE))) 

一般的な質問と回答

次に、一般的な質問と回答を示します。

パラメータを明示的にリストする必要はありますか。

つまり、この例のようにパラメータを渡すことはできますか。

fnd_Date.Displaydt_to_date(:lines.Need_By_Date,1)

回答: いいえ。次の例のようにパラメータを明示的にリストする必要があります。

fnd_Date.Displaydt_to_date(charDT=>:lines.Need_By_Date,calendar_aware=>1)

パラメータを明示的にリストすることは、暗黙的な変換によって予想外のファンクションがコールされて、意図しない結果となる状況が排除されます。

定数を使用できないのはなぜですか。FND_DATEの例では、calendar_aware=>FND_DATE.calendar_awareではなく、calendar_aware=>1が使用されています。理由を説明してください。

回答: PL/SQLのファンクションおよびプロシージャで定義された変数は、SQL文から参照できないためです。

このcalendar_awareパラメータの拡張によって、すべてのフォームを再コンパイルする必要はありますか。

回答: いいえ。再コンパイルが必要なのは、変更したフォームとライブラリのみです。

APP_DATE.CANONICAL_TO_DATEとFND_DATE.CANONICAL_TO_DATE

変数 説明
要約
function APP_DATE.CANONICAL_TO_DATE(
canonical varchar2)
return date;
変数 説明
場所 APPCOREライブラリおよびデータベース(ストアド・ファンクション)
変数 説明
説明 このファンクションは、標準日付書式(時間コンポーネントを含む)の文字列をPL/SQL日付に変換します。
APP_DATE.CANONICAL_TO_DATEが正常に実行されなかった場合は、メッセージ行にメッセージが表示され、form_trigger_failureが呼び出されます。FND_DATE.CANONICAL_TO_DATEが正常に実行されなかった場合は、埋込みTO_DATEコールから標準例外が呼び出されますがメッセージは戻しません。
変数 説明
引数(入力) canonical - PL/SQL日付に変換される(標準書式の) VARCHAR2文字列。

例1

declare
hire_date varchar2(20) := '1980/01/01';
num_days_employed number;
begin
num_days_employed := trunc(sysdate) -
app_date.canonical_to_date(hire_date);
message('Length of employment in days: '||
to_char(num_days_employed));
end;

例2

select fnd_date.canonical_to_date(tab.my_char_date) 
from ...

APP_DATE.DISPLAYDATE_TO_DATEとFND_DATE.DISPLAYDATE_TO_DATE

変数 説明
要約
function APP_DATE.DISPLAYDATE_TO_DATE(
chardate varchar2
[calendar_aware=>value])
return date;
場所 APPCOREライブラリおよびデータベース(ストアド・ファンクション)
説明 このファンクションは、ユーザー日付書式の文字列をPL/SQL日付に変換します。
APP_DATE.DISPLAYDATE_TO_DATEが正常に実行されなかった場合は、メッセージ行にメッセージが表示され、form_trigger_failureが呼び出されます。FND_DATE.DISPLAYDATE_TO_DATEが正常に実行されなかった場合は、埋込みTO_DATEコールから標準例外が呼び出されますがメッセージは戻しません。
前のリリースでは、このファンクションの名前はAPP_DATE.CHARDATE_TO_DATEとなっていました(名前は下位互換性のために保持されています)。
引数(入力) chardate - PL/SQL日付に変換される(ユーザー日付書式の) VARCHAR2文字列。
calendar_aware - (オプション)このパラメータは必要に応じて設定します。デフォルトでは、APP_DATE文字日付ルーチンはカレンダ認識で、FND_DATE文字日付ルーチンはカレンダ非認識です。詳細は、「国際カレンダ・サポートとcalendar_awareパラメータ」を参照してください。

APP_DATE.DISPLAYDT_TO_DATEとFND_DATE.DISPLAYDT_TO_DATE

変数 説明
要約
function APP_DATE.DISPLAYDT_TO_DATE(
charDT varchar2
[calendar_aware=>value])
return date;
場所 APPCOREライブラリおよびデータベース(ストアド・ファンクション)
説明 このファンクションは、ユーザー日時書式の文字列をPL/SQL日付に変換します。
APP_DATE.DISPLAYDT_TO_DATEが正常に実行されなかった場合は、メッセージ行にメッセージが表示され、form_trigger_failureが呼び出されます。FND_DATE.DISPLAYDT_TO_DATEが正常に実行されなかった場合は、埋込みTO_DATEコールから標準例外が呼び出されますがメッセージは戻しません。
前のリリースでは、このファンクションの名前はAPP_DATE.CHARDT_TO_DATEとなっていました(名前は下位互換性のために保持されています)。
引数(入力) charDT - PL/SQL日付に変換される(ユーザー日時書式の) VARCHAR2文字列。
calendar_aware - (オプション)このパラメータは必要に応じて設定します。デフォルトでは、APP_DATE文字日付ルーチンはカレンダ認識で、FND_DATE文字日付ルーチンはカレンダ非認識です。詳細は、「国際カレンダ・サポートとcalendar_awareパラメータ」を参照してください。

例1

l_promised_date := APP_DATE.displayDT_to_date(
name_in('PO_SHIPMENTS.promised_date'),
calendar_aware=>APP_DATE.calendar_unaware); 

例2

fnd_Date.Displaydt_to_date(
charDT=>:lines.Need_By_Date,
calendar_aware=>1)

APP_DATE.DATE_TO_CANONICALとFND_DATE.DATE_TO_CANONICAL

変数 説明
要約
function APP_DATE.DATE_TO_CANONICAL( 
dateval date) 
return varchar2;
場所 APPCOREライブラリおよびデータベース(ストアド・ファンクション)
説明 このファンクションは、PL/SQL日付を標準日付書式の文字列に変換します。すべての時間コンポーネントは保持されます。
引数(入力) dateval - 変換されるPL/SQL日付。

select fnd_date.date_to_canonical(hire_date) 
from emp ...

APP_DATE.DATE_TO_DISPLAYDATEとFND_DATE.DATE_TO_DISPLAYDATE

変数 説明
要約
function APP_DATE.DATE_TO_DISPLAYDATE(
dateval date
[calendar_aware=>value])  
return varchar2;
場所 APPCOREライブラリおよびデータベース(ストアド・ファンクション)
説明 このファンクションは、PL/SQL日付をユーザー日付書式の文字列に変換します。PL/SQL日付のすべての時間コンポーネントは無視されます。
以前のリリースでは、このファンクションの名前はAPP_DATE.DATE_TO_CHARDATEとなっていました(名前は下位互換性のために保持されています)。
引数(入力) dateval - 変換されるPL/SQL日付。
calendar_aware - (オプション)このパラメータは必要に応じて設定します。デフォルトでは、APP_DATE文字日付ルーチンはカレンダ認識で、FND_DATE文字日付ルーチンはカレンダ非認識です。詳細は、「国際カレンダ・サポートとcalendar_awareパラメータ」を参照してください。

declare
my_displaydate varchar2(30);
my_dateval date;
begin
my_displaydate :=
app_date.date_to_displaydate(my_dateval);
end; 

APP_DATE.DATE_TO_DISPLAYDTとFND_DATE.DATE_TO_DISPLAYDT

変数 説明
要約
function APP_DATE.DATE_TO_DISPLAYDT(
dateval date
[calendar_aware=>value])
return varchar2;
場所 APPCOREライブラリおよびデータベース(ストアド・ファンクション)
説明 このファンクションは、PL/SQL日付をユーザー日時書式の文字列に変換します。PL/SQL日付のすべての時間コンポーネントは保持されます。
以前のリリースでは、このファンクションの名前はAPP_DATE.DATE_TO_CHARDTとなっていました(名前は下位互換性のために保持されています)。
引数(入力) dateval - 変換されるPL/SQL日付。
calendar_aware - (オプション)このパラメータは必要に応じて設定します。デフォルトでは、APP_DATE文字日付ルーチンはカレンダ認識で、FND_DATE文字日付ルーチンはカレンダ非認識です。詳細は、「国際カレンダ・サポートとcalendar_awareパラメータ」を参照してください。

declare
my_displaydt varchar2(30);
my_dateval date;
begin
my_displaydt :=
app_date.date_to_displaydt(my_dateval);
end; 

APP_DATE.DATE_TO_FIELD

変数 説明
要約
procedure APP_DATE.DATE_TO_FIELD(
	dateval date,
	field varchar2,
	datetime varchar2 default 'DEFAULT',
	date_parameter boolean default FALSE
 	[calendar_aware=>value]);
場所 APPCOREライブラリ
説明 このプロシージャは、PL/SQL日付をフォーム・フィールド、フォーム・パラメータまたはグローバル変数にコピーします。日付処理が要求されている場合は、COPYビルトイン・ルーチンではなくこのルーチンを使用します。
ここでは、データ型がDateまたはDatetimeのフォーム・フィールドに値をコピーする場合、適切な内部マスクを使用してデータ型を保持します。
データ型がCharであるフォーム・フィールドに値をコピーする場合、このプロシージャでデフォルトでユーザー日時書式が適用されます。ただし、これはフィールド長が十分な場合であり、十分でない場合にはユーザー日付書式が適用されます。
グローバル変数またはフォーム・パラメータに値をコピーする場合、デフォルトでは、データ型がCharとされ、標準日付書式が適用されます。時間コンポーネントは無視されます。date_parameter引数を使用してこの動作を上書きします。
引数(入力) dateval - コピーされるデータ。
field - 日付のコピー先のフィールド名を示します。これにはブロック名も含まれます。
datetime - 日付または日時書式を決定するデフォルト・ルールを上書きします。デフォルト値は「DEFAULT」です。コピー値が日付または日時書式となるように、「DATE」または「DATETIME」を指定します。通常は、この引数を使用して、グローバル変数やパラメータで日時書式の使用を強制したり、日時ユーザー・マスクより長い文字列項目で日付書式を使用するように強制します。
date_parameter -(Dateデータ型の)値を日付パラメータにコピーする場合にのみ使用する引数です。この引数がTRUEに設定されている場合、値は文字値ではなく日付値としてコピーされます。
calendar_aware - (オプション)このパラメータは必要に応じて設定します。デフォルトでは、APP_DATE文字日付ルーチンはカレンダ認識で、FND_DATE文字日付ルーチンはカレンダ非認識です。詳細は、「国際カレンダ・サポートとcalendar_awareパラメータ」を参照してください。

次のコードを

COPY(to_char(my_date_value, 'DD-MON-YYYY {HR24:MI:SS}','my_block.my_date_field');

次のコードに置換します。

app_date.date_to_field(my_date_value, 'my_block.my_date_field');

APP_DATE.FIELD_TO_DATE

変数 説明
要約
function APP_DATE.FIELD_TO_DATE(
	field varchar2 default NULL, 
	date_parameter boolean default FALSE
	[calendar_aware=>value])
 return date;
場所 APPCOREライブラリ
説明 このファンクションは、フォーム・フィールド、フォーム・パラメータまたはグローバル変数から値を取得してPL/SQL日付を戻します。日付処理が要求されている場合は、NAME_INビルトイン・ルーチンではなくこのルーチンを使用します。
ここでは、データ型がDateまたはDatetimeのフォーム・フィールドから値をコピーする場合、適切な内部マスクを使用して時間コンポーネントを保持します。
データ型がCharであるフォーム・フィールドから値をコピーする場合、このプロシージャでユーザー日時書式が適用されます。ただし、これはフィールド長が十分な場合であり、そうでないときにはデフォルトはユーザー日付書式が適用されます。
グローバル変数またはフォーム・パラメータから値をコピーする場合、デフォルトでは、データ型がCharとされ、標準日付書式が適用されます。時間コンポーネントは、現在のフィールド長によって、加えられるかどうかが決まります。
APP_DATE.FIELD_TO_DATEが正常に実行されなかった場合、埋込みTO_DATEコールから標準例外が呼び出されますが、メッセージは戻されません。
引数(入力) field - 日付のコピー元のフィールド名を示します。これにはブロック名も含まれます。
date_parameter - (Dateデータ型の)値を日付パラメータからコピーする場合にのみ使用する引数です。この引数がTRUEに設定されている場合、値は文字値ではなく日付値としてコピーされます。
calendar_aware - (オプション)このパラメータは必要に応じて設定します。デフォルトでは、APP_DATE文字日付ルーチンはカレンダ認識で、FND_DATE文字日付ルーチンはカレンダ非認識です。詳細は、「国際カレンダ・サポートとcalendar_awareパラメータ」を参照してください。

次のコードを

to_date(NAME_IN('my_block.my_date_field'), 'DD-MON-YYYY {HH24:MI:SS}');

次のコードに置換します。

my_date = app_date.field_to_date('my_block.my_date_field');

APP_DATE.VALIDATE_CHARDATE

変数 説明
要約
procedure APP_DATE.VALIDATE_CHARDATE(
	field varchar2 default NULL
	[calendar_aware=>value])
場所 APPCOREライブラリ
説明 このプロシージャは、指定したフォーム・フィールド(データ型はChar)の文字値が、有効な日付かどうかをユーザー日付書式で解析することによってチェックします。
時間コンポーネントを持たない日付への変換が正常に実行されなかった場合、このルーチンはメッセージ行にメッセージを表示し、form_trigger_failureを呼び出します。変換が正常に実行された場合には、変換された値をフィールドに戻し、表示の一貫性を保つようにします。
引数(入力) field - ブロック名を含む、検証される文字フィールド名。フィールド名が渡されなかった場合、プロシージャはSYSTEM.CURSOR_ITEMを使用します。
calendar_aware - (オプション)このパラメータは必要に応じて設定します。デフォルトでは、APP_DATE文字日付ルーチンはカレンダ認識で、FND_DATE文字日付ルーチンはカレンダ非認識です。詳細は、「国際カレンダ・サポートとcalendar_awareパラメータ」を参照してください。

APP_DATE.VALIDATE_CHARDT

変数 説明
要約
procedure APP_DATE.VALIDATE_CHARDT(
 	field varchar2 default NULL
	[calendar_aware=>value])
場所 APPCOREライブラリ
説明 このプロシージャは、あるフォーム・フィールド(データ型はChar)の文字値が、有効な日時の文字列かどうかをユーザー日時書式で解析することによってチェックします。
時間コンポーネントを持つ日付への変換が正常に実行されなかった場合、このルーチンはメッセージ行にメッセージを表示し、form_trigger_failureを呼び出します。変換が正常に実行された場合には、変換された値をフィールドに戻し、表示の一貫性を保つようにします。
引数(入力) field - ブロック名を含む、検証される文字フィールド名。フィールド名が渡されなかった場合、プロシージャはSYSTEM.CURSOR_ITEMを使用します。
calendar_aware - (オプション)このパラメータは必要に応じて設定します。デフォルトでは、APP_DATE文字日付ルーチンはカレンダ認識で、FND_DATE文字日付ルーチンはカレンダ非認識です。詳細は、「国際カレンダ・サポートとcalendar_awareパラメータ」を参照してください。

FND_DATE.STRING_TO_DATE

変数 説明
要約
function FND_DATE.STRING_TO_DATE(
	p_string IN VARCHAR2,
	p_mask   IN VARCHAR2)
RETURN DATE; 
場所 データベース(ストアド・ファンクション)
説明 このファンクションは、指定の日付書式マスクを使用して文字列をPL/SQL日付に変換します。必要に応じてインストールされているすべての言語をテストし、指定した文字列の言語依存部分と一致する内容を検索します。文字列データを日付に変更する必要があり、文字による日付を格納する言語が不明の場合にこのルーチンを使用します。
このファンクションは、文字列が変換されなかった場合にはNULLを戻します。エラー・メッセージはありません。コード内でNULL戻り値をチェックし、適切なエラー処理を行う必要があります。
書式マスクDD-MON-RRRRでMONの部分が言語依存の場合のように、マスクに言語依存部分があるときには言語が重要となります。たとえば、英語では2月の略称はFEBですが、フランス語ではFEVとなります。このファンクションで言語テスト順序は次のとおりです。
NUMERIC DATE LANGUAGE設定で示された言語。
現行の(デフォルト)データベース言語。
Oracle E-Business Suiteインストール時の基準言語(FND_LANGUAGES表のINSTALLED_FLAG列はBに設定されています)。
その他インストールされている言語。順序はFND_LANGUAGES表のNLS_LANGUAGE列の順序になります(INSTALLED_FLAG列はIに設定されています)。
引数(入力) p_string - 変換される文字列。
p_mask - DD-MON-RRRRなどの、変換に使用する書式マスク。

FND_DATE.STRING_TO_CANONICAL

変数 説明
要約
function FND_DATE.STRING_TO_CANONICAL(
	p_string IN VARCHAR2, 
	p_mask   IN VARCHAR2)
RETURN VARCHAR2; 
場所 データベース(ストアド・ファンクション)
説明 このファンクションは、FND_DATE.STRING_TO_DATEと同一ですが、ファンクションの戻り値がPL/SQL日付ではなく標準日付書式の文字列であるところが異なります。
引数(入力) p_string - 変換される文字列。
p_mask - DD-MON-RRRRなどの、変換に使用する書式マスク。

APP_EXCEPTION: 例外処理API

フォームのために記述したPL/SQLプロシージャから例外を呼び出すには、APPCOREパッケージのAPP_EXCEPTIONを使用します。

APP_EXCEPTION.RAISE_EXCEPTION

変数 説明
要約
procedure  APP_EXCEPTION.RAISE_EXCEPTION(
 exception_type varchar2 default null,
			  exception_code number   default null,
			  exception_text varchar2 default null);
場所 APPCOREライブラリおよびデータベース(ストアド・プロシージャ)
説明 このプロシージャは、例外情報を格納し例外form_trigger_failureを呼び出します。
変数 説明
exception_text 追加のコンテキスト情報。
exception_type エラー・タイプ(たとえば、ORAやAPP)を示すエラー・プレフィクスです。
exception_code エラーを識別する番号。

APP_EXCEPTION.RETRIEVE

変数 説明
要約
procedure  APP_EXCEPTION.RETRIEVE;
場所 APPCOREライブラリおよびデータベース(ストアド・プロシージャ)
説明 このプロシージャは、データベースから例外情報を取得します。

APP_EXCEPTION.GET_TYPE

変数 説明
要約
function  APP_EXCEPTION.GET_TYPE return varchar2;
場所 APPCOREライブラリおよびデータベース(ストアド・ファンクション)
説明 このファンクションは、例外タイプを戻します。

APP_EXCEPTION.GET_CODE

変数 説明
要約
function  APP_EXCEPTION.GET_CODE return number;
場所 APPCOREライブラリおよびデータベース(ストアド・ファンクション)
説明 このファンクションは、例外コードを戻します。

APP_EXCEPTION.GET_TEXT

変数 説明
要約
function  APP_EXCEPTION.GET_TEXT return varchar2;
場所 APPCOREライブラリおよびデータベース(ストアド・ファンクション)
説明 このファンクションは、例外テキストを戻します。

APP_EXCEPTION.RECORD_LOCK_EXCEPTION

変数 説明
説明 これは事前定義された例外です。例外ハンドラでコールし、レコードがロックされないケースを処理します。APP_EXCEPTION.RECORD_LOCK_ERRORで使用されるのが一般的です。

APP_EXCEPTION.RECORD_LOCK_ERROR

変数 説明
要約
procedure  APP_EXCEPTION.RECORD_LOCK_ERROR (
counter  IN   OUT   number);
説明 このプロシージャは、レコードのロックを続行するか取り消すかをユーザーに尋ねます。続行の場合は、コール側プロシージャに戻って再試行します。取消しの場合は、「レコードを予約できません」通知を表示し、FORM_TRIGGER_FAILUREを呼び出します。
APP_EXCEPTION.RECORD_LOCK_ERRORは、2回の試行ごとにユーザーにレコードをロックするように要求します(すなわち、counter = 2, 4, 6など)。コール側プロシージャはループ内でレコードのロックを試み、ループ内のWHEN APP_EXCEPTION.RECORD_LOCK_EXCEPTION例外ハンドラでRECORD_LOCK_ERRORをコールする必要があります。ユーザーが続行した場合は、RECORD_LOCK_ERRORは戻り、ループが繰り返されます。ユーザーが取り消した場合は、RECORD_LOCK_ERRORでFORM_TRIGGER_FAILUREが起動し、ループは終了します。
変数 説明
counter RECORD_LOCK_ERRORによって管理され、レコードのロックを試みた回数を数えます。コール側プロシージャはNULLまたは0に初期化します。

APP_EXCEPTION.DISABLED

変数 説明
要約
procedure  APP_EXCEPTION.DISABLED;
説明 このプロシージャは、ベルを鳴らすのに使用します。このプロシージャをコールして(通常はKEYトリガーで)単純ファンクションを使用不可にします。

APP_FIELD: 項目関連ユーティリティ

この項では、フォーム項目の間の関連を管理するユーティリティについて説明します。

APP_FIELD.CLEAR_FIELDS

変数 説明
要約
procedure  APP_FIELD.CLEAR_FIELDS(
 field1  varchar2, 
			 field2  varchar2 default NULL,
			 field3  varchar2 default NULL,
			 field4  varchar2 default NULL,
			 field5  varchar2 default NULL,
			 field6  varchar2 default NULL,
			 field7  varchar2 default NULL,
			 field8  varchar2 default NULL,
			 field9  varchar2 default NULL,
			 field10 varchar2 default NULL);
説明 このプロシージャは、項目がNULLではなく、またチェック・ボックスまたは必須リストでもない場合に、最大で10個の項目を消去します。

APP_FIELD.CLEAR_DEPENDENT_FIELDS

変数 説明
要約
procedure  APP_FIELD.CLEAR_DEPENDENT_FIELDS(
master_field varchar2,
			 field1  varchar2,
			 field2  varchar2 default NULL,
			 field3  varchar2 default NULL,
			 field4  varchar2 default NULL,
			 field5  varchar2 default NULL,
			 field6  varchar2 default NULL,
			 field7  varchar2 default NULL,
			 field8  varchar2 default NULL,
			 field9  varchar2 default NULL,
			 field10 varchar2 default NULL); 
説明 このプロシージャは、マスター項目がNULLであり、従属項目がNULLではなくチェック・ボックスでも必須リストでもない場合に、最大で10個の従属項目を消去します。
変数 説明
master_field マスター項目名。
field1 ... field10 従属項目名。

APP_FIELD.SET_DEPENDENT_FIELD

変数 説明
要約
procedure  APP_FIELD.SET_DEPENDENT_FIELD(event           varchar2,
			master_field    varchar2,
			dependent_field varchar2
			invalidate      boolean    default  FALSE);   
procedure  APP_FIELD.SET_DEPENDENT_FIELD(
event           varchar2,
			condition       boolean,
			dependent_field varchar2
			invalidate      boolean    default  FALSE);   
説明 マスター項目がNULLかまたは指定条件がTRUEかによって、項目を入力可能または入力不可にし、フィールドを消去します。従属項目は、テキスト項目、チェック・ボックスまたはポップリストが可能です。
このプロシージャは、通常は次のトリガーでコールします。

トリガー:

変数 説明
event トリガー・イベント名。マスター・フィールドでこのトリガーをコールする場合は、トリガー名ではなくVALIDATEを渡します(WHEN-VALIDATE-ITEM、WHEN-CHECKBOX-CHANGED、WHEN-LIST-CHANGEDまたはWHEN-RADIO-CHANGEDのいずれも使用可)。
master_field マスター項目名。
condition 従属項目が使用可能の場合にはTRUE
dependent_field 従属項目名。
invalidate TRUEの場合は、従属項目を消去するのではなく項目を無効にマークします。従属項目が必須リストまたはオプション・グループである場合、このフラグをTRUEに設定します。
このプロシージャの使用例は、「項目関連」「従属項目を伴う相互包含項目」および「デフォルト」を参照してください。

APP_FIELD.SET_EXCLUSIVE_FIELD

変数 説明
要約
procedure  APP_FIELD.SET_EXCLUSIVE_FIELD(
event           varchar2,
			field1           varchar2,
			field2           varchar2,
			field3           varchar2  default NULL);
説明 このプロシージャは、セットの1つの項目のみが値を持つように項目を調整します。項目の1つに値が入力された場合には、他の項目は消去され非NAVIGABLEになります(この場合でもユーザーはこれらの項目の中にマウスを配置できます)。このプロシージャは、2つまたは3つの相互排他的項目のセットにのみ対応しています。
変数 説明
event トリガー・イベント名(WHEN-NEW-RECORD-INSTANCE、PRE-RECORDまたはVALIDATE。一般にVALIDATEがWHEN-VALIDATE-ITEM、WHEN-RADIO-CHANGED、WHEN-LIST-CHANGEDまたはWHEN-CHECKBOX-CHANGEDのかわりに使用されますが、これらも使用可能です。)
field1 排他項目名(BLOCK.FIELD)
field2 排他項目名(BLOCK.FIELD)
field3 排他項目名(BLOCK.FIELD、オプション)

このプロシージャの使用例は、「相互排他項目」を参照してください。

APP_FIELD.SET_INCLUSIVE_FIELD

変数 説明
要約
procedure  APP_FIELD.SET_INCLUSIVE_FIELD(
event           varchar2,
			field1           varchar2,
			field2           varchar2,
			field3           varchar2  default NULL,
			field4           varchar2  default NULL,
			field5           varchar2  default NULL);
説明 このプロシージャは、最大5個の項目に対して、その項目のいずれかに値がある場合にはすべての項目が値を要求するように調整します。すべての項目がNULLの場合、項目は要求されません。
変数 説明
event トリガー・イベント名(WHEN-NEW-RECORD-INSTANCE、PRE-RECORDまたはVALIDATE。一般にVALIDATEがWHEN-VALIDATE-ITEM、WHEN-RADIO-CHANGED、WHEN-LIST-CHANGEDまたはWHEN-CHECKBOX-CHANGEDのかわりに使用されますが、これらも使用可能です。)
field1 包含項目名
field2 包含項目名
field3 包含項目名(オプション)
field4 包含項目名(オプション)
field5 包含項目名(オプション)

このプロシージャの使用例は、「相互包含項目」を参照してください。

APP_FIELD.SET_REQUIRED_FIELD

変数 説明
要約
procedure  APP_FIELD.SET_REQUIRED_FIELD(
event           varchar2,
			condition       boolean,
			field1           varchar2,
			field2           varchar2  default NULL,
			field3           varchar2  default NULL,
			field4           varchar2  default NULL,
			field5           varchar2  default NULL);

説明 このプロシージャは、指定条件がTRUEであるかどうかによって、項目を必須または不要にします。
変数 説明
event トリガー・イベント名
condition 項目が必須の場合はTRUE
field1 項目名
field2 項目名
field3 項目名(オプション)
field4 項目名(オプション)
field5 項目名(オプション)

このプロシージャの使用例は、「条件付き必須項目」を参照してください。

APP_FIND: 問合せ検索ユーティリティ

次のルーチンを使用して、「検索」ウィンドウ機能を実装します。

関連項目: 問合せ検索の概要

APP_FIND.NEW

変数 説明
要約
procedure  APP_FIND.NEW(
block_name varchar2);
説明 このルーチンは、「検索」ウィンドウの「新規」ボタンによってコールされ、検索の対象となったブロックの新規レコードにユーザーを戻します。
変数 説明
block_name 「検索」ウィンドウの対象となるブロックの名前

APP_FIND.CLEAR

変数 説明
要約
procedure  APP_FIND.CLEAR;
説明 このルーチンは、「検索」ウィンドウの「消去」ボタンによってコールされ、「検索」ウィンドウを消去します。

APP_FIND.CLEAR_DETAIL

変数 説明
要約
procedure  APP_FIND.CLEAR_DETAIL(
detail_block    varchar2);
説明 このルーチンは、(「検索」ウィンドウではなく)検索ブロックの結果ブロックを消去します。この処理はナビゲーションを許可するトリガーからのみ実行できます。
変数 説明
detail_block 消去されるブロックの名前

APP_FIND.CLEAR_DETAIL('MYBLOCK');

APP_FIND.FIND

変数 説明
要約
procedure  APP_FIND.FIND(
block_name    varchar2);

説明 このルーチンは、「検索」ウィンドウの「検索」ボタンによってコールされ、検索を実行します。
変数 説明
block_name 「検索」ウィンドウの対象となるブロックの名前

APP_FIND.QUERY_RANGE

変数 説明
要約
procedure  APP_FIND.QUERY_RANGE(
low_value    varchar2/date/number,
			high_value   varchar2/date/number,
			db_item_name varchar2);
説明 このユーティリティは、「検索」ウィンドウの範囲で問合せ基準を構築します。データ型の最小値および最大値に従って、文字、日付、番号の範囲を作成します。
変数 説明
low_value 範囲の下限
high_value 範囲の上限
db_item_name 問合せ対象のブロック内項目の名前

APP_FIND.QUERY_FIND

変数 説明
要約
procedure  APP_FIND.QUERY_FIND(
lov_name varchar2);

procedure APP_FIND.QUERY_FIND(
			block_window    varchar2,
			find_window     varchar2,
			find_block      varchar2);
説明 これらのルーチンは、行値リストまたは「検索」ウィンドウのいずれかを起動します。ユーザーが命名したトリガーQUERY_FINDからコールします。
変数 説明
lov_name 行値リストの名前
block_window 「検索」ウィンドウの起動対象のウィンドウ名
find_window 「検索」ウィンドウ名
find_block 「検索」ウィンドウのブロックの名前

APP_ITEM: 個別項目ユーティリティ

この項では、項目を個別に管理するユーティリティについて説明します。

APP_ITEM.COPY_DATE

変数 説明
要約
procedure  APP_ITEM.COPY_DATE(
date_val  varchar2
			item_name varchar2);
説明 このプロシージャを使用して、ハードコードされた日付値をフィールドにコピーします。このルーチンは、次の方法でコピーを行います。
copy(to_char(to_date('01-01-1900', 'DD-MM-YYYY'),
               'DD-MON-YYYY'), 'bar.lamb');
変数 説明
date_val 書式DD-MM-YYYYで表される、文字による日付
item_name 値のコピー先の項目の名前。block.itemと記述します。

APP_ITEM.IS_VALID

変数 説明
要約
procedure  APP_ITEM.IS_VALID(
        val         varchar2
			dtype       varchar2  default 'DATE');

function APP_ITEM.IS_VALID(
			val         varchar2
			dtype       varchar2  default 'DATE')
return BOOLEAN;
説明 このルーチンを、データ型が文字であるが日付、数値または整数書式のデータを含むフィールドとともに使用します。このプロシージャは、特定のデータ型に対して値が有効な書式でない場合にエラーを発生します。このファンクションは、正しい書式の値である場合はTRUE、そうでない場合はFALSEを戻します。
変数 説明
val チェックする値
dtype データ型の値には、DATE、INTEGERまたはNUMBERを使用します。

APP_ITEM.SIZE_WIDGET

変数 説明
要約
procedure  APP_ITEM.SIZE_WIDGET(
        wid_name varchar2.
			max_width number default 20);

説明 このプロシージャは、指定されたウィジェットの現行のラベルを読み、(変換されたラベルの適切なサイズを確認するのに使用される)ラベルをすべて表示するようにウィジェットのサイズを変更します。ウィジェットを指定された最大幅より大きくすることはありません。これは、重複や画面の端からはみ出るのを防ぐためです。単一レコード書式のチェック・ボックス、ボタン、ラジオ・グループに対してのみコールします。
変数 説明
wid_name ウィジェット名(block.field構文)
max_width ウィジェットの最大サイズ(インチ単位)

APP_ITEM_PROPERTY: プロパティ・ユーティリティ

これらのユーティリティは、項目のOracle FormsおよびOracle E-Business Suiteプロパティの制御を支援します。

APP_ITEM_PROPERTY.GET_PROPERTY

変数 説明
要約
function  APP_ITEM_PROPERTY.GET_PROPERTY(
       item_name varchar2, 
			property number) 
			return number;
function  APP_ITEM_PROPERTY.GET_PROPERTY(
			item_id item, 
			property number)
			 return number;
説明 このファンクションは、項目プロパティの現行の設定を戻します。戻り値としてTRUEまたはFALSEではなく、PROPERTY_ONまたはPROPERTY_OFFを戻すOracle Formsのget_item_propertyとは異なります。
変数 説明
item_name プロパティ属性を適用する対象の項目の名前。ブロック名と項目名の両方を指定します。項目名のかわりにitem_IDを指定することもできます。
property 設定するプロパティ。

関連項目: 項目プロパティの設定

APP_ITEM_PROPERTY.SET_PROPERTY

変数 説明
要約
procedure  APP_ITEM_PROPERTY.SET_PROPERTY(
       item_name varchar2, 
			property varchar2, 
			value number);
procedure  APP_ITEM_PROPERTY.SET_PROPERTY(
			item_id item, 
			property varchar2,
			value number);
説明 このプロシージャは、項目のプロパティを設定します。Oracle FormsビルトインのSET_ITEM_PROPERTYを使用して、DISPLAYED、ENABLED、ENTERABLE、ALTERABLE、INSERT_ALLOWED、UPDATEABLE、NAVIGABLE、REQUIREDおよびICON_NAMEフィールド・プロパティを直接設定しないでください。かわりにAPP_ITEM_PROPERTY.SET_PROPERTYを使用してください。
APP_ITEM_PROPERTY.SET_PROPERTYはプロパティの再マッピングによって可視属性の変更なども行います。また、APP_ITEM_PROPERTYが提供するプロパティで、システム固有のOracle Formsが提供しないものもあります。
変数 説明
item_name プロパティ属性を適用する対象の項目の名前。ブロック名と項目名の両方を指定します。項目名のかわりにitem_IDを指定することもできます。
property 設定するプロパティ。
value PROPERTY_ONまたはPROPERTY_OFFのいずれか、あるいはアイコン名(アイコン・プロパティの変更用)。

関連項目: 項目プロパティの設定

APP_ITEM_PROPERTY.SET_VISUAL_ATTRIBUTE

変数 説明
要約
procedure  APP_ITEM_PROPERTY.SET_VISUAL_ATTRIBUTE(
item_name varchar2, 
			property number 
			value number);

説明 このプロシージャはもう使用されていません。色指定はすべてOracle Look and Feel(OLAF)の一部として行われます。

APP_NAVIGATE: フォーム機能のオープン

すでに開いている同一のフォームのインスタンスを再使用するフォーム機能をオープンする場合には、FND_FUNCTION.EXECUTEではなくこのユーティリティを使用します。その他すべてのフォームや機能のオープンにはFND_FUNCTION.EXECUTEを使用します。

APP_NAVIGATE.EXECUTE

変数 説明
要約
procedure APP_NAVIGATE.EXECUTE( 		
		function_name	in varchar2, 		o
		pen_flag 		in varchar2 default 'Y', 		
		session_flag	in varchar2 default 'SESSION', 		
		other_params	in varchar2 default NULL, 		
		activate_flag	in varchar2 default 'ACTIVATE', 		
		pinned		in boolean  default FALSE);
説明 このプロシージャはFND_FUNCTION.EXECUTEと類似していますが、2回目の起動の場合にフォームの再起動を許可している点が異なります。たとえば、フォームAがこのプロシージャでファンクションBを起動し、その後ファンクションBを再起動した場合、フォームBの同一インスタンスが再使用されます(またフォームBは、APP_NAVIGATE.EXECUTEの2度目のコールで渡された新しいパラメータを使用して再起動されます)。この機能は、フォームBを別のフォーム(A)の詳細ウィンドウとして現れるように作成し、詳細ウィンドウにマスター・ウィンドウでの変更を反映させる場合に便利です。一方、FND_FUNCTION.EXECUTEは常にフォームの新しいインスタンスを起動します。
このコールを使用してすでに起動されたことのあるファンクションのみが再起動の候補となります。FND_FUNCTION.EXECUTEで起動されたファンクションは、後でAPP_NAVIGATE.EXECUTEがコールされても再起動できません。
複数のフォームで同じターゲット・フォームを共有できます。たとえば、フォームAがAPP_NAVIGATE.EXECUTEでファンクションBを起動し、その後フォームCもファンクションBを起動した場合、フォームBの現行のインスタンスは再起動されます。
APP_NAVIGATE.EXECUTEおよびFND_FUNCTION.EXECUTEは現行の(ソース)ウィンドウの位置とサイズを次のグローバル変数に保存し、ターゲット・フォームがアクセスできるようにします。
  • global.fnd_launch_win_x_pos

  • global.fnd_launch_win_y_pos

  • global.fnd_launch_win_width

  • global.fnd_launch_win_height


これらを使用する意図は、ターゲット・フォームをコール側フォームの現行ウィンドウと相対的に配置できるようにすることです。APP_NAVIGATE.EXECUTEをコールしたときに、そのターゲット・フォームが初めてオープンされる場合にこれらの変数は使用可能です。RESTARTイベント中にこれらの変数を参照することは無効です。
APP_NAVIGATE.EXECUTEの使用には、ターゲット・フォーム(フォームB)においてAPP_NAVIGATE.EXECUTEコールに適切に応答する特別なコードが必要です。ターゲット・フォームには、WHEN-NEW-FORM-INSTANCEおよびWHEN-FORM-NAVIGATEトリガーにおけるAPP_STANDARD.EVENTへのコールのみでなく、RESTARTという名前の、ユーザーが命名したトリガーが必要です。フォームがAPP_NAVIGATEで再使用されるときに、APPCOREで次の処理が実行されます。
  1. ターゲット・フォームのdo_key ('clear_form')を発行します。これは、ユーザーが「編集」->「消去」->「フォーム」を実行するときと同じロジックを起動します。これは、ターゲット・フォームで保留中の変更を把握するために行います。

  2. 正常に実行された場合には、ターゲット・フォームのすべてのフォーム・パラメータが再度設定されます(APP_NAVIGATEによって特別に渡されたother_params引数の値のみでなく、APP_NAVIGATEによってコールされたファンクションに関連するパラメータも含まれます)。

  3. ターゲット・フォームのユーザーが命名したトリガーRESTARTが実行されます。


コーディング技法としてお薦めするのは、パラメータ値に応答するすべてのロジックを単一のプロシージャ内に配置し、WHEN-NEW-FORM-INSTANCEトリガーとRESTARTトリガーの両方がそのプロシージャをコールするという方法です。また、ソース・フォームの位置を示すために、FND_FUNCTION.EXECUTEまたはAPP_NAVIGATE.EXECUTEで設定される変数をチェックする、ターゲット・フォームのWHEN-NEW-FORM-INSTANCEトリガーからコールされるコードを追加する方法もあります。その場合は、これらの値を使用してソース・フォームと相対的にターゲット・フォームの位置を設定します。
引数(入力) function_name - 実行するフォーム機能の開発者名。
open_flag - 「Y」はOPEN_FORMを使用すること、「N」はNEW_FORMを使用することを示します。open_flagには必ず「Y」を渡す必要があります。これは、Oracle FormsのNEW_FORMビルトインではなくOPEN_FORMビルトインを使用して機能を実行することを意味します。
session_flag - session_flagに「Y」(デフォルト)を渡すと、新規データベース・セッションでフォームがオープンされます。「N」の場合は、すでにあるフォームと同一のセッションでフォームがオープンされます。新しいデータベース・セッションでフォームをオープンすると、フォームは独立したコミット・サイクルを持つことになります。
other_params - Forms機能フォームのファンクションに対して定義されたすべてのパラメータに追加される追加のパラメータ文字列。other_paramsを使用して、動的にパラメータを設定できます。設定できるパラメータの数に制限はありません。
activate_flag - ACTIVATEまたはNO_ACTIVATEのいずれか(デフォルトはACTIVATE)。このフラグによって、フォーカスが新しいフォームに移動する(ACTIVATE)か、コール側のフォームに残るか(NO_ACTIVATE)が決まります。
pinned - TRUEに設定すると、ファンクションの新規インスタンスがオープンされ、再使用はされません(FND_FUNCTION.EXECUTEと同様)。FALSEに設定すると、ファンクションのインスタンスが実行中かつAPP_NAVIGATE.EXECUTEから起動されていた場合に、再使用が試行されます。それ以外の場合は、新規インスタンスがオープンされます。

APP_RECORD: レコード・ユーティリティ

レコード・レベルでブロックと相互作用するユーティリティを次に示します。

APP_RECORD.TOUCH_RECORD

変数 説明
要約
procedure  TOUCH_RECORD(
		block_name		varchar2	default NULL,
	 	record_number		NUMBER	default NULL); 
説明 NEWレコードのステータスをINSERT_STATUSに設定します。QUERYレコードに対しては、レコードはロックされ、ステータスはCHANGED_STATUSに設定されます。両方の場合とも、このフラグによってレコードがデータベースに保存されることを示します。
変数 説明
block_name タッチするブロックの名前
record_number タッチされるレコード

APP_RECORD.HIGHLIGHT

変数 説明
要約
procedure  APP_RECORD.HIGHLIGHT(
		value		varchar2/number); 
説明 このコールは、現行レコードのそれぞれの複数行TEXT_ITEM、LISTおよびDISPLAY_ITEMに対してDISPLAY_ITEMビルトインをコールすることによって現行のレコードの視覚属性を変更します。RECORDS_DISPLAYEDプロパティが1である項目に対しては何も行いません。データをハイライト表示するには「SELECTED_DATA」を渡します。ハイライト表示をオフにするには「DATA」を渡します。適用する視覚属性の名前を渡すことができます。
変数 説明
value 適用する視覚属性の名前。
詳細は、Oracle E-Business Suiteフォーム・ベース製品のユーザー・インタフェース標準を参照してください。

ヒント: 非表示フィールドが多い大規模ブロックのパフォーマンスを向上するには、すべての非表示フィールドをブロックの最後に置き、非表示項目の前にAPPCORE_STOPという名前の非データベース項目を置きます。APP_RECORD.HIGHLIGHTがこのフィールドに達したときにハイライト表示が停止されます。

APP_RECORD.FOR_ALL_RECORDS

変数 説明
要約
procedure  APP_RECORD.FOR_ALL_RECORDS(
		block_name      varchar2, 
		trigger_name     varchar2);
procedure APP_RECORD.FOR_ALL_RECORDS(
			trigger_name     varchar2);
説明 このコールは、現行ブロックまたは指定されたブロックの各レコードに対して指定されたトリガーを実行します。ブロックを指定する場合は、GO_BLOCKビルトインが起動します。終了時にはカーソルは元のレコードおよび項目に戻ります。
トリガーが正常に終了しなかった場合には、FORM_TRIGGER_FAILUREが呼び出され、カーソルは障害が発生したレコードの左側に移動します。
このルーチンをコールする前にグローバル変数を単に設定することにより、グローバル変数を使用して指定トリガーの引数を渡すことができます。
APP_RECORD.FOR_ALL_RECORDSは問合せ対象のレコードがない場合に1回起動されます。
変数 説明
block_name ナビゲート先のブロックの名前
trigger_name 実行するトリガーの名前

APP_RECORD.DELETE_ROW

変数 説明
要約
procedure  APP_RECORD.DELETE_ROW(
			check_delete        BOOLEAN   default FALSE,
			product_name        varchar2  default NULL,
			message_name        varchar2  default NULL);

function  APP_RECORD.DELETE_ROW(
			check_delete        BOOLEAN   default FALSE,
			product_name        varchar2  default NULL,
			message_name        varchar2  default NULL)
			return BOOLEAN;
説明 このコールは、ユーザーがその行を本当に削除するのかを確認する汎用メッセージを提供します。
このルーチンのファンクション・バージョンがコールされた場合には、行は削除されませんが、ユーザーがレコードの削除を確認する応答をした場合にはTRUEが、そうでない場合にはFALSEが返されます。複合的な削除がある場合に、まずユーザーがレコードを削除する意志があるかどうかを確認できます。
このルーチンのプロシージャ・バージョンがコールされた場合には、ユーザーが肯定的に応答するとレコードは削除されます。1つ以上のブロックの削除を許可する場合には、独自のメッセージを作成して提供する必要があります。
変数 説明
check_delete ブロックDELETE_ALLOWEDのチェックを強制(オプション)
product_name 作成したメッセージを渡す場合に必要な製品の短縮名。指定しない場合にはデフォルト・メッセージが与えられます(オプション)
message_name product_nameが与えられた場合のメッセージ名(オプション)

APP_RECORD.VALIDATE_RANGE

変数 説明
要約
procedure  APP_RECORD.VALIDATE_RANGE(
		from_item     varchar2,
		to_item       varchar2,
		range_name    varchar2  default NULL,
		event_name    varchar2  default 'WHEN-BUTTON-PRESSED',
		dtype         varchar2  default 'DATE',
		product_name  varchar2  default NULL,
		message_name  varchar2  default NULL);
説明 このコールは、「開始」の値が「終了」の値よりも小さいことを確認して範囲を検証します。「検索」ボタンのWHEN-BUTTON-PRESSEDトリガーまたはWHEN-VALIDATE-RECORDトリガーからこのルーチンをコールし、ユーザーが入力したデータ範囲が有効であることなどを確認します。
範囲が無効である場合は、範囲の最初にナビゲートが試行されます。ナビゲーションを許可していないトリガーからVALIDATE_RANGEをコールする場合は、範囲名を指定し、デフォルト・メッセージが表示されるときに範囲名も表示されるようにできます。
メッセージ・ディクショナリで範囲名を定義し、メッセージ名をVALIDATE_RANGEに渡す必要があります。メッセージの定義時には、メッセージを範囲タイトルと同様に翻訳する必要があることを翻訳者に伝える説明を含める必要があります。
変数 説明
from_item 開始値のblock.item
to_item 終了値のblock.item
range_name 範囲名(オプション)
event_name ナビゲーションが可能かどうかを決定するのに使用するトリガー名(オプション)
dtype 範囲のデータ型 (NUMBERまたはDATEで、デフォルトはDATE) (オプション)
product_name 作成したメッセージを渡す場合に必要な製品の短縮名。指定しない場合にはデフォルト・メッセージが与えられます(オプション)
message_name product_nameが与えられた場合のメッセージ名(オプション)

APP_REGION: リージョン・ユーティリティ

代替リージョンで使用されるユーティリティを次に示します(下位互換性のためにのみサポートされています。代替リージョンはタブに置き換えられています)。

APP_REGION.ALT_REGION

変数 説明
要約
function  APP_REGION.ALT_REGIONS(  		
		poplist_name varchar2)   		     
				return BOOLEAN;
説明 poplist_nameで識別されるポップリストの現行の値を、値リスト「appcore_alt_regions」(APPSTANDから自動的に参照)に示します。ユーザーが値リストから行を選択した場合は、対応するポップリストの値が更新され、TRUEが戻されます。そうでない場合にはポップリストは変更されず、FALSEが戻されます。代替リージョン制御のキーボードによるサポートに使用されます。
変数 説明
poplist_name 代替リージョンの制御ポップリスト('block.field'書式)。

if APP_REGION.ALT_REGIONS('CONTROL.LINE_REGIONS') then
    CONTROL.LINE_REGIONS('WHEN-LIST-CHANGED');
end if;

関連項目: 代替リージョンの動作のコーディング

APP_STANDARDパッケージ

APP_STANDARD.APP_VALIDATE

変数 説明
要約
procedure  APP_STANDARD.APP_VALIDATE (scope NUMBER);
説明 このプロシージャは、Oracle Formsのビルトイン検証と類似の動作をしますが、検証エラーが発生した最初の項目にナビゲートするところが異なります。また、ボタン標準をサポートしています。Oracle Formsビルトインのかわりに使用します。
変数 説明
scope 検証の範囲を示します。有効な値は、DEFAULT_SCOPE、FORM_SCOPE、BLOCK_SCOPE、RECORD_SCOPEおよびITEM_SCOPEです。

APP_STANDARD.EVENT

変数 説明
要約
procedure  APP_STANDARD.EVENT (
		event_name        varchar2);
説明 このプロシージャは、指定されたイベントの標準動作を起動します。TEMPLATEフォームにはこのトリガーに対する必要なコールがすべて含まれています。
変数 説明
event_name イベントまたはトリガーの名前

関連項目: TEMPLATEフォームでの特殊トリガー

APP_STANDARD.SYNCHRONIZE

変数 説明
要約
procedure  APP_STANDARD.SYNCHRONIZE;
説明 メニュー項目の状態は自動的に再評価されることはありませんが、フォームを動的に変更すると、適用対象メニュー項目に影響する場合があります。ツールバーおよびメニューの使用可能項目に影響するような変更を実施する場合は、このルーチンをコールし、メニューおよびツールバーを再評価します。(たとえば、ブロックのINSERTABLEプロパティの変更、レコードのステータスの変更など。)
関連項目: プルダウン・メニューおよびツールバー

APP_STANDARD.PLATFORM

変数 説明
要約
APP_STANDARD.PLATFORM varchar2(30);
説明 このパッケージの変数には、GET_APPLICATION_PROPERTY (USER_INTERFACE)から戻された値の名前が格納されます。有効な値として、「MACINTOSH」、「MSWINDOWS」、「MSWINDOWS32」および「MOTIF」があります。

if APP_STANDARD.PLATFORM = 'MSWINDOWS' then
		MDI_height := get_window_property(FORMS_MDI_WINDOW,
														HEIGHT); end if;  

APP_WINDOW: ウィンドウ・ユーティリティ

ウィンドウ・レベルで動作するユーティリティを次に示します。

APP_WINDOW.CLOSE_FIRST_WINDOW

変数 説明
要約
procedure  APP_WINDOW.CLOSE_FIRST_WINDOW;  
説明 このコールは、フォームを終了します。正常に終了しなかった場合はFORM_TRIGGER_FAILUREを呼び出します。

APP_WINDOW.PROGRESS

変数 説明
要約
procedure  APP_WINDOW.PROGRESS( percent    number);  
説明 このコールは、progress_indicatorオブジェクトのすべての側面を管理します。オブジェクトが可視状態になっていない場合には、コールによってウィンドウをオープンして中央に表示します。percent >= 99.9の場合には、ウィンドウは自動的にクローズします。それ以外のpercentのときには、プログレス・バーがサイズ変更されます(最大4インチ幅)。
変数 説明
percent 完了した量を示す、0から99.9の数値

APP_WINDOW.SET_COORDINATION

変数 説明
要約
procedure  APP_WINDOW.SET_COORDINATION(
		event           varchar2,
		coordination    varchar2,
		relation_name   varchar2);
説明 このコールは、調整チェック・ボックスの状態に基づいてONまたはOFFの関連の遅延調整属性を設定します。チェック・ボックスはDEFERREDまたはIMMEDIATEのいずれかです。
クローズしているウィンドウでは、関連は常にDEFERREDです。
調整がDEFERREDに設定されている場合は、自動問合せはオンになります。
変数 説明
event トリガー・イベント名(WHEN-CHECKBOX-CHANGED、WHEN-WINDOW-CLOSEDまたはOPEN-WINDOWのいずれか)
coordination IMMEDIATEまたはDEFERRED (デフォルトはIMMEDIATE)
relation_name 関連オブジェクトのブロック・オブジェクトにあるOracle Forms Designerにリストされている関連の名前

関連項目: マスター詳細関連

APP_WINDOW.SET_WINDOW_POSITION

変数 説明
要約
procedure  APP_WINDOW.SET_WINDOW_POSITION(
		child          varchar2,
		rel            varchar2,
		parent         varchar2     default  NULL);
説明 このコールは、次の形式でウィンドウを配置します。
  • CASCADE

  • RIGHT

  • BELOW

  • OVERLAP

  • CENTER

  • FIRST_WINDOW


ウィンドウがオープンしていても背面にある場合に、このコールでウィンドウを前面に表示します。ウィンドウが最小化されている場合には、通常のサイズに戻します。
システム・リソースが十分でない場合には(特にMS Windows)、警告メッセージが表示されます。
変数 説明
child 配置されるウィンドウの名前
rel ウィンドウの配置形式
parent ウィンドウ名(このウィンドウとの相対的な位置に子ウィンドウを配置)

関連項目: 非モーダル・ウィンドウ

APP_WINDOW.SET_TITLE

変数 説明
要約
procedure  APP_WINDOW.SET_TITLE(

	window_name  varchar2, 
	session      varchar2,
	instance1    varchar2 default 'APP_ARGUMENT_NOT_PASSED',
	instance2    varchar2 default 'APP_ARGUMENT_NOT_PASSED',
	instance3    varchar2 default 'APP_ARGUMENT_NOT_PASSED');

説明 このユーティリティを使用して、標準書式でウィンドウのタイトルを設定します。
変数 説明
window_name タイトルを設定する対象のウィンドウ名
session 一般セッション情報(たとえば、組織、会計帳簿など)。64文字を超えることはできません。
instance[1,2,3] マスター・レコードのコンテキスト情報(オプション)。すべてを合せた長さが250文字を超えることはできません。

関連項目: 非モーダル・ウィンドウ