需将主档中为空,与现版本不匹配的栏位做更新处理 :
/*
下列某个属性中存在主项 - 子项之间的冲突:
需求时间范围 (DEMAND_TIME_FENCE_CODE)、
提前期批量 (LEAD_TIME_LOT_SIZE)、
标准批量 (STD_LOT_SIZE)、
累计制造 (CUM_MANUFACTURING_LEAD_TIME)、
超出百分比 (OVERRUN_PERCENTAGE)、
计算 ATP (MRP_CALCULATE_ATP_FLAG)、
生产率增加允差 (ACCEPTABLE_RATE_INCREASE)、
生产率减少允差 (ACCEPTABLE_RATE_DECREASE)。
输入的版本用于 MTL_SYSTEM_ITEMS 和 MTL_SYSTEM_ITEMS_INTERFACE 中均不存在的物料。
*/
Begin
For r1 In (Select inventory_item_id,
concatenated_segments,
primary_uom_code
From mtl_system_items_kfv
Where organization_id =86 --主档ID
And segment1 In
('C', 'E', 'F', 'G', 'L', 'M', 'N', 'P', 'S')
And inventory_item_id Not In
(Select inventory_item_id
From mtl_system_items_b
Where organization_id =171 --需导入的组织ID
And inventory_item_status_code = 'Active')
And inventory_item_status_code = 'Active') Loop
Update mtl_system_items_b
Set CATALOG_STATUS_FLAG = 'N'
Where CATALOG_STATUS_FLAG Is Null
And inventory_item_id = r1.inventory_item_id;
Commit;
Update mtl_system_items_b
Set COLLATERAL_FLAG = 'N'
Where COLLATERAL_FLAG Is Null
And inventory_item_id = r1.inventory_item_id;
Commit;
Update mtl_system_items_b
Set CONTAINER_ITEM_FLAG = 'N'
Where CONTAINER_ITEM_FLAG Is Null
And inventory_item_id = r1.inventory_item_id;
Commit;
Update mtl_system_items_b
Set DOWNLOADABLE_FLAG = 'N'
Where DOWNLOADABLE_FLAG Is Null
And inventory_item_id = r1.inventory_item_id;
Commit;
Update mtl_system_items_b
Set ELECTRONIC_FLAG = 'N'
Where ELECTRONIC_FLAG Is Null
And inventory_item_id = r1.inventory_item_id;
Commit;
Update mtl_system_items_b
Set EVENT_FLAG = 'N'
Where EVENT_FLAG Is Null
And inventory_item_id = r1.inventory_item_id;
Commit;
Update mtl_system_items_b
Set INDIVISIBLE_FLAG = 'N'
Where INDIVISIBLE_FLAG Is Null
And inventory_item_id = r1.inventory_item_id;
Commit;
Update mtl_system_items_b
Set MRP_CALCULATE_ATP_FLAG = 'N'
Where MRP_CALCULATE_ATP_FLAG Is Null
And inventory_item_id = r1.inventory_item_id;
Commit;
Update mtl_system_items_b
Set VEHICLE_ITEM_FLAG = 'N'
Where VEHICLE_ITEM_FLAG Is Null
And inventory_item_id = r1.inventory_item_id;
Commit;
Update mtl_system_items_b
Set RECIPE_ENABLED_FLAG = 'N'
Where RECIPE_ENABLED_FLAG Is Null
And inventory_item_id = r1.inventory_item_id;
Commit;
Update mtl_system_items_b
Set BOM_ENABLED_FLAG = 'N'
Where BOM_ENABLED_FLAG Is Null
And inventory_item_id = r1.inventory_item_id;
Commit;
Update mtl_system_items_b
Set LOT_STATUS_ENABLED = 'N'
Where LOT_STATUS_ENABLED Is Null
And inventory_item_id = r1.inventory_item_id;
Commit;
Update mtl_system_items_b
Set SERIAL_STATUS_ENABLED = 'N'
Where SERIAL_STATUS_ENABLED Is Null
And inventory_item_id = r1.inventory_item_id;
Commit;
Update mtl_system_items_b
Set LOT_DIVISIBLE_FLAG = 'N'
Where LOT_DIVISIBLE_FLAG Is Null
And inventory_item_id = r1.inventory_item_id;
Commit;
Update mtl_system_items_b
Set LOT_SPLIT_ENABLED = 'N'
Where LOT_SPLIT_ENABLED Is Null
And inventory_item_id = r1.inventory_item_id;
Commit;
Update mtl_system_items_b
Set LOT_MERGE_ENABLED = 'N'
Where LOT_MERGE_ENABLED Is Null
And inventory_item_id = r1.inventory_item_id;
Commit;
Update mtl_system_items_b
Set LOT_TRANSLATE_ENABLED = 'N'
Where LOT_TRANSLATE_ENABLED Is Null
And inventory_item_id = r1.inventory_item_id;
Commit;
Update mtl_system_items_b
Set LOT_SUBSTITUTION_ENABLED = 'N'
Where LOT_SUBSTITUTION_ENABLED Is Null
And inventory_item_id = r1.inventory_item_id;
Commit;
Update mtl_system_items_b
Set BULK_PICKED_FLAG = 'N'
Where BULK_PICKED_FLAG Is Null
And inventory_item_id = r1.inventory_item_id;
Commit;
Update mtl_system_items_b
Set SERIAL_TAGGING_FLAG = 'N'
Where SERIAL_TAGGING_FLAG Is Null
And inventory_item_id = r1.inventory_item_id;
Commit;
Update mtl_system_items_b
Set EQUIPMENT_TYPE = 2
Where EQUIPMENT_TYPE Is Null
And inventory_item_id = r1.inventory_item_id;
Commit;
End Loop;
End;