Oracle Assets Retirement Details API

This appendix covers the following topics:

Introduction

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 Retirement Details API allows you to change certain details of an existing retirement regardless of interface.

Alternate Ledger Currency

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.

Passing Null Values

You must pass special values in order to null the values of BONUS_RULE, CEILING_NAME, or GROUP_ASSET_ID. If you pass a NULL value directly for these values, the API will automatically default to the value setup for the category. The following table shows the value that must be passed for the field value to be NULL.

Field Value to Pass for NULL Field
BONUS_RULE FND_API.G_MISS_CHAR
CEILING_NAME FND_API.G_MISS_CHAR
GROUP_ASSET_ID FND_API.G_MISS_NUM

Related Topics

Retirement Details API Description

Sample Script: Using the Retirement Details API

Retirement Details API Description

The Retirement Details API procedure is called: FA_ASSET_DESC_PUB.UPDATE_RETIREMENT_DESC().

The following table provides the arguments, types, value, and descriptions of the elements of the FA_ASSET_DESC_PUB.UPDATE_RETIREMENT_DESC() procedure.

Each argument has a prefix of P, X, or PX. These prefixes mean the following:

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 calling the API
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_RETIRE_REC_NEW FA_API_TYPES.ASSET_RETIRE_REC_TYPE    

TRANS_REC_TYPE Transaction Structure

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_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.
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 column.

ASSET_HDR_REC_TYPE Asset Structure

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 Required VARCHAR2(15) Book name.

ASSET_RETIRE_REC_TYPE Asset Structure

The ASSET_RETIRE_REC_TYPE asset structure contains the public retirement information of a given asset when it is retired. The following table shows type and value information for each argument.

Argument Required / Optional Type Value
RETIREMENT_ID Required NUMBER(15) Retirement identification number. Optional OUT parameter.
PROCEEDS_OF_SALE Required NUMBER Proceeds from the sale of the asset.
COST_OF_REMOVAL Required NUMBER Cost of removing the asset.
RETIREMENT_TYPE_CODE Optional VARCHAR2(15) Retirement type.
RETIREMENT_PRORATE_ CONVENTION Required VARCHAR2(10) Prorate format of the retirement. For example, MID - MONTH.
SOLD_TO Optional VARCHAR2(30) Buyer of the asset.
TRADE_IN_ASSET_ID Optional NUMBER(15) Asset identification number of the new asset for which this asset was traded for.
REFERENCE_NUM Optional VARCHAR2(15) Reference number.
DESC_FLEX Optional DESC_FLEX_ REC_TYPE Retirement descriptive flexfield information.
STL_METHOD_CODE Optional    
STL_LIFE_IN_MONTHS Optional    

Sample Script: Using the Retirement Details API

set serveroutput on;
declare
l_return_status VARCHAR2(100);
l_mesg_count NUMBER:= 0;
l_mesg VARCHAR2(4000);
l_trans_rec FA_API_TYPES.trans_rec_type;
l_asset_hdr_rec FA_API_TYPES.asset_hdr_rec_type;
l_asset_retire_rec FA_API_TYPES.asset_retire_rec_type;

begin

fnd_profile.put('PRINT_DEBUG', 'Y');

dbms_output.enable(1000000);

FA_SRVR_MSG.Init_Server_Message;
FA_DEBUG_PKG.Initialize;

-- Asset header info
l_asset_hdr_rec.asset_id := &asset_id;
l_asset_hdr_rec.book_type_code := '&book_type_code';

-- Retirement description info
l_asset_retire_rec.retirement_id := &retirement_id;
l_asset_retire_rec.cost_of_removal := &cost_of_removal;
l_asset_retire_rec.proceeds_of_sale := &proceeds_of_sale;
--l_asset_retire_rec.retirement_prorate_convention := '&retirement_prorate_convention';

FA_ASSET_DESC_PUB.update_retirement_desc(
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,
px_trans_rec => l_trans_rec,
px_asset_hdr_rec => l_asset_hdr_rec,
px_asset_retire_rec_new => l_asset_retire_rec);

--dump messages

dbms_output.put_line(l_return_status);
if (l_return_status <> FND_API.G_RET_STS_SUCCESS) then
fa_debug_pkg.dump_debug_messages(max_mesgs=>0);
l_mesg_count := fnd_msg_pub.count_msg;
if l_mesg_count > 0 then
l_mesg := substr(fnd_msg_pub.get(fnd_msg_pub.G_FIRST, fnd_api.G_FALSE), 1, 512);
dbms_output.put_line(substr(l_mesg,1, 255));
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, 512);
dbms_output.put_line(substr(l_mesg, 1, 255));
end loop;
fnd_msg_pub.delete_msg();
end if;
else
dbms_output.put_line('SUCCESS');
dbms_output.put_line('RETIREMENT_ID ' ||
to_char(l_asset_retire_rec.retirement_id));
dbms_output.put_line('BOOK_TYPE_CODE ' ||
l_asset_hdr_rec.book_type_code);
end if;
end;
/