Agile PLM 表结构说明
公共說明
數(shù)據(jù)庫(kù)使用(重要)
直連數(shù)據(jù)庫(kù)存在風(fēng)險(xiǎn),使用時(shí)請(qǐng)謹(jǐn)慎!筆者曾今親身體驗(yàn),某個(gè)SQL寫的有性能問題導(dǎo)致數(shù)據(jù)庫(kù)服務(wù)器CPU占用率90%+,從而導(dǎo)致PLM服務(wù)不可用。
建議優(yōu)先使用AgileApi的IQuery功能查詢數(shù)據(jù)庫(kù)。實(shí)在滿足不了業(yè)務(wù)要求,公司內(nèi)部存在擅長(zhǎng)數(shù)據(jù)庫(kù)性能優(yōu)化的人員再考慮直連數(shù)據(jù)庫(kù)。在功能設(shè)計(jì)時(shí)應(yīng)充分考慮隨著數(shù)據(jù)量增大后可能出現(xiàn)的性能問題,并在上線前進(jìn)行充分測(cè)試。
如果要連PLM數(shù)據(jù)庫(kù),建議另外創(chuàng)建新用戶并授予其AgilePLM_ROLE角色,而不是直接使用agile用戶。
第三方系統(tǒng)程序如果要訪問PLM的數(shù)據(jù)建議通過接口而不是直連PLM數(shù)據(jù)庫(kù)。上述性能風(fēng)險(xiǎn)是原因之一。還有就是權(quán)限難以管控,一旦有了數(shù)據(jù)庫(kù)用戶,他們想查詢?nèi)魏螖?shù)據(jù)都可以。有一種折衷的辦法是視圖,建立一個(gè)新用戶后,僅給他們某個(gè)視圖的權(quán)限。
未經(jīng)授權(quán)和批準(zhǔn)絕不能修改或泄漏agile用戶密碼。agile用戶密碼修改需要配套修改其他設(shè)置,否則Agile系統(tǒng)將無法使用.
時(shí)區(qū)問題
由于PLM要兼容各個(gè)國(guó)家的不同時(shí)區(qū)。PLM數(shù)據(jù)庫(kù)中存的所有時(shí)間字段都是零時(shí)區(qū)時(shí)間。查詢顯示時(shí)需要根據(jù)當(dāng)?shù)貢r(shí)區(qū)換算。
例如:我們國(guó)家屬于東8區(qū),取出來之后要+8小時(shí)才是實(shí)際時(shí)間。參考sql如下:
--變更發(fā)布時(shí)間查詢 select C.CHANGE_NUMBER, c.release_date + 8/24 from agile.change cAgile表結(jié)構(gòu)
數(shù)據(jù)表
物料
表說明
-- 物料表 select * from agile.item;-- 物料視圖 select * from agile.ITEM_query; select * from agile.ITEM_P2_QUERY; select * from agile.ITEM_P2P3_QUERY; select * from agile.ITEM_P2P3_QUERY_ALL_REV;-- 物料歷史記錄 select i.item_number,t.* from ITEM_HISTORY t inner join ITEM i on t.item = i.id where I.ITEM_NUMBER like '03.08.%'表結(jié)構(gòu)說明
item_number 物料編碼
CLASS 一級(jí)分類
SUBCLASS 二級(jí)分類
DESCRIPTION 描述(物料名稱)
DEFAULT_CHANGE 最新的變更單ID
RELEASE_TYPE 生命周期ID
REV_NUMBER 版本號(hào)
BOM
表說明:
參考 ItemBom.map.xml
SELECT * FROM agile.bom b;--工位表(bom字段關(guān)聯(lián)bom表id字段,一個(gè)工位一行記錄,可能存在超過4000的問題) select * from REFDESIG t where bom = 72624583;-- 大文本字段存儲(chǔ)表,bom注釋(id為物料id,row_id為bom的id) select * from AGILE_FLEX t where t.text in ('sjj12','sjj');--PLM物料Bom查詢(只查一層)不帶工位, BOM注釋 SELECT b.*, ic.DESCRIPTION ,l.value AS sub_class_text ,ls.value AS life_cycle ,ip.ITEM_NUMBER AS parent_item_number ,lp.value as parent_life_cycle FROM agile.bom b INNER JOIN agile.ITEM_QUERY ip ON b.item = ip.id INNER JOIN agile.ITEM_QUERY ic ON b.component = ic.id left JOIN agile.LANGTABLE lp ON ip.RELEASE_TYPE = lp.id AND lp.type = 4450 AND lp.langid = 4 INNER JOIN agile.LANGTABLE l ON ic.SUBCLASS = l.id AND l.type = 4450 AND l.langid = 4 INNER JOIN agile.LANGTABLE ls ON ic.RELEASE_TYPE = ls.id AND ls.type = 4450 AND ls.langid = 4 WHERE NVL(b.CHANGE_OUT, 0) = 0 AND SUBSTR(b.FLAGS, 5, 1) = 1 and ls.value not in ('報(bào)廢','停產(chǎn)','退市') and lp.value in ('報(bào)廢','停產(chǎn)','退市') and ip.ITEM_NUMBER like '02.88.000026' and ic.ITEM_NUMBER like '03.%'表結(jié)構(gòu)說明
ITEM 父物料ID
COMPONENT 子物料ID
ITEM_NUMBER 子物料編碼
QUANTITY:子料用量,文本字段。可支持分?jǐn)?shù),例如:1/6
CHANGE_IN 新增時(shí)的變更單ID
CHANGE_OUT:刪除時(shí)的變更單ID
PRIOR_BOM:如果不為空,代表該行數(shù)據(jù)變更了另一行數(shù)據(jù),值為另一行數(shù)據(jù)ID。
FIND_NUMBER:查找編號(hào),目前沒用起來.
FLAGS,bom分錄狀態(tài)(第5位數(shù)為1代表有效)
活動(dòng)
class表示大類(關(guān)口和活動(dòng)), subclass表示小類(關(guān)口, 任務(wù), 計(jì)劃, 階段)
subclass=18027:計(jì)劃(項(xiàng)目),
subclass=18028:階段,
subclass=18029:任務(wù),
subclass=18401:關(guān)口,
業(yè)務(wù)關(guān)系:
計(jì)劃(項(xiàng)目)包含階段, 階段包含任務(wù)和關(guān)口, 某些任務(wù)完成以后, 關(guān)口才能打開, 才能進(jìn)行下一階段的任務(wù)
PARENT_ID:上一層對(duì)象的id,比如任務(wù)的parent_id會(huì)指向階段,階段的parent_id指向計(jì)劃.
ROOT_ID:最上層對(duì)象的id,也就是計(jì)劃的id
status:狀態(tài)信息-狀態(tài)。
值的具體含義:(每個(gè)環(huán)境可能不一樣,建議使用statustype)
18516 未開始
18517 進(jìn)程中
18518 完成
18519 已取消
18540 已取消
18539 已打開
18537 已關(guān)閉
18538 審閱中
價(jià)格
表說明
-- 價(jià)格主表 SELECT * FROM agile.PRICE p;-- 價(jià)格子行 SELECT * FROM agile.priceline pl;PRICE:對(duì)應(yīng)價(jià)格
PRICELINE:對(duì)應(yīng)價(jià)格的定價(jià)頁(yè)簽數(shù)據(jù)。也就是價(jià)格里面一行,即階梯價(jià)格。當(dāng)價(jià)格新建之后會(huì)有一條很多字段都是null與之對(duì)應(yīng),往定價(jià)中新增記錄之后會(huì)是2條數(shù)據(jù)。
價(jià)格和BOM類似也存在版本管理,在流程中也能對(duì)價(jià)格進(jìn)行增刪改操作,流程走到發(fā)布節(jié)點(diǎn)才會(huì)生效.
流程中未生效的數(shù)據(jù)也是存在PRICELINE表的.
PRICE表結(jié)構(gòu)
price_type:價(jià)格類型。1:代表量產(chǎn)價(jià),0:為樣品價(jià);
price_number:價(jià)格編號(hào)。相當(dāng)于物料編碼。
owner:創(chuàng)建人。
supplier:對(duì)應(yīng)的供應(yīng)商。
item:對(duì)應(yīng)的物料。制造商部件型價(jià)格這個(gè)字段為空。
mfr_part:對(duì)應(yīng)的制造商部件。物料型價(jià)格這個(gè)為空。
default_change:默認(rèn)的最新的價(jià)格變更
delete_flag:刪除標(biāo)識(shí)。0:代表未刪除。
flags:狀態(tài)標(biāo)識(shí)。剛新建時(shí)第三位是1。加入變更單之后第4位變?yōu)?
part_number:物料型價(jià)格這個(gè)字段記錄物料編碼;制造商部件價(jià)格這個(gè)字段記錄:制造商名稱::制造商部件編號(hào)
PRICELINE表結(jié)構(gòu)
price:外鍵,關(guān)聯(lián)price表ID。
change_in:價(jià)格行新增的表更單id,如果是0代表走變更之前就新增好的。如果是空則代表無效數(shù)據(jù)。
change_out:只要有值代表該行已被刪除且流程已發(fā)布。流程如果還未發(fā)布,則依然會(huì)是0。刪除別人的行in和out相等。
prior_row:如果該行修改了另一個(gè)行,這里記錄被操作行id。
flags:狀態(tài)標(biāo)識(shí)。在變更中新增全為0,變更之前新增第4和第5位為1。不受PCO影響。
quantity:數(shù)量
effective_from_date:生效開始日期
effective_end_date:生效結(jié)束日期
currency_code:貨幣代碼
material_price:材料價(jià)格
變更
表說明:
-- 變更 2473549:EcoBOM select * from agile.change c where c.CHANGE_NUMBER in ('C0095253');--變更受影響物件查詢 SELECT c.change_number, i.* FROM AGILE.REV R INNER JOIN AGILE.ITEM I ON R.ITEM = I.ID INNER JOIN AGILE.CHANGE C ON R.CHANGE = C.ID INNER JOIN agile.LANGTABLE l on c.SUBCLASS = l.id and l.type = 4450 and l.langid = 4 WHERE I.CLASS = 10000 AND C.CREATE_DATE > '2018-01-01' and l.value in ('自制件料號(hào)申請(qǐng)與BOM發(fā)布流程','ECO-BOM變更流程')供應(yīng)商
表說明:
--供應(yīng)商 select * from ORGANIZATION where org_number in ('RM.00652');制造商
MANUFACTURERS:制造商
MANU_PARTS:制造商部件
MANU_BY:制造商和部件關(guān)系表
產(chǎn)品服務(wù)請(qǐng)求
表說明:
--缺陷 select * from PSR t where t.status = 2477843;文件
Attachment:附件表
Floder:文件夾表
所有數(shù)據(jù)
agile_objects對(duì)象視圖,僅有CLASS, SUBCLASS, KEY_FIELD, DESCRIPTION
--大部分?jǐn)?shù)據(jù)對(duì)象表,但僅有很少字段 select * from agile_objects;歷史記錄
EVENT_HISTORY:事件歷史表
前文提到的:
CHANGE_HISTORY:變更歷史表
ITEM_HISTORY:物件歷史表
公共表
第二頁(yè),第三頁(yè)
PLM中大部分?jǐn)?shù)據(jù)對(duì)象都會(huì)有第二頁(yè)和第三頁(yè)。
第二頁(yè)中存儲(chǔ)的是分類中一二級(jí)分類的公共字段。對(duì)應(yīng)的表是PAGE_TWO
第三頁(yè)中存儲(chǔ)的是三級(jí)分類中特殊字段。對(duì)應(yīng)的表是PAGE_THREE
第二頁(yè)和第三頁(yè)跟對(duì)象表的關(guān)聯(lián)方式,根據(jù)對(duì)象表的ID和Class字段去第二頁(yè),第三頁(yè)表中做關(guān)聯(lián)查詢。例如:
--第二頁(yè) select * from agile.PAGE_TWO t2; --第三頁(yè) select * from agile.PAGE_THREE t2; --物件關(guān)聯(lián)第二頁(yè) select * from item i inner join page_two p2 on i.id=p2.id and i.class = p2.classPLM中很多常用對(duì)象的第二頁(yè),第三頁(yè)信息已經(jīng)做了視圖,可以直接用視圖來查詢
每個(gè)字段對(duì)應(yīng)的含義或名稱請(qǐng)結(jié)合PLM管理控制臺(tái)查詢。
大文本字段
對(duì)于varchar2 4000以內(nèi)的內(nèi)容直接存儲(chǔ)在第二頁(yè)和第三頁(yè)。但如果超過4000則是存在下面的表中。
-- 大文本存儲(chǔ)表,bom注釋(id為物料id,row_id為bom的id) select * from AGILE_FLEX t inner join bom b on t.row_id = b.id and t.id = b.item where t.text in ('sjj2','sjj');多列表
多列表選擇的值數(shù)量比較小時(shí)是以",id1,id2,id3,"存儲(chǔ)在第二頁(yè)和第三頁(yè)中的。但如果超過一定數(shù)量這個(gè)字段會(huì)變成“-1”然后需要從msatt表查詢。
管理配置
列表
listname:列表表
Listentry:列表項(xiàng)
列表項(xiàng)id:entryid
列表項(xiàng)值:entryvalue
列表項(xiàng)之間父子關(guān)系:parent_entry
列表項(xiàng)分類:parentid
列表項(xiàng)分類id可以去后臺(tái)管理系統(tǒng)的“設(shè)置-數(shù)據(jù)設(shè)置-列表”中查詢
--列表定義表,層疊列表用parent_list鏈接父子列表 select * from agile.LISTNAME WHERE name like '%物料組%';--列表子行 父子記錄通過parent_entry關(guān)聯(lián),parentid用于區(qū)分不同的列表項(xiàng) select * from agile.LISTENTRY l where l.parentid in (2477261) and langid in (0,4);--修復(fù)生命周期專用SQL display值應(yīng)該為0. select * from agile.listname where id = 301; update listname set display = 0 where id = 301;--生命周期查詢 select ip.*,lp.value from agile.ITEM_QUERY ip INNER JOIN agile.LANGTABLE lp ON ip.RELEASE_TYPE = lp.id AND lp.type = 4450 AND lp.langid = 4用戶
表說明:
-- plm用戶表 select * from agile.AGILEUSER where loginid = 'zhangsan'-- 用戶組 select * from agile.user_group where id = 6039858貨幣轉(zhuǎn)換
CONVERSION:貨比轉(zhuǎn)換配置
-- 轉(zhuǎn)換(貨幣) select * from agile.CONVERSION c where c.CONV_EFFECTIVE_TO_DATE is null;系統(tǒng)配置
表說明:
-- 查詢PLM進(jìn)程擴(kuò)展 select * from PROPERTYTABLE p inner join NODETABLE n on p.parentid = n.id where n.PARENTID = 10025 and p.value like '%PCBCreateItem%'-- 查詢PLM事件程序 select * from agile.PROPERTYTABLE p inner join agile.NODETABLE n on p.parentid = n.id and propertyid = 885 where n.PARENTID = 2000011631 and p.value like '%CheckSCSupplier%'總結(jié)
以上是生活随笔為你收集整理的Agile PLM 表结构说明的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Cisco Vlan trunk
- 下一篇: kalibr源码解析之fov模型重投影误