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=CSHNT
2.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\\n
2.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=true
17
? 接收报文:用来配置能够接收的某一个EDI合作伙伴的报文类型和处理方式。由以
下几项配置项目:
1) 接收报文后的处理类:与YakInterface中的第二级Policy的开发、配置方
式相同。配置项目的组成方式如下: BU代码.报文直接接收方代码=参数项值
处理类放在yak.sysinterface.front.unpkg.policy包中,实现Policy接口,接口的定义如下:
public interface Policy {
public static final String ERROR_READ_EDI_HEAD = \;
public abstract String parseEdiType(BufferedReader bufferedreader) throws FrontException;
public abstract String genShell(YakEdiShell shell) throws FrontException; }
其中:
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 表示直接从中集接收报文。
3) 报文接收、处理后发送途径:用来指示在接收报文并经过初步处理后,
将处理的结果发送到哪一个QUEUE上,以便WPG来接收和处理。配置项目的组成方式如下:
BU代码.报文直接接收方代码.报文类型. SendQueue =参数项值
“报文类型”是通过对应接收方的Policy的parseEdiType方法,分析收到的报文得到的;“参数项值”的取值则根据在WPG中定义的QUEUE的名称来取。例如,接收上海中集的订舱回执报文,其配置项如下: CSHWL.COSFRE.UIFRET.SendQueue=COSFRE_UIFRET_IN “UIFRET”为报文格式,在这里表示订舱回执;“COSFRE_UIFRET_IN”为WPG中定义的用来接收上海中集订舱回执的QUEUE的名称。 如何在WPG中定义QUEUE,参考WPG相关手册。
18
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
船名代码 vessel T_Cd_Vessel T_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