Domino+与+SAP+集成技术研究_第1页
Domino+与+SAP+集成技术研究_第2页
Domino+与+SAP+集成技术研究_第3页
Domino+与+SAP+集成技术研究_第4页
Domino+与+SAP+集成技术研究_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Domino与SAP集成技术研究引言Domino是IBMLotus的旗舰式服务器产品,是运行在服务器端的协作软件,能够使处于不同地域的人员协同工作,它可以提供很多功能:企业电子邮件服务、协作服务、文档数据库管理、Web应用访问服务等。SAPR/3是服务器/客户机环境下的企业资源计划系统,可用于处理一个公司的经营管理任务。SAPR/3的功能以模块化的方式组合在一起,它包含了很多功能模块,如SD(销售和分销)、MM(物料管理)、FI(财务会计)、CO(管理会计)、PP(生产计划)、AM(资产管理)、QM(质量管理)、PM(工厂维护)、HR(人力资源)、PS(项目系统)、WF(工作流)等。我们要讨论的问题就是如何实现Domino系统和SAPR/3的集成。现代企业很重视企业的信息化建设,企业信息化程度已经达到很高的水平,有的企业同时拥有基于Domino的办公和邮件系统、基于SAPR/3的ERP系统。Domino的优势在于邮件系统、工作流和协同机制;而SAP系统是一套强大的ERP管理软件。目前,很多企业的信息系统没有充分利用和集成起来,各个系统还是信息的孤岛,信息不能被各个系统共享,如SAP中信息不能为Domino办公系统所利用,Domino中的数据也不为SAP所使用。办公系统的审批文档在Domino系统中流转完成后也就结束了,需要专门的人员再次录入SAP系统,这样造成管理人员重复录入;同时,各个系统的孤立不能使信息快速流转,不能提高协同工作的效率。因此,作为EnterpriseApplicationIntegration(EAI)的部分,实现Domino系统和SAP系统的有效集成是一件很有意义的事情,可以实现Domino和SAP系统优势互补;同时,充分利用两个系统的信息,提高信息运作效率,实现两个系统的信息共享。那么如何实现Domino和SAP的集成、如何把两个孤立的系统连接起来,这篇文章就是要探讨这个问题,寻找可以操作的集成技术。Domino与SAP集成设计思想如果要实现Domino和SAPR/3集成,有效的方法是依靠扩展来完成。因此,LotusDomino提供了一些方法和产品实现SAP系统和Domino应用的集成,如LotusScriptExtensionforSAPR/3,SAPWorkflowIntegrationforDomino,LotusDominoConnectorforSAPR/3,DominoMTAforSAPR/3,IBMMQSeriesLinkforSAPR/3等。同时,SAPR/3也提供了扩展接口实现数据的集成。SAPR/3系统不会让用户直接调用和修改底层的表数据,但是SAPR/3允许用户在应用层上调用SAPR/3的函数。下面的模型可以描述Domino和SAPR/3的集成设计思路。图1.Domino与SAPR/3集成模型下面简单介绍一下上图中列出的Lotus的产品。LotusScriptExtensionforSAPR/3:可以编写程序实现Domino和SAP的集成。SAPWorkflowIntegrationforDomino:实现SAP的工作流和Domino邮件的集成。DominoMTAforSAPR/3:实现SAP的邮件和Domino的邮件集成。IBMMQSeriesLinkforSAPR/3:实现SAP和Domino的消息系统MQ的集成。接着,重点分析使用LotusScriptExtensionforSAPR/3实现Domino和SAPR/3系统集成的方法。LotusScriptExtensionforSAPR/3方法LotusScriptExtensionforSAPR/3介绍现在着重探讨其中的一种方法,使用LotusScriptExtensionforSAPR/3实现Domino应用和SAPR/3的集成,简称为LSX方法。Lotus应用通过RFC函数直接调用BAPI函数,向SAP中传输数据;BAPI函数可以实现SAP中的复杂功能。下图是LotusScriptExtensionforSAPR/3的模型。图2.LotusScriptExtensionforSAPR/3模型DommoClientAf?I?l9Ca(19Tl1ItRt?SAPR/3SAPDommoClientAf?I?l9Ca(19Tl1ItRt?SAPR/3SAP爲3Sc™L^L_^——F.frturiiLotusScript可以调用SAPBAPI函数。LotusScript代码可以通过RFC函数来调用SAP函数,创建对象和接口。向接口参数中传递数据,执行对象的方法,访问和执行SAPR/3函数,操作SAP数据。LotusScriptExtensionforSAPR/3提供了Domino与SAP集成的途径,它就象两根管道之间的联接器和集成点,企业中的Domino和SAPR/3系统可以形象地比喻为两个管道。以前企业中的Domino和SAPR/3系统各自孤立,实现集成很困难;LotusScriptExtensionforSAPR/3解决了Domino与SAP集成的问题,这种集成不是简单的对接和邮件集成,也不是界面上的集成,而是应用和信息上的集成。通过这种集成,Lotus可以控制复杂的SAP函数,可以自动实现SAP系统中的操作,把两个系统紧密地结合在一起。LotusDomino具有集成的应用开发软件和设计元素、完整的编成工具。其中,LotusDomino的编成工具包括LotusScript、Formula、Java、JavaScript等。LotusScript是一个与Basic兼容的程序设计语言,是一个面向对象的程序设计环境,具有丰富的类、方法和属性,包含有集成的对象浏览器和程序调试环境,可以直接调用Domino/Notes服务。SAP也有开发语言ABAP和集成开发环境。ABAP函数是通过SAP开发平台中的各种工具编辑、编译并应用于SAP系统的程序,是使用ABAP开发出来的程序。ABAP函数的主要任务是设计用户对话和数据库对话,实现表现层和应用层数据传递和交互控制。LotusScriptExtensionforSAPR/3方法中,需要LotusDomino开发人员与SAP开发人员分工协作,共同完成。首先SAP开发人员开发出ABAP函数。然后,LotusDomino开发人员用LotusScript语言编写调用脚本,通过RFC调用BAPI函数。最后,Domino系统就可以访问SAP的应用逻辑,访问SAPR/3中的数据和应用。其中,RFC函数是LotusScriptExtensionforSAPR/3方法的核心和精华。RFC函数LotusScriptExtensionforSAPR/3能够使LotusDomino直接访问SAP数据,因为它提供了一组类,称为RFC(RemoteFunctionCall)类,这些类与Notes类一样,可以在LotusScript中进行调用和调试跟踪。如果LotusScript中直接调用RFC函数,需要在Notes中设置环境,在脚本对象(ScriptsObject)的Options中加上UselsxLsx。RFC函数中含有很多RFC类和对象。RFCServer类是Lotus应用访问SAPR/3系统的基本对象,它包括了一些很有用的属性,同时也包含了从Lotus到SAPR/3连接的状态信息。RFCFunction类可以创建RFCFunction对象,初始化ABAP函数;当RFCFunction对象创建后,相应的Imports/Exports以及表(Tables)会自动被建立起来,它的属性包括Imports、Exports、Tables、Message,还有call()方法。RFCTable类是RFCFunction的表,包括行项目,类似关系数据库的表。RFCRow类是RFCTable中的行。下面介绍如何使用LotusScriptExtensionforSAPR/3方法。RFC函数调用LotusScript可以调用SAPBAPI函数。LotusScript代码可以通过RFC函数来调用SAP函数,创建对象和接口。向接口参数中传递数据,执行对象的方法,访问和执行SAPR/3函数。清单1.调用RFC代码示例SetrfcCreateTzone=NewRFCFunction(objServer,"Z_TM_TZONE1")SetrfcTZ_table=rfcCreateTzone.Table("ITAB_TZONE")Fori=1To30SetrfcCurRow=rfcTZ_table.Rows.InsertRowrfcCurRow.LAND1=uidoc.FieldGetText("Number"+Cstr(i))rfcCurRow.ZONE1=uidoc.FieldGetText("endno1"+Cstr(i))rfcCurRow.VTEXT=uidoc.FieldGetText("pr1"+Cstr(i))NextIfrfcCreateTzone.call=FalseThenSetrfcReturn=rfcCreateTzone.Table("ITAB_MSG1")errorMessage="SAPR/3中创建失败,错误信息:"+rfcCreateTzone.messageElsereturnStr=rfcCreateTzone.Imports("FLAG1").valueIfreturnStr="X"ThenerrorMessage="R/3运输区创建成功。"EndIfEndif上面的函数调用就是使用了RFC对象和类,首先通过RFC初始化ABAP函数Z_TM_TZONE1,然后向对象中传递参数,最后通过Call操作执行该对象的功能,把数据写入到SAPR/3系统中,这样可以通过LotusScriptExtensionforSAPR/3实现Domino系统与SAP系统的集成,可以直接操纵SAPR/3中的数据应用案例和优势分析通过采用LotusScriptExtensionforSAPR/3实现Domino与SAP的集成,充分利用两个系统的信息,提高信息运作效率,实现两个系统的信息共享,实现了两个系统的协同性。比如,审批流程在基于LotusDomino的应用中进行,可以进行复杂的流程审批,然后把数据自动写入SAPR/3系统,实现了两个系统的连续操作,提高应用申请的响应速度和数据维护效率。通过使用LotusScriptExtensionforSAPR/3方法,可以对公司的基于LotusDomino的办公自动化应用进行优化,实现Domino与SAP的集成。比如基于LotusDomino的财务报销电子化应用,首先在Lotus中做报销申请,审批通过以后再由数据创建岗直接导入SAP的财务模块和成本控制模块。还有,基于LotusDomino的采购订单电子化应用在Lotus中实现申请和审批,然后由采购部直接导入到SAP的物料管理模块。再举一个例子,在基于LotusDomino的运输报价电子化应用中,平台核算岗在运输报价电子化应用中提交报价新增申请,总部主数据岗审核通过后,直接将数据导入到SAP的运输模块(TM)中。业务流程可以描述为,首先平台核算岗在LotusDomino运输报价电子化应用中提交申请,经过平台经理审批、加签人审批、受理人审批;最后,总部主数据岗审核通过后,点击“写入SAP”按钮,把审批后的数据写入SAP的运输模块。如果Domino和SAPR/3没有集成,管理人员需要花费大量时间和重复工作。以运输报价电子化应用为例,首先,在基于LotusDomino运输报价电子化应用中提交承运商报价申请,然后各级领导审批,在LotusDomino中流程审批完成也就结束了。最后,SAP管理人员登录到SAPR/3系统,用VS01、TK11等事务代码一步一步SAPR/3系统中录入和创建承运商报价,可想而知,这个过程很繁琐和复杂。同时,复杂的审批在SAPR/3中是无法实现的,只有Domino的工作流才能够实现。如果实现Domino和SAPR/3集成后,审批在LotusDomino运输报价电子化应用中进行;审批完成以后,“写入SAP”功能可以自动实现创建承运商报价。其中,“写入SAP”的功能就实现了手工在SAPR/3中操作的过程。从企业管理的角度来说,Domino与SAP集成还具有如下优点,管理控制SAP系统数据申请流程、减轻用户操作难度、避免数据重复输入、提前对数据进行检查、对SAP

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论