新增和更新价目表行

新增和更新价目表行

--目的:在已有的价目表头基础上,添加行信息

--限制:该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;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值