把数据导入BOM清单
2012-05-08 10:06
435 查看
方法:把数据导入BOM清单的方法是,把数据导入接口表中,让其自动运行既可。上传文件的时候,要注意使 用ASCII字符模式。
1、自己建立一中转表
drop table cux_bill_temp;
create table cux_bill_temp(
bill_sequence_id number,
assembly_item_id number,
organization_id number,
assembly_item varchar2(50), --BOM
component_sequence_id number,
component_quantity number, --组件数量
item_num number, --项目序列
operation_seq_num number, --工序序列
component_item_id number,
component_item varchar2(50), --组件
PLANNING_FACTOR number, --计划%d100
component_yield_factor number, --产出率d1
wip_supply_type number, --供应类型
supply_type varchar2(50),
supply_subinventory varchar2(50), --供应子库存
OPTIONAL number, --可选的
OPTIONAL_disp varchar2(10), --可选的
MUTUALLY_EXCLUSIVE_OPTIONS number, --互不相容
MUTUALLY_EXCLUSIVE_O_disp varchar2(10), --互不相容
attribute1 varchar2(50), --排序号
row_num number)
;
2、删除中转表中的数据
delete cux_bill_temp;
3、把要导入的数据放在扩展名为*.csv的文件中,且要相对应于中转表的字段,本例中的文件名为bill.csv。
另外的脚本文件为bill.ctl,其内容如下:
options (skip=1) //跳过第一行,一般第一行为其字段说明
LOAD DATA
INFILE bill.csv //bill.csv为数据文件
APPEND
INTO TABLE cux_bill_temp
FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"'
(与中转表相对应的字段列表)
登录进入ORACLE数据库服务器,利用命令:(sqlload 用户名/密码@数据库名)载入文件bill.csv的数据入中转表。
4、查看中转表中的记录数(以备导入数据后进行对比)
select count(*) from cux_bill_temp;
5、去除导入时在表bill.csv中的关键字段的空格字符,以免影响导入。
update cux_bill_temp
set ASSEMBLY_ITEM=replace(ASSEMBLY_ITEM,' ',''),
COMPONENT_ITEM=replace(COMPONENT_ITEM,' ','');
6、查看是否有重复的选项(既是否重复了Item)
select assembly_item,component_item,min(row_num),count(*)
from cux_bill_temp
group by assembly_item,component_item
having count(*)>1;
如果有重复的Item,则要删除(或是重新合并)
delete cux_bill_temp
where row_num in (select min(row_num) from cux_bill_temp
group by assembly_item,component_item
having count(*)>1);
以下步骤为选做(如有重复才做,没有重复不做7-10)
7、再重新建立一个临时表(对于有重复数据,则只取一条数据,现取row_num最小的一条)
drop table cux_bill_a;
create table cux_bill_a
as
select assembly_item,
component_item,
component_quantity,
PLANNING_FACTOR,
component_yield_factor,
supply_type,
supply_subinventory,
OPTIONAL_disp,
MUTUALLY_EXCLUSIVE_O_disp,
attribute1,
min(row_num) row_num
from cux_bill_temp
group by assembly_item,
component_item,
component_quantity,
PLANNING_FACTOR,
component_yield_factor,
supply_type,
supply_subinventory,
OPTIONAL_disp,
MUTUALLY_EXCLUSIVE_O_disp,
attribute1;
8、删除cux_bill_temp表
delete cux_bill_temp;
9、再重cux_bill_a表中把数据导入给cux_bill_temp表,完成把重复数据剔除的功能
insert into cux_bill_temp(
assembly_item,
component_item,
component_quantity,
PLANNING_FACTOR,
component_yield_factor,
supply_type,
supply_subinventory,
OPTIONAL_disp,
MUTUALLY_EXCLUSIVE_O_disp,
attribute1,
row_num)
select assembly_item,
component_item,
component_quantity,
PLANNING_FACTOR,
component_yield_factor,
supply_type,
supply_subinventory,
OPTIONAL_disp,
MUTUALLY_EXCLUSIVE_O_disp,
attribute1,
row_num
from cux_bill_a;
10、删除表cux_bill_a
drop table cux_bill_a;
11、再检查一次表,是否有重复的数据
select assembly_item,component_item,min(row_num),count(*)
from cux_bill_temp
group by assembly_item,component_item
having count(*)>1;
12、查看在mtl_system_items表中,既是在库存表中,有没有不存在的Item.
select distinct item
from (
select distinct assembly_item item
from cux_bill_temp b
where not exists (select null from mtl_system_items where segment1=b.assembly_item and organization_id=2)
union
select distinct component_item item
from cux_bill_temp b
where not exists (select null from mtl_system_items where segment1=b.component_item and organization_id=2)
)
order by item;
13、如果在mtl_system_items中,有不存在的物品ITEM时,要把其删除(或是把这些物品Item导入到系统中)
删除:delete cux_bill_temp b
where not exists (select null from mtl_system_items where segment1=b.component_item and organization_id=2);
delete cux_bill_temp a
where not exists (select null from mtl_system_items where segment1=a.assembly_item and organization_id=2);
14、对没有物品Item的进行处理,把其放入另一临时表cux_item_temp中(以备查询及导入mtl_system_items表中)
delete cux_item_temp;
insert into cux_item_temp(
segment1,description)
select distinct item,item
from (
select distinct assembly_item item
from cux_bill_temp b
where not exists (select null from mtl_system_items where segment1=b.assembly_item and organization_id=2)
union
select distinct component_item item
from cux_bill_temp b
where not exists (select null from mtl_system_items where segment1=b.component_item and organization_id=2)
)
;
将找到没有ITEM的BOM数据放到另一个表中,以备下次ITEM导入后在导BOM
create table cux_bom_temp1
select distinct item
from (
select distinct assembly_item item
from cux_bill_temp b
where not exists (select null from mtl_system_items where segment1=b.assembly_item and organization_id=2)
union
select distinct component_item item
from cux_bill_temp b
where not exists (select null from mtl_system_items where segment1=b.component_item and organization_id=2)
)
-----------------------------------------------------------------------------------------------------------
15、从表mtl_system_items中把物品的编码ID加入中转表cux_bill_temp表(从项目主组织)中
update cux_bill_temp b
set assembly_item_id=(select inventory_item_id from mtl_system_items
where segment1=b.assembly_item and organization_id=2),
component_item_id=(select inventory_item_id from mtl_system_items
where segment1=b.component_item and organization_id=2);
16、查看是否有没有物品ID的编码存在(既没有物品的ID被导入临时表cux_bill_temp中)
select row_num
from cux_bill_temp
where assembly_item_id is null or component_item_id is null;
17、对其中导入的数据进行处理
update cux_bill_temp
set PTIONAL=1
where upper(OPTIONAL_disp) like 'Y%';
update cux_bill_temp
set PTIONAL=2
where OPTIONAL is null;
update cux_bill_temp
set MUTUALLY_EXCLUSIVE_OPTIONS=1
where upper(MUTUALLY_EXCLUSIVE_O_DISP) like 'Y%';
update cux_bill_temp
set MUTUALLY_EXCLUSIVE_OPTIONS=2
where MUTUALLY_EXCLUSIVE_O_DISP is null;
18、查看cux_bill_temp中的数据处理是否有漏
select count(*)
from cux_bill_temp
where OPTIONAL is null
or MUTUALLY_EXCLUSIVE_OPTIONS is null
or assembly_item_id is null
or component_item_id is null;
19、更新其内的WIP_SUPPLY_TYPE;
update cux_bill_temp
set WIP_SUPPLY_TYPE=6
where component_item like 'B%';
20、删除表中的包(cux_bill_temp中),其相对应于表bom_bill_of_materials(既在表中已经存在了些选项包,不必导入包头,只需导入包内容既可)
delete cux_bill_temp t
where exists (select null from bom_bill_of_materials where assembly_item_id=t.assembly_item_id and organization_id=2);
21、利用已经写好的包写入数据(既写入接口表bom_bill_of_mtls_interface)
exec cux_bom_temp.insert_bill_15(1);
select count(*) from cux_bill_temp temp
where exits (select null from bom_inventory_components b
where temp.bill_sequence_id=b.bill_sequence_id
and temp.component_item_id=b.component_item_id);
delete cux_bill_temp temp
where exists (select null from bom_inventory_components b
where b.bill_sequence_id=temp.bill_sequence_id
and b.component_item_id=temp.component_item_id);
exec cux_bom_temp.insert_bill_10(1);
22、对写入的数据在接口表中的情况进行查看
select count(*) from bom_bill_of_mtls_interface;
23、接着更新
exec cux_bom_temp.insert_bill_15(1);
select count(*) from cux_bill_temp where bill_sequence_id is null;
exec cux_bom_temp.insert_bill_20(1);
去提交请求
select count(*) from bom_inventory_comps_interface;
(导入成功后)对组件进行排序
exec cux_bom_temp.update_bill_item_num4;
select count(*) from bom_inventory_comps_interface;
24、对于接口表中的数据进行导入
delete bom_bill_of_mtls_interface;
insert into bom_bill_of_mtls_interface(
assembly_type,assembly_item_id,
organization_id,
process_flag,transaction_type)
select distinct 1,assembly_item_id,
1,
1,'CREATE'
from cux_bill_temp;
---------------------------------------------------------------have test is current
select * from bom_temp_04 where inventory_item_id=233814
select * from bom.bom_bill_of_mtls_interface WHERE transaction_id=185533
delete bom.bom_bill_of_mtls_interface
select * from bom.bom_inventory_comps_interface WHERE transaction_id=185539
delete bom.bom_inventory_comps_interface
select * from inv.mtl_interface_errors
delete inv.mtl_interface_errors
insert into bom.bom_bill_of_mtls_interface
(
assembly_type, --M/E
assembly_item_id,
organization_id,
process_flag,
transaction_type
)
select distinct
1 assembly_type,
inventory_item_id assembly_item_id,
299 organization_id,
1 process_flag,
'CRATE' transaction_type from bom_temp_04 where inventory_item_id=233814
-------------------
#2
insert into bom_inventory_comps_interface
(
OPERATION_SEQ_NUM ,
COMPONENT_ITEM_ID ,
LAST_UPDATE_DATE ,
LAST_UPDATED_BY ,
CREATION_DATE ,
CREATED_BY ,
LAST_UPDATE_LOGIN ,
ITEM_NUM ,
COMPONENT_QUANTITY ,
COMPONENT_YIELD_FACTOR ,
COMPONENT_REMARKS ,
EFFECTIVITY_DATE ,
CHANGE_NOTICE ,
IMPLEMENTATION_DATE ,
DISABLE_DATE ,
ATTRIBUTE_CATEGORY ,
ATTRIBUTE1 ,
ATTRIBUTE2 ,
ATTRIBUTE3 ,
ATTRIBUTE4 ,
ATTRIBUTE5 ,
ATTRIBUTE6 ,
ATTRIBUTE7 ,
ATTRIBUTE8 ,
ATTRIBUTE9 ,
ATTRIBUTE10 ,
ATTRIBUTE11 ,
ATTRIBUTE12 ,
ATTRIBUTE13 ,
ATTRIBUTE14 ,
ATTRIBUTE15 ,
PLANNING_FACTOR ,
QUANTITY_RELATED ,
SO_BASIS ,
OPTIONAL ,
MUTUALLY_EXCLUSIVE_OPTIONS ,
INCLUDE_IN_COST_ROLLUP ,
CHECK_ATP ,
SHIPPING_ALLOWED ,
REQUIRED_TO_SHIP ,
REQUIRED_FOR_REVENUE ,
INCLUDE_ON_SHIP_DOCS ,
LOW_QUANTITY ,
HIGH_QUANTITY ,
ACD_TYPE ,
OLD_COMPONENT_SEQUENCE_ID ,
COMPONENT_SEQUENCE_ID ,
BILL_SEQUENCE_ID ,
REQUEST_ID ,
PROGRAM_APPLICATION_ID ,
PROGRAM_ID ,
PROGRAM_UPDATE_DATE ,
WIP_SUPPLY_TYPE ,
SUPPLY_SUBINVENTORY ,
SUPPLY_LOCATOR_ID ,
REVISED_ITEM_SEQUENCE_ID ,
MODEL_COMP_SEQ_ID ,
ASSEMBLY_ITEM_ID ,
ALTERNATE_BOM_DESIGNATOR ,
ORGANIZATION_ID ,
ORGANIZATION_CODE ,
COMPONENT_ITEM_NUMBER ,
ASSEMBLY_ITEM_NUMBER ,
REVISED_ITEM_NUMBER ,
LOCATION_NAME ,
REFERENCE_DESIGNATOR ,
SUBSTITUTE_COMP_ID ,
SUBSTITUTE_COMP_NUMBER ,
TRANSACTION_ID ,
PROCESS_FLAG ,
BOM_ITEM_TYPE ,
OPERATION_LEAD_TIME_PERCENT ,
COST_FACTOR ,
INCLUDE_ON_BILL_DOCS ,
PICK_COMPONENTS ,
DDF_CONTEXT1 ,
DDF_CONTEXT2 ,
NEW_OPERATION_SEQ_NUM ,
OLD_OPERATION_SEQ_NUM ,
NEW_EFFECTIVITY_DATE ,
OLD_EFFECTIVITY_DATE ,
ASSEMBLY_TYPE ,
INTERFACE_ENTITY_TYPE ,
TRANSACTION_TYPE ,
BOM_INVENTORY_COMPS_IFCE_KEY ,
ENG_REVISED_ITEMS_IFCE_KEY ,
ENG_CHANGES_IFCE_KEY)
select distinct
1,-- OPERATION_SEQ_NUM
comp_item_id COMPONENT_ITEM_ID,-- COMPONENT_ITEM_ID
sysdate,-- LAST_UPDATE_DATE
1231,-- LAST_UPDATED_BY
sysdate,-- CREATION_DATE
1231,-- CREATED_BY
null,-- LAST_UPDATE_LOGIN
1,-- ITEM_NUM
component_quantity component_quantity ,--COMPONENT_QUANTITY
1,-- COMPONENT_YIELD_FACTOR
null,-- COMPONENT_REMARKS
sysdate,-- EFFECTIVITY_DATE
null,-- CHANGE_NOTICE
null,-- IMPLEMENTATION_DATE
null,-- DISABLE_DATE
null,-- ATTRIBUTE_CATEGORY
null,-- ATTRIBUTE1
null,-- ATTRIBUTE2
null,-- ATTRIBUTE3
null,-- ATTRIBUTE4
null,-- ATTRIBUTE5
null,-- ATTRIBUTE6
null,-- ATTRIBUTE7
null,-- ATTRIBUTE8
null,-- ATTRIBUTE9
null,-- ATTRIBUTE10
null,-- ATTRIBUTE11
null,-- ATTRIBUTE12
null,-- ATTRIBUTE13
null,-- ATTRIBUTE14
'upload08',-- ATTRIBUTE15
null,--100,-- PLANNING_FACTOR
null,--2,-- QUANTITY_RELATED
null,--2,-- SO_BASIS
null,--2,-- OPTIONAL
null,--2,-- MUTUALLY_EXCLUSIVE_OPTIONS
null,--1,-- INCLUDE_IN_COST_ROLLUP
null,--2,-- CHECK_ATP
null,-- SHIPPING_ALLOWED
null,--2,-- REQUIRED_TO_SHIP
null,--2,-- REQUIRED_FOR_REVENUE
null,--2,-- INCLUDE_ON_SHIP_DOCS
null,-- LOW_QUANTITY
null,-- HIGH_QUANTITY
null,-- ACD_TYPE
null,-- OLD_COMPONENT_SEQUENCE_ID
null,--v_seq,-- COMPONENT_SEQUENCE_ID
null,--v_seq,-- BILL_SEQUENCE_ID
null,-- REQUEST_ID
null,-- PROGRAM_APPLICATION_ID
null,-- PROGRAM_ID
null,-- PROGRAM_UPDATE_DATE
null,-- WIP_SUPPLY_TYPE
null,-- SUPPLY_SUBINVENTORY
null,-- SUPPLY_LOCATOR_ID
null,-- REVISED_ITEM_SEQUENCE_ID
null,-- MODEL_COMP_SEQ_ID
inventory_item_id,-- ASSEMBLY_ITEM_ID
null,-- ALTERNATE_BOM_DESIGNATOR
299,-- ORGANIZATION_ID
null,-- ORGANIZATION_CODE
null,-- COMPONENT_ITEM_NUMBER
null,-- ASSEMBLY_ITEM_NUMBER
null,-- REVISED_ITEM_NUMBER
null,-- LOCATION_NAME
null,-- REFERENCE_DESIGNATOR
null,-- SUBSTITUTE_COMP_ID
null,-- SUBSTITUTE_COMP_NUMBER
null,-- TRANSACTION_ID
1,-- PROCESS_FLAG
null,--4,-- BOM_ITEM_TYPE
null,-- OPERATION_LEAD_TIME_PERCENT
null,-- COST_FACTOR
null,-- INCLUDE_ON_BILL_DOCS
null,-- PICK_COMPONENTS
null,-- DDF_CONTEXT1
null,-- DDF_CONTEXT2
null,-- NEW_OPERATION_SEQ_NUM
null,-- OLD_OPERATION_SEQ_NUM
null,-- NEW_EFFECTIVITY_DATE
null,-- OLD_EFFECTIVITY_DATE
1,-- ASSEMBLY_TYPE
null,-- INTERFACE_ENTITY_TYPE
'CREATE',-- TRANSACTION_TYPE
null,-- BOM_INVENTORY_COMPS_IFCE_KEY
null,-- ENG_REVISED_ITEMS_IFCE_KEY
null -- ENG_CHANGES_IFCE_KEY
from bom_temp_04 where inventory_item_id=233814
1、自己建立一中转表
drop table cux_bill_temp;
create table cux_bill_temp(
bill_sequence_id number,
assembly_item_id number,
organization_id number,
assembly_item varchar2(50), --BOM
component_sequence_id number,
component_quantity number, --组件数量
item_num number, --项目序列
operation_seq_num number, --工序序列
component_item_id number,
component_item varchar2(50), --组件
PLANNING_FACTOR number, --计划%d100
component_yield_factor number, --产出率d1
wip_supply_type number, --供应类型
supply_type varchar2(50),
supply_subinventory varchar2(50), --供应子库存
OPTIONAL number, --可选的
OPTIONAL_disp varchar2(10), --可选的
MUTUALLY_EXCLUSIVE_OPTIONS number, --互不相容
MUTUALLY_EXCLUSIVE_O_disp varchar2(10), --互不相容
attribute1 varchar2(50), --排序号
row_num number)
;
2、删除中转表中的数据
delete cux_bill_temp;
3、把要导入的数据放在扩展名为*.csv的文件中,且要相对应于中转表的字段,本例中的文件名为bill.csv。
另外的脚本文件为bill.ctl,其内容如下:
options (skip=1) //跳过第一行,一般第一行为其字段说明
LOAD DATA
INFILE bill.csv //bill.csv为数据文件
APPEND
INTO TABLE cux_bill_temp
FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"'
(与中转表相对应的字段列表)
登录进入ORACLE数据库服务器,利用命令:(sqlload 用户名/密码@数据库名)载入文件bill.csv的数据入中转表。
4、查看中转表中的记录数(以备导入数据后进行对比)
select count(*) from cux_bill_temp;
5、去除导入时在表bill.csv中的关键字段的空格字符,以免影响导入。
update cux_bill_temp
set ASSEMBLY_ITEM=replace(ASSEMBLY_ITEM,' ',''),
COMPONENT_ITEM=replace(COMPONENT_ITEM,' ','');
6、查看是否有重复的选项(既是否重复了Item)
select assembly_item,component_item,min(row_num),count(*)
from cux_bill_temp
group by assembly_item,component_item
having count(*)>1;
如果有重复的Item,则要删除(或是重新合并)
delete cux_bill_temp
where row_num in (select min(row_num) from cux_bill_temp
group by assembly_item,component_item
having count(*)>1);
以下步骤为选做(如有重复才做,没有重复不做7-10)
7、再重新建立一个临时表(对于有重复数据,则只取一条数据,现取row_num最小的一条)
drop table cux_bill_a;
create table cux_bill_a
as
select assembly_item,
component_item,
component_quantity,
PLANNING_FACTOR,
component_yield_factor,
supply_type,
supply_subinventory,
OPTIONAL_disp,
MUTUALLY_EXCLUSIVE_O_disp,
attribute1,
min(row_num) row_num
from cux_bill_temp
group by assembly_item,
component_item,
component_quantity,
PLANNING_FACTOR,
component_yield_factor,
supply_type,
supply_subinventory,
OPTIONAL_disp,
MUTUALLY_EXCLUSIVE_O_disp,
attribute1;
8、删除cux_bill_temp表
delete cux_bill_temp;
9、再重cux_bill_a表中把数据导入给cux_bill_temp表,完成把重复数据剔除的功能
insert into cux_bill_temp(
assembly_item,
component_item,
component_quantity,
PLANNING_FACTOR,
component_yield_factor,
supply_type,
supply_subinventory,
OPTIONAL_disp,
MUTUALLY_EXCLUSIVE_O_disp,
attribute1,
row_num)
select assembly_item,
component_item,
component_quantity,
PLANNING_FACTOR,
component_yield_factor,
supply_type,
supply_subinventory,
OPTIONAL_disp,
MUTUALLY_EXCLUSIVE_O_disp,
attribute1,
row_num
from cux_bill_a;
10、删除表cux_bill_a
drop table cux_bill_a;
11、再检查一次表,是否有重复的数据
select assembly_item,component_item,min(row_num),count(*)
from cux_bill_temp
group by assembly_item,component_item
having count(*)>1;
12、查看在mtl_system_items表中,既是在库存表中,有没有不存在的Item.
select distinct item
from (
select distinct assembly_item item
from cux_bill_temp b
where not exists (select null from mtl_system_items where segment1=b.assembly_item and organization_id=2)
union
select distinct component_item item
from cux_bill_temp b
where not exists (select null from mtl_system_items where segment1=b.component_item and organization_id=2)
)
order by item;
13、如果在mtl_system_items中,有不存在的物品ITEM时,要把其删除(或是把这些物品Item导入到系统中)
删除:delete cux_bill_temp b
where not exists (select null from mtl_system_items where segment1=b.component_item and organization_id=2);
delete cux_bill_temp a
where not exists (select null from mtl_system_items where segment1=a.assembly_item and organization_id=2);
14、对没有物品Item的进行处理,把其放入另一临时表cux_item_temp中(以备查询及导入mtl_system_items表中)
delete cux_item_temp;
insert into cux_item_temp(
segment1,description)
select distinct item,item
from (
select distinct assembly_item item
from cux_bill_temp b
where not exists (select null from mtl_system_items where segment1=b.assembly_item and organization_id=2)
union
select distinct component_item item
from cux_bill_temp b
where not exists (select null from mtl_system_items where segment1=b.component_item and organization_id=2)
)
;
将找到没有ITEM的BOM数据放到另一个表中,以备下次ITEM导入后在导BOM
create table cux_bom_temp1
select distinct item
from (
select distinct assembly_item item
from cux_bill_temp b
where not exists (select null from mtl_system_items where segment1=b.assembly_item and organization_id=2)
union
select distinct component_item item
from cux_bill_temp b
where not exists (select null from mtl_system_items where segment1=b.component_item and organization_id=2)
)
-----------------------------------------------------------------------------------------------------------
15、从表mtl_system_items中把物品的编码ID加入中转表cux_bill_temp表(从项目主组织)中
update cux_bill_temp b
set assembly_item_id=(select inventory_item_id from mtl_system_items
where segment1=b.assembly_item and organization_id=2),
component_item_id=(select inventory_item_id from mtl_system_items
where segment1=b.component_item and organization_id=2);
16、查看是否有没有物品ID的编码存在(既没有物品的ID被导入临时表cux_bill_temp中)
select row_num
from cux_bill_temp
where assembly_item_id is null or component_item_id is null;
17、对其中导入的数据进行处理
update cux_bill_temp
set PTIONAL=1
where upper(OPTIONAL_disp) like 'Y%';
update cux_bill_temp
set PTIONAL=2
where OPTIONAL is null;
update cux_bill_temp
set MUTUALLY_EXCLUSIVE_OPTIONS=1
where upper(MUTUALLY_EXCLUSIVE_O_DISP) like 'Y%';
update cux_bill_temp
set MUTUALLY_EXCLUSIVE_OPTIONS=2
where MUTUALLY_EXCLUSIVE_O_DISP is null;
18、查看cux_bill_temp中的数据处理是否有漏
select count(*)
from cux_bill_temp
where OPTIONAL is null
or MUTUALLY_EXCLUSIVE_OPTIONS is null
or assembly_item_id is null
or component_item_id is null;
19、更新其内的WIP_SUPPLY_TYPE;
update cux_bill_temp
set WIP_SUPPLY_TYPE=6
where component_item like 'B%';
20、删除表中的包(cux_bill_temp中),其相对应于表bom_bill_of_materials(既在表中已经存在了些选项包,不必导入包头,只需导入包内容既可)
delete cux_bill_temp t
where exists (select null from bom_bill_of_materials where assembly_item_id=t.assembly_item_id and organization_id=2);
21、利用已经写好的包写入数据(既写入接口表bom_bill_of_mtls_interface)
exec cux_bom_temp.insert_bill_15(1);
select count(*) from cux_bill_temp temp
where exits (select null from bom_inventory_components b
where temp.bill_sequence_id=b.bill_sequence_id
and temp.component_item_id=b.component_item_id);
delete cux_bill_temp temp
where exists (select null from bom_inventory_components b
where b.bill_sequence_id=temp.bill_sequence_id
and b.component_item_id=temp.component_item_id);
exec cux_bom_temp.insert_bill_10(1);
22、对写入的数据在接口表中的情况进行查看
select count(*) from bom_bill_of_mtls_interface;
23、接着更新
exec cux_bom_temp.insert_bill_15(1);
select count(*) from cux_bill_temp where bill_sequence_id is null;
exec cux_bom_temp.insert_bill_20(1);
去提交请求
select count(*) from bom_inventory_comps_interface;
(导入成功后)对组件进行排序
exec cux_bom_temp.update_bill_item_num4;
select count(*) from bom_inventory_comps_interface;
24、对于接口表中的数据进行导入
delete bom_bill_of_mtls_interface;
insert into bom_bill_of_mtls_interface(
assembly_type,assembly_item_id,
organization_id,
process_flag,transaction_type)
select distinct 1,assembly_item_id,
1,
1,'CREATE'
from cux_bill_temp;
---------------------------------------------------------------have test is current
select * from bom_temp_04 where inventory_item_id=233814
select * from bom.bom_bill_of_mtls_interface WHERE transaction_id=185533
delete bom.bom_bill_of_mtls_interface
select * from bom.bom_inventory_comps_interface WHERE transaction_id=185539
delete bom.bom_inventory_comps_interface
select * from inv.mtl_interface_errors
delete inv.mtl_interface_errors
insert into bom.bom_bill_of_mtls_interface
(
assembly_type, --M/E
assembly_item_id,
organization_id,
process_flag,
transaction_type
)
select distinct
1 assembly_type,
inventory_item_id assembly_item_id,
299 organization_id,
1 process_flag,
'CRATE' transaction_type from bom_temp_04 where inventory_item_id=233814
-------------------
#2
insert into bom_inventory_comps_interface
(
OPERATION_SEQ_NUM ,
COMPONENT_ITEM_ID ,
LAST_UPDATE_DATE ,
LAST_UPDATED_BY ,
CREATION_DATE ,
CREATED_BY ,
LAST_UPDATE_LOGIN ,
ITEM_NUM ,
COMPONENT_QUANTITY ,
COMPONENT_YIELD_FACTOR ,
COMPONENT_REMARKS ,
EFFECTIVITY_DATE ,
CHANGE_NOTICE ,
IMPLEMENTATION_DATE ,
DISABLE_DATE ,
ATTRIBUTE_CATEGORY ,
ATTRIBUTE1 ,
ATTRIBUTE2 ,
ATTRIBUTE3 ,
ATTRIBUTE4 ,
ATTRIBUTE5 ,
ATTRIBUTE6 ,
ATTRIBUTE7 ,
ATTRIBUTE8 ,
ATTRIBUTE9 ,
ATTRIBUTE10 ,
ATTRIBUTE11 ,
ATTRIBUTE12 ,
ATTRIBUTE13 ,
ATTRIBUTE14 ,
ATTRIBUTE15 ,
PLANNING_FACTOR ,
QUANTITY_RELATED ,
SO_BASIS ,
OPTIONAL ,
MUTUALLY_EXCLUSIVE_OPTIONS ,
INCLUDE_IN_COST_ROLLUP ,
CHECK_ATP ,
SHIPPING_ALLOWED ,
REQUIRED_TO_SHIP ,
REQUIRED_FOR_REVENUE ,
INCLUDE_ON_SHIP_DOCS ,
LOW_QUANTITY ,
HIGH_QUANTITY ,
ACD_TYPE ,
OLD_COMPONENT_SEQUENCE_ID ,
COMPONENT_SEQUENCE_ID ,
BILL_SEQUENCE_ID ,
REQUEST_ID ,
PROGRAM_APPLICATION_ID ,
PROGRAM_ID ,
PROGRAM_UPDATE_DATE ,
WIP_SUPPLY_TYPE ,
SUPPLY_SUBINVENTORY ,
SUPPLY_LOCATOR_ID ,
REVISED_ITEM_SEQUENCE_ID ,
MODEL_COMP_SEQ_ID ,
ASSEMBLY_ITEM_ID ,
ALTERNATE_BOM_DESIGNATOR ,
ORGANIZATION_ID ,
ORGANIZATION_CODE ,
COMPONENT_ITEM_NUMBER ,
ASSEMBLY_ITEM_NUMBER ,
REVISED_ITEM_NUMBER ,
LOCATION_NAME ,
REFERENCE_DESIGNATOR ,
SUBSTITUTE_COMP_ID ,
SUBSTITUTE_COMP_NUMBER ,
TRANSACTION_ID ,
PROCESS_FLAG ,
BOM_ITEM_TYPE ,
OPERATION_LEAD_TIME_PERCENT ,
COST_FACTOR ,
INCLUDE_ON_BILL_DOCS ,
PICK_COMPONENTS ,
DDF_CONTEXT1 ,
DDF_CONTEXT2 ,
NEW_OPERATION_SEQ_NUM ,
OLD_OPERATION_SEQ_NUM ,
NEW_EFFECTIVITY_DATE ,
OLD_EFFECTIVITY_DATE ,
ASSEMBLY_TYPE ,
INTERFACE_ENTITY_TYPE ,
TRANSACTION_TYPE ,
BOM_INVENTORY_COMPS_IFCE_KEY ,
ENG_REVISED_ITEMS_IFCE_KEY ,
ENG_CHANGES_IFCE_KEY)
select distinct
1,-- OPERATION_SEQ_NUM
comp_item_id COMPONENT_ITEM_ID,-- COMPONENT_ITEM_ID
sysdate,-- LAST_UPDATE_DATE
1231,-- LAST_UPDATED_BY
sysdate,-- CREATION_DATE
1231,-- CREATED_BY
null,-- LAST_UPDATE_LOGIN
1,-- ITEM_NUM
component_quantity component_quantity ,--COMPONENT_QUANTITY
1,-- COMPONENT_YIELD_FACTOR
null,-- COMPONENT_REMARKS
sysdate,-- EFFECTIVITY_DATE
null,-- CHANGE_NOTICE
null,-- IMPLEMENTATION_DATE
null,-- DISABLE_DATE
null,-- ATTRIBUTE_CATEGORY
null,-- ATTRIBUTE1
null,-- ATTRIBUTE2
null,-- ATTRIBUTE3
null,-- ATTRIBUTE4
null,-- ATTRIBUTE5
null,-- ATTRIBUTE6
null,-- ATTRIBUTE7
null,-- ATTRIBUTE8
null,-- ATTRIBUTE9
null,-- ATTRIBUTE10
null,-- ATTRIBUTE11
null,-- ATTRIBUTE12
null,-- ATTRIBUTE13
null,-- ATTRIBUTE14
'upload08',-- ATTRIBUTE15
null,--100,-- PLANNING_FACTOR
null,--2,-- QUANTITY_RELATED
null,--2,-- SO_BASIS
null,--2,-- OPTIONAL
null,--2,-- MUTUALLY_EXCLUSIVE_OPTIONS
null,--1,-- INCLUDE_IN_COST_ROLLUP
null,--2,-- CHECK_ATP
null,-- SHIPPING_ALLOWED
null,--2,-- REQUIRED_TO_SHIP
null,--2,-- REQUIRED_FOR_REVENUE
null,--2,-- INCLUDE_ON_SHIP_DOCS
null,-- LOW_QUANTITY
null,-- HIGH_QUANTITY
null,-- ACD_TYPE
null,-- OLD_COMPONENT_SEQUENCE_ID
null,--v_seq,-- COMPONENT_SEQUENCE_ID
null,--v_seq,-- BILL_SEQUENCE_ID
null,-- REQUEST_ID
null,-- PROGRAM_APPLICATION_ID
null,-- PROGRAM_ID
null,-- PROGRAM_UPDATE_DATE
null,-- WIP_SUPPLY_TYPE
null,-- SUPPLY_SUBINVENTORY
null,-- SUPPLY_LOCATOR_ID
null,-- REVISED_ITEM_SEQUENCE_ID
null,-- MODEL_COMP_SEQ_ID
inventory_item_id,-- ASSEMBLY_ITEM_ID
null,-- ALTERNATE_BOM_DESIGNATOR
299,-- ORGANIZATION_ID
null,-- ORGANIZATION_CODE
null,-- COMPONENT_ITEM_NUMBER
null,-- ASSEMBLY_ITEM_NUMBER
null,-- REVISED_ITEM_NUMBER
null,-- LOCATION_NAME
null,-- REFERENCE_DESIGNATOR
null,-- SUBSTITUTE_COMP_ID
null,-- SUBSTITUTE_COMP_NUMBER
null,-- TRANSACTION_ID
1,-- PROCESS_FLAG
null,--4,-- BOM_ITEM_TYPE
null,-- OPERATION_LEAD_TIME_PERCENT
null,-- COST_FACTOR
null,-- INCLUDE_ON_BILL_DOCS
null,-- PICK_COMPONENTS
null,-- DDF_CONTEXT1
null,-- DDF_CONTEXT2
null,-- NEW_OPERATION_SEQ_NUM
null,-- OLD_OPERATION_SEQ_NUM
null,-- NEW_EFFECTIVITY_DATE
null,-- OLD_EFFECTIVITY_DATE
1,-- ASSEMBLY_TYPE
null,-- INTERFACE_ENTITY_TYPE
'CREATE',-- TRANSACTION_TYPE
null,-- BOM_INVENTORY_COMPS_IFCE_KEY
null,-- ENG_REVISED_ITEMS_IFCE_KEY
null -- ENG_CHANGES_IFCE_KEY
from bom_temp_04 where inventory_item_id=233814
相关文章推荐
- 物料清单(BOM)API导入Demo
- ORACLE ERP导数据(BOM清单)
- [置顶] excel清单数据导入到开票软件中进行开票
- SPOOL、SQLLOADER数据导出导入的一点小总结(超全!!)
- 利用SQL脚本向数据库导入EXCEL中的数据
- oracle中导出导入表以及数据
- Mysql中快速导入数据
- Android 操作 外部导入数据文件
- 用exp_imp远程操作数据库,附帶Oracle数据导入导出imp/exp詳解
- mysql导入导出数据
- Oracle导入/导出数据
- 如何把ACCESS数据库中的数据导入到Mysql数据库中
- 跟着官网学solr(三):数据导入
- SpringMVC 下载Excel模板和导入数据
- Oracle单实例数据库迁移到Oracle RAC环境之--数据导出导入
- MySQL远程导入/同步数据
- 导入MySQL数据库数据出现错误
- sql导入access数据时提示以独占方式打开解决方案
- oracle 数据泵导入导出实例
- csv文件数据批量导入hbase1