ヘッダーをスキップ

Oracle Applications開発者ガイド
リリース12
E06048-01
目次へ
目次
前のページへ
前へ
次のページへ
次へ

FNDSQFルーチンAPI

FNDSQFルーチンAPIについて

この項では、PL/SQLプロシージャから一部のOracle Applications APIをコールする方法について説明します。FNDSQFライブラリのほとんどのルーチンを、この項で説明します。一部のFNDSQFルーチンは、他の章で説明されています(たとえば、FND_KEY_FLEXルーチンは「フレックスフィールド」という章で説明されています)。この章で説明するルーチンは、次のとおりです。

FND_CURRENCY: 動的通貨API

この項では、クライアント側およびサーバー側PL/SQLプロシージャで使用可能な動的通貨APIについて説明します。動的通貨機能により、任意の通貨における様々な値を同じレポートまたはフォームに、適切な書式で表示できます。

FND_CURRENCY.GET_FORMAT_MASK(クライアントまたはサーバー)

変数 説明
要約
function  FND_CURRENCY.GET_FORMAT_MASK(

                                currency_code  IN varchar2

                                field_length   IN number)

return varchar2;

説明 このファンクションは、標準デフォルト値を使用して書式マスクを作成します。
変数 説明
currency_code デフォルト書式マスクを取得する通貨コード
field_length フォーマットされた値を保持できる最大文字数

重要: 書式マスクを受け取るvarchar2フィールドは、field_lengthより10文字長くする必要があります。

このルーチンは、次のプロファイルを使用して書式マスクを作成します。

マイナスの書式のプロファイルには3種類のカッコを使用できますが、このルーチンでは山カッコのみ使用します(< >)。

通貨の例

クライアント側PL/SQLの例

フォームのORDER_LINES.AMOUNTフィールドは、動的通貨書式を使用して表示する必要があります。書式マスクは作成され、APP_ITEM_PROPERTY.SET_PROPERTYコールに渡されます。

APP_ITEM_PROPERTY.SET_PROPERTY('ORDER_LINE.AMOUNT',

                  FORMAT_MASK,

                  FND_CURRENCY.GET_FORMAT_MASK(

                    :ORDER_CURRENCY_CODE,

                     GET_ITEM_PROPERTY(

                                  'ORDER_LINE.AMOUNT',

                                  MAX_LENGTH)));

表示グループ・セパレータ、プラスおよびマイナスの書式を使用するかどうかは、通常はユーザーが設定します。したがって、これらの設定はユーザー・プロファイル・システムによりデフォルト設定されます。精度は、オーダーの通貨コードの保存された情報によって決まります。

サーバー側PL/SQLの例

動的通貨サポートは、サーバー側PL/SQLからもアクセスできます。パッケージのインタフェースは同一です。次のコールは、実装の例です。

DISPLAYABLE_VALUE := TO_CHAR(AMOUNT,

                                        FND_CURRENCY.GET_FORMAT_MASK(

                                                       DC_FORMAT_MASK, 30));

FND_DATE: 日付変換API

FND_DATEパッケージのルーチンは、APP_DATEパッケージの項で説明されています。

関連項目: APP_DATE: 日付変換API

アプリケーションにおける日付処理の説明は、日付に関する章を参照してください。関連項目: 日付の処理

FND_GLOBAL: WHO列のメンテナンスおよびデータベースの初期化

この項では、サーバー側PL/SQLプロシージャで使用可能なグローバルAPIについて説明します。サーバー側パッケージFND_GLOBALは、login/signonまたはセッション・タイプの値など、システム・グローバルの値を返します。WHO列は、挿入および更新のためにストアド・プロシージャから設定する必要があります。FND_GLOBALパッケージは様々な用途で使用できますが、パッケージの主な用途はWHO列の設定です。

FND_GLOBALルーチンはデータベースのストアド・プロシージャであり、データベースに余分なラウンドトリップが発生する可能性があるため、フォーム(すなわちクライアント側のフォーム)ではFND_GLOBALルーチンを使用しないでください。クライアント側では、ほとんどのFND_GLOBALパッケージのプロシージャが同じ(または同様の)名前のユーザー・プロファイル・オプションで置き換えられます。フォームでは、かわりにFND_PROFILEルーチンを使用する必要があります。

