色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

ORACLE ERP導數(shù)據(jù)(BOM清單)

瀏覽:155日期:2023-11-16 11:42:54
方法:把數(shù)據(jù)導入BOM清單的方法是,把數(shù)據(jù)導入接口表中,讓其自動運行既可。上傳文件的時候,要注重使;;;用ASCII字符模式。1、自己建立一中轉(zhuǎn)表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, --組件數(shù)量 item_num;;;;number, --項目序列 operation_seq_num;;;number, --工序序列 component_item_id;;;number, component_item;;;varchar2(50),; --組件 PLANNING_FACTOR;;;number,;;--計劃%d100 component_yield_factor;;number,;;--產(chǎn)出率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、刪除中轉(zhuǎn)表中的數(shù)據(jù) delete cux_bill_temp;3、把要導入的數(shù)據(jù)放在擴展名為*.csv的文件中,且要相對應于中轉(zhuǎn)表的字段,本例中的文件名為bill.csv。 另外的腳本文件為bill.ctl,其內(nèi)容如下:options (skip=1); //跳過第一行,一般第一行為其字段說明LOAD DATAINFILE bill.csv; //bill.csv為數(shù)據(jù)文件APPENDINTO TABLE cux_bill_tempFIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '''(與中轉(zhuǎn)表相對應的字段列表)登錄進入Oracle數(shù)據(jù)庫服務器,利用命令:(sqlload 用戶名/密碼@數(shù)據(jù)庫名)載入文件bill.csv的數(shù)據(jù)入中轉(zhuǎn)表。4、查看中轉(zhuǎn)表中的記錄數(shù)(以備導入數(shù)據(jù)后進行對比) 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_tempwhere row_num in (select min(row_num) from cux_bill_temp group by assembly_item,component_item having count(*)>1);以下步驟為選做(如有重復才做,沒有重復不做7-10)7、再重新建立一個臨時表(對于有重復數(shù)據(jù),則只取一條數(shù)據(jù),現(xiàn)取row_num最小的一條) drop table cux_bill_a;create table cux_bill_aasselect 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_numfrom cux_bill_tempgroup 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表中把數(shù)據(jù)導入給cux_bill_temp表,完成把重復數(shù)據(jù)剔除的功能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_numfrom cux_bill_a;10、刪除表cux_bill_a drop table cux_bill_a;11、再檢查一次表,是否有重復的數(shù)據(jù) select assembly_item,component_item,min(row_num),count(*)from cux_bill_tempgroup by assembly_item,component_itemhaving count(*)>1;12、查看在mtl_system_items表中,既是在庫存表中,有沒有不存在的Item.select distinct itemfrom (select distinct assembly_item itemfrom cux_bill_temp bwhere not exists (select null from mtl_system_items where segment1=b.assembly_item and organization_id=2)unionselect distinct component_item itemfrom cux_bill_temp bwhere 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導入到系統(tǒng)中) 刪除: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,itemfrom (select distinct assembly_item itemfrom cux_bill_temp bwhere not exists (select null from mtl_system_items where segment1=b.assembly_item and organization_id=2)unionselect distinct component_item itemfrom cux_bill_temp bwhere not exists (select null from mtl_system_items where segment1=b.component_item and organization_id=2))將找到?jīng)]有ITEM的BOM數(shù)據(jù)放到另一個表中,以備下次ITEM導入后在導BOMcreate table cux_bom_temp1select distinct itemfrom (select distinct assembly_item itemfrom cux_bill_temp bwhere not exists (select null from mtl_system_items where segment1=b.assembly_item and organization_id=2)unionselect distinct component_item itemfrom cux_bill_temp bwhere not exists (select null from mtl_system_items where segment1=b.component_item and organization_id=2))-----------------------------------------------------------------------------------------------------------15、從表mtl_system_items中把物品的編碼ID加入中轉(zhuǎn)表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、對其中導入的數(shù)據(jù)進行處理 update cux_bill_temp set OPTIONAL=1 where upper(OPTIONAL_disp) like 'Y%'; update cux_bill_temp set OPTIONAL=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中的數(shù)據(jù)處理是否有漏 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、更新其內(nèi)的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(既在表中已經(jīng)存在了些選項包,不必導入包頭,只需導入包內(nèi)容既可) delete cux_bill_temp twhere exists (select null from bom_bill_of_materials where assembly_item_id=t.assembly_item_id and organization_id=2);21、利用已經(jīng)寫好的包寫入數(shù)據(jù)(既寫入接口表bom_bill_of_mtls_interface) exec cux_bom_temp.insert_bill_15(1);select count(*) from cux_bill_temp tempwhere 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 tempwhere 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、對寫入的數(shù)據(jù)在接口表中的情況進行查看 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、對于接口表中的數(shù)據(jù)進行導入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;
主站蜘蛛池模板: 亚洲综合色视频在线观看 | 香蕉香蕉国产片一级一级毛片 | 国产精品久久久久免费 | 日本aaaa级毛片在线看 | 久草在线视频在线 | 久久精品视频一区 | 日韩免费毛片全部不收费 | 国产99视频精品免费观看9e | 欧美视频综合 | 久久精品一级 | 亚洲国产精品久久久久久网站 | 亚洲国产日韩综合久久精品 | 国产毛片在线高清视频 | 男人都懂的网址在线看片 | 99成人在线视频 | 成年男女的免费视频网站 | 毛片啪啪视频 | 特黄特黄一级高清免费大片 | 特黄特黄一级高清免费大片 | 一区中文字幕 | 国产欧美曰韩一区二区三区 | 国产亚洲精品一品区99热 | 国产日韩欧美在线一二三四 | 免费视频一区二区 | 在线观看日韩www视频免费 | 国产一区a | 亚洲影视一区二区 | 97影院在线午夜 | 国产美女做爰免费视频网址 | 国产精品在线播放 | 日韩欧美视频在线播放 | 午夜在线观看视频免费 成人 | 久久橹| 高清不卡日本v在线二区 | 成人久久免费视频 | 免费观看三级毛片 | 成人精品综合免费视频 | 亚洲小视频网站 | 亚州人成网在线播放 | 国产成人在线播放 | 99久久综合精品免费 |