Oracle E-Business Suite開発者ガイド リリース12.2 E53035-01 | 目次 | 前へ | 次へ |
この章では、PL/SQLプロシージャから多数のOracle E-Business Suite APIをコールするための仕様を説明します。APPCOREライブラリのルーチンのほとんどはこの章で説明していますが、一部のAPPCOREルーチンは他の章で説明しています(たとえば、APP_SPECIALルーチンについては「ツールバーおよびデフォルト・メニューの制御」の章で説明しています)。この章では次のルーチンについて説明しています。
APP_COMBO: 組合せブロックAPI
APP_DATE: 日付変換API
APP_EXCEPTION: 例外処理API
APP_FIELD: 項目関連ユーティリティ
APP_FIND: 問合せ検索ユーティリティ
APP_ITEM: 個別項目ユーティリティ
APP_ITEM_PROPERTY: プロパティ・ユーティリティ
APP_NAVIGATE
APP_RECORD: レコード・ユーティリティ
APP_REGION: リージョン・ユーティリティ
APP_STANDARDパッケージ
APP_WINDOW: ウィンドウ・ユーティリティ
APP_COMBOを使用して、組合せブロックのナビゲーションを制御します。
変数 | 説明 |
---|---|
要約 |
|
場所 | APPCOREライブラリ |
説明 | このプロシージャをKEY-PREV-ITEMトリガーでコールして、レコードの最初の項目からバックタブを行うときの標準動作を規定します。このプロシージャによって、カーソルは自動的に直前のレコードの最後の項目に移動します。
関連項目: 組合せブロック |
日付のフォーマット、変換または検証は、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が正しく動作するためにはこれらの値が正しいことが条件となるため、これらの変数は変更しないでください。
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の数値を使用します。
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)
パラメータを明示的にリストすることは、暗黙的な変換によって予想外のファンクションがコールされて、意図しない結果となる状況が排除されます。
回答: PL/SQLのファンクションおよびプロシージャで定義された変数は、SQL文から参照できないためです。
回答: いいえ。再コンパイルが必要なのは、変更したフォームとライブラリのみです。
変数 | 説明 |
---|---|
要約 |
|
変数 | 説明 |
---|---|
場所 | APPCOREライブラリおよびデータベース(ストアド・ファンクション) |
変数 | 説明 |
---|---|
説明 | このファンクションは、標準日付書式(時間コンポーネントを含む)の文字列をPL/SQL日付に変換します。 APP_DATE.CANONICAL_TO_DATEが正常に実行されなかった場合は、メッセージ行にメッセージが表示され、form_trigger_failureが呼び出されます。FND_DATE.CANONICAL_TO_DATEが正常に実行されなかった場合は、埋込みTO_DATEコールから標準例外が呼び出されますがメッセージは戻しません。 |
変数 | 説明 |
---|---|
引数(入力) | canonical - PL/SQL日付に変換される(標準書式の) VARCHAR2文字列。 |
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;
select fnd_date.canonical_to_date(tab.my_char_date)
from ...
変数 | 説明 |
---|---|
要約 |
|
場所 | 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パラメータ」を参照してください。 |
変数 | 説明 |
---|---|
要約 |
|
場所 | 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パラメータ」を参照してください。 |
l_promised_date := APP_DATE.displayDT_to_date(
name_in('PO_SHIPMENTS.promised_date'),
calendar_aware=>APP_DATE.calendar_unaware);
fnd_Date.Displaydt_to_date(
charDT=>:lines.Need_By_Date,
calendar_aware=>1)
変数 | 説明 |
---|---|
要約 |
|
場所 | APPCOREライブラリおよびデータベース(ストアド・ファンクション) |
説明 | このファンクションは、PL/SQL日付を標準日付書式の文字列に変換します。すべての時間コンポーネントは保持されます。 |
引数(入力) | dateval - 変換されるPL/SQL日付。 |
select fnd_date.date_to_canonical(hire_date)
from emp ...
変数 | 説明 |
---|---|
要約 |
|
場所 | 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;
変数 | 説明 |
---|---|
要約 |
|
場所 | 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;
変数 | 説明 |
---|---|
要約 |
|
場所 | 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');
変数 | 説明 |
---|---|
要約 |
|
場所 | 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');
変数 | 説明 |
---|---|
要約 |
|
場所 | APPCOREライブラリ |
説明 | このプロシージャは、指定したフォーム・フィールド(データ型はChar)の文字値が、有効な日付かどうかをユーザー日付書式で解析することによってチェックします。 時間コンポーネントを持たない日付への変換が正常に実行されなかった場合、このルーチンはメッセージ行にメッセージを表示し、form_trigger_failureを呼び出します。変換が正常に実行された場合には、変換された値をフィールドに戻し、表示の一貫性を保つようにします。 |
引数(入力) | field - ブロック名を含む、検証される文字フィールド名。フィールド名が渡されなかった場合、プロシージャはSYSTEM.CURSOR_ITEMを使用します。 calendar_aware - (オプション)このパラメータは必要に応じて設定します。デフォルトでは、APP_DATE文字日付ルーチンはカレンダ認識で、FND_DATE文字日付ルーチンはカレンダ非認識です。詳細は、「国際カレンダ・サポートとcalendar_awareパラメータ」を参照してください。 |
変数 | 説明 |
---|---|
要約 |
|
場所 | APPCOREライブラリ |
説明 | このプロシージャは、あるフォーム・フィールド(データ型はChar)の文字値が、有効な日時の文字列かどうかをユーザー日時書式で解析することによってチェックします。 時間コンポーネントを持つ日付への変換が正常に実行されなかった場合、このルーチンはメッセージ行にメッセージを表示し、form_trigger_failureを呼び出します。変換が正常に実行された場合には、変換された値をフィールドに戻し、表示の一貫性を保つようにします。 |
引数(入力) | field - ブロック名を含む、検証される文字フィールド名。フィールド名が渡されなかった場合、プロシージャはSYSTEM.CURSOR_ITEMを使用します。 calendar_aware - (オプション)このパラメータは必要に応じて設定します。デフォルトでは、APP_DATE文字日付ルーチンはカレンダ認識で、FND_DATE文字日付ルーチンはカレンダ非認識です。詳細は、「国際カレンダ・サポートとcalendar_awareパラメータ」を参照してください。 |
変数 | 説明 |
---|---|
要約 |
|
場所 | データベース(ストアド・ファンクション) |
説明 | このファンクションは、指定の日付書式マスクを使用して文字列を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_DATEと同一ですが、ファンクションの戻り値がPL/SQL日付ではなく標準日付書式の文字列であるところが異なります。 |
引数(入力) | p_string - 変換される文字列。 p_mask - DD-MON-RRRRなどの、変換に使用する書式マスク。 |
フォームのために記述したPL/SQLプロシージャから例外を呼び出すには、APPCOREパッケージのAPP_EXCEPTIONを使用します。
変数 | 説明 |
---|---|
要約 |
|
場所 | APPCOREライブラリおよびデータベース(ストアド・プロシージャ) |
説明 | このプロシージャは、例外情報を格納し例外form_trigger_failureを呼び出します。 |
変数 | 説明 |
---|---|
exception_text | 追加のコンテキスト情報。 |
exception_type | エラー・タイプ(たとえば、ORAやAPP)を示すエラー・プレフィクスです。 |
exception_code | エラーを識別する番号。 |
変数 | 説明 |
---|---|
要約 |
|
場所 | APPCOREライブラリおよびデータベース(ストアド・プロシージャ) |
説明 | このプロシージャは、データベースから例外情報を取得します。 |
変数 | 説明 |
---|---|
要約 |
|
場所 | APPCOREライブラリおよびデータベース(ストアド・ファンクション) |
説明 | このファンクションは、例外タイプを戻します。 |
変数 | 説明 |
---|---|
要約 |
|
場所 | APPCOREライブラリおよびデータベース(ストアド・ファンクション) |
説明 | このファンクションは、例外コードを戻します。 |
変数 | 説明 |
---|---|
要約 |
|
場所 | APPCOREライブラリおよびデータベース(ストアド・ファンクション) |
説明 | このファンクションは、例外テキストを戻します。 |
変数 | 説明 |
---|---|
説明 | これは事前定義された例外です。例外ハンドラでコールし、レコードがロックされないケースを処理します。APP_EXCEPTION.RECORD_LOCK_ERRORで使用されるのが一般的です。 |
変数 | 説明 |
---|---|
要約 |
|
説明 | このプロシージャは、レコードのロックを続行するか取り消すかをユーザーに尋ねます。続行の場合は、コール側プロシージャに戻って再試行します。取消しの場合は、「レコードを予約できません」通知を表示し、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に初期化します。 |
変数 | 説明 |
---|---|
要約 |
|
説明 | このプロシージャは、ベルを鳴らすのに使用します。このプロシージャをコールして(通常はKEYトリガーで)単純ファンクションを使用不可にします。 |
この項では、フォーム項目の間の関連を管理するユーティリティについて説明します。
変数 | 説明 |
---|---|
要約 |
|
説明 | このプロシージャは、項目がNULLではなく、またチェック・ボックスまたは必須リストでもない場合に、最大で10個の項目を消去します。 |
変数 | 説明 |
---|---|
要約 |
|
説明 | このプロシージャは、マスター項目がNULLであり、従属項目がNULLではなくチェック・ボックスでも必須リストでもない場合に、最大で10個の従属項目を消去します。 |
変数 | 説明 |
---|---|
master_field | マスター項目名。 |
field1 ... field10 | 従属項目名。 |
変数 | 説明 |
---|---|
要約 |
|
説明 | マスター項目がNULLかまたは指定条件がTRUEかによって、項目を入力可能または入力不可にし、フィールドを消去します。従属項目は、テキスト項目、チェック・ボックスまたはポップリストが可能です。 このプロシージャは、通常は次のトリガーでコールします。 |
トリガー:
マスター・フィールドのWHEN-VALIDATE-ITEM
条件の基になっているフィールドのWHEN-VALIDATE-ITEM、または従属フィールドのイベントINIT
PRE-RECORD
POST-QUERY (従属項目がマルチレコード・ブロックにあるときにのみ必要)
変数 | 説明 |
---|---|
event | トリガー・イベント名。マスター・フィールドでこのトリガーをコールする場合は、トリガー名ではなくVALIDATEを渡します(WHEN-VALIDATE-ITEM、WHEN-CHECKBOX-CHANGED、WHEN-LIST-CHANGEDまたはWHEN-RADIO-CHANGEDのいずれも使用可)。 |
master_field | マスター項目名。 |
condition | 従属項目が使用可能の場合にはTRUE |
dependent_field | 従属項目名。 |
invalidate | TRUEの場合は、従属項目を消去するのではなく項目を無効にマークします。従属項目が必須リストまたはオプション・グループである場合、このフラグをTRUEに設定します。 このプロシージャの使用例は、「項目関連」、「従属項目を伴う相互包含項目」および「デフォルト」を参照してください。 |
変数 | 説明 |
---|---|
要約 |
|
説明 | このプロシージャは、セットの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、オプション) |
このプロシージャの使用例は、「相互排他項目」を参照してください。
変数 | 説明 |
---|---|
要約 |
|
説明 | このプロシージャは、最大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 | 包含項目名(オプション) |
このプロシージャの使用例は、「相互包含項目」を参照してください。
変数 | 説明 |
---|---|
要約 |
|
説明 | このプロシージャは、指定条件がTRUEであるかどうかによって、項目を必須または不要にします。 |
変数 | 説明 |
---|---|
event | トリガー・イベント名 |
condition | 項目が必須の場合はTRUE |
field1 | 項目名 |
field2 | 項目名 |
field3 | 項目名(オプション) |
field4 | 項目名(オプション) |
field5 | 項目名(オプション) |
このプロシージャの使用例は、「条件付き必須項目」を参照してください。
次のルーチンを使用して、「検索」ウィンドウ機能を実装します。
関連項目: 問合せ検索の概要
変数 | 説明 |
---|---|
要約 |
|
説明 | このルーチンは、「検索」ウィンドウの「新規」ボタンによってコールされ、検索の対象となったブロックの新規レコードにユーザーを戻します。 |
変数 | 説明 |
---|---|
block_name | 「検索」ウィンドウの対象となるブロックの名前 |
変数 | 説明 |
---|---|
要約 |
|
説明 | このルーチンは、「検索」ウィンドウの「消去」ボタンによってコールされ、「検索」ウィンドウを消去します。 |
変数 | 説明 |
---|---|
要約 |
|
説明 | このルーチンは、(「検索」ウィンドウではなく)検索ブロックの結果ブロックを消去します。この処理はナビゲーションを許可するトリガーからのみ実行できます。 |
変数 | 説明 |
---|---|
detail_block | 消去されるブロックの名前 |
例
APP_FIND.CLEAR_DETAIL('MYBLOCK');
変数 | 説明 |
---|---|
要約 |
|
説明 | このルーチンは、「検索」ウィンドウの「検索」ボタンによってコールされ、検索を実行します。 |
変数 | 説明 |
---|---|
block_name | 「検索」ウィンドウの対象となるブロックの名前 |
変数 | 説明 |
---|---|
要約 |
|
説明 | このユーティリティは、「検索」ウィンドウの範囲で問合せ基準を構築します。データ型の最小値および最大値に従って、文字、日付、番号の範囲を作成します。 |
変数 | 説明 |
---|---|
low_value | 範囲の下限 |
high_value | 範囲の上限 |
db_item_name | 問合せ対象のブロック内項目の名前 |
変数 | 説明 |
---|---|
要約 |
|
説明 | これらのルーチンは、行値リストまたは「検索」ウィンドウのいずれかを起動します。ユーザーが命名したトリガーQUERY_FINDからコールします。 |
変数 | 説明 |
---|---|
lov_name | 行値リストの名前 |
block_window | 「検索」ウィンドウの起動対象のウィンドウ名 |
find_window | 「検索」ウィンドウ名 |
find_block | 「検索」ウィンドウのブロックの名前 |
この項では、項目を個別に管理するユーティリティについて説明します。
変数 | 説明 |
---|---|
要約 |
|
説明 | このプロシージャを使用して、ハードコードされた日付値をフィールドにコピーします。このルーチンは、次の方法でコピーを行います。
|
変数 | 説明 |
---|---|
date_val | 書式DD-MM-YYYYで表される、文字による日付 |
item_name | 値のコピー先の項目の名前。block.itemと記述します。 |
変数 | 説明 |
---|---|
要約 |
|
説明 | このルーチンを、データ型が文字であるが日付、数値または整数書式のデータを含むフィールドとともに使用します。このプロシージャは、特定のデータ型に対して値が有効な書式でない場合にエラーを発生します。このファンクションは、正しい書式の値である場合はTRUE、そうでない場合はFALSEを戻します。 |
変数 | 説明 |
---|---|
val | チェックする値 |
dtype | データ型の値には、DATE、INTEGERまたはNUMBERを使用します。 |
変数 | 説明 |
---|---|
要約 |
|
説明 | このプロシージャは、指定されたウィジェットの現行のラベルを読み、(変換されたラベルの適切なサイズを確認するのに使用される)ラベルをすべて表示するようにウィジェットのサイズを変更します。ウィジェットを指定された最大幅より大きくすることはありません。これは、重複や画面の端からはみ出るのを防ぐためです。単一レコード書式のチェック・ボックス、ボタン、ラジオ・グループに対してのみコールします。 |
変数 | 説明 |
---|---|
wid_name | ウィジェット名(block.field構文) |
max_width | ウィジェットの最大サイズ(インチ単位) |
これらのユーティリティは、項目のOracle FormsおよびOracle E-Business Suiteプロパティの制御を支援します。
変数 | 説明 |
---|---|
要約 |
|
説明 | このファンクションは、項目プロパティの現行の設定を戻します。戻り値としてTRUEまたはFALSEではなく、PROPERTY_ONまたはPROPERTY_OFFを戻すOracle Formsのget_item_propertyとは異なります。 |
変数 | 説明 |
---|---|
item_name | プロパティ属性を適用する対象の項目の名前。ブロック名と項目名の両方を指定します。項目名のかわりにitem_IDを指定することもできます。 |
property | 設定するプロパティ。 |
関連項目: 項目プロパティの設定
変数 | 説明 |
---|---|
要約 |
|
説明 | このプロシージャは、項目のプロパティを設定します。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のいずれか、あるいはアイコン名(アイコン・プロパティの変更用)。 |
関連項目: 項目プロパティの設定
変数 | 説明 |
---|---|
要約 |
|
説明 | このプロシージャはもう使用されていません。色指定はすべてOracle Look and Feel(OLAF)の一部として行われます。 |
すでに開いている同一のフォームのインスタンスを再使用するフォーム機能をオープンする場合には、FND_FUNCTION.EXECUTEではなくこのユーティリティを使用します。その他すべてのフォームや機能のオープンにはFND_FUNCTION.EXECUTEを使用します。
レコード・レベルでブロックと相互作用するユーティリティを次に示します。
変数 | 説明 |
---|---|
要約 |
|
説明 | NEWレコードのステータスをINSERT_STATUSに設定します。QUERYレコードに対しては、レコードはロックされ、ステータスはCHANGED_STATUSに設定されます。両方の場合とも、このフラグによってレコードがデータベースに保存されることを示します。 |
変数 | 説明 |
---|---|
block_name | タッチするブロックの名前 |
record_number | タッチされるレコード |
変数 | 説明 |
---|---|
要約 |
|
説明 | このコールは、現行レコードのそれぞれの複数行TEXT_ITEM、LISTおよびDISPLAY_ITEMに対してDISPLAY_ITEMビルトインをコールすることによって現行のレコードの視覚属性を変更します。RECORDS_DISPLAYEDプロパティが1である項目に対しては何も行いません。データをハイライト表示するには「SELECTED_DATA」を渡します。ハイライト表示をオフにするには「DATA」を渡します。適用する視覚属性の名前を渡すことができます。 |
変数 | 説明 |
---|---|
value | 適用する視覚属性の名前。 詳細は、Oracle E-Business Suiteフォーム・ベース製品のユーザー・インタフェース標準を参照してください。 |
ヒント: 非表示フィールドが多い大規模ブロックのパフォーマンスを向上するには、すべての非表示フィールドをブロックの最後に置き、非表示項目の前にAPPCORE_STOPという名前の非データベース項目を置きます。APP_RECORD.HIGHLIGHTがこのフィールドに達したときにハイライト表示が停止されます。
変数 | 説明 |
---|---|
要約 |
|
説明 | このコールは、現行ブロックまたは指定されたブロックの各レコードに対して指定されたトリガーを実行します。ブロックを指定する場合は、GO_BLOCKビルトインが起動します。終了時にはカーソルは元のレコードおよび項目に戻ります。 トリガーが正常に終了しなかった場合には、FORM_TRIGGER_FAILUREが呼び出され、カーソルは障害が発生したレコードの左側に移動します。 このルーチンをコールする前にグローバル変数を単に設定することにより、グローバル変数を使用して指定トリガーの引数を渡すことができます。 APP_RECORD.FOR_ALL_RECORDSは問合せ対象のレコードがない場合に1回起動されます。 |
変数 | 説明 |
---|---|
block_name | ナビゲート先のブロックの名前 |
trigger_name | 実行するトリガーの名前 |
変数 | 説明 |
---|---|
要約 |
|
説明 | このコールは、ユーザーがその行を本当に削除するのかを確認する汎用メッセージを提供します。 このルーチンのファンクション・バージョンがコールされた場合には、行は削除されませんが、ユーザーがレコードの削除を確認する応答をした場合にはTRUEが、そうでない場合にはFALSEが返されます。複合的な削除がある場合に、まずユーザーがレコードを削除する意志があるかどうかを確認できます。 このルーチンのプロシージャ・バージョンがコールされた場合には、ユーザーが肯定的に応答するとレコードは削除されます。1つ以上のブロックの削除を許可する場合には、独自のメッセージを作成して提供する必要があります。 |
変数 | 説明 |
---|---|
check_delete | ブロックDELETE_ALLOWEDのチェックを強制(オプション) |
product_name | 作成したメッセージを渡す場合に必要な製品の短縮名。指定しない場合にはデフォルト・メッセージが与えられます(オプション) |
message_name | product_nameが与えられた場合のメッセージ名(オプション) |
変数 | 説明 |
---|---|
要約 |
|
説明 | このコールは、「開始」の値が「終了」の値よりも小さいことを確認して範囲を検証します。「検索」ボタンの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が与えられた場合のメッセージ名(オプション) |
代替リージョンで使用されるユーティリティを次に示します(下位互換性のためにのみサポートされています。代替リージョンはタブに置き換えられています)。
変数 | 説明 |
---|---|
要約 |
|
説明 | 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;
関連項目: 代替リージョンの動作のコーディング
変数 | 説明 |
---|---|
要約 |
|
説明 | このプロシージャは、Oracle Formsのビルトイン検証と類似の動作をしますが、検証エラーが発生した最初の項目にナビゲートするところが異なります。また、ボタン標準をサポートしています。Oracle Formsビルトインのかわりに使用します。 |
変数 | 説明 |
---|---|
scope | 検証の範囲を示します。有効な値は、DEFAULT_SCOPE、FORM_SCOPE、BLOCK_SCOPE、RECORD_SCOPEおよびITEM_SCOPEです。 |
変数 | 説明 |
---|---|
要約 |
|
説明 | このプロシージャは、指定されたイベントの標準動作を起動します。TEMPLATEフォームにはこのトリガーに対する必要なコールがすべて含まれています。 |
変数 | 説明 |
---|---|
event_name | イベントまたはトリガーの名前 |
関連項目: TEMPLATEフォームでの特殊トリガー
変数 | 説明 |
---|---|
要約 |
|
説明 | メニュー項目の状態は自動的に再評価されることはありませんが、フォームを動的に変更すると、適用対象メニュー項目に影響する場合があります。ツールバーおよびメニューの使用可能項目に影響するような変更を実施する場合は、このルーチンをコールし、メニューおよびツールバーを再評価します。(たとえば、ブロックのINSERTABLEプロパティの変更、レコードのステータスの変更など。) 関連項目: プルダウン・メニューおよびツールバー |
変数 | 説明 |
---|---|
要約 |
|
説明 | このパッケージの変数には、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;
ウィンドウ・レベルで動作するユーティリティを次に示します。
変数 | 説明 |
---|---|
要約 |
|
説明 | このコールは、フォームを終了します。正常に終了しなかった場合はFORM_TRIGGER_FAILUREを呼び出します。 |
変数 | 説明 |
---|---|
要約 |
|
説明 | このコールは、progress_indicatorオブジェクトのすべての側面を管理します。オブジェクトが可視状態になっていない場合には、コールによってウィンドウをオープンして中央に表示します。percent >= 99.9の場合には、ウィンドウは自動的にクローズします。それ以外のpercentのときには、プログレス・バーがサイズ変更されます(最大4インチ幅)。 |
変数 | 説明 |
---|---|
percent | 完了した量を示す、0から99.9の数値 |
変数 | 説明 |
---|---|
要約 |
|
説明 | このコールは、調整チェック・ボックスの状態に基づいてONまたはOFFの関連の遅延調整属性を設定します。チェック・ボックスはDEFERREDまたはIMMEDIATEのいずれかです。 クローズしているウィンドウでは、関連は常にDEFERREDです。 調整がDEFERREDに設定されている場合は、自動問合せはオンになります。 |
変数 | 説明 |
---|---|
event | トリガー・イベント名(WHEN-CHECKBOX-CHANGED、WHEN-WINDOW-CLOSEDまたはOPEN-WINDOWのいずれか) |
coordination | IMMEDIATEまたはDEFERRED (デフォルトはIMMEDIATE) |
relation_name | 関連オブジェクトのブロック・オブジェクトにあるOracle Forms Designerにリストされている関連の名前 |
関連項目: マスター詳細関連
変数 | 説明 |
---|---|
要約 |
|
説明 | このコールは、次の形式でウィンドウを配置します。
ウィンドウがオープンしていても背面にある場合に、このコールでウィンドウを前面に表示します。ウィンドウが最小化されている場合には、通常のサイズに戻します。 システム・リソースが十分でない場合には(特にMS Windows)、警告メッセージが表示されます。 |
変数 | 説明 |
---|---|
child | 配置されるウィンドウの名前 |
rel | ウィンドウの配置形式 |
parent | ウィンドウ名(このウィンドウとの相対的な位置に子ウィンドウを配置) |
関連項目: 非モーダル・ウィンドウ
変数 | 説明 |
---|---|
要約 |
|
説明 | このユーティリティを使用して、標準書式でウィンドウのタイトルを設定します。 |
変数 | 説明 |
---|---|
window_name | タイトルを設定する対象のウィンドウ名 |
session | 一般セッション情報(たとえば、組織、会計帳簿など)。64文字を超えることはできません。 |
instance[1,2,3] | マスター・レコードのコンテキスト情報(オプション)。すべてを合せた長さが250文字を超えることはできません。 |
関連項目: 非モーダル・ウィンドウ
Copyright © 1995, 2013, Oracle and/or its affiliates. All rights reserved.