関連項目: レコード履歴を使用したデータ変更の追跡(WHO)

FND_PROFILE: ユーザー・プロファイルAPI

FND_GLOBAL.USER_ID(サーバー)

変数 説明
要約
function  FND_GLOBAL.USER_ID

                return number;

説明 ユーザーIDを戻します。

FND_GLOBAL.APPS_INITIALIZE(サーバー)

変数 説明
要約
procedure APPS_INITIALIZE(user_id in number,

                resp_id in number,

                resp_appl_id in number);  
説明 このプロシージャは、データベース・セッションのグローバル変数とプロファイルを設定します。データベース・セッションのグローバル・セキュリティ・コンテキストを初期化するために、このプロシージャをコールします。Java、PL/SQL、またはOracle Applicationsコンカレント処理機能とOracle Formsのどちらとも統合されていない(いずれもデータベース・セッションで同様の初期化を実行)他のプログラムなどのルーチンに使用します。通常、このルーチンは、確立されたOracle Applicationsフォーム・セッションとは別のForms以外のセッション(Javaプログラムなど)を起動するロジックの一部として使用します。さらに、このプロシージャを使用すると、SQL*Plusを使用してアプリケーション・コードの手動テストを行うようにデータベース・セッションを設定できます。このルーチンは、標準フォームまたはコンカレント・プログラム接続の外でセッションを確立する必要がある場合にのみ使用する必要があります。
プロファイル・オプション・ルーチンを使用することにより、既存のOracle Applicationsフォーム・セッションから、このプロシージャで使用する有効な値を取得できます。手動テストを行う場合、Oracle Applicationsフォーム・セッション中に「検査」を使用して、プロファイル・オプション値を取得できます。
変数 説明
USER_ID USER_ID番号
RESP_ID 職責のID番号
RESP_APPL_ID 職責が属するアプリケーションのID番号

 fnd_global.APPS_INITIALIZE (1010, 20417, 201); 

FND_GLOBAL.LOGIN_ID(サーバー)

変数 説明
要約
function  FND_GLOBAL.LOGIN_ID

                return number;

説明 (サインオンごとに一意な)ログインIDを戻します。

FND_GLOBAL.CONC_LOGIN_ID(サーバー)

変数 説明
要約
function  FND_GLOBAL.CONC_LOGIN_ID

        return number;

説明 コンカレント・プログラムのログインIDを戻します。

FND_GLOBAL.PROG_APPL_ID(サーバー)

変数 説明
要約
function  FND_GLOBAL.PROG_APPL_ID

        return number;

説明 コンカレント・プログラムのアプリケーションIDを戻します。

FND_GLOBAL.CONC_PROGRAM_ID(サーバー)

変数 説明
要約
function  FND_GLOBAL.CONC_PROGRAM_ID

        return number;

説明 コンカレント・プログラムIDを戻します。

FND_GLOBAL.CONC_REQUEST_ID(サーバー)

変数 説明
要約
function  FND_GLOBAL.CONC_REQUEST_ID

        return number;

説明 コンカレント要求IDを戻します。

FND_ORG: 組織API

このパッケージは、組織を使用するフォームに正しい組織を設定するために使用します。

FND_ORG.CHANGE_LOCAL_ORG

変数 説明
要約
function  FND_ORG.CHANGE_LOCAL_ORG return boolean;
説明 このファンクションは、現行フォームの組織の変更に使用します。変更が取り消されるか、失敗した場合はFALSEが戻されます。

FND_ORG.CHANGE_GLOBAL_ORG

変数 説明
要約
function  FND_ORG.CHANGE_GLOBAL_ORG return boolean;
説明 このファンクションは、新しいフォームを開くときにグローバル組織のデフォルトを変更する場合に使用します。変更が取り消されるか、失敗した場合はFALSEが戻されます。

FND_ORG.CHOOSE_ORG

