在资产工作台上可以进行单个资产的计划外折旧,如果进行批量计划外折旧的话就需要进行开发客户化form或者webadi 进行数据上载后调用FA 标准API了
以下是标准API的demo示例
DECLAREl_trans_rec FA_API_TYPES.trans_rec_type;
l_asset_hdr_rec FA_API_TYPES.asset_hdr_rec_type;
l_unplanned_deprn_rec FA_API_TYPES.unplanned_deprn_rec_type;l_return_status VARCHAR2(1);
l_mesg_count NUMBER;
l_mesg VARCHAR2(4000);BEGINfnd_global.apps_initialize(user_id => 3993, resp_id => 50890, resp_appl_id => 140);/*mo_global.init('FA');*/dbms_output.enable(1000000);FA_SRVR_MSG.Init_Server_Message;FOR i IN (SELECT fdp.book_type_code, xal.code_combination_id, fa.asset_idFROM FA_ADDITIONS_B fa,FA_DEPRN_DETAIL fdd,FA_DEPRN_PERIODS fdp,XLA_TRANSACTION_ENTITIES xte,xla_events xe,XLA_AE_HEADERS xah,XLA_AE_LINES xalWHERE fa.asset_id IN ( /*100023390, 100023389*/ 100023777)AND fa.ASSET_ID = fdd.ASSET_IDAND xte.SOURCE_ID_INT_1 = fdd.ASSET_IDAND xte.SOURCE_ID_CHAR_1 = fdd.BOOK_TYPE_CODE AND xte.SOURCE_ID_INT_2 = fdd.PERIOD_COUNTER AND xte.SOURCE_ID_INT_3 = fdd.DEPRN_RUN_ID AND fdp.BOOK_TYPE_CODE = fdd.BOOK_TYPE_CODE AND fdp.PERIOD_COUNTER = fdd.PERIOD_COUNTER AND xte.ENTITY_ID = xe.ENTITY_ID AND xah.EVENT_ID = xe.EVENT_ID AND xah.AE_HEADER_ID = xal.AE_HEADER_ID AND xal.accounting_class_code = 'EXPENSE' AND xah.ledger_id = 2022 AND xah.period_name = '2022-10') LOOP l_asset_hdr_rec.asset_id := i.asset_id; l_asset_hdr_rec.book_type_code := i.book_type_code; l_unplanned_deprn_rec.code_combination_id := i.code_combination_id;l_unplanned_deprn_rec.unplanned_amount := 99; l_trans_rec.transaction_subtype := 'AMORTIZED'; /*参数l_trans_rec.transaction_subtype 需要注意,官方说明文档上说是可选项,但是如果为空得话,前提得是没有进行过减值调整。如果进行过减值调整必须是 AMORTIZED ,不然会报“您不能对已摊销调整的资产进行调整。请摊销此调整。”这样的错误*//*l_unplanned_deprn_rec.unplanned_type := 'UNPLAN';*/FA_UNPLANNED_PUB.do_unplanned( -- 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,p_unplanned_deprn_rec => l_unplanned_deprn_rec);dbms_output.put_line('资产' || i.asset_id || '运行信息如下:');--dump messagesl_mesg_count := fnd_msg_pub.count_msg;IF l_mesg_count > 0 THENl_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)LOOPl_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) THENdbms_output.put_line('FAILURE'); rollback; ELSE dbms_output.put_line('SUCCESS'); dbms_output.put_line('THID' || to_char(l_trans_rec.transaction_header_id));dbms_output.put_line('ASSET_ID' || to_char(l_asset_hdr_rec.asset_id));commit; END IF; END LOOP; END;
/
手工进行计划外折旧时,还有一个【从当前期间摊销】 的复选框。
当复选款选上时,当期及后期折旧计算方式:(当前净值-当前计划外折旧)/剩余寿命
当复选框不选时,当期及后期折旧及时方式:折旧金额维持不变,但是折旧寿命会变少,并且最后一期金额也会变少。
以下资料是对该复选框的说明:
https://blog.itpub.net/15218514/viewspace-674713/
或者 Oracle 官方文档 【Unplanned Depreciation in Oracle Assets (Doc ID 114298.1)】