ヘッダーをスキップ

Oracle Assetsユーザー・ガイド
リリース12
E06049-01
目次へ
目次
前のページへ
前へ
次のページへ
次へ

Oracle Assetsの除・売却および再稼働API

この付録では、次のトピックについて説明します。

はじめに

Oracle Assetsの既存のインタフェースとの併用が困難なカスタム・インタフェースを設定している場合は、このAPIを使用できます。除・売却および再稼働APIでは、FA_RETIREMENT_PUB.DO_RETIREMENT ()、FA_RETIREMENT_PUB.UNDO_RETIREMENT ()、FA_RETIREMENT_PUB.DO_REINSTATEMENT ()およびFA_RETIREMENT_PUB.UNDO_REINSTATEMENT ()の各モジュールが使用されます。Oracle Assetsの既存の資産除・売却インタフェースとの併用が困難なカスタム・インタフェースを設定している場合は、このAPIを使用できます。

Oracle Assetsでは、次の方法のいずれかを使用して資産を除・売却および再稼働することもできます。

代替元帳通貨

代替元帳通貨を設定している場合は、Oracle Assets APIを使用して資産を追加または変更すると、その取引はAPIによって報告通貨に自動的にコピーされます。請求書端数処理の問題は、APIを使用して、元帳通貨と報告通貨の両方に対して代替元帳通貨会計処理を実行することで回避されます。

建設仮勘定

税務台帳の「資産台帳管理」ウィンドウで「建設仮勘定資産の許可」チェック・ボックスを選択している場合は、追加APIを使用して建設仮勘定資産を追加すると、その建設仮勘定資産が税務台帳に自動的に追加され、同時に会計用資産台帳にも追加されます。

モジュール: FA_RETIREMENT_PUB.DO_RETIREMENT ()

除・売却取引を実行するには、このAPIを次に示すAPIのパラメータを使用してコールします。

関連項目

除・売却APIの摘要

サンプル・スクリプト: 全部除・売却

除・売却APIの摘要

除・売却APIプロシージャは、FA_RETIREMENT_PUB.DO_RETIREMENT ()と呼ばれます。

次の表に、FA_RETIREMENT_PUB.DO_RETIREMENTプロシージャの各要素の引数、型、値および説明を示します。

各引数には、P、XまたはPXのプリフィクスが付加されます。それぞれの意味は、次のとおりです。

引数 説明
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_DIST_TRANS_REC FA_API_TYPES. DIST_TRANS_REC_ TYPE   追加される資産の一意の識別子。
PX_ASSET_HDR_REC FA_API_TYPES. ASSET_HDR_REC_ TYPE   資産の一意の識別子。
PX_ASSET_RETIRE_REC FA_API_TYPES. ASSET_RETIRE_ REC_TYPE    
P_ASSET_DIST_TBL FA_API_TYPES. ASSET_DIST_TBL_ TYPE   資産の配分情報。部分除・売却の場合のみ必須です。
P_SUBCOMP_TBL FA_API_TYPES. SUBCOMP_TBL_ TYPE    
P_INV_TBL FA_API_TYPES. INV_TBL_TYPE   資産の請求書。

TRANS_REC_TYPE取引体系

TRANS_REC_TYPE取引体系には、取引ヘッダーIDや取引タイプ・コードなど、取引に関する情報が記載されています。次の表に、各引数の型と値の情報を示します。

引数 必須/オプション
TRANSACTION_HEADER_ ID 内部使用のみ NUMBER(15) オプションのOUTパラメータ。
TRANSACTION_DATE_ ENTERED オプション DATE 事業供用日にデフォルト設定されます。
TRANSACTION_NAME オプション VARCHAR2(20) 取引の摘要。このフィールドは、資産ワークベンチの「注釈」フィールドです。
MASS_REFERENCE_ID オプション NUMBER(15) 取引を起動したコンカレント要求を識別します(一括取引の一部の場合)。
CALLING_INTERFACE オプション VARCHAR2(30) CUSTOMにデフォルト設定されます。
WHO_INFO 必須 STANDARD_ WHO_REC_ TYPE 標準WHO列。

