DECLARE
l_item_rec inv_item_grp.item_rec_type;
x_item_rec inv_item_grp.item_rec_type;
l_error_tbl inv_item_grp.error_tbl_type;
l_error_msg VARCHAR2(4000);
x_return_status VARCHAR2(30);
CURSOR cur_item IS
SELECT *
FROM mtl_system_items_b l
WHERE l.item_type = 'TIRES'
AND l.shelf_life_days <> 3650;
BEGIN
FOR rec_item IN cur_item LOOP
l_item_rec := inv_item_grp.g_miss_item_rec;
l_item_rec.organization_id := rec_item.organization_id;
--l_item_rec.organization_code := rec_item.organization_code;
l_item_rec.segment1 := rec_item.segment1;
l_item_rec.segment2 := rec_item.segment2;
l_item_rec.description := rec_item.description;
l_item_rec.shelf_life_days := 3650; --rec_item.shelf_life_days;
l_item_rec.forecast_horizon := rec_item.forecast_horizon; --成熟天数
l_item_rec.tax_code := rec_item.tax_code;
l_item_rec.min_minmax_quantity := rec_item.min_minmax_quantity;
l_item_rec.max_minmax_quantity := rec_item.max_minmax_quantity;
l_item_rec.process_supply_subinventory := rec_item.process_supply_subinventory;
l_item_rec.attribute16 := rec_item.attribute16; --对应通知单行
l_item_rec.attribute2 := rec_item.attribute2; --产成品简称
l_item_rec.attribute6 := rec_item.attribute6; --原麦汁浓度
l_item_rec.primary_uom_code := rec_item.primary_uom_code;
l_item_rec.cost_of_sales_account := rec_item.cost_of_sales_account;
l_item_rec.sales_account := rec_item.sales_account;
l_item_rec.buyer_id := rec_item.buyer_id;
l_item_rec.expense_account := rec_item.expense_account;
l_item_rec.process_supply_locator_id := rec_item.process_supply_locator_id;
l_item_rec.attribute5 := rec_item.attribute5;
l_item_rec.attribute1 := rec_item.attribute1;
inv_item_grp.update_item(p_commit => fnd_api.g_true,
p_item_rec => l_item_rec,
x_item_rec => x_item_rec,
x_return_status => x_return_status,
x_error_tbl => l_error_tbl,
p_template_id => NULL);
IF x_return_status <> fnd_api.g_ret_sts_success THEN
/* FOR i IN 1 .. l_error_tbl.last LOOP
l_error_msg := substrb(l_error_msg || l_error_tbl(i)
.column_name || ':' || l_error_tbl(i)
.message_text || '#',
1,
200);
END LOOP;*/
dbms_output.put_line(rec_item.segment1 || '.' ||
rec_item.segment2 || ' 出错:' || l_error_msg);
END IF;
END LOOP; --FOR rec_item IN cur_item LOOP
END;