基于Oracle EBS的PDM与ERP系统集成的设计与实现
2014-08-22征李
吴 征李 丹
(中航工业沈阳黎明航空发动机〈集团〉有限责任公司,辽宁 沈阳 110043)
0 引言
产品数据管理系统(PDM)和企业资源计划系统(ERP)是关系到企业核心能力的两个重要技术平台。
PDM(Product Data Management,产品数据管理)是一门管理所有与产品相关的信息(包括电子文档、数字化文件、数据库记录)和所有与产品有关的过程(工作流程、更改 流程、项目管理)的技术,它提供了产品全生命周期的信息管理,并可在企业范围内为产品设计与制造建立一个并行化的协作环境。
ERP(Enterprise Resource Planning,企业资源规划)是将企业与制造相关的资源和过程,包括产、供、销、人、财、物等,作为一个有机整体进行全面一体化管理。搭建一个涵盖财务、生产、采购、销售、物料、质量、人力资源等方面的,利用信息技术整合的一个综合集成平台。
ERP和PDM分工明确,管理的目的和侧重点各有不同。ERP管理的核心是产品制造过程,关注的重点是生产计划和库存的控制;PDM以产品设计过程为管理的核心,关注的重点是产品设计过程的有效管理。但二者建立的基础是相同的,都是企业的基本制造数据,如物料数据、设计数据、工艺数据等。与产品相关的数据是在产品的设计和加工过程中产生的,即在PDM管理下产生的,而在ERP系统中这些信息只是作为基础数据输入系统,据此编制主生产计划、物料需求计划、能力计划、采购计划等。因此,在PDM与ERP系统之间实现信息集成,不仅能使产品的设计制造过程更加顺畅,而且能避免由于信息重复输入而可能带来的错误,精确地传递信息,促使整个企业设计制造部门之间协同工作。PDM与ERP系统间的集成是企业信息化应用的必然需求。
1 ERP与PDM集成信息
PDM系统管理所有与产品相关的基础数据和产品设计相关的过程,而ERP系统则管理企业生产、采购、销售、人才、财务、组织等各种资源及生产要素。作为以产品生产制造为核心的ERP系统,PDM系统的产品相关数据正是ERP系统的中产品信息的数据来源。这些信息主要有物料信息、产品的层次结构信息(BOM)、资源信息(Routing)3方面。
1.1 物料信息
物料信息是集成信息中的基础信息,主要包括零组件、产品、原材料等信息,是对物料基本属性内容的描述。物料信息是PDM和ERP系统中的基础数据。
1.2 物料清单
物料清单(BOM)即产品的层次结构信息,是以层次结构进行存储的信息,是记录产品的父子结构关系和数量关系,如产品有哪些部件组成,每个部件之间的数量关系;部件有哪些零件组成,每个零件之间的数量关系等。层次结构的制造信息是PDM与ERP系统实际运作中密切相关的内容,其表现形式通常为MBOM。
1.3 资源信息
资源信息,即工艺路线,包括组织结构信息和制造资源信息,组织结构信息中包含企业的部门结构与人员信息,制造资源信息包括设备、工装信息,即加工某个零件所耗的设备、工时、所耗的材料等,用于具体的生产制造。资源信息是ERP系统中用于计算产品生产成本不可缺少的重要信息。
以上三类信息是ERP系统所需的基础数据,是其进行生产管理、成本管理等的依据,而这些数据都是PDM系统管理的内容,以PDM系统作为这些数据的源头和统一管理者保证了数据的一致性和准确性。所以这三类数据是PDM与ERP系统集成的主要内容。
2 PDM与ERP集成的技术分析
目前,PDM与ERP系统集成的技术手段主要有三种方式,分别是:直接数据库访问、中间文件交换和内部函数调用。
2.1 直接数据库访问
这种集成技术是通过对PDM与ERP系统数据库的分析,直接对数据库及其属性进行访问来实现两系统之间信息交换。运用此集成技术是以对PDM与ERP系统的数据库结构分析清楚为前提,但大多数PDM与ERP系统所使用的数据库系统是经过加密处理,并且数据库中表与表之间存在者复杂的关联关系,需要花费大量的时间才能分析清楚系统的数据库结构。此外,由于PDM与ERP系统的版本升级可能会对各自的数据库结构进行调整,因此,以此集成技术实现PDM与ERP系统的集成存在着失效的风险。
2.2 中间文件交换
这种集成技术是将PDM与ERP系统需要交换的信息按照统一的文件格式和接口要求进行存储,PDM与ERP系统通过各自编制的数据导入/导出接口来实现两系统的信息交换。此集成技术虽开发难度低易实施,集成成本低,但同步性较差效率较低。
2.3 内部函数调用
内部函数调用集成技术是利用PDM与ERP系统各自提供的API函数访问数据库,实现两系统之间信息交换。这种集成技术需要PDM与ERP系统都必须提供访问底层数据库的函数和API接口,一般适用于大型成熟的系统,系统本身提供相应模块的接口函数,并且通常需要了解系统功能及架构的开发人员做大量的开发工作,虽有较高集成开发成本,但可以获得很高的效率。
3 基于Oracle EBS架构的集成模式
Oracle EBS是Oracle公司开发的ERP系统,对于与其他系统的集成有着自身完备的解决方案,正是基于第三种接口技术来实现,即由系统内部函数调用的方式来完成数据库的访问和数据同步,具体的接口模式可以分为两种:OIT开放接口表模式和API应用程序接口模式。
3.1 OIT(Open Interface Table)开放接口表模式
Oracle EBS产品为方便外部数据导入,对应前台功能提供了相应的开放的接口表,开发人员将数据按照Oracle提供的标准接口表规范准备到接口表中,然后运行系统提供的标准的import程序将接口表数据导入到Oracle EBS中,即各接口表对应的正式table中,完成数据的导入。
其过程为数据整理、数据连接加载到客户化临时表、验证和处理并发程序、接口维护Form界面或者错误Report等。其开发框架如图1。
此模式特点是:系统可自动进行并发处理,适合处理大批量数据,且数据进入接口表的形式灵活多样,用户可以查看、补录、修改、提交接口数据。但此种方式联机处理的难度较大,通常情况下,错误需要用户在EBS里面处理。
图1
3.2 API(Application Program Interface)应用程序接口模式
API方式是将数据首先写入临时接口表,然后通过通过PL/SQL Developer开发的客户化程序直接调用开放的相关标准API Procedure,把数据导入目标Product表。
Open API是由Oracle提供使用的Public程序包,由一套PL/SQL Package组成的,没有用户界面,每个Open API都有一些公共的参数和自身特有的参数,按照需要填写对应参数调用程序完成数据的导入。其开发框架如图2。
图2
此模式特点为:适合处理小批量离散数据,且可以立即联机处理,用户能得到实时反馈,错误传回源系统,通过源系统修正错误。
以上两种模式各有优缺点,对于同时存在两种模式的开放接口,在集成开发中可根据实际情况灵活选用。
4 基于Oracle EBS的应用实例
本文以某大型军工离散制造企业实施PDM与ERP系统集成为实例,讲解基于Oracle EBS的集成的具体技术实现方法。
该企业已实施完成PDM和ERP系统多年,长时间以来,一直使用双系统独立维护物料、BOM、工艺路线的数据,造成了两套系统两套数据,分别维护,不仅增大了工作量,而且难以保证数据的数据源唯一,使数据的一致性和同步性难以保证。因此,实施数据集成就成为了迫切需求。其中ERP系统采用Oracle EBS产品,因为数据以设计与工艺部门为源头,所以所有基础数据来源于PDM,ERP管理的物流和生产计划基于PDM系统的物料、BOM和工艺路线,所以数据从PDM读取,通过验证后调用ERP标准API程序写入到Oracle数据库。
4.1 系统设计思路
PDM与ERP系统同采用Oracle数据库,首先在ERP数据库建立DBlink连接到PDM数据库,并创建用户分配访问权限给ERP系统,使ERP可以读取PDM中需要导入的数据。由PDM系统向ERP系统单向传递,ERP系统进行接收并插入临时表,对临时表中数据进行合法性验证,然后通过调用Oracle系统API,对数据进行处理,写入Oracle正式表。最后ERP系统数据处理成功后,以视图(View)方式向PDM系统反馈处理结果。
图3
4.2 系统实现
4.2.1 数据准备
PDM系统向ERP系统传递的内容包括:物料数据、物料清单数据、工艺路线数据。首先建立物料、物料清单、工艺流水在PDM系统数据库内的接口表,建立DBlink数据库连接,为ERP系统创建数据库用户,并分配读取(Query)权限。在ERP系统数据库内建立与PDM系统完全一致的数据同步表,此表数据只能Insert和Select,不能Update和Delete,用于存放从PDM系统读取的待同步的临时数据。
4.2.2 数据同步
在ERP系统内建立PDM系统数据同步请求集,包括:物料同步程序、物料清单同步程序、工艺流水同步程序,以独占方式顺序执行,将数据从PDM系统读取并同步至ERP数据库的数据同步表。读取数据的同时按业务规则对数据进行校验,校验通过数据写入临时表。
4.2.3 数据处理
ERP系统内建立PDM系统数据处理请求集,包括:物料数据处理程序、物料清单数据处理程序、工艺流水数据处理程序,以独占方式顺序执行,分别对同步表里的数据进行标准API校验,完成数据合法性验证。将物料同步数据表中数据写入系统物料接口表(MTL_SYSTEM_ITEMS_INTERFACE),然后执行系统封装好的import程序将数据导入Base Table(MTL_SYSTEM_ITEMS_B),最后物料信息成为Oracle EBS系统的有效数据。
为了很好的保留历史记录,并规范BOM数据的创建、更改、失效处理,对于BOM数据、工艺路线数据(即为工艺流水数据)我们将统一采用设计更改单(ECO)的方式进行程序自动处理。所以对于BOM数据和工艺路线数据,全部规范为按照设计更改单的方式进行处理,将数据同步到ECO的更改单头数据、更改单行数据、更改单明细数据的接口表中,然后调用ECO的标准API,生成工程ECO,由程序自动完成ECO的实施,完成BOM和工艺流水的数据同步。
对以上操作,如果错误返回错误信息 ,并对未完成事务处理做回滚操作,如果成功,回写成功标识给PDM系统。
5 结论
本文对PDM系统与ERP系统间需要集成的信息进行了分析,总结了集成信息内容,讨论了信息集成方式。详细描述了基于Oracle EBS产品的ERP系统与PDM系统的集成方式和开发步骤。通过某军工企业的实例设计思路分析及具体实现的阐述,给出一套详细解决方案,为采用Oracle EBS产品的企业,实现PDM系统与ERP系统进行物料、物料清单和工艺路线集成开发提供可操作的实例向导。
[1]王金辉.PDM/ERP 集成技术的研究与应用[J].机械工程师,2008(12).
[2]李世斌.PDM/ERP 集成技术研究[M].机械与电子,2002(04).
[3]彭义兵.PDM 与 ERP 集成的 3 种方法[M].中国制造业信息化,2003(11).