EBS-新增和更新價目表行

來源:互聯網
上載者:User

新增和更新價目表行
--目的:在已有的價目表頭基礎上,增加行資訊--限制:該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;

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.