《{企业通用培训}EAI培训案例》由会员分享,可在线阅读,更多相关《{企业通用培训}EAI培训案例(31页珍藏版)》请在金锄头文库上搜索。
1、U8EAI培训案例,U8平台开发部 李静 2009年1月4日,应用篇 案例背景 需求分析 解决方案 开发步骤 提高篇 深入分析 解决方案 开发步骤,一、案例背景 A公司是一家专业办公设备经销商。在企业创建之初,由于规模和业务量都不大,在管理上并没有出现多大问题。随着公司的发展,在财务上采用传统手工处理的方式逐渐暴露出越来越多的问题。于是公司引进了一套U8财务系统来有效管理企业的应收账款和出入现金流。 为了更好的拓展和辐射外地市场,提高市场占有率和客户服务水平,公司逐步在全国许多城市建立了自己的经销网点和客服中心,为了提高运营效率,降低成本,加强管控,公司决定为整个分销网络部署一套综合业务系统,
2、通过资源共享与实时调度提高整个销售网络的灵活度和有效应对市场变化的能力,并为客户提供一流的服务水平。,应用篇-案例背景,但问题随之产生,由于A公司的外地营销网点规模普遍很小,不具备独立核算能力,而且公司即将部署的综合业务系统并不具备专业的财务管理功能,在财务上仍然必须由公司集中管控。而且,多年来,公司在U8财务软件的帮助下已逐步形成了一套严谨高效的财务管理流程和制度,如果摈弃U8,去开发和部署新的能连接业务系统的财务软件,不仅会浪费公司现有的IT资产,增加IT投资成本,更重要的是会浪费公司积累起来的适合自己实情的宝贵管理经验。 A公司老总认为,如果能将综合业务系统与现有的U8财务软件实现整合,
3、必将带来双赢的利益:一方面降低了IT投资成本,节约了时间;另一方面促进了公司财务管理的持续完善和创新。,应用篇-案例背景,二、需求分析 A公司的综合业务系统能有效管理经销网点的销售和售后业务帐以及仓库台帐:能开具发票,进行收款结算;能管理发货和收货,进行商品盘点和结存;能统计和分析销售状况;能处理退货、维修等售后业务。 这些业务活动为公司带来的盈利或亏损,必须要通过公司总部的会计系统(U8财务系统)进行记账、核算、以及财务报表分析,才能正确反映公司的经营状况和业绩。 这就是说,综合业务系统和U8财务系统的连接必须要能实现自动记账功能。具体来说就是要将综合业务系统的结算凭证销售发票转换成U8的记
4、账凭证,并传递给U8系统进行会计记账。,应用篇-需求分析,三、解决方案 要实现自动记账功能,首先需要将业务系统的结算凭证销售发票转换成U8的记账凭证;随后还要能将转换后的记账凭证传递到U8。 解决方案是使用U8EAI数据交换接口。 U8EAI数据交换接口提供了U8与外部系统进行交流的“窗口”,U8EAI定义了一套标准的数据交换格式,外部系统只要遵循此格式,在数据一致的前提下,便能与U8进行交互。 数据一致的意思是要保证各种数据依赖条件的一致,在本项目中就是指凭证中所记录的经济活动核算对象和要素要一致,比如:凭证中所反映的客户、部门等核算对象信息在业务系统和U8中要保持一致,如果不一致,需要进行
5、数据同步或映射转换。 遵循U8的凭证格式是指需要采用某种方式将业务系统的销售发票转换成U8的凭证格式,这一般需要进行二次开发。,应用篇-解决方案,四、开发步骤 1、将业务系统结算凭证转换为U8记账凭证。 2、将凭证传递给U8并记账。,应用篇-开发步骤,1、将业务系统结算凭证转换为U8记账凭证 U8EAI的数据交换格式由数据模板描述,EAI的模板统一放在U8SOFTEAIXMLTemplate目录下,以文件的形式存储。 其中凭证的模板为Voucher.xml,在此文件中描述了凭证所包含的表头字段以及表体的分录字段、辅助核算字段等,对字段的数据类型、大小、取值规则也做了规定。 要将外部系统的销售发
6、票格式转换成U8凭证的格式,一般采用二次开发编程的方式进行,也可以采用比较通用的XSLT进行转换。 由于外部系统的格式是未知的,在本实践项目中假定已经做了转换,我们只需要事先准备好转换完成的数据即可,凭证数据的准备可以直接依据模板来手工构造凭证的XML文件,也可以采用一下简便方法:,应用篇-开发步骤,先在U8中录一个收款凭证作为范例,应用篇-开发步骤,随后使用EAI将其导出,注意要用刚才建的凭证号设置导出过滤条件。 登录EAI:“开始”-“程序”-“用友ERP-U8”-“企业应用集成(EAI)”-“企业应用集成”; 左树“系统菜单”-“设置”- “系统注册”,为 U8的某个帐套注册一个数据交换
7、编码,表明与外部系统的对应关系;,应用篇-开发步骤,应用篇-开发步骤,左树“系统菜单”-“数据交换”- “数据交换”,先设置凭证过滤条件,然后导出为一个XML文件:,应用篇-开发步骤,设置凭证过滤条件:,点“保存”后“退出”回到上一个界面,点“执行”即可。,假设导出的凭证文件为“简单凭证.xml ”,用编辑工具(比如:记事本)打开此文件,将根节点修改一下: 根节点ufinterface的两个属性含义如下: proc=add :表示操作类型,add表示新增。 renewproofno=y:表示凭证导入U8后是否重新编码,应该填y。 修改完后保存。这样,我们的凭证文件就制作好了(示例凭证详见SAM
8、PLES简单凭证.xml )。随后就可以使用EAI数据交换接口将其导入U8并记账。,应用篇-开发步骤,2、将凭证传递给U8并记账 将凭证传递给U8并记账其实就是调用EAI数据交换接口将凭证导入U8。 首先需要配置EAI接口: “开始”-“程序”-“用友ERP-U8”-“企业应用集成(EAI)”-“U8EAI接口设置”;,应用篇-开发步骤,随后就可以调用EAI接口将凭证导入U8,以VB代码为例: Dim xmlhttp As Object Set xmlhttp = CreateObject(“MSXML2.XMLHTTP”) 创建XMLHTTP对象 Call xmlhttp.open(“POS
9、T”, “http:/u8appsrv/u8eai/import.asp”, False) 使用XMLHTTP对象打开网络连接,URL中的u8appsrv填U8应用服务器 xmlhttp.send requestXml 发送Request消息 Dim responseXml As String responseXml = xmlhttp.responseText 获取返回Response消息 . 处理返回结果 凭证接口的返回格式如下: succeed=“0”表示成功保存; u8voucher_id=“19”返回凭证号。,应用篇-开发步骤,应用篇的详细示例见SAMPLES包,其中“简单凭证.xm
10、l”为应用篇的凭证示例,Code目录为代码示例,“工程1.exe”为代码编译后的测试程序。,应用篇-开发步骤,一、深入分析 对于客户往来的应收款凭证,一般包含有客户、部门等辅助核算项。 而客户、部门、人员等这些基础资料在企业的业务系统和U8财务系统中很有可能不一致,不一致的情况一般有以下几种: 1、A公司的综合业务系统由于直接面向市场客户,故其包含的客户资料比U8财务系统更多。 2、由于两个系统的基础资料编码规则可能不一致,对于同一个客户资料,可能在业务系统中的编码是C-01,在U8系统中可能是001。 以上两种情况的存在,都会导致相关的客户往来凭证无法导入U8记账。,提高篇-深入分析,二、解
11、决方案 解决这个问题的思路是:在上传凭证之前要保证业务系统和U8的客户档案等基础资料一致。 如果是第一种情况,即客户档案的编码可以相同,但业务系统中的客户多于U8系统中的客户。如果数量不大且不会经常变化,则可以采用手工录入的方式进行补平;如果数量很大且经常变化,则最好采用自动的方式:业务系统中如果增加了客户,则将此客户自动导入到U8系统中,导入的方式是调用U8EAI接口进行客户档案导入,具体实现与凭证自动导入类似,需要遵循U8EAI客户档案数据交换格式。 对于第二种情况,即双方系统的编码规则不一致,如果两边档案完全相同,只是编码不一致,则可以采用编码映射的方式进行对照转换;如果编码不一致的情况
12、下客户档案数量也不相同,业务系统多于U8系统,则需要按第一种情况的做法将客户档案同步到U8,同步的同时还需要进,提高篇-解决方案,行编码规则转换,这种情况较为复杂,需要找出编码转换规律。 在本实践项目中只考虑以下两种情况: 1、编码相同情况下,需要将业务系统中的新增客户档案导入U8。 2、客户档案完全一样,只是编码不相同,需要进行编码映射。,提高篇-解决方案,三、开发步骤 第一种情况的开发步骤: 1、将业务系统的客户档案转换成U8客户档案。 2、将转换后的客户档案使用U8EAI接口导入U8。 3、将业务系统结算凭证转换为U8记账凭证。 4、调用U8EAI接口将凭证传递给U8并记账。,提高篇-开
13、发步骤,1、将业务系统的客户档案转换成U8客户档案 U8EAI客户档案的模板文件为:U8SOFTEAIXMLTemplateCustomer.xml, 依据此模板文件将外部系统的客户档案格式转换成U8客户格式,可以采用二次开发编程的方式进行,也可以采用比较通用的XSLT进行转换。 在本实践项目中假定已经做好了客户档案转换,我们只需要事先准备好转换后的客户档案数据即可,准备的方法跟应用篇中准备凭证相同,可以在U8中建一个客户档案并使用EAI导出。假定文件名为“客户档案.xml”。打开此文件,修改根节点的proc属性值为”add”: ufinterface sender=“001” receive
14、r=“u8” roottag=“customer” proc=“add“ (示例详见SAMPLES客户档案.xml )。,提高篇-开发步骤,2、将转换后的客户档案使用U8EAI接口导入U8 代码示例同凭证导入,详见SAMPLESCode 。 3、将业务系统结算凭证转换为U8记账凭证 主要过程和应用篇相同,但凭证内容应该是带客户辅助核算的应收款凭证,其中客户为前两个步骤导入U8的新客户: 先通过应收款系统录一个收款单,提高篇-开发步骤,随后制单生成凭证,提高篇-开发步骤,接着使用EAI导出,详见应用篇。 这里导出的凭证分录中就包含客户辅助核算项: 1 C007 另外要注意凭证Xml数据的ufin
15、terface节点的控制属性的设置(同应用篇): 根节点ufinterface的两个属性含义如下: proc=add :表示操作类型,add表示新增。 renewproofno=y:表示凭证导入U8后是否重新编码,应该填y。,提高篇-开发步骤,带辅助核算项的凭证数据准备好后,就可以调用EAI接口导入了。 4、调用U8EAI接口将凭证传递给U8并记账 详见应用篇。,提高篇-开发步骤,第二种情况的开发步骤: 1、在U8EAI中配置客户档案编码映射。 2、将业务系统结算凭证转换为U8记账凭证。 3、调用U8EAI接口将凭证传递给U8并记账,在此过程中自动进行客户档案编码转换。,提高篇-开发步骤,1、
16、在U8EAI中配置客户档案编码映射 登录EAI:“开始”-“程序”-“用友ERP-U8”-“企业应用集成(EAI)”-“企业应用集成”; 左树“系统菜单”-“设置”- “系统注册”,为 U8的某个帐套注册一个数据交换编码,表明与外部系统的对应关系; 左树“系统菜单”-“数据交换”- “数据映射”,为U8客户档案与业务系统客户档案设置编码映射关系:,提高篇-开发步骤,2、将业务系统结算凭证转换为U8记账凭证 同第一种情况的第3步,主要目的是为了制作导入U8的凭证数据。 另外要注意凭证Xml数据的ufinterface节点的控制属性设置: 根节点ufinterface的三个属性含义如下: proc=add :表示操作类型,add表示新增。 renewproofno=y:表示凭证导入U8后是否重新编码,应该填y。 codeexchanged=y