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 Reclass API uses the FA_RECLASS_PUB.DO_RECLASS() procedure. You can use this API if you have a custom interface that makes it difficult to use with the existing interfaces in Oracle Assets.
Oracle Assets also allows you to reclassify assets using any of the following methods:
Asset Workbench: You can use the Asset Workbench to manually reclassify individual assets.
Mass Change: You can use the Mass Change process to reclassifying groups of assets selected by one or more ranges.
The Reclass API provides the following functionality:
The Reclass API automatically reclassifies assets in all the tax books that are associated with the corporate book where the reclassification originated.
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.
Related Topics
Sample Script: Using the Reclass API
The Reclass API procedure is called: FA_RECLASS_PUB.DO_RECLASS(). The following table provides the arguments, types, value, and descriptions of the elements of the FA_RECLASS_PUB.DO_RECLASS() 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. |
P_CALLING_FN | VARCHAR2(30) | Function calling 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. | |
PX_TRANS_REC | FA_API_TYPES. TRANS_REC_TYPE | Describes the transaction taking place. | |
PX_ASSET_HDR_REC | FA_API_TYPES. ASSET_HDR_ REC_TYPE | Unique identifiers for the assets. | |
PX_ASSET_CAT_ REC_NEW | FA_API_TYPES. ASSET_CAT_REC_ TYPE | Category information of the asset. | |
P_RECLASS_OPT_REC | FA_API_TYPES. RECLASS_OPTIONS_REC_TYPE |
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 the same as the date placed in service, which it defaults to. |
TRANSACTION_SUBTYPE | Optional | VARCHAR2(9) | The values are AMORTIZED or EXPENSED. If null, the value is EXPENSED. If the amortization_start_date is provided, the value is AMORTIZED. |
AMORTIZATION_START_ DATE | Optional | DATE | Defaulted to current open period. |
CALLING_INTERFACE | Optional | VARCHAR2(30) | Defaults to CUSTOM. |
WHO_INFO | Required | STANDARD_ WHO_REC_ TYPE | Standard Who column |
The ASSET_HDR_REC_TYPE asset structure contains unique identification information for a given asset, such as the asset ID and book type code. The following table shows type and value information for each argument.
Argument | Required / Optional | Type | Value |
---|---|---|---|
ASSET_ID | Required | NUMBER(15) | Asset identification number. |
BOOK_TYPE_CODE | Optional | VARCHAR2(15) | Defaults to the corporate book the asset is attached to. |
The ASSET_CAT_REC_NEW_TYPE asset structure contains information about the asset category, such as the category ID and the category descriptive flexfield. The following table shows type and value information for each argument.
Argument | Required / Optional | Type | Value |
---|---|---|---|
CATEGORY_ID | Required | NUMBER(15) | The category ID the asset is reclassed to. |
CATEGORY_DESC_FLEX | Optional | DESC_FLEX_ REC_TYPE | Category descriptive flexfield segments. |
The RECLASS_OPTIONS_REC_TYPE reclassification structure contains reclass options that may be changed during a reclass transaction for a given asset. The following table shows type and value information for each argument.
Argument | Required / Optional | Type | Value |
---|---|---|---|
REDEFAULT_FLAG | Optional | VARCHAR2(3) | Indicates the depreciation rules of the new category must be inherited. (YES/NO) |
COPY_CAT_DESC_FLAG | Optional | VARCHAR2(3) | Indicates whether the category descriptive flexfield information must be copied to the new category for the asset. (YES/NO) |
The following is a test script that shows how to call the FA_RECLASS_PUB.do_reclass. It spools the output to a file called reclass.lst in the directory it is run from.
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_cat_rec_new FA_API_TYPES.asset_cat_rec_type; l_recl_opt_rec FA_API_TYPES.reclass_options_rec_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; l_asset_hdr_rec.asset_id := &asset_id l_asset_cat_rec_new.category_id := &new_category_id l_recl_opt_rec.copy_cat_desc_flag := UPPER(substr('©_category_desc_YES_NO',1,3)); l_recl_opt_rec.redefault_flag := UPPER(substr('&redefault_deprn_rules_YES_NO',1,3)); FA_RECLASS_PUB.do_reclass ( -- 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_cat_rec_new => l_asset_cat_rec_new, p_recl_opt_rec => l_recl_opt_rec ); --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; /