webmethods文档 联系客服

发布时间 : 星期四 文章webmethods文档更新完毕开始阅读add00effc8d376eeaeaa31ed

接着调用splitString函数,把temp_cargo_desc变量值输入,定义FTX段的长度和各种格式 实现分隔货名。

据报文标准,船司要求每行最好不要超过26个符,内容超出时,可以通过自循环(最 多99次),添加LOOP, Iutput array设为segments(segments为调用splitString函数返回的一个值),Output array设为

/doc__inttra_iftmin/UNH/GID/FTX

调用splitString分隔货名,设定每个FTX段的长度,把分隔后的货名放到DOCMENT里,对DOCMENT实行自循环,每次循环取得的数据输出到FTX段。最后MAP里把该segments DROP掉。

接下一个SEQUENCE用来处理麦头信息,采用方法与货物描述类似,取麦头信息,

转化成大写,分隔麦头,自循环存取麦头信息。,最后调用getPKGDesc函数,根据包装代码获得包装名称,如下图:

20.下一个SEQUENCE获得GID段货物包装信息和它底下的MEA段货物重量,体积信息。如下图:

先添加一个MAP,取SEA_HBL_DTL下的WEIGHT货物重信息到一个新增的MEA doucument段里(报文格式:MEA+AAE+WT+KGM:重量')。如下图

后增加一个MAP做赋值,把MEA段的值赋到输出DOC里GID段底下的第一个MEA段,这里要注意单MEA DOC 的字段结构要跟输出DOC里的MEA一样,才能实现DOC—DOC之间的LINK。

MEA+AAE+AAW+MTQ:体积' 取货物体积信息,采用的MAPPING方法与重量一样,单独增一个MEA 的 DOC 取得体积信息,最后赋值到输出DOC 里GID段下的第二个MEA段。 插入一个MAP,取得GID段信息:0910 GID+1+包装件数:包装代码::6:包装描述' 21.添加一个BRANCH,处理危品信息。危品针对货物而言,获取危品信息前要对货物是否为危品做判断。BRANCH下添加一个SEQUENCE ,在SEQUENCE里的LABEL对IMO _CLASS_TYPE(危品等级)字段数据是否为空做判断,当不为空时继续往下走该SEQUENCE下的MAP,否则直接跳过,危品信息段不输出。

1520 DGS+IMD+危险品分类:页号+联合国编号+闪点:闪点单位+包装组别+应急措施号? 这里MAP主要取得危险品分类,联合国编号信息写死,其他段信息没有就不赋值。获取危险品分类时,调用了substring函数,从IMO_CLASS_TYPE信息取字符串第5位起到第6

位。如下图:

22.下一个SEQUENCE用来处理EQD箱信息,对SEA_CONSOL_CTR_B段做循环。

先插入一个MAP,设置变量ctn_nums,并将其赋初值为0.用来统计箱子个数。接着对SEA_CONSOL_CTR_B段做循环,Oput array 设为doc_inttra_iftmin/UNH/GID/EQD,将每次循环取得的值收集到EQD段里。该循环下,调用箱型代码转换SERVICE :TransformContainerTypeForISO95(该SERVICE结构可参照KerrySeaPublic包),把箱型代码转换成ISO95标准,返回一个strEDICodeOfISO95变量值。如下图:

然后做MAP,把转换而得的箱型代码放回源DOC(doc_sea_standard)。

处理TMP段信息:1740 TMP+2+温度:温度单位?

温度:当箱型代码为冷冻箱时本行必须出现;必须由3位数字组成;正确的:-001,05.5,55.5;错误的:1, 5.5,-01

温度单位:CEL?摄氏度,FAH?华氏度 如下图:

调用validTemprature,取所得的strEDICodeOfISO95 箱型代码进行判断是否为冷箱,返回变量boolen。boolen有true ,false两个值,当为ture时才是冷藏箱。为如下图:上图是调用validTemprature的输入输出显示,下图是validTemprature内部结构显示。

添加SEQUENCE在label里对boolen变量的值是否为true进行判断,满足为true条件则往该下SEQUENCE内部走,否则跳出该结点。SEQUENCE下新增BRANCH(注释TMP),再在BRANCH下插入SEQUENCE,在label里判断冷藏箱温度TEMPERATURE字段是否

为空,在不为空的情况下,才取TMP段值。在新增的结点下做MAPPING,取温度