ASSET_HDR_REC_TYPE資産体系

ASSET_HDR_REC_TYPE資産体系には、資産IDや台帳タイプ・コードなど、特定の資産に関する一意の識別情報が記載されています。次の表に、各引数の型と値の情報を示します。

引数 必須/オプション
ASSET_ID 必須 NUMBER(15) 資産識別番号。
BOOK_TYPE_CODE 必須 VARCHAR2(15) 台帳名。

ASSET_RETIRE_REC_TYPE資産体系

ASSET_RETIRE_REC_TYPE資産体系には、特定の資産が除・売却された場合の公開除・売却情報が記載されています。次の表に、各引数の型と値の情報を示します。

引数 必須/オプション
RETIREMENT_ID 内部使用のみ NUMBER(15) 除・売却識別番号。オプションのOUTパラメータです。
RETIREMENT_PRORATE_ CONVENTION 必須 VARCHAR2(10) 除・売却の按分形式。例: MID-MONTH。
DATE_RETIRED オプション DATE 除・売却の発生日。デフォルトは現行期間です。
UNITS_RETIRED 条件により必須 NUMBER 除・売却の単位数。units_retiredまたはcost_retiredのいずれかを指定する必要があります。
COST_RETIRED 条件により必須 NUMBER 除・売却取得価額。units_retiredまたはcost_retiredのいずれかを指定する必要があります。
PROCEEDS_OF_SALE 必須 NUMBER 資産売却による売上代金。
COST_OF_REMOVAL 必須 NUMBER 資産の削除コスト。
RETIREMENT_TYPE_CODE オプション VARCHAR2(15) 除・売却タイプ。
TRADE_IN_ASSET_ID オプション NUMBER(15) この資産と交換された新規資産の資産識別番号。
SOLD_TO オプション VARCHAR2(30) 資産の購買者。
REFERENCE_NUM オプション VARCHAR2(15) 参照番号。
CALCULATE_GAIN_LOSS オプション VARCHAR2(1) 損益の即時計算(FND_API.G_TRUEまたはFND_API.G_FALSE)。
DESC_FLEX オプション DESC_FLEX_ REC_TYPE 除・売却の付加フレックスフィールド情報。
RESERVE_RETIRED オプション NUMBER グループ資産に対して、CALCULATE追跡方法も、「グループに対するメンバー資産減価償却合計」オプションも選択されておらず、「損益の認識」オプションが「Yes」に設定されている状況で、メンバー資産を除・売却した場合の償却累計額です。
EOFY_RESERVE オプション NUMBER 会計年度末の償却累計額から控除される償却累計額。一部のFLAT-NBV方法に対する新規減価償却基準を計算するために使用されます。

ASSET_DIST_REC_TYPE資産体系

ASSET_DIST_REC_TYPE資産体系には、単一の振替元または振替先の配分明細が記載されています。単一の振替取引を構成するすべてのASSET_DIST_REC_TYPEレコードは、ASSET_DIST_TBL表に格納されています。各振替取引には、少なくとも1つの振替元明細と1つの振替先明細が必要です。次の表に、各引数の型と値の情報を示します。

引数 必須/オプション
DISTRIBUTION_ID 必須 NUMBER(15) 一意の配分識別番号。
TRANSACTION_UNITS 必須 NUMBER 取引に関連する単位数。
TRANSACTION_HEADER_ ID 内部使用のみ NUMBER(15) オプションのOUTパラメータ。
TRANSACTION_NAME オプション VARCHAR2(20) 取引の摘要。このフィールドは、資産ワークベンチの「注釈」フィールドです。
DESC_FLEX オプション DESC_FLEX_ REC この体系は、必要に応じて部分除・売却に移入する必要があります。

モジュール: FA_RETIREMENT_PUB.UNDO_RETIREMENT ()

以前の除・売却取引を取り消すには、次に示すAPIのパラメータを使用して、このAPIをコールします。

