六种控件统称flow step
insert/invoke 插入services,类似调用函数
BRANCH 分支结构
参数名在switch定义 子参数以label确定
注意:确保label唯一,否则报错货跳过该BRANCE
SEQUENCE 顺序结构
将多个flow step封装成一个节点,可以在其内部定义何时结束
comments:注释
REOWAT 重复,可指定重复次数
LOOP 循环
当该段输出存在多个属性值时,使用LOOP,分别取值,多次循环执行。
在LOOP的属性栏要设定intputarray和outputarray
inputarray:指定循环走向哪一个属性段
注意:通常循环存在嵌套,注意不可跳过节点循环
父循环和子循环的路径,兄弟循环之间的路径要保证正确
outputarray:只需在最外围循环设定,指定到该段相应的输出段名
EXIT 退出
MAP 映射赋值
在MAP里可以调整数据传输任何一个结点的内容:
1) 通过连接(linking),增加(adding),删除(delete),丢掉(dropping)操作变量,根据需求为数据传输做准备。
2) 清除pipeline的变量,前一个STEP遗留的变量而不被后面的STEP所需要的
3) 移动变量位置,给变量赋值,初始化变量值
4) 可以把document从一种格式MAPPING 映射转换到另外一种格式
Data mapping:
数据映射是一种在services or document之间解决数据格式表示法转换的过程。
这种转化包括名字转化,结构转化以及赋值格式转化
MAPPING主要在Pipeline里实现,分为三栏:
Pipeline IN-----输入栏,显示所有的输入变量和DOCMENT。(这里的document指一份文件?)
LINK 把输入变量和输出变量链接起来,实现值传递。
当需要引入中间转换函数(Transfomormers)把Pipeline IN连到函数的Service In, Service Out连到Pipeline OUT变量。
做LINK要特别注意左右两端的变量类型要一致,否则运行时会报错。
DROP 可以先把该变量的值传递(LINK)给输出的变量再DROP掉
SET VALUE 注意:如果该变量已经被赋值,在该STEP里就不能被LINK到其他变量。
常用函数/service
subshring beginindex 字符串起始 endindex 结束位置
getCurrentDateString 取系统当前时间 ,在pattern里设定时间格式如:MMddHHmm,yyyyMMdd
addints 整数相加
用插入控件插入两个系统自带的Service:xmlStringToXMLNode和XMLNodeToDocument:
我们EDI的过程就是将以xml文件格式的数据转换为特定格式的数据的过程。
所以,我们的源文件是以xml形式展现在我们面前的。在正式流程开始之前,需要将其转换为树型的节点类型,再转换为文件的字符流形式。
然后再赋值。上述操作就是为了完成这个目的。