TeamCenter历史数据导入.doc

TeamCenter历史数据导入.doc

ID:49701150

大小:368.38 KB

页数:11页

时间:2020-03-03

TeamCenter历史数据导入.doc_第1页
TeamCenter历史数据导入.doc_第2页
TeamCenter历史数据导入.doc_第3页
TeamCenter历史数据导入.doc_第4页
TeamCenter历史数据导入.doc_第5页
资源描述:

《TeamCenter历史数据导入.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Teamcenter(UA)中实现历史数据导入发表时间:2009-12-31 特约通讯员: 郭宇 来源:e-works关键字:Teamcenter Item 二次开发 历史数据导入 PDM本文阐述了在Teamcenter(UA)上实现的一个比较通用的历史数据导入工具的实现方法。通过JavaEclipse和POI技术实现了对历史数据的分批导入。    PDM(ProductDataManagement)最重要的功能之一是实现企业业务流程的电子化,为了实现这个目标,我们必须保证各种数据能够存储到PDM系统并且能很好得共享。其中包括了文档、设计资料(二维三维图纸)

2、的存储和共享。同时我们还需要实现企业业务流程的电子化乃至核心研发流程优化再造,以规范企业的研发流程,帮助企业提高核心竞争力。   Teamcenter(UA)有良好的架构和开发接口,我们可以通过客户化为企业量身定做适合企业自身的业务工作流,满足客户的特殊需要。在PDM实施过程中系统上线前,企业历史数据必须有步骤分批导入到一个全新的PDM系统以支持日常业务流程。本文阐述了在Teamcenter(UA)上实现的一个比较通用的历史数据导入工具的实现方法。通过JavaEclipse和POI技术实现了对历史数据的分批导入。一、实现原理   Teamcenter(UA)

3、中的基本数据结构是Item结构: 图1.Item结构   Item是系统最基本的业务对象,ItemRevision是版本对象,用来管理各个版本的数据。其中属性表保存了版本的详细属性,包括了客户化属性;数据集(用DS缩写)封装了物理文件。Item对象还可以通过各种关系关联其他的Item对象。   在实施过程中,我们通常会帮助企业整理一部分有价值的历史数据作为PDM系统上线时的基础和参考,比如标准件库,有代表性的机种等等。一般情况下,我们会把整理数据整理成Excel格式。所以要求历史数据导入工具需要能够分析Excel文件,并且在Teamcenter(UA)系统中

4、创建上(图1)中的数据结构。对于最常用的数据导入要求,我把它分为三个主要的功能模块进行设计:· Item对象:逐个导入Item对象结构,包括Item、ItemRevision、数据集以及他们的关联关系图2.导入Item程序框图·BOM对象:在导入Item对象结构的基础上再创建Bom结构,表达零部件Bom关系;图3.导入Bom程序框图·Relation对象:导入若干Item对象之间的关系图4.导入关系程序框图   对于上述三种业务逻辑,可以把程序划分为“Excel读取”“数据创建”“驱动引擎”“导入日志”等模块进行设计:图5.模块划分二、关键技术1.通用性设计

5、   面对各个不同的类,如何把各种具有不同属性的类导入到系统是导入工具设计的首要问题。为了解决这个问题,导入工具必须能读取具有可变列的Excel表格。下面是导入程序应有的一些重要逻辑:·每个属性都有标示符,表示它属于(图1)中哪个类的属性,是Item的还是DS的?·当读取属性名称列,遇到空白列时,标记这是列结尾。·当读取到行号为空的行时,标记这是最后一行数据·提供多种可选选项,配置导入后的一些后续动作。如:若同名DS存在是否覆盖,若对象存在是否覆盖?·标记Bom关系上的属性,例如:单位、数量等等2.POI读写Excel技术·导入必要的包   importor

6、g.apache.poi.hssf.usermodel.*;· 定义Workbook对象:   publicHSSFWorkbookwb=null;· 打开Excel工作簿   publicbooleanopen(Filein)   {       FileInputStreamfilein=null;       try{           filein=newFileInputStream(in);    }catch(FileNotFoundExceptione){    e.printStackTrace();    returnfalse;   

7、 }    try{    wb=newHSSFWorkbook(filein);    filein.close();    }catch(IOExceptione){    e.printStackTrace();    returnfalse;    }    returntrue;   }· 读取单元格   读入字符串使用语句:   cellval=wb.getSheetAt(isheet).getRow(iline).getCell((short)irow).getStringCellValue();   读入数字使用语句:   celldval=

8、wb.getSheetAt(isheet).getR

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。