PAC成本更新事务处理


DECLARE
  l_itfs_rec mtl_transactions_interface% ROWTYPE;
BEGIN
  --插入接口表
  SELECT mtl_material_transactions_s.nextval
    INTO l_txn_header_id
    FROM dual;

  v_date                                := p_end_date - 1 || '
06:00:00';
  l_end_date                            := to_date(v_date,
                                                   'dd/mm/yy hh24:mi:ss');
  l_itfs_rec.transaction_header_id      := l_txn_header_id;
  l_itfs_rec.source_code                := 'CUXPACIP';
  l_itfs_rec.source_line_id             := 0;
  l_itfs_rec.source_header_id           := 0;
  l_itfs_rec.process_flag               := 1;
  l_itfs_rec.transaction_mode           := 2;
  l_itfs_rec.validation_required        := 1;
  l_itfs_rec.transaction_type_id        := 26; --固定
  l_itfs_rec.transaction_source_type_id := 14; --固定
  l_itfs_rec.organization_id            := get_mst_organization_id; --主组织
  SELECT cst.cost_type_id
    INTO l_itfs_rec.cost_type_id
    FROM cst_cost_types cst
   WHERE cst.cost_type = 'PAC'; --成本类型PAC
  l_itfs_rec.org_cost_group_id    := l_cost_group_id; --组织成本组
  l_itfs_rec.transaction_date     := l_end_date; --事务处理日期
  l_itfs_rec.inventory_item_id    := rec_i.inventory_item_id;
  l_itfs_rec.transaction_quantity := 0;
  l_itfs_rec.transaction_uom      := 'kg'; --物料主组织单位
  --l_itfs_rec.new_average_cost           := p_new_avg_cst;--新期间成本
  --l_itfs_rec.percentage_change          := p_percent_chage;--更改百分比

  l_value_chage                         := 30;
  l_itfs_rec.value_change               := l_value_chage; --库存值更改
  l_itfs_rec.material_account           := l_ap_accrual_account; --物料账户
  l_itfs_rec.material_overhead_account  := l_ap_accrual_account; --物料间接费用账户
  l_itfs_rec.resource_account           := l_ap_accrual_account; --资源账户
  l_itfs_rec.outside_processing_account := l_ap_accrual_account; --外协加工账户
  l_itfs_rec.overhead_account           := l_ap_accrual_account; --制造费用
  --l_itfs_rec.reason_id                  := p_reason_id;
  --l_itfs_rec.transaction_reference      := p_txn_ref;
  /*    l_itfs_rec.attribute_category    := p_att_cat;
  l_itfs_rec.attribute1            := p_att1;
  l_itfs_rec.attribute2            := p_att2;
  l_itfs_rec.attribute3            := p_att3;
  l_itfs_rec.attribute4            := p_att4;
  l_itfs_rec.attribute5            := p_att5;
  l_itfs_rec.attribute6            := p_att6;
  l_itfs_rec.attribute7            := p_att7;
  l_itfs_rec.attribute8            := p_att8;
  l_itfs_rec.attribute9            := p_att9;
  l_itfs_rec.attribute10           := p_att10;
  l_itfs_rec.attribute11           := p_att11;
  l_itfs_rec.attribute12           := p_att12;
  l_itfs_rec.attribute13           := p_att13;
  l_itfs_rec.attribute14           := p_att14;
  l_itfs_rec.attribute15           := p_att15;*/
  --set who
  l_itfs_rec.created_by             := g_user_id;
  l_itfs_rec.creation_date          := SYSDATE;
  l_itfs_rec.last_updated_by        := g_user_id;
  l_itfs_rec.last_update_date       := SYSDATE;
  l_itfs_rec.last_update_login      := g_login_id;
  l_itfs_rec.request_id             := g_request_id;
  l_itfs_rec.program_id             := g_prog_id;
  l_itfs_rec.program_application_id := g_prog_appl_id;
  l_itfs_rec.program_update_date    := SYSDATE;

  INSERT INTO mtl_transactions_interface VALUES l_itfs_rec;