関連項目

除・売却取消APIの摘要

サンプル・スクリプト: 除・売却取消

除・売却取消APIの摘要

除・売却取消APIプロシージャは、FA_RETIREMENT_PUB.UNDO_RETIREMENT ()と呼ばれます。

次の表に、FA_RETIREMENT_PUB.UNDO_RETIREMENTプロシージャの各要素の引数、型、値および説明を示します。

各引数には、P、XまたはPXのプリフィクスが付加されます。それぞれの意味は、次のとおりです。

引数 説明
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_RETIRE_REC FA_API_TYPES. ASSET_RETIRE_ REC_TYPE    

TRANS_REC_TYPE取引体系

TRANS_REC_TYPE取引体系には、取引ヘッダーIDや取引タイプ・コードなど、取引に関する情報が記載されています。次の表に、各引数の型と値の情報を示します。

引数 必須/オプション
WHO_INFO 必須 STANDARD_ WHO_REC_ TYPE 標準WHO列。

ASSET_RETIRE_REC_TYPE資産体系

ASSET_RETIRE_REC_TYPE資産体系には、特定の資産が除・売却された場合の公開除・売却情報が記載されています。次の表に、各引数の型と値の情報を示します。

引数 必須/オプション
RETIREMENT_ID 必須 NUMBER(15) 除・売却識別番号。必須のINパラメータです。

モジュール: FA_RETIREMENT_PUB.DO_REINSTATEMENT ()

再稼働取引を実行するには、次に示すAPIのパラメータを使用して、このAPIをコールします。

関連項目

再稼働APIの摘要

サンプル・スクリプト: 再稼働

再稼働APIの摘要

再稼働APIプロシージャは、FA_RETIREMENT_PUB.DO_REINSTATEMENT ()と呼ばれます。

次の表に、FA_RETIREMENT_PUB.DO_REINSTATEMENTプロシージャの各要素の引数、型、値および説明を示します。

各引数には、P、XまたはPXのプリフィクスが付加されます。それぞれの意味は、次のとおりです。

引数 説明
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_RETIRE_REC FA_API_TYPES. ASSET_RETIRE_ REC_TYPE    
P_ASSET_DIST_TBL FA_API_TYPES. ASSET_DIST_TBL_ TYPE   資産の配分情報。部分除・売却の場合は必須です。
P_SUBCOMP_TBL FA_API_TYPES. SUBCOMP_TBL_ TYPE    
P_INV_TBL FA_API_TYPES. INV_TBL_TYPE   資産の請求書。

TRANS_REC_TYPE取引体系

TRANS_REC_TYPE取引体系には、取引ヘッダーIDや取引タイプ・コードなど、取引に関する情報が記載されています。次の表に、各引数の型と値の情報を示します。

引数 必須/オプション
TRANSACTION_HEADER_ ID 内部使用のみ NUMBER(15) オプションのOUTパラメータ。
TRANSACTION_NAME オプション VARCHAR2(20) 取引の摘要。このフィールドは、資産ワークベンチの「注釈」フィールドです。
MASS_REFERENCE_ID オプション NUMBER(15) 取引を起動したコンカレント要求を識別します(一括取引の一部の場合)。
CALLING_INTERFACE オプション VARCHAR2(30) CUSTOMにデフォルト設定されます。
WHO_INFO 必須 STANDARD_ WHO_REC_ TYPE 標準WHO列。
DESC_FLEX オプション DESC_FLEX_ REC_ TYPE 付加フレックスフィールド・セグメント。

ASSET_RETIRE_REC_TYPE資産体系

ASSET_RETIRE_REC_TYPE資産体系には、特定の資産が除・売却された場合の公開除・売却情報が記載されています。次の表に、各引数の型と値の情報を示します。

引数 必須/オプション
RETIREMENT_ID 必須 NUMBER(15) 除・売却識別番号。必須のINパラメータです。

モジュール: FA_RETIREMENT_PUB.UNDO_REINSTATEMENT ()

