2012產(chǎn)品創(chuàng)新數(shù)字化峰會(huì)有獎(jiǎng)?wù)魑幕馃徇M(jìn)行中……
0 引言
Teamcenter是Siemens 公司在整合UGS 和SDRC 的產(chǎn)品和技術(shù)優(yōu)勢(shì)后所提供的一套完整的企業(yè)級(jí)PLM解決方案。Teamcenter能夠支持由制造商、供應(yīng)商、合作伙伴和客戶組成的擴(kuò)展企業(yè)在網(wǎng)絡(luò)環(huán)境中生成、共享、管理、集成和評(píng)價(jià)各種產(chǎn)品數(shù)據(jù)(包括產(chǎn)品需求、項(xiàng)目數(shù)據(jù)、工程設(shè)計(jì)數(shù)據(jù)、零部件和文檔以及產(chǎn)品配置數(shù)據(jù)等)。
某大型家電企業(yè)使用Teamcenter PLM系統(tǒng)作為其研發(fā)產(chǎn)品的生命周期管理工具。任何產(chǎn)品,需要以唯一的銷售碼形式存儲(chǔ)在企業(yè)信息系統(tǒng)中,并且與對(duì)應(yīng)的產(chǎn)品生產(chǎn)碼、產(chǎn)品設(shè)計(jì)碼相關(guān)聯(lián),滿足單一數(shù)據(jù)源與數(shù)據(jù)可追溯性的要求,規(guī)范企業(yè)的生產(chǎn)與銷售之間的關(guān)系。而企業(yè)應(yīng)用于生產(chǎn)、銷售的信息系統(tǒng)往往是分步實(shí)施,其間的關(guān)系混亂。為此,筆者力圖通過(guò)客戶端的二次應(yīng)用開(kāi)發(fā),來(lái)解決特定需求,對(duì)其他類似問(wèn)題也具有借鑒意義。
1 銷售碼應(yīng)用開(kāi)發(fā)方案
1.1 問(wèn)題描述
企業(yè)產(chǎn)品的生產(chǎn)碼、設(shè)計(jì)碼、銷售碼存在以下現(xiàn)狀。
產(chǎn)品的生產(chǎn)碼作為產(chǎn)品的Item ID,也就是產(chǎn)品的物料編碼,產(chǎn)品的生產(chǎn)碼,在創(chuàng)建產(chǎn)品保存后系統(tǒng)根據(jù)生產(chǎn)碼規(guī)則自動(dòng)生成,一經(jīng)生成便不可更改,并且,當(dāng)為內(nèi)銷產(chǎn)品時(shí),業(yè)務(wù)上被作為銷售碼使用。而產(chǎn)品的設(shè)計(jì)碼,在創(chuàng)建產(chǎn)品保存后系統(tǒng)根據(jù)設(shè)計(jì)碼規(guī)則自動(dòng)生成,且可手工更改設(shè)計(jì)碼,它作為產(chǎn)品版本對(duì)象表單屬性進(jìn)行存儲(chǔ)。
其生產(chǎn)碼生成規(guī)則如圖1所示。
圖1 生產(chǎn)碼生產(chǎn)規(guī)則
第“5~7”位基準(zhǔn)產(chǎn)品規(guī)格小類:為產(chǎn)品型號(hào)中的規(guī)格代碼,對(duì)規(guī)格代碼不足3位的應(yīng)用“0”補(bǔ)足三位。超過(guò)3位的,1000L-3000L,10用A表示,11用B表示,以此類推。3000升及以上的統(tǒng)一用W00表示,字母O和I不得使用,字母X、Y、Z備用。例:BC-48冷藏箱,其規(guī)格代碼為48,則應(yīng)表示為“048”。如BD/BC-1065DKM,其規(guī)格代碼為A65。
其設(shè)計(jì)碼生成規(guī)則如圖2所示。
圖2 設(shè)計(jì)碼生成規(guī)則
第一位至第三位取值:產(chǎn)品類別的值為:1、3、4歸類為冰箱,對(duì)應(yīng)的代碼值只能從000-9ZZ,R00-ZZZ生成;產(chǎn)品類別的值為:5、6、7、8歸類為冷柜,對(duì)應(yīng)的代碼值只能從C00-KZZ,P00-QZZ生成。第四位取值:根據(jù)產(chǎn)品在分類上的制冷劑分類屬性值獲取:R12-1;R134a-2;R600a-3;混合工質(zhì)-4;R404a-5。
由冰箱產(chǎn)品的壓縮機(jī)對(duì)產(chǎn)品成本影響很大,而壓縮機(jī)型號(hào)及價(jià)格往往隨市場(chǎng)波動(dòng)很大,所以原本設(shè)計(jì)相同的同一種產(chǎn)品,由于壓縮機(jī)不一樣,產(chǎn)生了多個(gè)生產(chǎn)碼,但由于其作為同一種產(chǎn)品對(duì)外銷售,在ERP系統(tǒng)中,其銷售碼要唯一,而現(xiàn)階段出現(xiàn)了同一產(chǎn)品多個(gè)銷售碼的狀況。而且因以前的設(shè)計(jì)碼歷史數(shù)據(jù)的編碼是手工編制,不是按順序編制的,毫無(wú)規(guī)律可言,也相對(duì)混亂。所以急需在PLM系統(tǒng)中尋找一種解決此混亂情況的方法。
1.2 解決方案
根據(jù)企業(yè)要求銷售碼對(duì)象必須存儲(chǔ)銷售碼、銷售碼描述、設(shè)計(jì)碼、生產(chǎn)碼(數(shù)組型)、品牌、品類,且銷售碼和銷售碼描述以及設(shè)計(jì)碼必須按規(guī)則自動(dòng)生成;銷售碼方案上線前的產(chǎn)品(稱呼為老產(chǎn)品),其生產(chǎn)碼從業(yè)務(wù)上還是作為銷售碼同時(shí)使用,若銷售碼方案上線前的產(chǎn)品(稱呼為老產(chǎn)品)存在壓縮機(jī)替代項(xiàng),則必須由研發(fā)部門手工創(chuàng)建壓縮機(jī)替代項(xiàng)產(chǎn)品(稱呼為替代項(xiàng)產(chǎn)品),并且系統(tǒng)自動(dòng)創(chuàng)建一個(gè)銷售碼對(duì)象,此銷售碼對(duì)象的銷售碼和設(shè)計(jì)碼為老產(chǎn)品的生產(chǎn)碼和設(shè)計(jì)碼,銷售碼描述根據(jù)規(guī)則自動(dòng)合成,銷售碼對(duì)象的生產(chǎn)碼屬性存儲(chǔ)老產(chǎn)品的生產(chǎn)碼和替代項(xiàng)產(chǎn)品的生產(chǎn)碼;銷售碼與設(shè)計(jì)碼前三位的關(guān)系為1:1;銷售碼與生產(chǎn)碼關(guān)系為1:N,其都是基于型號(hào)和顏色決定唯一性。
1.3 應(yīng)用開(kāi)發(fā)控制方法
根據(jù)方案描述,需要在PLM系統(tǒng)對(duì)相應(yīng)的業(yè)務(wù)點(diǎn)要進(jìn)行控制。
在不同組織中,同一個(gè)銷售碼對(duì)應(yīng)的多個(gè)產(chǎn)品(生產(chǎn)碼),若產(chǎn)品對(duì)應(yīng)的型號(hào)或顏色發(fā)生變化,要求銷售碼及其對(duì)應(yīng)的多個(gè)產(chǎn)品的描述必須更改一致(僅針對(duì)描述中的型號(hào)和顏色)。
在不同組織中,一個(gè)產(chǎn)品因工廠轉(zhuǎn)產(chǎn)存在多個(gè)具有相同生產(chǎn)碼的產(chǎn)品(生產(chǎn)碼后加工廠后綴區(qū)分),要求這些產(chǎn)品的描述必須更改一致。
產(chǎn)品分類屬性中填寫(xiě)的壓縮機(jī)屬性值必須和產(chǎn)品實(shí)際BOM中的壓縮機(jī)一致。
在不同組織中,一個(gè)產(chǎn)品因工廠轉(zhuǎn)產(chǎn)存在多個(gè)具有相同生產(chǎn)碼的產(chǎn)品(生產(chǎn)碼后加工廠后綴區(qū)分),要求這些產(chǎn)品實(shí)際BOM中的壓縮機(jī)及其配套物料必須一致。
在不同組織中,同一個(gè)銷售碼對(duì)應(yīng)的多個(gè)產(chǎn)品(生產(chǎn)碼),這些產(chǎn)品實(shí)際BOM結(jié)構(gòu)必須一致(除壓縮機(jī)及其配套物料之外)。
在不同組織中,不允許存在BOM結(jié)構(gòu)完全一樣而編碼不一樣的兩個(gè)物料,包括產(chǎn)品和子裝配件。(除生產(chǎn)工藝引起的原輔料和采購(gòu)標(biāo)識(shí)不同之外)。
2 系統(tǒng)應(yīng)用開(kāi)發(fā)
2.1 開(kāi)發(fā)環(huán)境
Teamcenter的二次開(kāi)發(fā)分為客戶端和服務(wù)器端。客戶端用Java語(yǔ)言開(kāi)發(fā),同樣它的二次開(kāi)發(fā)也使用Java語(yǔ)言;服務(wù)器端的二次開(kāi)發(fā)利用集成工具包( Integrated Tool Ki,t ITK ) 及C語(yǔ)言。由于Teamcenter Engineering版本的升級(jí)可能導(dǎo)致所開(kāi)發(fā)程序需要改寫(xiě)并重新編譯, 所以二次開(kāi)發(fā)的原則是盡可能利用Teamcenter Engineering已有的功能,減少二次開(kāi)發(fā)量。基于以上考慮,二次開(kāi)發(fā)的重心應(yīng)放在客戶端,盡量利用服務(wù)器端的已有功能。
開(kāi)發(fā)程序應(yīng)用環(huán)境如表1所示。
表1 應(yīng)用環(huán)境
應(yīng)用環(huán)境確定后,根據(jù)業(yè)務(wù)需求,PLM系統(tǒng)涉及的數(shù)據(jù)模型描述如表2所示。
表2 數(shù)據(jù)模型描述
2.2 系統(tǒng)Handler開(kāi)發(fā)
Teamcenter提供了ITK的開(kāi)發(fā)方式。事實(shí)上,ITK是Teamcenter與NX定義的一系列C函數(shù),是一套經(jīng)過(guò)封裝的C語(yǔ)言程序集。其主要用于Handler的創(chuàng)建。
此handler為Workflow具體任務(wù)節(jié)點(diǎn)的ACTION-Handler,Handler名稱可自定。使用此Handler時(shí),“流程目標(biāo)對(duì)象”會(huì)固定為M6_ProductRevision。主要用于新建與產(chǎn)品對(duì)應(yīng)的銷售碼對(duì)象,或?qū)⑿陆óa(chǎn)品分配入已有銷售碼對(duì)象。
具體實(shí)施建議放置在“新增圖紙明細(xì)審核流程”的發(fā)放節(jié)點(diǎn)之后。程序邏輯如圖3所示。
圖3 銷售碼生成/關(guān)聯(lián)邏輯圖
判定檢查“流程目標(biāo)對(duì)象”的itemid是否為51開(kāi)頭,如果是則“通過(guò)”,不是則“不通過(guò)”;是否已存在匹配的“銷售碼對(duì)象”,獲取“流程目標(biāo)”的屬性——“產(chǎn)品型號(hào)”將屬性“產(chǎn)品型號(hào)”,作為搜索輸入,去遍歷M6_SalescodeRevisionMaster的屬性字段——“產(chǎn)品型號(hào)”若返回存在滿足條件的ITEM——M6_Salescode;則判定為“存在”;若返回結(jié)果為空,則判定為“不存在”;新建銷售碼對(duì)象,新建一個(gè)ITEM類——M6_Salescode,其itemid自動(dòng)生成,規(guī)則為:“流程目標(biāo)”的itemid經(jīng)12位編碼化后(十二位編碼化:流程目標(biāo)的itemid可能是xxxxxxxxxxxx,也可能是xxxxxxxxxxxx-xxx兩種形式,只需要xxxxxxxxxxxx部分)。將12位化后的結(jié)果第2位碼改為固定數(shù)字7后得到的“更新后12位編碼”;與新增的銷售碼對(duì)象關(guān)聯(lián),將“流程目標(biāo)對(duì)象”的itemid,Append至新增的“銷售碼對(duì)象”的屬性字段,將新增的“銷售碼對(duì)象”ITEM類型——M6_Salescode,以關(guān)系M6_SalesRelation關(guān)聯(lián)到“流程目標(biāo)對(duì)象”所在的M6_Product對(duì)象下;加入到匹配的“銷售碼對(duì)象”中,在步驟邏輯步驟#1中,記錄返回存在滿足條件的ITEM——M6_Salescode的編碼,將“流程目標(biāo)對(duì)象”的itemid,Append至此滿足條件的“銷售碼對(duì)象”的屬性字段;產(chǎn)生“設(shè)計(jì)碼”屬性,按照規(guī)則自動(dòng)生成“設(shè)計(jì)碼”,并將生成的結(jié)果值,同時(shí)寫(xiě)入新增出的“銷售碼對(duì)象”的屬性。
2.3 PLM系統(tǒng)與ERP系統(tǒng)接口傳遞
PLM系統(tǒng)與ERP系統(tǒng)之間的信息由接口進(jìn)行傳遞。Teamcenter支持Plug-in開(kāi)發(fā)方式實(shí)現(xiàn)其客戶化需求。利用Teamcenter提供的開(kāi)發(fā)入口Teamcenter\portal。將入口加入目標(biāo)平臺(tái),即可利用Plug-in對(duì)Teamcenter進(jìn)行客戶化定制。信息的傳遞即通過(guò)Plug-in開(kāi)發(fā)方式,讀取PLM中的信息并將信息寫(xiě)入中間表,實(shí)現(xiàn)信息的傳遞。
利用JAVA線程技術(shù),利用程序每隔20秒時(shí)間進(jìn)行遍歷讀取器工作列表下的任務(wù)。順序執(zhí)行其獲取的任務(wù),根據(jù)任務(wù)類型選擇具體的處理方法。信息機(jī)器人除了具有任務(wù)分析及處理功能外,還具備工作日志存儲(chǔ)、出異常關(guān)閉、自動(dòng)重啟等功能。
對(duì)于物料的新建、更新,BOM的新建、更新,以及新供應(yīng)商與物料供應(yīng)關(guān)系,為了完成從PLM到ERP的傳遞,在PLM系統(tǒng)本地?cái)?shù)據(jù)庫(kù)中創(chuàng)建傳遞請(qǐng)求中間表,在ERP系統(tǒng)本地?cái)?shù)據(jù)庫(kù)中創(chuàng)建傳遞反饋中間表,對(duì)于每種需要傳遞的數(shù)據(jù):
首先由PLM中的信息機(jī)器人,響應(yīng)用戶在工作流任務(wù)中提交的傳遞請(qǐng)求動(dòng)作,將傳遞請(qǐng)求數(shù)據(jù)記錄到PLM本地的請(qǐng)求中間表,該請(qǐng)求的初始狀態(tài)為‘NEW’;
然后定時(shí)運(yùn)行的ERP客戶化程序讀取狀態(tài)為‘NEW’的請(qǐng)求數(shù)據(jù),如果初步判斷無(wú)法接受該請(qǐng)求,則更新PLM中間表的請(qǐng)求記錄為‘REJECTED’狀態(tài);如果可以處理,則在ERP本地的反饋中間表生成對(duì)應(yīng)的傳遞數(shù)據(jù)記錄,經(jīng)過(guò)進(jìn)一步轉(zhuǎn)換處理后,提交ERP標(biāo)準(zhǔn)處理程序進(jìn)行處理,然后將中間表請(qǐng)求記錄更新為‘ACCEPTED’狀態(tài);
ERP客戶化程序跟蹤ERP標(biāo)準(zhǔn)處理程序的執(zhí)行結(jié)果,更新ERP本地反饋表中傳遞記錄的的狀態(tài)為‘SUCCESS’或‘FAIL’狀態(tài);
PLM中的信息機(jī)器人響應(yīng)用戶在工作流任務(wù)中執(zhí)行的檢查傳遞結(jié)果動(dòng)作,讀取ERP反饋表中狀態(tài),反饋給用戶傳遞結(jié)果信息;PLM工作流中信息機(jī)器人的處理程序,檢查傳遞必須成功,才允許流程向下推進(jìn)。
其具體傳遞邏輯如圖4所示。
圖4 信息傳遞邏輯圖
3 應(yīng)用實(shí)例
該企業(yè)通過(guò)新增產(chǎn)品明細(xì)工作流程進(jìn)行銷售碼的生成及數(shù)據(jù)的傳遞。主要包括工程師提交、標(biāo)準(zhǔn)化審核、會(huì)簽、部長(zhǎng)批準(zhǔn)、系統(tǒng)發(fā)布、物料傳遞ERP、物料傳遞到OCM\BOM傳遞到ERP、BOM傳遞到OCM、發(fā)送通知等工作步驟。工作流程如圖5所示。
圖5 產(chǎn)品新增明顯流程
在系統(tǒng)發(fā)布節(jié)點(diǎn)中加入銷售碼生成Handler程序,用于銷售碼的生成;在物料傳遞ERP節(jié)點(diǎn),開(kāi)發(fā)plug-in程序,用于銷售碼的物料傳遞及銷售碼與生產(chǎn)碼關(guān)系傳遞。
銷售碼生成部分代碼如下:
AOM_ask_value_string(revMasterTag,"m6_product_model",&xinghao_value1);
ICS_ico_find("",attachObjectTags[i],ICS_SEARCH_ORDER_BY_ID,&theCount,&theICOTags);
ICS_ico_ask_class(theICOTags[h],&theClassId);
ICS_ask_attribute_value(theICOTags[h],"*顏色",&attributeValue);
ICS_ask_attribute_value(theICOTags[h],"*制冷劑",&zhilengjiValue);
ICS_keylov_get_keylov(key_lov_id,&key_lov_name,&options,&n_lov_entries,&lov_keys,&lov_values,&deprecated_staus,&owning_site,&n_shared_sites,&shared_sites);
……
//銷售碼創(chuàng)建
ITEM_create_item(item_id,NULL,"M6_Salescode",NULL,&tagSalescodeItem,&tagSalescodeItemrev);
流程運(yùn)行結(jié)束之后,實(shí)際產(chǎn)生銷售碼符合銷售碼生成規(guī)則,其與生產(chǎn)碼關(guān)系傳遞正確。
4 結(jié)束語(yǔ)
PLM系統(tǒng)實(shí)施過(guò)程中,業(yè)務(wù)流程需求往往會(huì)產(chǎn)生新的技術(shù)需求。如何讓PLM系統(tǒng)更適合具體企業(yè),使其達(dá)到預(yù)期的效果,需要業(yè)務(wù)人員與開(kāi)發(fā)人員緊密合作。此PLM系統(tǒng)銷售碼啟用,正是業(yè)務(wù)人員與開(kāi)發(fā)人員相互配合實(shí)施的良好案例。實(shí)踐證明,Teamcenter系統(tǒng)中銷售碼的開(kāi)發(fā)應(yīng)用,滿足了企業(yè)額業(yè)務(wù)需求,解決了企業(yè)銷售碼、生產(chǎn)碼、設(shè)計(jì)碼混亂的現(xiàn)狀,提高了企業(yè)的生產(chǎn)效率,提升了企業(yè)的市場(chǎng)競(jìng)爭(zhēng)力。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://m.hanmeixuan.com/
本文標(biāo)題:TeamcenterPLM系統(tǒng)中銷售碼項(xiàng)目的應(yīng)用開(kāi)發(fā)
本文網(wǎng)址:http://m.hanmeixuan.com/html/solutions/1401934507.html