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. chmod

    0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限数字与字符对应关系如下:r=4,w=2,x=1若要rwx属性则4+2+1=7若要rw-属性则4+2=6:若要r-x属性则4+1=5命令: ...

  2. inode-软链接与硬链接

    一.inode是什么?理解inode,要从文件储存说起.文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector).每个扇区储存512字节(相当于0.5KB).操作系统读取硬 ...

  3. new的原理

    先来个构造函数的例子: function Prince(name,age){ this.name=name; this.age=age; } var prince=new Prince("c ...

  4. Oracle 如何让别人能够连接到你的数据库

    Oracle 初步 --Oracle的一些关键字 i和g只是版本的代号,指oracle运用的技术i代表Internet就是互联网技术g代表grid就是网格技术现在出的最新版是c就是cloud也就是云技 ...

  5. plsql编程中游标的使用

    游标(Cursor):用来查询数据库,获取记录集合(结果集)的指针,可以让开发者一次访问一行结果集,在每条结果集上作操作. oracle中显示使用游标一般要包含以下5个步骤: 声明一些变量以便存储从游 ...

  6. Linux 定时执行shell脚本_crontab

    1.查看任务[oracle@XXXXX OracleBackA]$ crontab -l 2.新增任务[oracle@XXXXX OracleBackA]$ crontab -e 3.每天14点40执 ...

  7. IP地址的存储和使用

    ip地址使用int类型存储,用INET_NTOA()和INET_ATON()转换 mysql'),inet_aton('127.0.0.1'); +-------------------------+ ...

  8. 使用Hammer.js的H5页面开发DOM的一些小说法

    前几天,一个小伙伴说叫我帮他写一个移动端上的一个轮播图,个人一般是不接私活的,毕竟平时工作也是单双休,时间也不很多. 可能大部分程序员,多余的时间都是看看新闻,打游戏,或者学习新的知识,缺少运动吧. ...

  9. IIS下 Yii Url重写

    下载URL重写组件 http://www.microsoft.com/zh-cn/download/details.aspx?id=7435 导入官方提供的.htaccess文件 Options +F ...

  10. python比较两个列表

    两个列表,随机产生4个不相等的数,计算一下,相同位置上的元素相等的个数,用k1表示. b列表中的元素在a列表中,但位置不相同,有多少个,用k2表示. 例如: a=[0, 4, 7, 3]b=[7, 1 ...