Oracle Assets User Guide Release 12.1 Part Number E13586-04 | Contents | Previous | Next |
This appendix covers the following topics:
You can use this API if you have a custom interface that makes it difficult to use with the existing interfaces in Oracle Assets. The Common Invoice Transfer API allows you to transfer source lines, streamline the code and prevent code duplication.
If you have set up alternate ledger currency , when you add or modify assets using an Oracle Assets API, the API copies the transactions to the reporting currencies automatically. Invoice rounding issues are avoided by using the API to drive the alternate ledger currency accounting for both the ledger and reporting currencies.
If you have checked the Allow CIP Assets check box on the Book Controls window of a tax book, when you add CIP assets using the Additions API, the API automatically adds those CIP assets to that tax book at the same time that they are added to the corporate book.
Related Topics
Common Invoice Transfer API Description
Sample Script: Using the Invoice Transfer API
The Common Invoice Transfer API procedure is called the FA_INV_XFR_PUB.DO_TRANSFER () procedure. The following table provides the arguments, types, value, and descriptions of the elements of the FA_INV_XFR_PUB.DO_TRANSFER () procedure.
Each argument has a prefix of P, X, or PX. These prefixes mean the following:
P - indicates an In argument
X - indicates an Out argument
PX - indicates an argument that is both In and Out
Argument | Type | Value | Description |
---|---|---|---|
P_API_VERSION | NUMBER | Internal use only | Version of the API in use. |
P_INIT_MSG_LIST | VARCHAR2(1) | FND_API.G_TRUE - Initialize the message stack. FND_API.G_FALSE - Do not initialize the message stack (Default) | Determines whether the messages stack should be initialized and cleared. |
P_COMMIT | VARCHAR2(1) | FND_API.G_TRUE - Commit automatically. FND_API.G_FALSE - Do not commit automatically (Default) | Commits the transaction. |
P_VALIDATION_LEVEL | NUMBER | FND_API.G_VALID_ LEVEL_NONE - Low level validation for a transaction. FND_API.G_VALID_ LEVEL_FULL - High level validation for a transaction (Default). | Asset validation by the API. |
X_RETURN_STATUS | VARCHAR2(1) | FND_API.G_RET_STS_ SUCCESS - Indicates a success. FND_API.G_RET_STS_ ERROR - Indicates a failed transaction. FND_API.G_RET_STS_ UNEXP_ERROR - Indicates an unexpected error. | Determines the API success. |
X_MSG_COUNT | NUMBER | Number of messages on the message stack. | |
X_MSG_DATA | VARCHAR2(1024) | Message stack. | |
P_CALLING_FN | VARCHAR2(30) | Function that calls the API | |
PX_SRC_TRANS_REC | FA_API_TYPES.TRANS_REC_TYPE | Describes the transaction taking place. | |
PX_SRC_ASSET_HDR_REC | FA_API_TYPES.ASSET_HDR_REC_TYPE | Unique identifiers of the assets. | |
PX_DEST_TRANS_REC | FA_API_TYPES.TRANS_REC_TYPE | Describes the transaction taking place. | |
PX_DEST_ASSET_HDR_REC | FA_API_TYPES.ASSET_HDR_REC_TYPE | Unique identifiers for the assets. | |
P_INV_TBL | FA_API_TYPES. INV_TBL_TYPE | Invoices for the asset. |
The TRANS_REC_TYPE transaction structure contains information about the transaction, such as the transaction header ID and the transaction type code. The following table shows type and value information for each argument.
Argument | Required / Optional | Type | Value |
---|---|---|---|
TRANSACTION_HEADER_ ID | Internal use only | NUMBER(15) | Optional OUT parameter |
TRANSACTION_DATE_ ENTERED | Optional | DATE | Must be similar to the date placed in service, which it defaults to. |
TRANSACTION_NAME | Optional | VARCHAR2(20) | Description of the transaction. This field is the Comments field in the Asset Workbench. |
MASS_REFERENCE_ID | Optional | NUMBER(15) | Identifies the concurrent request that invokes the transaction if it is part of a mass transaction. |
TRANSACTION_SUBTYPE | Optional | VARCHAR2(9) | Additional information about the transaction type. |
AMORTIZATION_START_DATE | Optional | DATE | Amortization start date. |
CALLING_INTERFACE | Optional | VARCHAR2(30) | Defaults to CUSTOM |
DESC_FLEX | Optional | DESC_FLEX_ REC_ TYPE | Descriptive flexfield segments. |
WHO_INFO | Required | STANDARD_ WHO_REC_ TYPE | Standard Who columns. |
The INV_REC invoice structure contains invoice information for a single invoice associated with an asset. The INV_TBL is a table of INV_REC_TYPE records. These records contain all invoices that have been applied to the asset. The following table shows type and descriptive information for each argument.
Argument | Required / Optional | Type | Value |
---|---|---|---|
FIXED_ASSETS_COST | Required | NUMBER | Cost of asset in Oracle Assets. |
SOURCE_LINE_ID | Required | NUMBER(15) | This is the delta amount for each line you wish to transfer. It must be between 0 and the current cost of the line in question. |
set serveroutput on
declare
-- source
l_src_trans_rec FA_API_TYPES.trans_rec_type;
l_src_asset_hdr_rec FA_API_TYPES.asset_hdr_rec_type;
l_inv_tbl FA_API_TYPES.inv_tbl_type;
l_inv_rec FA_API_TYPES.inv_rec_type;
-- destination
l_dest_trans_rec FA_API_TYPES.trans_rec_type;
l_dest_asset_hdr_rec FA_API_TYPES.asset_hdr_rec_type;
l_return_status varchar2(1);
l_mesg_count number;
l_mesg varchar2(4000);
begin
dbms_output.enable(10000000);
FA_SRVR_MSG.Init_Server_Message;
-- get source / destination info
l_src_asset_hdr_rec.book_type_code := '&book';
l_dest_asset_hdr_rec.book_type_code := l_src_asset_hdr_rec.book_type_code;
l_src_asset_hdr_rec.asset_id := &source_asset_id
l_dest_asset_hdr_rec.asset_id := &destination_asset_id
-- get transaction_info
l_src_trans_rec.transaction_subtype := '&src_transaction_subtype';
l_dest_trans_rec.transaction_subtype := '&dest_transaction_subtype';
l_src_trans_rec.transaction_date_entered := '&src_transaction_date';
l_dest_trans_rec.transaction_date_entered := '&dest_transaction_date';
-- invoice info - source
l_inv_rec.source_line_id := &source_line_id
l_inv_rec.fixed_assets_cost := &delta_cost_to_transfer
-- set up the table for source
l_inv_tbl (1) := l_inv_rec;
-- call for source
FA_INV_XFR_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_src_trans_rec => l_src_trans_rec,
px_src_asset_hdr_rec => l_src_asset_hdr_rec,
px_dest_trans_rec => l_dest_trans_rec,
px_dest_asset_hdr_rec => l_dest_asset_hdr_rec,
p_inv_tbl => l_inv_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
rollback;
dbms_output.put_line('FAILURE');
else
dbms_output.put_line('SUCCESS');
dbms_output.put_line('THID_SRC' || to_char(l_src_trans_rec.transaction_header_id));
dbms_output.put_line('THID_DEST' || to_char(l_dest_trans_rec.transaction_header_id));
end if;
end;
/
Copyright © 1988, 2010, Oracle and/or its affiliates. All rights reserved.