Oracle EBS R12.1 FA 批量计划外折旧
在Oracle EBS R12.1 FA中,批量计划外折旧通常涉及到使用FA_ADJUSTMENT_PUB.do_create
过程来创建折旧调整条目,并使用FA_DEPRN_BATCH_PUB.do_generate
过程来生成对应的折旧账款。以下是一个PL/SQL代码示例,展示了如何批量创建计划外折旧:
DECLARE
v_adjustment_id NUMBER;
BEGIN
FOR r IN (SELECT asset_id, amount FROM your_external_writeoff_table) LOOP
FA_ADJUSTMENT_PUB.do_create (
p_api_version_number => 1.0,
p_init_msg_list => FND_API.G_FALSE,
p_enable_logging => FND_API.G_FALSE,
p_commit => FND_API.G_FALSE,
x_return_status => NULL,
x_msg_count => NULL,
x_msg_data => NULL,
p_adjustment_type => 'DEPRN', -- 调整类型为折旧
p_book_type => 'ORIGINAL', -- 原始簿
p_transaction_date => SYSDATE, -- 交易日期
p_period_name => 'YOUR_PERIOD_NAME', -- 会计期间名称
p_description => 'Calculated Depreciation Write-Off', -- 描述
p_reference_code => 'WRITEOFF', -- 参考代码
p_reference_date => SYSDATE, -- 参考日期
p_reference_id => NULL, -- 参考ID
p_asset_id => r.asset_id, -- 资产ID
p_amount => r.amount, -- 调整金额
p_currency_code => 'USD', -- 货币代码
p_global_gl_code => 'Your_Global_GL_Code', -- 全局总账代码
p_location_id => NULL, -- 位置ID
p_department_id => NULL, -- 部门ID
p_project_id => NULL, -- 项目ID
p_task_id => NULL, -- 任务ID
p_class_id => NULL, -- 类别ID
p_subclass_id => NULL, -- 子类别ID
p_adjustment_id => v_adjustment_id -- 输出调整ID
);
-- 生成折旧账款
FA_DEPRN_BATCH_PUB.do_generate (
p_api_version_number => 1.0,
p_init_msg_list => FND_API.G_FALSE,
p_enable_logging => FND_API.G_FALSE,
p_commit => FND_API.G_TRUE,
x_return_status => NULL,
x_msg_count => NULL,
x_msg_data => NULL,
p_adjustment_id => v_adjustment_id
);
END LOOP;
END;
请注意,这个代码示例假定你已经有一个包含要折旧的资产ID和金额的表your_external_writeoff_table
。你需要替换YOUR_PERIOD_NAME
, Your_Global_GL_Code
以及其他相关参数来匹配你的环境配置。此外,这段代码应该在Oracle EBS环境中以适当的权限执行,通常是作为一个批处理作业或者通过调用API的方式来运行。
评论已关闭