以前の再稼働取引を取り消すには、次に示すAPIのパラメータを使用して、このAPIをコールします。

関連項目

再稼働取消APIの摘要

サンプル・スクリプト: 再稼働取消

再稼働取消APIの摘要

再稼働取消APIプロシージャは、FA_RETIREMENT_PUB.UNDO_REINSTATEMENT ()と呼ばれます。

次の表に、FA_RETIREMENT_PUB.UNDO_REINSTATEMENTプロシージャの各要素の引数、型、値および説明を示します。

各引数には、P、XまたはPXのプリフィクスが付加されます。それぞれの意味は、次のとおりです。

引数 説明
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_RETIRE_REC FA_API_TYPES. ASSET_RETIRE_ REC_TYPE    

TRANS_REC_TYPE取引体系

TRANS_REC_TYPE取引体系には、取引ヘッダーIDや取引タイプ・コードなど、取引に関する情報が記載されています。次の表に、各引数の型と値の情報を示します。

引数 必須/オプション
WHO_INFO 必須 STANDARD_ WHO_REC 標準WHO列。

ASSET_RETIRE_REC_TYPE資産体系

ASSET_RETIRE_REC_TYPE資産体系には、特定の資産が除・売却された場合の公開除・売却情報が記載されています。次の表に、各引数の型と値の情報を示します。

引数 必須/オプション
RETIREMENT_ID 必須 NUMBER(15) 除・売却識別番号。必須のINパラメータです。

除・売却、再稼働および取引取消のサンプル・スクリプト

この項では、例として、次の除・売却関連取引タイプのサンプル・ドライバ・スクリプトを示します。

次の取引には、Retirement_IDをパラメータとして指定する必要があります。

サンプル・スクリプト: 全部除・売却

set serveroutput on;



declare



   l_trans_rec                FA_API_TYPES.trans_rec_type;

   l_dist_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;

   l_asset_dist_tbl           FA_API_TYPES.asset_dist_tbl_type;

   l_subcomp_tbl              FA_API_TYPES.subcomp_tbl_type;

   l_inv_tbl                  FA_API_TYPES.inv_tbl_type;



   l_return_status            VARCHAR2(1);

   l_mesg_count               number;

   l_mesg                     varchar2(4000);