END LOOP ;
--新增事务处理
IF x_return_status = fnd_api.g_ret_sts_success THEN
  l_api_flag := inv_txn_manager_pub.process_transactions(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,
                                                         x_return_status    => x_return_status,
                                                         x_msg_count        => x_msg_count,
                                                         x_msg_data         => x_msg_data,
                                                         x_trans_count      => l_api_trans_cnt,
                                                         p_table            => 1,
                                                         p_header_id        => l_txn_header_id);
  IF nvl(l_api_flag,
-1 ) <> 0 OR nvl (x_return_status, 'X')
<> 'S' THEN
    fnd_message.set_name( 'FND', 'FND_GENERIC_MESSAGE' );
    fnd_message.set_token( 'MESSAGE', '成本更新失败' );
    fnd_msg_pub.add;
 
    fnd_message.set_name( 'FND', 'FND_GENERIC_MESSAGE' );
    fnd_message.set_token( 'MESSAGE',
                          'x_return_status : ' ||
x_return_status);
    fnd_msg_pub.add;
 
    fnd_message.set_name( 'FND', 'FND_GENERIC_MESSAGE' );
    fnd_message.set_token( 'MESSAGE', 'x_msg_data
: ' || x_msg_data);
    fnd_msg_pub.add;
 
    RAISE fnd_api.g_exc_error;
    --RAISE e_itfs_fail;
  END IF;
END IF ;
END;

EBS-PAC成本更新事务处理的更多相关文章

  1. EBS中OPM成本更新处理流程及对应的表结构、SLA表

    OPM成本更新流程:  1.跑实际成本处理  功能作用:计算成本  2.成本更新        功能作用:更新成本  3.OPM会计预处理程序->活动->提交流程 功能作用:是创建会计事件 ...

  2. 【SD系列】SAP 退货冲账过账成本更新

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[SD系列]SAP 退货冲账过账成本更新   前 ...

  3. 【EBS】取数SQL-平均成本更新的物料事务处理追溯到应付发票

    SELECT hou.name,--组织 aia.invoice_num,--发票编号 msib.segment1,--物料编码 mmt.transaction_id--物料事务处理 FROM mtl ...

  4. Amazon EBS的功能更新

    Amazon EBS(Elastic Block Store.简称EBS) 为 Amazon EC2 实例提供块级存储服务.EBS 卷须要通过网络訪问,而且能独立于实例的生命周期而存在.也就是说假如E ...

  5. 查询物料单位PAC成本

    select cpp.period_name 期间名称, ccga.organization_id 组织ID, ood.ORGANIZATION_CODE 组织代码, OOD.ORGANIZATION ...

  6. Oracle EBS CST 成本请求报错

    (文档 ID 430533.1) When running CMCPAW, Periodic Actual Cost Worker,  an error is received in the logf ...

  7. Oracle EBS OPM 生产批创建事务处理

    --生产批创建事物处理 --created by jenrry DECLARE p_mmti_rec mtl_transactions_interface%ROWTYPE; p_mmli_tbl gm ...

  8. EBS成本核算方法

    业务背景 成本核算方法,对应EBS系统中的成本方法,有四种: 1.标准成本 2.平均成本 平均成本又分为永续平均成本,即 Average Cost 期间平均成本,按照期间(自然月)来计算的平均成本 F ...

  9. Oracle EBS 如何月结、对账[Z]

    在Oracle系统处理月结业务时,需要遵循一定的操作顺序.这些业务,牵涉到相应的模块,包括:应付模块.采购模块.库存模块.应收模块.薪资模块.固定资产和总帐模块等 在Oracle系统中,总帐模块处于财 ...

随机推荐

  1. SPOJ 416 - Divisibility by 15(贪心)

    糟烂的代码啊...  这个题目思路很简单——末位只可能为0和5,所有数字的和肯定被3整除 没有0和5的肯定不行 否则,把所有数字求和 如果被3整除,则从大到小输出 如果除3余1,则按以下顺序——删1: ...

  2. mysql主从监控

    要求:检测myslq从库状态,跳过固定的错误号,每隔30秒检测一次,如果符合条件自动跳过或者是重启从库 1)取出mysql从库的关键字 [root@localhost scripts]# mysql ...

  3. Oracle VM VirtualBox 随系统自动启动虚拟机的方法

    Oracle VM VirtualBox 随系统自动开启虚拟机的方法 @ECHO OFFcd..cd E:cd..cd E:\VirtualBox\start VirtualBox.exe -star ...

  4. AngularJs练习Demo15自定义服务

    @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport&quo ...

  5. 机器学习理论与实战(十)K均值聚类和二分K均值聚类

    接下来就要说下无监督机器学习方法,所谓无监督机器学习前面也说过,就是没有标签的情况,对样本数据进行聚类分析.关联性分析等.主要包括K均值聚类(K-means clustering)和关联分析,这两大类 ...

  6. js获取url的各项参数

    function getQueryStringArgs() { //取得查询字符串并去掉开头的问号 var qs = location.search.length > 0 ? location. ...

  7. C++ 知识点1

    typedef的陷阱 严格来说typedef并不是定义别名,而是定义类型,比如typedef int a;按照大部分书本说来,就是把a看做int,这种说法初学看来是正确的,也易于理解,但是遇到type ...

  8. smarty练习:数据的增删改

    根据数据库中的三张表格:timu,xuanxiang,kemu来进行数据的增删改查,并且使用smarty模版将前端与后台分离开来 三张表格: 主页面后台 main.php: <?php //引入 ...

  9. CFLAGS/CPPFLAGS/CXXFLAGS in Makefile介绍

    先来看一张关于Makefile中的常见预定义变量. CFLAGS 表示用于 C 编译器的选项,CXXFLAGS 表示用于 C++ 编译器的选项.这两个变量实际上涵盖了编译和汇编两个步骤.大多数程序和库 ...

  10. 扩展Log4j支持JNDI数据源

    log4j.properties配置文件: log4j.rootLogger=INFO,db #使用log4j扩展支持JNDI数据源 log4j.appender.db=com.qdgswx.log4 ...