您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 综合/其它 > U8-EAI二次开发说明
企业应用集成工具(EAI)二次开发1.概述U850企业应用集成工具(EAI)是U850与外部系统的数据接口,EAI提供了一些组件,可以在这些组件的基础上进行二次开发(以下简称“EAI二次开发”),实现与外部系统的集成。不同系统集成的关键是遵循共同的数据标准,U850根据自己系统提出了一套数据标准,包括各种单据和基础档案,外部系统如果要和U850集成则必须遵循这一标准。这套标准用XML描述,因此数据流都为XML格式。EAI二次开发可分为两种模式:注意:文中所有编程都以VB为例一、直接利用EAI管理工具。在开始菜单中选择企业应用集成工具,登录企业应用集成主界面。在这里可以将U850数据以标准XML文件的形式导出U850数据库或将标准XML数据文件导入U850系统。二次开发程序员只需编写一个工具将标准XML数据文件进行适当转换写入外部系统或取出外部系统数据写成标准XML数据文件。(参看EAI安装目录\xml\Samples\下的例子)数据流程如下:这种开发模式比较简单,优点是:充分利用EAI工具提供的功能,编程简单;缺点是:只能提供批量导入导出功能。二、利用EAI提供的组件,进行灵活的二次开发。包括两种方式:本地COM方式、Internet方式。1)本地COM方式:EAI工具导出数据Xml文件数据写入外部系统U850Xml文件从外部系统读出数据EAI工具写入数据外部系统EAI工具完成EAI二次开发的工作U850数据处理外部系统EAI组件调用接口二次开发出的软件二次开发的工作这种方式可根据开发者的需要批量处理或者实时处理。接口调用非常简单,简化了编程。开发者只需将标准数据传入接口,如下:SetObj=CreateObject(U8Distribute.iDistribute)Str=obj.Process(sXml)sXml为标准数据串,具体格式后面会说明。2)Internet方式:http.OpenPost,http_name&“import.asp,True//指定服务器ASPhttp.senddom.xml//把xml数据发送到服务器端strRet=http.responseText//strRet:返回的xml格式的回执信息2.数据格式标准EAI可以导入导出的数据范围包括:Ø总帐§凭证§银行对账单Ø工资管理§人员档案§工资项目数据Ø固定资产§固定资产卡片Ø成本管理§材料消耗数据Ø资金管理§资金内部结算单Ø应收管理§应收单§收款单Ø应付管理§应付单§付款单Ø采购管理§采购订单§采购到货单§采购发票Ø销售管理§销售订单§发货单§销售发票U850外部系统IIS服务器二次开发模块SOAP协议二次开发工作§销售发票_导入到内部结算单Ø库存管理§入库单§出库单§库存量Ø基础档案§部门档案§职员档案§地区分类§客户分类§客户档案§供应商分类§供应商档案§存货分类§存货档案§结算方式§付款条件§开户银行§仓库档案§收发类别§销售类型§计量单位§计量单位组§产品结构§采购类型§成套件§费用项目§发运方式§货位档案§自定义项档案§项目§会计科目§外币§凭证类别§常用摘要提示:EAI安装目录\xml\Operation\dir.xml保存了相关定义下面一个例子是从U8导出的部门档案的片断:?xmlversion=1.0encoding=gb2312?ufinterfacesender=001receiver=u8roottag=departmentdocid=.533424proc=Querycodeexchanged=Nexportneedexch=Ndisplay=部门档案family=基础档案billtype=departmentcode1/codeendflag0/endflagname综合处/namerank1/rankmanager/prop管理兼技术/propphone/address/remark/creditline/creditgrade/creditdate/offergrade/offerrate//departmentdepartmentcode109/codeendflag1/endflagname厂办公室/namerank2/rankmanager/prop管理/propphone/address/remark/creditline/creditgrade/creditdate/offergrade/offerrate//department…………/ufinterfaceEAI中所有的标准数据文件都有类似于上例的结构,首先,有一个名为ufinterface的元素,ufinterface再有若干个子元素组成,不同应用的子元素有不同的格式。注意:XML是对大小写敏感的,在EAI标准中所有的元素名都为小写字母。注意:EAI标准数据中的有些元素可以为空元素,有些则不得为空,根据具体业务不同而不同。但所规定的元素一个也不能多,一个也不能少。Ufinterface元素定义如下:ufinterfaceroottag=’’billtype=’’docid=’’receiver=’’sender=’’proc=’’codeexchanged=’’exportneedexch=’’display=‘’family=‘’/roottag:类型;billtype:系统用;docid:唯一编号;receiver:接收方(系统用);sender:注册的外部系统号;proc:操作码:Add,Edit,Delete,Querycodeexchanged:外部系统导入时是否转换:y:需要经过对照表;n:不需要经过对照表exportneedexch:导出时是否需要转换:y:需要经过对照表;n:不需要经过对照表display:单据中文名;family:单据中文大类名。所有的xml标准的头文件格式都是一样的,通过roottag区分单据类型,proc区分操作类型。从U8导出的数据格式操作码为Query,可加入导出条件。格式例子(以导出收款单为例):?xmlversion='1.0'encoding='gb2312'?ufinterfacesender=001receiver=u8roottag=departmentdocid=.533424proc=Querycodeexchanged=nexportneedexch=ndisplay=部门档案family=基础档案departmentname=部门档案importfile=exportfile=code=001fielddisplay=部门编码name=cDepCodeoperation==value=办公室logic=//department/ufinterface元素department表示为部门档案:属性name:单据名称;属性importfile:保存的是导入文件路径;属性exportfile:保存的是导出文件路径;属性code:外部系统的注册号。元素Field表示每个条件:属性display:中文含义;属性name:字段名;属性operation:是比较运算符;属性value:比较值;属性logic:是连接的逻辑运算符。and:并且;or:或者。每次导出一种单据,这里为部门档案,如果需要导出收款单则需要再一次导出。条件Field可以有多条。这个调用返回的XML回执为U8的标准数据。注意:并不是导出数据会自动保存到Importfileexportfile指定的路径,这两个参数是EAI工具保存数据使用的。提示:EAI安装目录\xml\Operation\Condition.xml保存了EAI的条件,可以通过EAI管理界面设定条件,变化保存在Condition.xml中。导入数据到U8中时操作码为Add可将数据填到Ufinterface元素中作为子元素。形式为:?xmlversion='1.0'encoding='gb2312'?ufinterfacesender=receiver=roottag=docid=proc=Addcodeexchanged=exportneedexch=display=family=table_namea1a2……/table_nametable_namea1a2……/table_name……/ufinterface元素table_name代表一张单据,元素a1、a2…等为单据中的元素。元素ufinterface则包含若干个table_name元素。注意:sender属性值必须为EAI系统注册过的注册号一致,因为EAI系统根据这个注册号与具体账套相连接;Receiver为”U8”;docid取随机数;family、roottag、display可以参考EAI安装目录\xml\Operation\dir.xml,总帐,基础档案等为family,它们的下级元素中文名为display,其属性name为roottag。可将dir.xml与数据文件例子参照,以便理解其的意义。调用接口返回的XML回执从U8导出数据成功的回执就是数据。其它情况的回执为:?xmlversion='1.0'encoding='gb2312'?ufinterfaceroottag='return'docid=''proc=''itemkey=''succeed=''dsc=''u8key=''/item/ufinterface描述:key:为一条记录的关键字;succeed:成功标识:0:成功;非0:失败;dsc:失败的描述;docid:消息号;proc:操作码;u8key:成功后U8系统对应的关键字凭证的返回格式如下:?xmlversion='1.0'encoding='gb2312'?ufinterfaceroottag='voucheraddreturn'docid=''proc=''itemacc_period=''voucher_type=''voucher_id='001'row_id=''succeed=''dsc=''u8vouch_id=''u8acc_period=''/item!--succeed0or非0--/ufinterface描述:acc_period:会计期间,0为期初往来明细帐,21为期初待核银行帐,20为银行帐科目调整前余额,1-12为凭证及明细帐vouch_type:凭证类别字vouch_id:凭证号(由系统分配凭证号,期初时可为空)row_id:行号(由系统赋值,期初时为1)u8vouch_id:U8凭证号u8acc_period:U8凭证会计期间3.二次开发程序接口COM接口调用(本地方式)EAI提供一个统一的标准接口,参数是定义好的标准xml格式,只要符合标准的格式,即可以很轻松的和EAI挂接。引用U8Distribute.Dll方法如下(VB):DimobjasObjectDimStrasstring//返回的Xml数据SetObj=CreateObject(U8Distribute.iDistribute)Str=obj.Process(sXml)//sXml为传入的Xml数据sXml为String型。可以根据str的回执进行相应的操作。所有的操作只需调用这个接口可以完成。注意:本地方式接口调用之前必须利用EAI工具提供的默认操作员界面设置U8服务器、用户、密码和登录日期,以通过U8的权限认证。Internet方式(SOAP协议)开发者可以用SOAP协议向装有U850-EAI的IIS服务器发送XML数据,类似本地调用分析返回的XML回执。DimdomAsNewDOMDocumentDimhttpAsNewXMLHTTPDimstrRetasst
本文标题:U8-EAI二次开发说明
链接地址:https://www.777doc.com/doc-6163931 .html