zoukankan      html  css  js  c++  java
  • EDI 学习开发(一)

      最近有个需求,关于EDI 的开发,效果烂成一坨屎,写个总结,记录这坨屎。

      配置文件:01.EDI.Export.Config(在EDI 服务器SystemConfig目录下)

           02.EDI.TypeConfig(三个地方使用:客户端SystemConfig,AppServer/Systemconfig,EDI 服务/SystemConfig)

           03.校验文件:IFTMBF.validator.Xml(三个地方:客户端SystemConfig/EDI,Server/Systemconfig/EDI,EDI 服务/SystemConfig/EDI)

                 (修改时将Mapping中的Name属性值改为当前新增的EDI名称)

             04.IFTMBF.XSLT(Mapping时,对应节点与XML文件进行匹配,将报文转换成对应的txt格式。)

      客户端配置:三个中心:

             01.系统工具:->基础数据->状态类型->委托单列表->海运单证(HBL界面->新增(对应配置EDI.TYPE.CONFIG)

                  状态定义->委托单列表

           02.基础数据 :交换配置->交换控制长度(只修该值)为6

             03.EDI 中心:EDI类型->委托单列表->新增->(描述即为在界面显示的下联菜单)

                  代码转换->客户代码->代码转换类型->代码转换列表

      EDI配置中的表(用于升级抓取脚本):

           EDI_CODE_CONVERT_CONFIG

           SB_STATUS_TYPE 

           EDI_MESSAGE_TYPE 

             EDI_INTERCHANGE_CONFIGURATION 

           EDI_PARTNER_CODE 

             edi_message_reference 

           edi_message_reference_detail

      存储过程:

            取数存储过程:SP_EDI_SEARCH_IFTMBF

           校验存储过程:SP_EDI_CHECK_XXX

      注:在校验文件中,搜索“true”,值为true的执行校验,为空的字段不进行校验。

        MappingFiles->xslt文件的字段相应增删。

        ***每次有新文件覆盖或者新增,必须重启相应的EDI 服务***

      关于升级:

          01.备份文件(之所以能够苟活至今,全靠备份功夫还行):

            APP Server SystemConfig(EDI.Type.Config,EDI.Export.config)/edi(IFTMBT.Validetor.Xml)

            APP Server  Download/(Update.Xml,EDI.Type.Config.Zip,EDI.Export.config.Zip)(好像EDI.Export.Config文件只在EDI Server中)

            EDI Server SystemConfig(EDI.Type.Config,EDI.Export.config)/edi(IFTMBT.Validetor.Xml)

            EDI Server SystemConfig /MappingFiles/IFTMBF.XSLT

          02.升级文件:

            只需打包一个文件SystemConfig(客户端:SystemConfig/EDI.Type.Config,EDI.Export.config)

            其余为EDI Server 和 APP Server 中对应路径的文件(参照备份)

      常犯的错误及解决方法:

          01.删除时没有提示某个字段的校验(EDI.Server中没有获取对应的MSG_ID,导致执行对应存储过程是没有返回校验结果的数据)

          02.测试库报文生成ok,但是正式库日志说明报文生成ok,但找不到对应报文(覆盖了新的EDI.Export.Config文件,没有重启EDI服务,导致生成的报文被FTP抓走)

          03.生成的报文数据缺少或者末尾段的统计报文数目错误(XSLT与生成的XML格式报文元素节点调试,是否Mapping时,没有找到相应的节点,没有生成对应的报文。统计数目:在XSLT文件中有个Select:count="/*/*XXXXX" 的统计表达式,其实这个表达式 我一点也没看懂。)

    心得:

      两个调试:

          01.抓取对应委托单的LOG_ID,找到对应存储过程检查返回的报文数量以及各式;

          02.调试XSLT(用VS打开,添加生成XML格式的报文),看Mapping节点是否一一对应,生成的报文格式与数量是否一致。

  • 相关阅读:
    CPLD
    红牛的广告:你的能量超乎你的想象
    Verilog设计中的锁存器
    Verilog语言
    看技术看不懂,看不进去的解决方案
    jQuery Ajax 操作函数
    Html的Padding,Margin自己理解图
    【深度好文】多线程之WaitHandle-->派生-》Mutex信号量构造
    【深度好文】多线程之WaitHandle-->派生-》Semaphore信号量构造
    开源框架 KJFrameForAndroid
  • 原文地址:https://www.cnblogs.com/shy-huang/p/3886713.html
Copyright © 2011-2022 走看看