Oracle Assetsユーザー・ガイド リリース12 E06049-01 | ![]() 目次 | ![]() 前へ | ![]() 次へ |
この付録では、次のトピックについて説明します。
Oracle Assetsの既存のインタフェースとの併用が困難なカスタム・インタフェースを設定している場合は、このAPIを使用できます。振替APIでは、FA_TRANSFER_PUB.DO_TRANSFERプロシージャが使用されます。Oracle Assetsの既存の資産振替インタフェースとの併用が困難なカスタム・インタフェースを設定している場合は、このAPIを使用できます。
Oracle Assetsでは、次のいずれかの方法を使用して資産を振り替えることもできます。
資産ワークベンチ: 個別資産を手動で振り替えるには、資産ワークベンチ処理を使用します。
一括振替: 範囲で選択した資産のグループを振り替えるには、一括振替処理を使用します。
振替APIには、次の機能が用意されています。
振替APIによって、取引の振替が発生した会計用資産台帳に関連付けられているすべての税務台帳の資産が自動的に振り替えられます。
代替元帳通貨を設定している場合は、Oracle Assets APIを使用して資産を追加または変更すると、その取引はAPIによって報告通貨に自動的にコピーされます。請求書端数処理の問題は、APIを使用して、元帳通貨と報告通貨の両方に対して代替元帳通貨会計処理を実行することで回避されます。
関連項目
振替APIプロシージャは、FA_TRANSFER_PUB.DO_TRANSFER ()と呼ばれます。
次の表に、FA_TRANSFER_PUB.DO_TRANSFERプロシージャの各要素の引数、型、値および説明を示します。
各引数には、P、XまたはPXのプリフィクスが付加されます。それぞれの意味は、次のとおりです。
P: In引数を示します。
X: Out引数を示します。
PX: InとOutの両方の引数を示します。
引数 | 型 | 値 | 説明 |
---|---|---|---|
P_API_VERSION | NUMBER | 内部使用のみ。 | 使用しているAPIのバージョン。 |
P_INIT_MSG_LIST | VARCHAR2(1) | FND_API.G_TRUE: メッセージ・スタックを初期化します。 FND_API.G_FALSE: メッセージ・スタックを初期化しません(デフォルト)。 | メッセージ・スタックを初期化するかどうか、消去するかどうかを決定します。 |
P_COMMIT | VARCHAR2(1) | FND_API.G_TRUE: 自動的にコミットします。 FND_API.G_FALSE: 自動的にコミットしません(デフォルト)。 | 取引をコミットします。 |
P_VALIDATION_LEVEL | NUMBER | FND_API.G_VALID_ LEVEL_NONE: 取引に対して低レベルの検証を実行します。 FND_API.G_VALID_ LEVEL_FULL: 取引に対して高レベルの検証を実行します(デフォルト)。 | APIによる資産の検証。 |
P_CALLING_FN | VARCHAR2(30) | APIをコールする関数。 | |
X_RETURN_STATUS | VARCHAR2(1) | FND_API.G_RET_STS_ SUCCESS: 振替の成功を示します。 FND_API.G_RET_STS_ ERROR: 振替の失敗を示します。 FND_API.G_RET_STS_ UNEXP_ERROR: 予期しないエラーを示します。 | APIが成功したかどうかを判別します。 |
X_MSG_COUNT | NUMBER | メッセージ・スタックのメッセージ数。メッセージ・スタックに追加されたメッセージの数が戻されます。 | |
X_MSG_DATA | VARCHAR2(1024) | メッセージ・スタック。メッセージ・スタックの最上位メッセージが戻されます。 | |
PX_TRANS_REC | FA_API_TYPES. TRANS_REC_TYPE | 実行する取引を示します。ユーザーが指定した取引情報です。 | |
PX_ASSET_HDR_REC | FA_API_TYPES. ASSET_HDR_REC_ TYPE | ユーザーが指定した資産情報です。資産の一意の識別子です。 | |
PX_ASSET_DIST_TBL | FA_API_TYPES. ASSET_DIST_TBL | 資産の配分情報。 |
この項では、このAPIのコール方法およびこのAPIで必要なパラメータ体系の移入方法を示します。説明の最後には、PL/SQLでのAPIのコール方法を示したサンプル・スクリプトも記載されています。
APIをコールする前に、移入する必要のある体系が3つあります。
TRANS_REC_TYPE取引体系には、取引ヘッダーIDや取引タイプ・コードなど、取引に関する情報が記載されています。次の表に、各引数の型と値の情報を示します。
引数 | 必須/オプション | 型 | 値 |
---|---|---|---|
TRANSACTION_DATE_ ENTERED | オプション | DATE | 前期間の振替を実行する場合は移入され、それ以外の場合は何も移入されないか、NULLに設定されます。現行期間にデフォルト設定されます。 |
TRANSACTION_NAME | オプション | VARCHAR2(20) | 取引の摘要。このフィールドは、資産ワークベンチの「注釈」フィールドです。 |
DESC_FLEX | オプション | DESC_FLEX_ REC_ TYPE | 付加フレックスフィールド・セグメント。 |
WHO_INFO | 必須 | STANDARD_ WHO_REC_ TYPE | 標準WHO列。 |
CALLING_INTERFACE | オプション | VARCHAR2(30) | CUSTOMにデフォルト設定されます。 |
TRANSACTION_HEADER_ ID | 内部使用のみ | NUMBER(15) | オプションのOUTパラメータ。 |
ASSET_HDR_REC_TYPE資産体系には、資産IDや台帳タイプ・コードなど、特定の資産に関する一意の識別情報が記載されています。次の表に、各引数の型と値の情報を示します。
引数 | 必須/オプション | 型 | 値 |
---|---|---|---|
ASSET_ID | 必須 | NUMBER(15) | 資産ID。 |
BOOK_TYPE_CODE | 必須 | VARCHAR2(15) | 台帳名。 |
ASSET_DIST_REC_TYPE資産体系には、単一の振替元または振替先の配分明細が記載されています。単一の振替取引を構成するすべてのASSET_DIST_REC_TYPEレコードは、ASSET_DIST_TBL表に格納されています。各振替取引には、少なくとも1つの振替元明細と1つの振替先明細が必要です。次の表に、各引数の型と値の情報を示します。
引数 | 必須/オプション | 型 | 値 |
---|---|---|---|
DISTRIBUTION_ID | 必須(行が振替元の配分の場合) | NUMBER(15) | 一意の配分識別番号。 |
TRANSACTION_UNITS | 必須 | NUMBER | 取引に関連する単位数。 |
ASSIGNED_TO | オプション | NUMBER(15) | 従業員識別番号。 |
EXPENSE_CCID | 必須(行が振替先の配分の場合) | NUMBER(15) | 減価償却費勘定の識別番号。 |
LOCATION_CCID | 必須(行が振替先の配分の場合) | NUMBER(15) | 事業所フレックスフィールドの識別番号。 |
次に、振替取引に対して振替APIを使用する例を示します。これは、2単位を、1つの既存配分から、ぞれぞれに1単位がある2つの新規配分に振り替える例です。
set serveroutput on;
declare
l_trans_rec fa_api_types.trans_rec_type;
l_asset_hdr_rec fa_api_types.asset_hdr_rec_type;
l_asset_dist_tbl fa_api_types.asset_dist_tbl_type;
l_return_status VARCHAR2(1);
l_mesg_count number;
l_mesg varchar2(512);
begin
dbms_output.enable(1000000);
fa_srvr_msg.init_server_message;
-- fill in asset information
l_asset_hdr_rec.asset_id := &asset_id
-- fill in distribution data for existing distribution lines
-- affected by this transfer txn. Note: You need to fill in
-- only affected distribution lines.
--
-- For source distribution, you must fill in either existing
-- distribution id or 2 columns(expense_ccid,location_ccid) or
-- 3-tuple columns(assigned_to,expense_ccid, and location_ccid)
-- depending on the makeup of the particular distribution
-- of the asset.
l_asset_dist_tbl(1).transaction_units := &trx_units
-- Source
-- Option A - known dist id
l_asset_dist_tbl(1).distribution_id := &existing_dist_id
-- or
-- Option B - known dist attributes
l_asset_dist_tbl(1).assigned_to := &existing_assigned_to
l_asset_dist_tbl(1).expense_ccid := &existing_expense_ccid
l_asset_dist_tbl(1).location_ccid := &existing_location_id
-- Destination
-- fill in dist info for one or more destination distribution (start with 2..(3,4,..))
l_asset_dist_tbl(2).transaction_units := &trx_units2
l_asset_dist_tbl(2).assigned_to := &new_assigned_to
l_asset_dist_tbl(2).expense_ccid := &new_expesne_ccid
l_asset_dist_tbl(2).location_ccid := &new_location_id
FA_TRANSFER_PUB.do_transfer(
-- std parameters
p_api_version => 1.0,
p_init_msg_list => FND_API.G_FALSE,
p_commit => FND_API.G_FALSE,
p_validation_level => FND_API.G_VALID_LEVEL_FULL,
p_calling_fn => NULL,
x_return_status => l_return_status,
x_msg_count => l_mesg_count,
x_msg_data => l_mesg,
-- api parameters
px_trans_rec => l_trans_rec,
px_asset_hdr_rec => l_asset_hdr_rec,
px_asset_dist_tbl => l_asset_dist_tbl);
--dump messages
l_mesg_count := fnd_msg_pub.count_msg;
if l_mesg_count > 0 then
l_mesg := chr(10) || substr(fnd_msg_pub.get
(fnd_msg_pub.G_FIRST, fnd_api.G_FALSE),
1, 250);
dbms_output.put_line(l_mesg);
for i in 1..(l_mesg_count - 1) loop
l_mesg :=
substr(fnd_msg_pub.get
(fnd_msg_pub.G_NEXT,
fnd_api.G_FALSE), 1, 250);
dbms_output.put_line(l_mesg);
end loop;
fnd_msg_pub.delete_msg();
end if;
if (l_return_status <> FND_API.G_RET_STS_SUCCESS) then
dbms_output.put_line('FAILURE');
else
dbms_output.put_line('SUCCESS');
dbms_output.put_line('THID' || to_char(l_trans_rec.transaction_header_id));
end if;
end;
/