版权声明:本文为博主原创文章。未经博主同意不得转载。 https://blog.csdn.net/gh320/article/details/36666133


新增和更新价目表行

--目的:在已有的价目表头基础上,添加行信息
--限制:该api有些问题。假设强制添加头信息。会有非常多问题,所以该样例仅仅是在已有头信息基础上,添加行信息
--须要手动传參的部分:见凝视
--注意事项:无需模拟登陆
DECLARE
  p_list_header_id          NUMBER(10 );
  p_inventory_item_id       NUMBER(10 );
  p_product_uom_code        VARCHAR2(50 );
  p_primary_uom_flag        VARCHAR2(50 );
  p_operand                 NUMBER(10 );
  p_start_active_date       DATE;
  p_end_active_date         DATE;
  x_return_status           VARCHAR2(10 );
  x_msg_count               NUMBER(10 );
  x_msg_data                VARCHAR2(2000 );
  l_price_list_rec          qp_price_list_pub.price_list_rec_type;
  l_price_list_line_tbl     qp_price_list_pub.price_list_line_tbl_type;
  l_pricing_attr_tbl        qp_price_list_pub.pricing_attr_tbl_type;
  x_price_list_rec          qp_price_list_pub.price_list_rec_type;
  x_price_list_val_rec      qp_price_list_pub.price_list_val_rec_type;
  x_price_list_line_tbl     qp_price_list_pub.price_list_line_tbl_type;
  x_price_list_line_val_tbl qp_price_list_pub.price_list_line_val_tbl_type;
  x_qualifiers_tbl          qp_qualifier_rules_pub.qualifiers_tbl_type;
  x_qualifiers_val_tbl      qp_qualifier_rules_pub.qualifiers_val_tbl_type;
  x_pricing_attr_tbl        qp_price_list_pub.pricing_attr_tbl_type;
  x_pricing_attr_val_tbl    qp_price_list_pub.pricing_attr_val_tbl_type;
BEGIN
  l_price_list_rec.list_header_id := p_list_header_id; -- 业务实体 +  价目表名称  确定
  l_price_list_rec.list_type_code := 'PRL'; --
固定
  l_price_list_rec.operation      := qp_globals.g_opr_update; --固定
  l_price_list_line_tbl( 1).list_header_id
:= p_list_header_id; -- 业务实体 +  价目表名称  确定
  l_price_list_line_tbl( 1).list_line_id
:= fnd_api.g_miss_num;
  l_price_list_line_tbl( 1).list_line_type_code
:= 'PLL' ; -- 固定
  l_price_list_line_tbl( 1).operation
:= qp_globals.g_opr_create; -- 固定
  l_price_list_line_tbl( 1).operand
:= p_operand; -- 值
  l_price_list_line_tbl( 1).arithmetic_operator
:= 'UNIT_PRICE' ; --  固定
  l_price_list_line_tbl( 1).start_date_active
:= p_start_active_date; --  直接传入    起始日期
  l_price_list_line_tbl( 1).end_date_active
:= p_end_active_date; --  直接传入    截止日期
  l_price_list_line_tbl( 1).organization_id
:= NULL ; -- 直接传空
  l_price_list_line_tbl( 1).primary_uom_flag
:= p_primary_uom_flag; --------依据  主要单位  直接传入
  /*  l_price_list_line_tbl(1).end_date_active := '24-12-2013'; --直接传入varchar    截止日期
  */
  l_pricing_attr_tbl( 1).pricing_attribute_id
:= fnd_api.g_miss_num;
  l_pricing_attr_tbl( 1).list_line_id
:= fnd_api.g_miss_num;
  l_pricing_attr_tbl( 1).product_attribute_context
:= 'ITEM' ; -- 固定
  l_pricing_attr_tbl( 1).product_attribute
:= 'PRICING_ATTRIBUTE1' ; --固定
  l_pricing_attr_tbl( 1).product_attr_value
:= p_inventory_item_id; --         传入  inventory_item_id
  l_pricing_attr_tbl( 1).product_uom_code
:= p_product_uom_code; --直接传入 单位
  l_pricing_attr_tbl( 1).excluder_flag
:= 'N' ; -- ?  临时固定
  l_pricing_attr_tbl( 1).attribute_grouping_no
:= 1 ; --固定
  l_pricing_attr_tbl( 1).price_list_line_index
:= 1 ; --固定
  l_pricing_attr_tbl( 1).operation
:= qp_globals.g_opr_create; -- 固定
  qp_price_list_pub.process_price_list(p_api_version_number      => 1,
                                       p_init_msg_list           => fnd_api.g_true,
                                       p_return_values           => fnd_api.g_false,
                                       p_commit                  => fnd_api.g_false,
                                       x_return_status           => x_return_status,
                                       x_msg_count               => x_msg_count,
                                       x_msg_data                => x_msg_data,
                                       p_price_list_rec          => l_price_list_rec,
                                       p_price_list_line_tbl     => l_price_list_line_tbl,
                                       p_pricing_attr_tbl        => l_pricing_attr_tbl,
                                       x_price_list_rec          => x_price_list_rec,
                                       x_price_list_val_rec      => x_price_list_val_rec,
                                       x_price_list_line_tbl     => x_price_list_line_tbl,
                                       x_qualifiers_tbl          => x_qualifiers_tbl,
                                       x_qualifiers_val_tbl      => x_qualifiers_val_tbl,
                                       x_pricing_attr_tbl        => x_pricing_attr_tbl,
                                       x_pricing_attr_val_tbl    => x_pricing_attr_val_tbl,
                                       x_price_list_line_val_tbl => x_price_list_line_val_tbl);
  IF x_return_status = fnd_api.g_ret_sts_success THEN
    dbms_output.put_line( 'x_return_status:' ||
x_return_status);
    dbms_output.put_line( '新增成功');
  ELSE
    dbms_output.put_line( 'x_return_status:' ||
x_return_status);
    dbms_output.put_line( '新增出错');
  END IF;
