新增和更新价目表行
--目的:在已有的价目表头基础上,添加行信息
--限制:该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;