begin



   dbms_output.enable(1000000);



   FA_SRVR_MSG.Init_Server_Message;



   -- Get standard who info

   l_asset_hdr_rec.asset_id               := &asset_id

   l_asset_hdr_rec.book_type_code         := '&book_type_code';



   l_asset_retire_rec.cost_retired        := &cost 

   l_asset_retire_rec.calculate_gain_loss := FND_API.G_FALSE;



   FA_RETIREMENT_PUB.do_retirement(

           -- 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_dist_trans_rec     => l_dist_trans_rec,

           px_asset_hdr_rec      => l_asset_hdr_rec,

           px_asset_retire_rec   => l_asset_retire_rec,

           p_asset_dist_tbl      => l_asset_dist_tbl,

           p_subcomp_tbl         => l_subcomp_tbl,

           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

      dbms_output.put_line('FAILURE');

      rollback;

   else

      dbms_output.put_line('SUCCESS');

      dbms_output.put_line('RETIREMENT_ID' || to_char(l_asset_retire_rec.retirement_id));

   end if;



end;

/



サンプル・スクリプト: 部分除・売却

部分除・売却取引では、APIユーザーがAPIに除・売却する資産の配分を指定する必要があります。

set serveroutput on;



declare



   l_trans_rec                FA_API_TYPES.trans_rec_type;

   l_dist_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;

   l_asset_dist_tbl           FA_API_TYPES.asset_dist_tbl_type;

   l_subcomp_tbl              FA_API_TYPES.subcomp_tbl_type;

   l_inv_tbl                  FA_API_TYPES.inv_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;



   l_asset_hdr_rec.asset_id                         := &asset_id

   l_asset_hdr_rec.book_type_code                   := '&book';



   l_asset_retire_rec.units_retired                 := &total_units_to_retire

   l_asset_retire_rec.calculate_gain_loss           := FND_API.G_FALSE;



   l_asset_dist_tbl.delete;



   l_asset_dist_tbl(1).distribution_id             := &dist_id

   l_asset_dist_tbl(1).transaction_units           := &units_to_retire

   l_asset_dist_tbl(1).units_assigned              := null;

   l_asset_dist_tbl(1).assigned_to                 := null;

   l_asset_dist_tbl(1).expense_ccid                := null;

   l_asset_dist_tbl(1).location_ccid               := null;



   -- optionally load additional rows into dist table (2,3..)



   FA_RETIREMENT_PUB.do_retirement(

           -- 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_dist_trans_rec     => l_dist_trans_rec,

           px_asset_hdr_rec      => l_asset_hdr_rec,

           px_asset_retire_rec   => l_asset_retire_rec,

           p_asset_dist_tbl      => l_asset_dist_tbl,

           p_subcomp_tbl         => l_subcomp_tbl,

           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

      dbms_output.put_line('FAILURE');

   else

      dbms_output.put_line('SUCCESS');

      dbms_output.put_line('RETIREMENT_ID' || to_char(l_asset_retire_rec.retirement_id));

   end if;



end;

/



サンプル・スクリプト: 再稼働

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_retire_rec         FA_API_TYPES.asset_retire_rec_type;

   l_asset_dist_tbl           FA_API_TYPES.asset_dist_tbl_type;

   l_subcomp_tbl              FA_API_TYPES.subcomp_tbl_type;

   l_inv_tbl                  FA_API_TYPES.inv_tbl_type;



   l_count                    number;



   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_retire_rec.retirement_id       := &retirement_id

   l_asset_retire_rec.calculate_gain_loss := FND_API.G_FALSE;



   FA_RETIREMENT_PUB.do_reinstatement(

           -- 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_retire_rec   => l_asset_retire_rec,

           p_asset_dist_tbl      => l_asset_dist_tbl,

           p_subcomp_tbl         => l_subcomp_tbl,

           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

      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;

/



サンプル・スクリプト: 除・売却取消

set serveroutput on;



declare



   /* define local record types */

   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;

   l_asset_dist_tbl           FA_API_TYPES.asset_dist_tbl_type;

   l_subcomp_tbl              FA_API_TYPES.subcomp_tbl_type;

   l_inv_tbl                  FA_API_TYPES.inv_tbl_type;



   l_return_status            varchar2(1) := FND_API.G_FALSE;

   l_mesg_count               number := 0; 

   l_mesg                     varchar2(512); 



begin



   dbms_output.enable(1000000);



   fa_srvr_msg.init_server_message;



   l_asset_retire_rec.retirement_id  := &retirement_id

   

   FA_RETIREMENT_PUB.undo_retirement(

           -- 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_retire_rec       => l_asset_retire_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('RETIREMENT_ID' || to_char(l_asset_retire_rec.retirement_id));

   end if;





end;

/

サンプル・スクリプト: 再稼働取消

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_retire_rec         FA_API_TYPES.asset_retire_rec_type;

   l_asset_dist_tbl           FA_API_TYPES.asset_dist_tbl_type;

   l_subcomp_tbl              FA_API_TYPES.subcomp_tbl_type;

   l_inv_tbl                  FA_API_TYPES.inv_tbl_type;



   l_return_status            varchar2(1) := FND_API.G_FALSE;

   l_mesg_count               number := 0; 

   l_mesg                     varchar2(512); 



begin



   dbms_output.enable(1000000);



   fa_srvr_msg.init_server_message;



   l_asset_retire_rec.retirement_id  := &retirement_id

   

   FA_RETIREMENT_PUB.undo_reinstatement(

           -- 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_retire_rec         => l_asset_retire_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('RETIREMENT_ID' || to_char(l_asset_retire_rec.retirement_id));

   end if;





end;

/