END;

EBS-新增和更新价目表行的更多相关文章

  1. INSERT INTO .. ON DUPLICATE KEY更新多行记录

    现在问题来了,如果INSERT多行记录, ON DUPLICATE KEY UPDATE后面字段的值怎么指定?要知道一条INSERT语句中只能有一个ON DUPLICATE KEY UPDATE,到底 ...

  2. sharepoint更新多行文本webparth

    前台 <script> function Copy() { var value = document.getElementById("<%=BodyBox.ClientID ...

  3. Java操作属性文件,支持新增或更新多个属性

    Java操作属性文件.支持新增或更新多个属性 一.更新或新增单个属性的方法 /** * 写入properties信息 * @param filePath 绝对路径(包含文件名称和后缀名) * @par ...

  4. MyBatis批量新增和更新

    之前有开发任务一个接口里面有大量的数据新增和更新操作,导致十分缓慢.使用了批量操作之后速度有明显提升,几乎百倍千倍的速度提升. 博主之前统计过,通过普通接口一次数据库插入大概需要200ms,对于大量新 ...

  5. mysql批量新增或者更新

    1.批量更新或者新增 1.单个新增或者更新 keyProperty新增完之后返回Id值

  6. Mybatis入门教程之新增、更新、删除功能_java - JAVA

    文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 上一节说了Mybatis的框架搭建和简单查询,这次我们来说一说用Mybatis进行基本的增删改操作: 一. 插入一条数据 ...

  7. Amazon EBS的功能更新

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

  8. update更新多行数据(oracle)

    转自:http://blog.itpub.net/25322446/viewspace-767505 说明:笔记总结了在工作中遇到过的几种update方法和各种方法适用的范围. 1.单表更新方案:使用 ...

  9. Solr 新增、更新、删除索引

    solr-admin新增索引 [索引中无则新增,有则更新] 1.在doc标签和field标签中增加权重(boost),增加权重后,可以在搜索的时候做权重过滤. <add> <doc ...

随机推荐

  1. 基于 CGLIB 库的动态代理机制

    之前的文章我们详细的介绍了 JDK 自身的 API 所提供的一种动态代理的实现,它的实现相对而言是简单的,但是却有一个非常致命性的缺陷,就是只能为接口中的方法完成代理,而委托类自己的方法或者父类中的方 ...

  2. #6 Python数据类型及运算

    前言 前文讲述了Python的输入输出以及变量的相关知识点,本节将探讨Python的数据类型以及数据之间的运算方式! 一.Python数据类型 上一节弄清了变量,其实变量所指向的值是有自己独特的数据类 ...

  3. 页面滚动显示或隐藏元素Headroom.js插件帮助你实现滚动效果

    Headroom.js 是什么? Headroom.js 是一个轻量级.高性能的JS小工具(不依赖任何工具库!),它能在页面滚动时做出响应.此页面顶部的导航条就是一个鲜活的案例,当页面向下滚动时,导航 ...

  4. 如何简单快速的修改Bootstrap

    Bootstrap并不是单单意味着HTML/CSS界面框架,更确切的说,它改变了整个游戏规则.这个囊括了应有尽有的代码框架使得许多应用和网站的设计开发变得简便许多,而且它将大量的HTML框架普及成了产 ...

  5. SQL 两个时间获取相差秒数

    SELECT DATEDIFF(SECOND, '2005-12-31 23:59:00', '2006-01-01 00:00:00');

  6. 【Java基础】9、Enumeration接口和Iterator接口的区别

    package java.util; public interface Enumeration<E> {     boolean hasMoreElements();     E next ...

  7. tortoisegit安装

    1.下载tortoisegit:https://tortoisegit.org/download/ 2.下载git 64位 3. 双击开始安装,选择默认,点击下一步 4.接着是选择安装目录,可以保持默 ...

  8. Web设计中打开新页面或页面跳转的方法

    一.asp.net c# 打开新页面或页面跳转 1. 最常用的页面跳转(原窗口被替代):Response.Redirect("newpage.aspx"); 2. 利用url地址打 ...

  9. git命令详解( 八)

    此为记录git的第八篇,前七篇为远程篇,工作中最常用的都在前七篇,因为要在远程分支上合作开发     在提交树上移动 撤销变更 在提交树上移动 在接触 Git 更高级功能之前,我们有必要先学习在你项目 ...

  10. 解决git did not exit cleanly (exit code 128)

    最近在用git提交代码到部门服务器上的时候,总是有 提示 git did not exit cleanly (exit code 128).网上有2种解决方式: 1.替换路径 1.鼠标右键 -> ...