Oracle Assetsユーザー・ガイド リリース12 E06049-01 | ![]() 目次 | ![]() 前へ | ![]() 次へ |
この付録では、次のトピックについて説明します。
Oracle Assetsの既存のインタフェースとの併用が困難なカスタム・インタフェースを設定している場合は、このAPIを使用できます。単位修正APIでは、FA_UNIT_ADJ_PUB.DO_UNIT_ADJUSTMENT()プロシージャが使用されます。
単位修正APIには、次の機能が用意されています。
単位修正APIによって、単位修正取引が発生した会計用資産台帳に関連付けられているすべての税務台帳の資産が自動的に修正されます。
代替元帳通貨を設定している場合は、Oracle Assets APIを使用して資産を追加または変更すると、その取引はAPIによって報告通貨に自動的にコピーされます。請求書端数処理の問題は、APIを使用して、元帳通貨と報告通貨の両方に対して代替元帳通貨会計処理を実行することで回避されます。
関連項目
すべての取引APIでは、APIの仕組みを理解しやすくし、コーディングでの冗長性を最小化するために、基本の共有フレームワークが使用されます。単位修正APIで使用される共通体系は、次のとおりです。
TRANS_REC_TYPE
ASSET_HDR_REC_TYPE
ASSET_DIST_TBL_TYPE(ASSET_DIST_REC_TYPEの表)
前述の体系の共有フレームワークおよび定義の詳細は、「共通体系」を参照してください。
修正取引を実行するには、FA_UNIT_ADJ_PUB.DO_UNIT_ADJUSTMENT () APIをコールする必要があります。次の表に、FA_UNIT_ADJ_PUB.DO_UNIT_ADJUSTMENTプロシージャの各要素の引数、型、値および説明を示します。
各引数には、P、XまたはPXのプリフィクスが付加されます。それぞれの意味は、次のとおりです。
P: In引数を示します。
X: Out引数を示します。
PX: InとOutの両方の引数を示します。
引数 | 型 | 値 | 説明 |
---|---|---|---|
P_API_VERSION | NUMBER | 内部使用のみ。 | 使用しているAPIのバージョン。 |
P_INIT_MSG_LIST | VARCHAR2 | FND_API.G_TRUE: メッセージ・スタックを初期化します。 FND_API.G_FALSE: メッセージ・スタックを初期化しません(デフォルト)。 | メッセージ・スタックを初期化するかどうか、消去するかどうかを決定します。 |
P_COMMIT | VARCHAR2 | 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 | APIをコールする関数。 | |
X_RETURN_STATUS | VARCHAR2 | 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 | FA_API_TYPES.MSG_REC_TYPE | ユーザーに渡されるメッセージを格納するAPIの一部です。 | |
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_ TYPE | 資産の配分情報。 |
TRANS_REC_TYPE取引体系には、取引ヘッダーIDや取引タイプ・コードなど、取引に関する情報が記載されています。次の表に、各引数の型と値の情報を示します。
引数 | 必須/オプション | 型 | 値 |
---|---|---|---|
TRANSACTION_DATE_ ENTERED | オプション | DATE | 前期間の単位修正を実行する場合は移入され、それ以外の場合は何も移入されないか、NULLに設定されます。現行期間にデフォルト設定されます。 |
TRANSACTION_NAME | オプション | VARCHAR2(20) | この取引の注釈を入力します。 |
DESC_FLEX | オプション | DESC_FLEX_REC | 付加フレックスフィールド情報を入力します。 |
WHO_INFO | オプション | STANDARD_WHO_REC_TYPE | 次の各値にデフォルト設定されます。 LAST_UPDATE_DATE: SYSDATE。 LAST_UPDATED_BY: FND_GLOBAL.USER_ID。 CREATED_BY: FND_GLOBAL.USER_ID。 LAST_UPDATE_LOGIN: FND_GLOBAL.LOGIN_ID。 |
CALLING_INTERFACE | オプション | VARCHAR2(30) | このAPIをコールするインタフェース名を入力します。CUSTOMにデフォルト設定されます。 |
TRANSACTION_ HEADER_ID | オプション | NUMBER(15) |
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) | 事業所フレックスフィールドの識別番号。 |
この資産には、1つの配分明細がある1単位の数量が設定されています。単位数量の合計を2単位に修正し、新規単位を新規配分明細に割り当てます。これを実行するには、次の表に示すように、配分明細を移入する必要があります。
引数 | 行1 |
---|---|
DISTRIBUTION_ID | |
TRANSACTION_UNITS | 1 |
ASSIGNED_TO | 20 |
EXPENSE_CCID | 1234 |
LOCATION_CCID | 7777 |
この表は、新規配分情報で作成される新規の1つの単位を示しています。また、DISTRIBUTION_ID、ASSIGNED_TOおよびLOCATION_IDは、すべて有効なIDである必要があります。
この資産には、合計2つの単位数量と2つの配分明細が設定されており、各配分明細には1単位の数量があります。この例では、それぞれの既存明細に1単位の数量を追加して、合計単位数量を4つに増加します。これを実行するには、次の表に示すように、配分明細を移入する必要があります。
引数 | 行1 | 行2 |
---|---|---|
DISTRIBUTION_ID | 1111 | 2222 |
TRANSACTION_UNITS | 1 | 1 |
ASSIGNED_TO | ||
EXPENSE_CCID | ||
LOCATION_CCID |
この表は、配分#1111に追加される1つの単位数量と配分#2222に追加される1つの単位数量を示しています。
次に、単位修正取引に対してパブリック単位修正APIをコールする例を示します。この例では、合計単位数量が2から4に増加され、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 unit adj 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.
--
-- NOTE: you can add to existing, subtract from existing,
-- add new, or a combination of these
-- Option 1 - Impacts to existing distributions
l_asset_dist_tbl(1).transaction_units := &trx_units
-- Option 1a - known dist id
l_asset_dist_tbl(1).distribution_id := &existing_dist_id
-- or
-- Option 1b - Existing distribution - known dist attributes
l_asset_dist_tbl(1).assigned_to := &existing_assigned_to
l_asset_dist_tbl(1).expense_ccid := &existing_epense_ccid
l_asset_dist_tbl(1).location_ccid := &existing_location_id
-- and/or
-- Option 2 - Completely new Distributions
-- 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_expense_ccid
l_asset_dist_tbl(2).location_ccid := &new_location_id
FA_UNIT_ADJ_PUB.do_unit_adjustment(
-- 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;
/