Oracle EBS R12.1 FA 批量计划外折旧
    		       		warning:
    		            这篇文章距离上次修改已过420天,其中的内容可能已经有所变动。
    		        
        		                
                在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的方式来运行。
评论已关闭