亿通网EDI179000038736651是什么意思

 上传我的文档
 下载
 收藏
粉丝量:33
该文档贡献者很忙,什么也没留下。
 下载此文档
上海亿通国际股份有限公司上海美华系统有限公司
下载积分:400
内容提示:上海亿通国际股份有限公司上海美华系统有限公司
文档格式:PDF|
浏览次数:156|
上传日期: 22:30:12|
文档星级:
全文阅读已结束,如果下载本文需要使用
 400 积分
下载此文档
该用户还上传了这些文档
上海亿通国际股份有限公司上海美华系统有限公司
关注微信公众号豆丁微信公众号
君,已阅读到文档的结尾了呢~~
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
EDI子系统开发流程.doc
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口easipass.com. All Rights Reserved
版权所有 亿通国际股份有限公司 亿通网赞助商链接
当前位置: >>
EDI子系统开发流程
EDI 子系统开发流程1. EDI 架构介绍1.1. 在 FOCUS 系统中的位置划分EDI 子系统是 FOCUS 系统和外部系统进行数据交换的接口,负责生成/接收符合一定格 式要求的数据文件(报文) 。在生成报文的时候,出于 FOCUS 系统业务流程的末尾;在接收 报文的时候,处于 FOCUS 系统业务流程的开始。1.2. EDI 子系统模块划分EDI 子系统可以分为: Command、YakInterface(接口) 、WPG、YakFront(前置机)及 部分。其中 Command 是按照 FOCUS 系统的 Command 接口要求完成的,用来与客户端进行 交互的部分;YakInterface 为 EDI 子系统的核心部分,完成接收业务数据、业务规则校验、 代码翻译、日志管理;WPG 为第三方中间件,主要用来完成报文格式的转换工作;YakFront 为 EDI 子系统的前置机,完成报文中字符的特殊处理和报文的发送、接收。1.2.1. EDI 子系统的物理架构船公司AppServer EDI Server GUIClient Browser DB 前置机船代系统其他外部系统其中 EDI Server 既是 EDI 子系统。1 1.2.2. EDI 子系统发送 EDI 报文业务流程EDI文件传递方向代码翻译程序 EDI打包程序客户①客户EDIXML客户端应用程序服务器XMLEDI客户EDI④ ④ ④业务人员②。 。 。EDI③EDI④前置机EDI服务器客户文件生成&分发程序其中各步骤的过程为: ① 业务员将要生成 EDI 文件的 XML 格式的数据上传到应用程序服务器; ②(业务处理 YakInterface) 应用程序服务器通过“EDI 打包程序”和“代码翻 译程序”,将收到的 XML 格式的数据转换为 XML 格式的 EDI 报文,发送到 EDI 服 务器; ③(映射、WPG 格式转换) EDI 服务器将收到的 XML 格式的报文转换为 EDI 文件, 并附上说明信息,通过数据流发送到前置机上或应用程序服务器上,应用程序服 务器再将 EDI 数据流发送到客户端; ④ (前置机业务处理 YakFront)前置机上的“文件生成&分发程序”将接收到的 EDI 数据流转换为 EDI 文件,并根据附加信息分发给不同的客户,或客户端的“文 件生成程序”将接收到的 EDI 数据流转换为 EDI 文件,并通过 E-Mail 或其它方式 发送。2 1.2.3. EDI 子系统接收 EDI 报文业务流程报文传递方向 代码翻译程序 EDI解包程序客户Email或其他方式⑤EDI查询 查询结果④DataEDI客户EDI客户端① 业务人员⑥应用程序服务器XML数据库服务器EDI客户EDI① ① ① ①EDI③。 。 。②EDI前置机EDI服务器客户 监视&发送程序 EDI校验程序其中各步骤的过程如下: ① 客户将 EDI 文件上传到前置机或通过 E-Mail 等方式发送给业务人员,再由业务 人员上传到前置机; ② 前置机上的“监视&发送程序”将接收到的 EDI 文件直接传送到 EDI 服务器进 行解包; (前置机处理) ③ EDI 服务器上的“格式自动识别程序”和“EDI 校验程序”对 EDI 文件进行预处 理,经过预处理的 EDI 文件通过格式转换,生成 XML 格式的报文,发送到应用程 序服务器; (WPG 映射处理) ④ 应用程序服务器通过“EDI 解包程序”和“代码翻译程序” ,将收到的 XML 格 式的报文转换为 XML 格式的数据包,发送到客户端或存入数据库; (YakInterface)1.3. Command主要与 客户端进行交 互, 完成 与业务操作相 关的发送 EDI 的准备, 并生成符合 YakInterface 要求的数据,在该 Command 中调用 Agent 来完成相应的生成、发送报文的操 作。包括 EDICommand 和商务相关的 Command。 EDICommand 主要完成发送订舱单、提单确认、装箱单三种类型报文的发送工作。根据 不同的报文类型,EDICommand 对业务数据(主要是委托以及相关的数据)进行重新整理, 生成符合 EDI 子系统(YakInterface)要求的报文(MessageObject) 。商务相关的 Command3 在商务子系统中完成,用来生成 SAP 和用友的财务接口文件。 在 FOCUS 系统中,启动时会自动加载 EDI 子系统的入口程序 Controller,需要使用 EDI 子系统的 Command 根据各自的业务需要,通过该 Controller 来获得 EDI 子系统提供的不同 类型的 EDI 功能模块实例来完成其要求。具体的调用方式如下:EDIAgent ediAgent = try { ediAgent = (EDIAgent) Controller.getInstance().getService(&EDIAgent.Instance&); } catch (Exception e){ }其中 EDIAgent.Instance 表示提供发送与订舱业务相关 EDI 报文的功能模块,系统目前 支持下列不同的功能模块: 功能模块名称 EDIAgent.Instance SAPAgent.Instance UFAgent.Instance 功能描述 发送与订舱业务相关 EDI 报文的 根据 SAP 财务系统的格式要求,把 FOCUS 系 统的相关商务数据生成 SA 报文 根据 SAP 财务系统的格式要求,把 FOCUS 系 统的相关商务数据生成 SA 报文获得所需要的功能模块的实例以后,按照下面方式来调用:MessageObject responseMO = MessageObject requestMO = new MessageObject(); responseMO = ediAgent.getResult(requestMO);其中 requestMO 是业务 Command 根据发送 EDI 的要求, 经过对特定业务数据处理后生 成的,这里用 new 操作来代替。1.4. YakInterfaceYakInterface 是 EDI 子系统的核心部分,完成了 EDI 收、发的主要业务功能。 发送报文时,从 Command 接收业务数据,根据报文格式和接收方调用不同的 Policy, 完成业务规则校验、代码翻译、日志处理,并将其转换成统一的 YakInterface 内部 EDI 格式, 再发送到 WPG 进行格式转换。 接收报文时,从 WPG 接收转换后的统一的 YakInterface 内部格式,根据“壳”信息中 的数据,来调用不同的 Policy 完成业务规则校验、数据保存、日志处理。 其设计结构上的核心为以下两点: ? 数据耦合 在 YakInterface 内部各组件之间,使用共享的数据缓冲区来完成数据的交换,以适 应未来可能会发生变化的业务处理方式。4 ?Policy 模式 在发送和接收报文的过程中,对于具体的业务处理,采取多级 Policy 的设计模式, 能够灵活应对不同报文格式和接收方的要求。1.4.1. YakInterface 逻辑架构Interface Sub-System(接口子系统)子系统控制器Application ServerEDI ServergetService() Controller控制器Agent Instanceregister()register()register()register()register()P2&UP4. 准备数据Biz Command 业务功能 组件getResult(MO)Formatter 格式转换 器transfer()Transfer 代码翻 译器get()|put() put()|get() Return MO Agent 任务代理 DataBuffer数据交换区get()|put()register()Cache 缓存 器Message Target Delegate 目标代理 MQClientQueue EDI Server QueueQueueQueueMessageq如果调用方式为同步调用, 返回MO中包含实际转换后数据 (目前不使用同步模式) q如果调用方式为异步调用, 返回MO中仅包含操作状态C1. 接收 数据P3&UP3. 转发数据P4&UP2. 生成数据C1:表示统一入口。 P2-P4:表示打包的流程。 UP2-UP4:表示解包的流程。5 1.4.2. YakInterface 组件架构Application Server EDI Server Front 前置机LogEDI Formatter 格式转化器Code MappingSAP_Accounting FormatterBiz Components 业务功能模 块Agent 任务代理UF_Accounting FormatterTransfer Component 代码翻译器Controller 控制器TargetDelegate 目标代理IBM WPGCommunication AgentPostProcessor & PreProcessor[PolicyEngine] Validate BizRule & Log2DB & Save2DBCacheManager 缓存管理Hibernate Component其中各组件的说明如下: ① EDI 处理模块与其他处理模块之间的交互都通过代理完成,其中 Agent 负责服务器 端业务功能组件与 EDI 处理模块之间的交互;TargetDelegate 负责 EDI 处理模块与 EDI Server 之间的交互。 ② EDI Formatter:负责对 EDI 进行打包和解包 ③ SAP_Accounting Formatter: 负责对 SAP 格式报文进行打包 ④ UF_Accounting Formatter:负责对用友格式报文进行打包 ⑤ Transfer: 代码转换,即将系统定义的代码转换为目标格式代码 ⑥ PolicyEngine: 业务策略引擎 (根据定义的策略进行业务规则校验、 记录数据库日志, 回填业务数据) ⑦ Controller: 负责控制 Agent 之间的交互 ⑧ log: 操作日志组件 ⑨ CacheManager:缓存组件 ⑩ Hibernate Component:数据映射组件,使用框架公用组件完成数据持久化 11 ○ PostProcessor&PreProcessor:前置机对打包后处理和解包预处理的组件,主要完成 对 EDI 报 文的特殊字符的处理和还原以及脱壳和加壳处理1.5. WPGWPG 为第三方中间件,用来完成报文格式的转换。 发送报文时,接收 YakInterface 发送的标准格式的报文,再根据不同的报文格式和接收 方,生成具体的基本符合接收方要求的报文,并加上与报文处理相关的“壳”信息,再将 生成的报文发送到前置机进行最后的处理。6 接收报文时,接收前置机发送的不同格式的报文,转换成统一的接口内部格式,发送 给 YakInterface。 WPG 主要使用与之配合客户端工具 DISClient 进行报文格式的定义和报文格是的转换。1.6. YakFront发送报文时,收到 WPG 发送的报文,再根据配置信息和报文中的“壳”信息,对报文 进行字符的校验和特殊处理,并去掉“壳”信息,最后通过指定的方式把报文发送出去。 在接收报文时, 根据配置信息和不同的发送方, 对报文进行特殊字符处理, 并加上 “壳” 信息,再发送到 WPG。2. EDI 开发步骤2.1. 报文格式分析发送报文时,系统支持交通部和 UN/EDIFACT 两种标准,另外有些船公司的报文为其自 定义格式。交通部标准的报文,以上海亿通的报文格式为标准和基础,UN/EDIFACT 标准的 报文,以 WPG 提供的报文格式为标准和基础。下面以亿通格式的订舱报文(IFTMBF)为例 进行说明,UN/EDIFACT 标准和自定义格式的报文处理方式类似。 例如:收到船公司 A 的订舱报文,检查其格式说明文件,发现其报文内容组成形式基 本符合亿通订舱报文,但是修改了某些段(记录、Segment)和字段(Item) ,将不同的部 分进行记录,记录的内容包括:增加/删除/修改、循环次数、数据类型、数据长度。如果船 公司同时提供了代码表,则表示在生成报文时需要进行代码映射;如果没有提供代码表, 并不表示不需要进行代码映射,有可能会在后期用户测试阶段提出代码映射的要求。 根 据 记 录 的 报 文 格 式 中 发 生 变 化 的 数 据 , 检 查 FOCUS 系 统 的 “ 订 舱 委 托 表 ” (T_CO_OCEANORDER) ,以及相关的“预配信息表” (T_CO_OCEANPRELOAD) “货物表” 、 (T_CO_CARGO)“参与方表” 、 (T_CO_OCEANORDER,存放收货人、发货人、通知人信息) , 如果发现这些表不能提供生成报文所需的信息,则检查报文格式说明,该信息是否为生成 报文的必须信息,如果不是则忽略该信息;如果是必须信息,则与业务组协商,如何补充 该信息。 处理完报文以后,还需要获得的信息为:报文发送方式、发送方代码、接收方代码, 这些信息可以先使用虚拟数据代替,在客户测试阶段更新为真实数据。2.2. 增加 PolicyYakInterface 里面的 Policy 分为两级,第一级处理不同的报文格式,第二级处理不同的 报 文 接 收 方 。 每 一 个 Policy 对 应 系 统 中 的 一 个 实 现 类 , 第 一 级 的 类 放 在 yak.sysinterface.edi.policy 包中,第二级的类放在 yak.sysinterface.edi.rule 报中。报文格式与 实现类、 接收方与实现类的对应关系放在 FOCUS 系统的配置文件 PolicyEngine.properties 中。 文件的内容如下:7 ######################################################################## ## POLICY ENGINE CONFIGURE SECTION ## THE RULE IS: ## BUSINESS CODE = POLICY IMPLEMENT CLASS OF PROCESSING THAT BUSINESS ######################################################################## ## BIZ RULE RELATED POLICY ########################################### IFTMBF=yak.sysinterface.edi.policy.IftmbfPolicy IFTMBC=yak.sysinterface.edi.policy.IftmbcPolicy IFTMIN=yak.sysinterface.edi.policy.IftminPolicy SAP=yak.sysinterface.sap.policy.SapPolicy … ## FILENAME RELATED POLICY ############################################# VALIDATE RULE POLICY ############################################## EASIPASS.RulePolicy=yak.sysinterface.edi.rule.EasiPassPolicy COSFRE.RulePolicy=yak.sysinterface.edi.rule.CosfrePolicy … 上半段内容是报文格式与实现类的配置信息,下半段内容是接收方与实现类的配置信 息。 例如新增加一种报文格式,格式名称为“TESTFORMAT” ,则需要实现下面几项内容: ? 完成该格式的实现类: yak.sysinterface.edi.rule.TestFormatPolicy.java ? 在上面的配置文件中增加一行配置信息: TESTFORMAT =yak.sysinterface.edi.policy.IftminPolicy如果新增加一个报文接收方,名称为“TESTRECEIVER” ,则需要实现下面几项内容: ? 完成该接收方的实现类: yak.sysinterface.edi.rule.TestReceiverPolicy.java ? 在上面的配置文件中增加移行配置信息: TESTRECEIVER.RulePolicy=yak.sysinterface.edi.rule.TestReceiverPolicy第一级Policy(报文格式)在完成实现类时,要实现Policy接口,接口定义如下: public interface Policy { public final static String ERROR_HANDLE_POLICY = &IFPE10&; public final static String ERROR_SAVE_LOG_TO_DB = &IFPE11&; public PolicyResult validateBizRule(String operation,Object o) throws InterfaceE public PolicyResult log2DB(String operation,Object o,String errorCode,String errorDesc) throws InterfaceE8 public PolicyResult save2DB(String operation,Object o) throws InterfaceE } 其中: validateBizRule是业务规则校验的处理方法方法;可 log2DB是保存处理日志的方法; save2DB是接收报文时,保存数据的方法; 这三个方法由FormatterTask(yak.sysinterface.edi.FormatterTask.java),根据当前 处理的不同报文报文格式和处理阶段,自动调用。例如:在处理接收EDI订舱单(IFTMBF)时, FormatterTask会依次调用IFTMBFPolicy的validateBizRule、save2DB、log2DB。 如果某一种报文格式没有定义其对应的Policy,则系统在处理该报文格式时,会抛出 InterfaceException。 第二级 Policy(接收方)在完成实现类时,要实现 RulePolicy 接口,接口定义如下: public interface RulePolicy { public static final String RULE_POLICY_SUFFIX = &.RulePolicy&; public boolean validateIFTMBF(String ope ration,Object o); public boolean validateIFTMIN(String operation,Object o); public boolean validateCOSTCO(String operation,Object o); }其中: validateIFTMBF 是处理订舱单报文的处理规则; validateIFTMIN 是处理提单确认报文的处理规则; validateCOSTCO 是处理装箱单报文的处理规则; 这三个方法由第一级 Policy(报文格式 Policy)来自动调用,例如:IFTMBFPolicy 在处 理发送到 “TESTRECEIVER” 订舱单的过程中会自动调用 TestReceiverPolicy 的 validateIFTMBF。如果某一接收方没有定义其对应的Policy,则系统在处理该报文格式时,在第一级Policy 中查找是否有缺省的处理方式,如果找到则执行默认的处理方式,否则会抛出 InterfaceException。2.3. 增加数据库配置信息在数据库中需要根据报文接收/发送方的不同要求,在下面的这些表中配置相应的信息。2.3.1. EDI 参与方(EDI_PARTNER)用来记录 FOCUS 系统中目前所支持的报文接收方的主要信息,结构如下:中文名称 EDI 参与方主键 EDI 参与方名称字段名称 EDI_PATN_ID EDI_PATN_NAME字段类型 NUMBER(12) VARCHAR2(40)备注9 EDI 参与方代码 非 EDI 中心报文名称代码 非 EDI 中心接收方代码 系统合作伙伴 ID 是否支持直接发送 是否支持 EDI 中心 是否 EDI 中心 删除标志 修改日期EDI_PATN_CODE DR_MSG_CODE DR_RCV_CODE SYS_PATN_ID SPRT_DR SPRT_EDI_CNTR IS_EDI_CNTR IS_DELETED UPD_DATEVARCHAR2(40) VARCHAR2(40) VARCHAR2(40) NUMBER(12) VARCHAR2(20) VARCHAR2(20) CHAR(1) CHAR(1) TIMESTAMP例如,上海中集的配置记录如下:1009 主键 COSCO 客户端显示的名称 COSFRE EDI 合作伙伴代码 直接发送时,报文类型代码, 需要与 WPG 中定义的报文类 型名称相匹配。例如,在 WPG DR_MSG_CODE COSFRE 中上海中集的订舱报文的名 称定义为“IFTMBF_COSFRE”, 则该字段的取值必须是 “COSFRE” 直接发送时, 报文中的接收方 DR_RCV_CODE
代码 SPRT_DR Y 允许直接发送报文给中集 SPRT_EDI_CNTR N 不支持通过 EDI 中心发送 在系统合作伙伴基础信息表 SYS_PATN_ID 7000 中对应的 ID IS_EDI_CNTR N 不是 EDI 中心 IS_DELETED N 没有被删除 12-12 月-06 11.31.29.626025 上 数据最后一次修改时间 UPD_DATE 午 上海亿通的配置记录如下: 字段名称 字段值 说明 EDI_PATN_ID 1010 主键 EDI_PATN_NAME 亿通 客户端显示的名称 EDI_PATN_CODE EASIPASS EDI 合作伙伴代码 因为是 EDI 中心, 不是具体的 DR_MSG_CODE 业务合作伙伴,只是转发报 文,不需要配置该数据 因为是 EDI 中心, 不是具体的 DR_RCV_CODE 业务合作伙伴,只是转发报 文,不需要配置该数据字段名称 EDI_PATN_ID EDI_PATN_NAME EDI_PATN_CODE字段值说明10 支持直接发送 支持通过 EDI 中心发送 在系统合作伙伴基础信息表 SYS_PATN_ID 1000 中对应的 ID IS_EDI_CNTR Y 是 EDI 中心 IS_DELETED N 没有被删除 12-12 月-06 11.31.29.626025 上 数据最后一次修改时间 UPD_DATE 午 上海 APL(美国总统)的配置记录如下: 字段名称 字段值 说明 EDI_PATN_ID 1000 主键 EDI_PATN_NAME APL 客户端显示的名称 EDI_PATN_CODE APL EDI 合作伙伴代码 如果没有配置该项数据, 则表 DR_MSG_CODE 示不支持直接发送 如果没有配置该项数据, 则表 DR_RCV_CODE 示不支持直接发送 支持直接发送, 但是还需要检 查 DR_MSG_CODE 和 SPRT_DR Y DR_RCV_CODE 的值,都有才表 示支持直接发送 SPRT_EDI_CNTR Y 支持通过 EDI 中心发送 在系统合作伙伴基础信息表 SYS_PATN_ID 4616 中对应的 ID IS_EDI_CNTR N 不是 EDI 中心 IS_DELETED N 没有被删除 12-12 月-06 11.31.29.626025 上 数据最后一次修改时间 UPD_DATE 午SPRT_DR SPRT_EDI_CNTRY Y2.3.2. EDI 连接方式(EDI_CONN_TYPE)用来记录通过 EDI 中心发送报文的配置信息,表结构如下:中文名称 字段名称 连接方式主键 CONN_TYPE_ID 经 EDI 中心报文名称代码 EDI_CNTR_MSG_CODE EDI 中心参与方主键 EDI_CNTR_PATN_ID 经 EDI 中心接收方代码 EDI_CNTR_RCV_CODE EDI 参与方主键 EDI_PATN_ID 删除标志 IS_DELETED 修改日期 UPD_DATE 例如,上海 APL(美国总统)的配置数据记录如下: 字段名称 字段值字段类型 NUMBER(12) VARCHAR2(40) NUMBER(12) VARCHAR2(40) NUMBER(12) CHAR(1) TIMESTAMP备注说明11 CONN_TYPE_ID1 主键 经过 EDI 中心发送时,报 文类型代码,需要与 WPG 中定义的报文类型名称相 匹配。例如,在 WPG 中上 EDI_CNTR_MSG_CODE EASIPASS 海亿通的订舱报文的名称 定义为 “IFTMBF_EASIPASS”,则 亿通的本字段必须取 “EASIPASS” EDI 中心在 EDI 合作伙伴 EDI_CNTR_PATN_ID 1010 表中的 ID 经过 EDI 中心发送时,EDI EDI_CNTR_RCV_CODE APLMBF 合作伙伴在 EDI 中心的接 收方代码 通过 EDI 中心发送报文的 EDI_PATN_ID 1000 EDI 合作伙伴, EDI 合作 在 伙伴表中的 ID IS_DELETED N 没有被删除 23-6 月 -06 11.48.14.907085 上 数据最后一次修改时间 UPD_DATE 午2.3.3. EDI 合作伙伴字段翻译(EDI_PATN_FIELD_TRANS)用来保存每个 EDI 合作伙伴哪些类型的代码需要进行代码翻译,表结构如下:中文名称 字段翻译主键 EDI 合作伙伴主键 报文字段类型主键 是否需要翻译字段名称 MSG_TRANS_ID EDI_PATN_ID MSG_FIELD_TYPE_ID NEED_TRANS字段类型 NUMBER(12,0) NUMBER(12,0) NUMBER(12,0) CHAR(1)备注错误级别ERROR_LEVELNUMBER(3)错误替代代码ERROR_REPLACE_CODE VARCHAR2(50)0: 用来表示翻译 该类代码发生错 误时,不允许报 文的发送/接收 1: 用来表示翻译 该类代码发生错 误时,允许报文 的发送/接收 在发生代码翻译 错误的时候,如 果错误级别 ERROR_LEVEL 是12 1, 则用该代码作 为代码翻译的结 果 修改日期 UPD_DATE 例如,上海亿通港口代码的配置数据如下: 字段名称 字段值 MSG_TRANS_ID EDI_PATN_ID MSG_FIELD_TYPE_ID NEED_TRANS Y TIMESTAMP 说明 1007 主键 亿通在系统合作伙伴基础信 1000 息表中对应的 ID 代码类型在 EDI 代码类型表 1 中的 ID 需要翻译,如果为“N”,则 表示该代码类型不需要翻译 允许代码翻译错误, 如果发生 1 错误,则使用“ZZZZZ”作为 代码翻译的结果ERROR_LEVEL ERROR_REPLACE_CODE ZZZZZ 上海亿通箱形尺寸的配置数据如下: 字段名称 字段值 MSG_TRANS_ID EDI_PATN_ID MSG_FIELD_TYPE_ID NEED_TRANS ERROR_LEVEL ERROR_REPLACE_CODE Y说明 1001 主键 亿通在系统合作伙伴基础信 1000 息表中对应的 ID 代码类型在 EDI 代码类型表 2 中的 ID 需要翻译,如果为“N”,则 表示该代码类型不需要翻译 不允许翻译错误, 如果发生错 0 误,则不能生成 EDI2.3.4. EDI 合作伙伴报文格式(PATN_MSG_TYPE)用来保存每个合作伙伴支持哪些类型的报文,以及对应的报文功能,表结构如下:中文名称 合作伙伴报文格式主键 EDI 合作伙伴主键 报文格式代码 报文格式操作方式字段名称 字段类型 EDI_PATN_MSG_TYPE_ID NUMBER(12) SYS_PATN_ID NUMBER(12) MSG_TYPE_CODE VARCHAR2(17) CHAR(1) SUPPORT_TYPE IS_DELETED ALLOW_MULTI_MSG CHAR(1) CHAR(1)备注1:发送 2:接收 3: 发送/接收删除标志 是否允许多票发送13 是否支持原始报文功能 SUPPORT_ORIG 是否支持修改报文功能 SUPPORT_CHANGE 是否支持增加报文功能 SUPPORT_ADD 是否支持删除报文功能 SUPPORT_DELETE 例如,上海亿通订舱报文的配置数据如下: 字段名称 字段值 EDI_PATN_MSG_TYPE_ID SYS_PATN_IDCHAR(1) CHAR(1) CHAR(1) CHAR(1) 说明MSG_TYPE_CODE SUPPORT_TYPE IS_DELETEDALLOW_MULTI_MSGUPD_OPER_CD UPD_OPER_NM UPD_DATESUPPORT_ORIGSUPPORT_CHANGESUPPORT_ADD SUPPORT_DELETE1 主键 亿通在系统合作伙 1000 伴基础信息表中对 应的 ID 支持的报文类型代 IFTMBF 码 支持发送和接收订 3 舱报文 N 没有被删除 一个报文中不允许 包含多票委托。如果 N 为“Y”,则在一个 报文中可以包含多 票委托 最后一次数据更新 ADMIN 人代码 最后一次数据更新 系统管理员 人名称 最后一次数据更新 02-11 月-06 07.27.56.000000 下午 时间 支持“原始”报文功 Y 能。如果为“N” 或 空,则不支持 支持“修改”报文功 Y 能。如果为“N”或 空,则不支持。 不支“增加”报文功 能 不支持“删除”报文 功能2.4. 增加 WPG 配置信息参考 WPG 相关手册。14 2.5. 增加前置机配置信息各配置项信息需要严格区分大小写,路径信息要按照报文接收方提供的标准格式填写(与 具体的操作系统有关) 。每一个配置项目的各项之间必须使用“.”进行分割。2.5.1. 发送方式配置信息 (向 EDI 中心询问 FTP 和 MAIL 的参 数配置!! !)该信息存放在前置机的配置文件 FileTransport.properties 中,包含了用来直接发送 EDI 报文 的详细配置信息。目前系统支持 FTP、Email 两种自动发送方式。2.5.1.1.FTP 方式的配置信息对于 FTP 发送方式, EDI 报文直接上传到指定的 FTP 服务器上。 将 每一个配置项目的组成方 式如下: BU 代码.报文直接接收方代码.FTP 参数项名称=FTP 参数项值 其中各项含义为: ? BU 代码:为各 BU 在前置机中定义的代码,在 config.properties 文件中配置,例如 上海的在 FOCUS 中的 BU 代码为“501” ,则在 config.properties 中的配置信息为: 501=CSHWL 表示在前置机中, “CSHWL”代表的是与上海 BU 相关的信息。 ? 报文直接接收方代码:在数据库中配置的直接接收方代码 ? FTP 参数项名称:FTP 必须配置的项目为: FtpServer:FTP 服务器的 IP 地址 UserId:登陆给定 IP 地址的 FTP 服务器的用户名 Password:登陆密码 WorkingDirectory:登陆以后,上传 EDI 报文的存放路径 另外,根据具体的要求,还需要配置下面的 FTP 项目: DownloadDirectory:如果需要从该 FTP 服务器下载 EDI 报文,则需要指定被下 载的报文在服务器上的存放位置 TESTMODE:是否打开测试方式。在进行 EDI 报文 FTP 测试阶段,如果发生报文 不明原因丢失的情况,可以打开此选项,只有唯一的值 “UPLOAD_VALIDATE” 。打开此选项后,还必须配置 BAK_DIR 项。此时, 系统会先把报文上传到 BAK_DIR 所制定的目录,在移动到前面配置的 WorkingDirectory BAK_DIR:在测试方式下,报文的上传目录 LEAVE_BAK:在测试方式下,是否保留上传到 BAK_DIR 目录的报文。取值为 YES 和 NO,YES 则保留 BAK_DIR 中的报文,NO 则不保留 ? FTP 参数项值:与具体参数项匹配的值 例如,上海的中集(中远集装箱)的配置信息为: CSHWL.COSFRE.FtpServer=192.168.129.3015 CSHWL.COSFRE.UserId= CSHWL.COSFRE.Password= CSHWL.COSFRE.WorkingDirectory= 前四行是发送报文需要添加的 CSHWL.COSFRE.DownloadDirectory= /usr/IBM/frontTest/out CSHWL.COSFRE.TESTMODE=UPLOAD_VALIDATE CSHWL.COSFRE.BAK_DIR=/ CSHWL.COSFRE.LEAVE_BAK=YES 后四行是接收报文时需要添加的如果是新追加报文接收方,在前置机的 config.property 中 加上 BU 代码 503=CSHNT2.5.1.2.Email 方式的配置信息对于 Email 发送方式,将 EDI 报文最为附件发送到指定的 Email 地址。每一个配置项目的组 成方式如下: BU 代码.报文直接接收方代码.Email.Email 参数项名称=Email 参数项值 其中“Email”项必须包含,各项含义为: ? BU 代码:为各 BU 在前置机中定义的代码,在 config.properties 文件中配置,例如 上海的在 FOCUS 中的 BU 代码为“501” ,则在 config.properties 中的配置信息为: 501=CSHWL 表示在前置机中, “CSHWL”代表的是与上海 BU 相关的信息。 ? 报文直接接收方代码:在数据库中配置的直接接收方代码 ? Email:保留标签 ? Email 参数项名称:Email 必须配置的项目为: ToAddress:对方接收 EDI 报文的 Email 地址 ToName:与给定的接收 Email 地址相匹配的用户名 FromAddress:FOCUS 系统发送 EDI 邮件的 Email 地址 FromName:与给定的发送 Email 地址相匹配的用户名 Subject:邮件主题 Content:邮件内容 ? Email 参数项值:与具体参数项匹配的值 例如,上海的 OOCL(东方海外)的配置信息为: CSHWL.OOCL.Email.ToAddress=exch@edi.cargosmart.com CSHWL.OOCL.Email.ToName=annie.fang CSHWL.OOCL.Email.FromAddress=Caowei@coscologistics.sh.cn CSHWL.OOCL.Email.FromName=Cao Wei CSHWL.OOCL.Email.Subject=Cosco Shanghai EDI Booking.16 CSHWL.OOCL.Email.Content=Dear partner, \n\n This EDI message from COSCO.Please check the attachements and thank you.\n\n Best regards, \n\n2.5.2. 工作目录配置信息该信息保存在前置机的配置文件 Pkg_postprocess.properties 中, 包含了每一个 EDI 合作伙伴 的工作目录、中文/全角字符检查、发送方式信息。 ? 工作目录:如果用户在生成报文的时候,不选择自动发送,则生成的报文会保存 在该目录中。配置项目的组成方式如下: BU 代码.报文直接接收方代码=参数项值 例如,上海中集的配置信息为: CSHWL.COSFRE=/usr/IBM/front/Production/SHANGHAI/CSHWL/Target/cosfre ? 中文/全角字符检查:是否允许生成的 EDI 报文中含有中文/全角字符。配置项目的 组成方式如下: BU 代码.报文直接接收方代码.NeedCheckSBC=参数项值 例如,上海中集的配置信息为: CSHWL.COSFRE.NeedCheckSBC=false 表示发送到上海中集的报文中允许包含中文/全角字符。 如果不允许包含中文/全角 字符,则可以不配置该配置项或将配置项值设为“true” 。 发送方式:用来确定发送到该 EDI 合作伙伴的 EDI 报文的发送方式。如果该合作伙 伴部能够直接接收 EDI 报文,则不需要配置该配置项。目前系统支持 FTP 和 Email 两种方式,对应的值分别为“FTP”和“SMTP” 。配置项目的组成方式如下: BU 代码.报文直接接收方代码. Connection =参数项值 例如,上海中集的发送方式为 FTP,则其配置信息如下: CSHWL.COSFRE.Connection=FTP 上海 OOCL(东方海外)的发送方式为 Email,其配置信息如下: CSHWL.OOCL.Connection=SMTP?2.5.3. 特殊处理配置信息该信息保存在前置机的配置文件 PolicyEngine.properties 中,包含了针对每一个 EDI 合作伙 伴的特殊字符处理和接收报文配置信息。 ? 特殊字符处理:是否在接收/发送报文的时候,对转译符、回车换行符、中文字符 进行处理。可取得值为“true” “false” 。如果该 EDI 合作伙伴不直接接收 EDI 报文, 则不需要侧配置向。如果某个 EDI 合作伙伴此处的配置值为“ false” ,则在 Pkg_postprocess.properties 中配置的是否检查中文/全角字符的配置项就不再起作 用。配置项目的组成方式如下: BU 代码.报文直接接收方代码. SpecialProcess =参数项值 例如,上海中集不需要进行特殊字符、中文/全角字符的检查,其配置项为: CSHWL.COSFRE.SpecialProcess=false 上海 APL(美国总统轮船)需要进行特殊字符的处理,其配置项为: CSHWL.APL.SpecialProcess=true17 ?接收报文: 用来配置能够接收的某一个 EDI 合作伙伴的报文类型和处理方式。 由以 下几项配置项目: 1) 接收报文后的处理类:与 YakInterface 中的第二级 Policy 的开发、配置方 式相同。配置项目的组成方式如下: BU 代码.报文直接接收方代码=参数项值 处理类放在 yak.sysinterface.front.unpkg.policy 包中,实现 Policy 接口, 接口的定义如下:public interface Policy { public static final String ERROR_READ_EDI_HEAD = &FTPE11&; public abstract String parseEdiType(BufferedReader bufferedreader) throws FrontE public abstract String genShell(YakEdiShell shell) throws FrontE }其中: ParseEdiType:根据报文内容判断报文格式的方法 genShell:生成“壳”信息的方法 这 两 个 方 法 被 yak.sysinterface.front.unpkg.preprocess 包 里 的 PreProcessor.java 调用。 例如,接收上海亿通(EASIPASS)的报文的配置如下: CSHWL.EASIPASS=yak.sysinterface.front.unpkg.policy.EasiPassPolicy 2) 报文接收途径: 是通过 EDI 中心还是直接从合作伙伴接收报文。 配置项目 的组成方式如下: BU 代码.报文直接接收方代码. RouteEdiCenter =参数项值 可取值为“Y”和“N”“Y”表示通过 EDI 中心接收某个合作伙伴的报文, 。 “N”表示直接从某个合作伙伴接收报文。例如,接收上海中集的配置项 如下: CSHWL.COSFRE.RouteEdiCenter=N 表示直接从中集接收报文。 报文接收、处理后发送途径:用来指示在接收报文并经过初步处理后, 将处理的结果发送到哪一个 QUEUE 上,以便 WPG 来接收和处理。配置 项目的组成方式如下: BU 代码.报文直接接收方代码.报文类型. SendQueue =参数项值 “报文类型”是通过对应接收方的 Policy 的 parseEdiType 方法,分析收 到的报文得到的; “参数项值”的取值则根据在 WPG 中定义的 QUEUE 的 名称来取。例如,接收上海中集的订舱回执报文,其配置项如下: CSHWL.COSFRE.UIFRET.SendQueue=COSFRE_UIFRET_IN “UIFRET”为报文格式,在这里表示订舱回执; “COSFRE_UIFRET_IN”为 WPG 中定义的用来接收上海中集订舱回执的 QUEUE 的名称。 如何在 WPG 中定义 QUEUE,参考 WPG 相关手册。183) 2.5.4. 报文接收目录配置信息该信息保存在前置机的配置文件 scanner.properties 中, 包含了接收合作伙伴的报文的目录, 配置项的组成方式如下: BU 代码.报文直接接收方代码.参数项名称=参数项值 参数项包括下面三项: Dir:要接收的报文存放目录 Priority:处理目录中报文的比例,取值为小于等于 1 的正的两位小数。例如,1 表示每 次对该目录中所有报文都处理,0.54 表示每次只对该目录中 54%的报文进行处理 DownMode: 报文的下载方式, 只有需要我们自己去合作伙伴的 FTP 服务器上下载需要 接收的报文时,才配置此项,而且目前只接受唯一值“INITIATIVE” 。FTP 服务器的地址从配 置文件 FileTransport.properties 中获得。例如,上海中集的配置项如下: CSHWL.COSFRE.Dir=/usr/IBM/front/Production/SHANGHAI/CSHWL/cosfre CSHWL.COSFRE.Priority=1 CSHWL.COSFRE.DownMode=INITIATIVE 表示中集的报文都放在/usr/IBM/front/Production/SHANGHAI/CSHWL/cosfre 目录下, 每次对 该目录下所有的报文都进行处理。要接收的报文从中集的 FTP 服务器上自行下载,下载后 放到/usr/IBM/front/Production/SHANGHAI/CSHWL/cosfre 目录下。 上海东方海外的配置项如下: CSHWL.OOCL.Dir=/usr/IBM/front/Production/SHANGHAI/CSHWL/oocl CSHWL.OOCL.Priority=1 表示 OOCL 的报文都放在/usr/IBM/front/Production/SHANGHAI/CSHWL/oocl 目录下, 每次对 该目录下所有的报文都进行处理。要接收的报文不需要去 OOCL 的 FTP 服务器下载。2.6. 代码映射导入代码映射导入主要是在增加一个新的 EDI 合作伙伴时, 把用户提供的需要进行处理的代码一 次性、大批量导入系统,减少客户的工作量。分为以下几个步骤:2.6.1. 确认代码类型拿到 EDI 合作伙伴提供的代码表后, 要确认其代码类型, 目前 EDI 子系统支持的代码类型有:代码类型中文名称 承运人代码 箱经营人代码 SAP 客户供应商代码 海运费条款代码 港口代码 箱型尺寸代码 付款方式代码 提单类型代码 货物类型代码 代码类型英文名称 carrier ctn_owner sap_patn freight_clause port ctn_type_size pay_type bl_type cargo_type 代码类型对应系统表 T_Sa_Patnbainfo T_Sa_Patnbainfo T_Sa_Patnbainfo T_Cd_Freightclause T_Cd_Port T_Cd_Ctnsizetype T_Cd_Colligate T_Cd_Colligate T_Cd_Colligate 代码类型对应合作伙伴表 T_Sa_CarrierEx T_Sa_CtnOwnerEx T_Sa_pPatnEx T_Cd_FreightclauseEx T_Cd_PortEx T_Cd_CtnsizetypeEx T_Cd_ColligateEx T_Cd_ColligateEx T_Cd_ColligateEx 19 船名代码vesselT_Cd_VesselT_Cd_VesselEx如果 EDI 合作伙伴提供的代码类型不在此列表中,需要与客户和业务组讨论如何处理。2.6.2. 初步确认与系统代码的映射关系确认了代码类型以后,根据具体的 EDI 合作伙伴代码数据,在系统相应类型的代码表中,找 到相对应的代码,然后记录在代码映射文档中。每一种代码类型生成一份代码映射文档。 代码映射文档要包含下面几项内容: ? 合作伙伴代码名称 ? 合作伙伴代码 ? 系统对应代码 ? 系统对应代码名称 ? 系统对应代码助记码 ? 系统对应代码 ID 在建立映射关系时,除了 SAP 客户供应商类型,其他类型都允许“多对多”的映射。SAP 客户供应商类型的代码,从系统内代码到 SAP 代码映射时,只允许“一对一”映射;从 SAP 代码到系统内代码映射时,允许“一对多”映射。2.6.3. 客户的业务人员确认映射关系将生成的代码映射文档,提交业务人员进行确认。根据业务人员确认的结果,修改代码映 射文档。与业务人员的确认过程,可能需要进行多次,直至业务人员确认无误后,再导入 系统。2.6.4. 代码和映射关系导入系统将业务人员最终确认后的代码映射文档,提交数据组,并协助数据组导入对应表。导入以 后,要及时通知客户业务人员进行检查确认。3. EDI 测试在前期代码开发和配置项完成以后,进入测试阶段,测试阶段主要是补充和完善业务 规则校验以及代码翻译。3.1. 开发测试首先进行开发测试,这一步骤主要是检查下面几项内容: ? 业务规则是否有错误,主要是代码错误; ? 各个配置项是否有缺失、错误; ? 其他代码是否有错误;20 ? 生成的报文格式是否符合要求; 经过测试,以上几项都没有问题后,可以发布生产环境,提供给客户进行测试。3.2. 用户测试其次进行客户测试,客户测试阶段周期比较长,会重复进行多次。主要是配合客户测 试的结果对业务校验规则、代码映射、发送方式进行修改、补充。每一次修改,都要在测 试环境测试通过以后,再提交生产环境进行下一轮用户测试。 用户测试阶段要注意下面几项内容: ? 收集、保存客户提供的代码表,并配合客户、数据组完成代码表的数据导入工作; ? 对于业务规则的调整,要在代码中作详细记录;21
赞助商链接
EDI流程_建筑/土木_工程科技_专业资料。EDI 基本工作流程 EDI 的工作流程: 1 ...EDI子系统开发流程 21页 2下载券 EDI导入配置流程 暂无评价 3页 免费 ...” 简单的说,符合以下标准的都可以称为 EDI :组织机构间通过计算机系统到另外...支持多用户小组开发。实时部署流程模型。流程模型自动创建运行环境和 监控 Java ...EDI设计步骤。慢慢理会!设计步骤 一 测水质全分析 二 根据水质选用预处理系统 三 确定反渗透系统的出水量 四 选择哪个公司的膜 五 使用膜公司计算软件计算出最合...管理信息系统的框架与开发步骤_企业管理_经管营销_...(EDI)技术 功能:将商业或行政事务处理按照一个公认...可分为各应用子系统过程和功能的集成,包括人 技术...说明在该操作手册中, 我们将搭建一个 ECC 系统和 JAVA 系统的 EDI 信息交互...(1)维护输入关联 IDOC 基础 开发 消息/应用程序对象 输入相关信息 点击保存 (...EDI 简介 EDI 即 Electrodeionization 的缩写, 它是一种将电渗析技术和离 子...?长期维护定期检查螺拴扭矩,必要时作调整 系统清洗清洗系统流程: FI PI RM ...在运行过程中,虽然树脂不断进行离 子交换,但电流连续不断的使树脂再生,从而...图 4,5 为 EDI 系统典型的流程图 图 4 带浓水循环的 EDI 系统 图 4 中...2、EDI 系统的投资合理性:优化前处理整体工艺流程 优化前处理整体工艺流程,每种...明显少于宽流道,即:平均膜表面离子密度低,从而,可以保证淡水室的离 子快速迁移...EDI技术介绍、设计参数及运行_环境科学/食品科学_...它利用阴、阳离 子交换树脂上的活性基团对水中阴、...PLC 程序已经输入; 4、电路系统检查已完成,机泵...(3)EDI 是计算机应用程序之间的连接 一般的电子通信...在电子单证符合标准且内容完整的情况下,EDI 系统不...(ASC)X12 为行业间电 子交换商业交易开发统一的...
All rights reserved Powered by
www.tceic.com
copyright &copyright 。文档资料库内容来自网络,如有侵犯请联系客服。}

我要回帖

更多关于 亿通云平台 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信