TIPTOP与PDM接口浅析[100730]

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

TIPTOP与PDM集成浅析易拓深圳服务部都嘉2010-07-30•集成功能概述•集成相关浅析•集成开发步骤•常见问题排除•技术细节浅析一.集成功能概述接口目的:实时同步PDM与TIPTOP数据,使TIPTOP中料件、BOM等与PDM保持一致并记录变更信息.以中慧TIPTOP与PDM集成为例(中间库版):•料件新增及修改•新增BOM及取替代•修改BOM(=产生ECN)•BOM取替代新增及修改(=产生ECN)•群组(SET)取替代新增及修改(=不产生ECN只记录abmi610/abmi611)主要客制:1.BOM取替代丽平2.BOM群组取替代平凡3.ECN自动审核都嘉4.同时修改BOM和BOM取替代关系时只产生一张ECN都嘉(之前是传两次ObjectID:1.BMB2.BMD)5.替换BOM元件时产生的ECN为一条记录即:4.取代都嘉(客制中)(之前是两条记录:1.旧元件失效2.新元件新增生效)二.集成相关浅析TIPTOP与PDM集成原理:借助WebService技术来发送数据同步的请求XML:实际是一个字符串变量关于WebService可参看《WebService基础知识》ERPPDMWebServiceXMLXMLTIPTOP与PDM集成常见类型:1.WebServiceData传输的数据可以无限大吗?[STRING变量理论上可以保存3万个字符,但超过2万就不稳定了]不可以.例如有时BOM的数据量非常大,以至于接收XML的STRING变量溢出,所以会借用中间库(临时表)来传递数据.PDM接口程序RequestXML(Data)ResponseXMLITEMBOM…数据比对ERPXML解析数据更新TIPTOP与PDM集成常见类型:2.中间库注:任务编号始终唯一PDM接口程序RequestXML(任务编号)ResponseXMLITEMBOM…数据比对ERPXML解析获取任务编号数据更新Mid_DBTIPTOP与PDM集成常见类型:1.WebService相关作业:aws_ttsrv2.4gl[作为统一集成接收PDM传递过来的信息]aws_ttsrv2_gateway.4glaws_updatebom.4gl[PDM傳入的參數對TIPTOP中的BOM變更生成相應的ECN單]…Debug方式:/u1/topprod/tiptop/aws/4glr.d2+aws_ttsrv2-F$TEMPDIR/g_request_20091231-17:28:33.xmlPDM传递的XML示例:2.中间库相关作业:aws_pdmstd.4gl[从aws_ttpsrv中拆解出来,提供整个集成机制所需的API库,包括客户端和服务端调用]Debug方式:/u1/topprod/tiptop/aws/4glr.d2+aws_pdmstd-f$TEMPDIR/pdm_in_20100625-13:38:59.xmlPDM传递的XML示例:中间库数据:例如:BOM中间表两个重要表Table_1.erpobject记录各集成对象对应的中间表如:料件ITEM/产品结构BOM...两个重要表Table_2.erpobjfield维护中间表各字段名称、字段属性及是否开放给PDM等一个重要视图View.azp_file提供TIPTOP的各营运中心资料给PDM,供PDM抛转资料时选择.初步认识TIPTOP的WebService•用ps-ef|grepgasd可以查看TIPTOP的WebService服务进程•注:新版本有多端口负载均衡(6385-6398),因此会比老版本多9个进程•重启WebService服务命令:(1)startwebasrestart(2)y见下页如果后面的提示全都是[done]则表示成功执行.如果是[faild]或其他情况,请联系SE帮忙处理.TIPTOP中WebService配置TIPTOP的WebService服务配置是通过as.xcf和as.xcf所指向的默认脚本文件(类似.profile的作用)来实现的.其中as.xcf位于$FGLASDIR/etc目录下:•vias.xcf•查找aws_ttsrv2.查看标准出货时集成服务的配置:•详细的配置可以参考Genero原厂的gas/gws文档,从官方网站获取:•:1.TIPTOP作为服务端(例如与PDM集成)步骤:a.写4GL主程序b.发布WSDLc.配置服务2.TIPTOP作为客户端(例如与易桥集成)步骤:a.获取服务端WSDLb.根据WSDL文件产生客户端4GLc.客制主程序调用客户端4GL注:被动接收请求---服务端主动发出请求---客户端WSDL:WebServices描述语言TIPTOP作为服务端:1.写一个4GL的服务主程序,编译连接通过[如:aws_pdmstd.4gl]2.带参数运行产生WSDL文件供PDM集成调用[如:ws_pdmstd.wsdl]产生WSDL文件命令:exe2aws_pdmstd-g3.将服务主程序配置到as.xcf的SERVICE_LIST里面并在相应的脚本(topprod.sh等)中添加执行程序的选项/u1/genero.as/etcvias.xcf/u1/topprod/tiptop/setup/config/apachevitopprod.shTIPTOP作为服务端WebService主程序写法4GL可以参考任意5.10.08以后标准出货版aws/4gl目录下:aws_ttsrv2.4gl标准WebService版aws_pdmstd.4gl中间库版注:com.Web等函数说明可以参考genero官方文档的gws文档带参数运行产生WSDL文件WebService主函数的写法决定了产生WSDL文件时所用的参数例如新旧版分别是:旧版一般是[-g]参数,运行exe2aws_ttpsrv-g可产生WSDL文件到$TEMPDIR新版(标准出货版)一般是2个参数,运行exe2aws_ttsrv2[-W][ServerURL]可产生WSDL文件到$TEMPDIR最后FTP把WSDL文件抓下来,给集成对方使用即可产生WSDL文件的文件名这个函数指明:产生服务的名称:aws_pdmstd服务的URL::ws_pdmstd.wsdl默认会生成在$TEMPDIR目录下(或者当前目录)用浏览器(IE等)访问TIPTOP服务地址,如果警报501/505则表示服务是OK的.四.常见问题排除1.如果请求方说服务方无法访问,并且我们自己用IE检查报错如下:那么我们需要ps-ef|grepgasd检查集成服务进程:此时我们需要重启WebService(startwebasrestart)2.如果请求方反应服务间歇性无法访问,而我们自己用IE检查又提示501/505不报错,则可能是因为用户数已满,导致无法获得license•需要找到topprod.sh默认脚本写日志的文件•vi进去看是否有userlimit的提示•如果有,则表示请求时间点,刚好用户数已满•WebService集成是会临时占用License五.技术细节浅析•怎样查日志•怎样做Debug•Debug设断点•接口开发难点怎样查日志集成日志分为3种:1.genero底层日志2.topprod.sh等脚本记录的日志3.aws_ttpsrv等主程序echo写的日志Genero底层日志存放在$FGLASDIR/log目录下,一般每天一个文件.可以vi、cat查看,一般不容易看懂:topprod.sh等脚本记录的日志一般情况下在$TEMPDIR下,每天一个文件.按照日期命名:可以vi、cat等查看,比较容易看懂.如果在这个目录找不到log日志就需要从as.xcf找到服务是调用了哪个目录下的topprod.sh这个topprod.sh又是把日志写到哪里去了(或许根本就没有写)简单看一下怎么找:(1)切换到as.xcf所在目录,Vi查看配置(2)查看aws_ttpsrv服务的配置(3)$(res.envdir)/tsc.sh这个表示默认脚本是tsc.sh(等同于topprod.sh),在$(res.envdir)目录下(4)继续找res.envdir所代表的目录(从第一行开始找比较快)(5)找到res.envdir所代表的目录,我们就能vitsc.sh了(6)在tsc.sh中再找aws_ttpsrv的执行段(7)从下面这段脚本可以看出,执行aws_ttpsrv.42r所产生的日志会记录到$TEMPDIR下,以日期命名集成主程序的日志,需要查看具体4GL的写法,一般会放在:$TEMPDIR$TEMPDIR/ttp_int/u1/log等目录下:程序中可以用echo或Channel写文件主程序中的集成日志一般直接用echo写文件,下面是文件名的命名规则怎样做Debug一般情况Debug会在主程序名后面带2个参数:r.d2+aws_pdmstd-f$TEMPDIR/pdm_in_20100625-13:38:59.xml第一个参数[-f]:表示是以一个文件做请求XML第二个参数:XML的完整路径、文件名Debug设断点须熟悉程序逻辑才能很准确的做到如果是第一次Debug建议F10逐步往下走待摸清程序逻辑,才会熟悉断点位置接口开发难点1.数据比对2.产生ECN注:由于TIPTOP与PDM系统架构不同客户先前已基本习惯TIPTOPECN的样式常常会要求由PDM产生的ECN与在TIPTOP中做的ECN一致这里开发量会较大注:PDM集成时可能会发生:TIPTOP当时把table锁住,此时PDM则无法更新TIPTOP资料.PDM会提示WebService错误.可以考虑判断更新时表是否当前被锁.尽量做单行锁表,不要做整表锁.ITEM不要做synonym.谢谢~

1 / 39
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功