変数 説明
要約
procedure  FND_ORG.CHOOSE_ORG(

                allow_cancel   IN    boolean    default FALSE);

説明 このプロシージャをPRE-FORMでコールして、組織パラメータが設定されていることを確認します。ローカル・フォームに渡された組織パラメータがない場合は、グローバル・デフォルトが使用されます。グローバル組織デフォルトが設定されていない場合、プロシージャは組織値リストを開いて強制的に組織を選択させます。
変数 説明
allow_cancel 選択を強制実行しない値リストの取消しを許可します。デフォルトはFALSEです。

FND_STANDARD: 標準API

この項では、フォームにおける標準機能を実現するユーティリティについて説明します。

FND_STANDARD.FORM_INFO

変数 説明
要約
procedure  FND_STANDARD.FORM_INFO(

                version                  IN varchar2,

                title                    IN  varchar2,

                application_short_name   IN varchar2,

                date_last_modified       IN varchar2,

                last_modified_by         IN varchar2);

変数 説明
説明 FND_STANDARD.FORM_INFOで、フォームに関する情報が提供されます。これは、WHEN-NEW-FORM-INSTANCEトリガーの最初のステップとしてコールします。TEMPLATEフォームには、修正して使用する、コールの骨組みが用意されています。

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

FND_STANDARD.SET_WHO

変数 説明
要約
procedure  FND_STANDARD.SET_WHO;
説明 SET_WHOは、正確なユーザー情報を含むWHOフィールドをロードします。WHOフィールドのブロックごとに、PRE-UPDATE、PRE-INSERTをコールします。SET_WHOを使用してWHOフィールドを移入する場合は、FND_GLOBALをコールする必要はありません。

関連項目: レコード履歴を使用したデータ変更の追跡(WHO)およびFND_GLOBAL: WHO列のメンテナンス

FND_STANDARD.SYSTEM_DATE

変数 説明
要約
function  FND_STANDARD.SYSTEM_DATE return date;
説明 このファンクションの動作はビルトインのSYSDATEとまったく同じで、効率向上のためにキャッシュされます。Oracle Forms PL/SQLコードにおいて、ビルトインのSYSDATEのかわりに使用します。

FND_STANDARD.USER

変数 説明
要約
function  FND_STANDARD.USER return varchar2;
説明 このファンクションの動作はビルトインのUSERとまったく同じで、効率向上のためにキャッシュされます。Oracle Forms PL/SQLコードにおいて、ビルトインのUSERのかわりに使用します。

FND_UTILITIES: ユーティリティ・ルーチン

この項では、様々なユーティリティ・ルーチンについて説明します。

FND_UTILITIES.OPEN_URL

変数 説明
要約
procedure  OPEN_URL(URL in varchar2);
変数 説明
説明 クライアント・コンピュータのWebブラウザを起動し、指定したURL文書のアドレスをオープンします。ブラウザがすでに動作中の場合、そのブラウザで指定したURLをオープンします。このユーティリティを使用すると、Webブラウザが特定の文書をオープンするよう、フォームから指定できます。
ただし、このユーティリティは、フォームからOracle Self-Service Web Applicationsのファンクションをオープンするのには適していません。そのようなファンクションに必要なセッション・コンテキスト情報を提供しないためです。それらのファンクションをオープンする場合は、FND_FUNCTION.EXECUTEを使用してください。
変数 説明
URL URL実際のURL文字列またはURL文字列を含むフィールドの:block.field参照を渡すことができます。

例1

FND_UTILITIES.OPEN_URL('http://www.oracle.com/index.html');

例2

FND_UTILITIES.OPEN_URL(:blockname.fieldname);

FND_UTILITIES.PARAM_EXISTS

変数 説明
要約
function  PARAM_EXISTS(name varchar2) return boolean;
説明 現行フォームにパラメータが存在する場合、TRUEを戻します。
変数 説明
name 検索するパラメータの名前。

if fnd_utilities.param_exists('APP_TRACE_TRIGGER') then

        execute_trigger(name_in('PARAMETER.APP_TRACE_TRIGGER'));

end if;