# 报文配置节点
## **概述**
报文配置可以使用的节点包括:报文、报文字段、报文循环、报文域、报文分支、报文分支子结点
## **说明**
### 1、 **报文**
![](https://img.kancloud.cn/d2/0d/d20d3e5dae0657f7912db3926c3a36ed_1420x199.png)
1. 指定报文类型
2. 填写对应报文类型信息
### 2、 **报文字段**
![](https://img.kancloud.cn/29/a2/29a29870da680c54cada57e149ed20c5_1432x365.png)
1. 报文字段是组成报文的基础部分,例如在定长报文下,可以创建定长报文的报文字段,里面包括报文长度与偏移量等信息,如在分隔符报文下,可以创建分隔符报文字段,里面包括分隔字符等信息。报文字段的填写会根据报文的不同有所不同
2. 根据实际业务逻辑正确填写
### 3、 **报文域**
![](https://img.kancloud.cn/21/c6/21c6ed2bb9fd86359df73ab80bd5802b_1428x285.png)
1. 报文域的作用是在报文中创建层级关系,在一个报文域中,可以添加子节点信息。这些子节点都归属与这个报文域,便于分类读取数据与管理数据。
2. 报文域是指Java的Map数据结构的层级关系。组包时从对应map结构取值,解包时构造map结构
3. 报文域,包含记录集名称,描述信息。记录集名称为必填字段且为英文字符
### 4、 **报文循环**
![](https://img.kancloud.cn/e3/b7/e3b7cc0d85056f9ed677dec85021597a_1421x274.png)
报文循环根据报文信息进行循环提取数据,
解包时报文循环需定义循环次数
如定长报文,我们可以循环提取2个字段,并且循环2次得保存到报文循环字段里。如:定长报文:
```
<pre class="calibre29">```
<span class="token2">20009</span>loopname1loopname2loopname1loopname2color
```
```
然后解析得到loop1的报文循环字段中,且包含2组报文解析字段信息:
```
<pre class="calibre29">```
<span class="token1">{</span>
fixedfieldname <span class="token">=</span> <span class="token2">9</span><span class="token1">,</span> loop1 <span class="token">=</span> <span class="token1">[</span><span class="token1">{</span>
loopname1 <span class="token">=</span> loopname1<span class="token1">,</span>
loopname2 <span class="token">=</span> loopname2
<span class="token1">}</span><span class="token1">,</span> <span class="token1">{</span>
loopname1 <span class="token">=</span> loopname1<span class="token1">,</span>
loopname2 <span class="token">=</span> loopname2
<span class="token1">}</span><span class="token1">]</span><span class="token1">,</span>
switch <span class="token">=</span> color
<span class="token1">}</span>
```
```
### 5、 **报文分支**
![](https://img.kancloud.cn/14/8c/148c708d734b4f2e6e5ea5d16164d613_1382x602.png)
报文分支用于处理解析报文中的条件判断,类似于:如果条件A成立,则返回B,如果条件A不成立,则返回C。如:定长报文:
```
<pre class="calibre29">```
<span class="token2">20009</span>loopname1loopname2loopname1loopname2color
```
```
1. 然后解析得到fixedfieldname的定长报文字段值,根据这${fixedfieldname}就可以进行报文分支的创建
2. 报文分支配合分为分支节点使用
### 6、 **分支默认条件**
![](https://img.kancloud.cn/7b/16/7b16119ad84e192b04d773623d6bd72e_1463x471.png)
1. 分支默认条件,在条件判断的默认情况,如果条件匹配都没有成功,将使用默认条件的报文字段来做返回值。如果不填默认条件,条件匹配失败将不返回任何值
2. 分支默认条件可在次创建报文、报文字段、报文循环、报文域、报文分支、报文分支结点
### 7、 **报文分支节点**
![](https://img.kancloud.cn/5b/dd/5bddbeaef42fc5953901fb2a86d89441_1419x414.png)
报文分支子节点用于创建条件分支,判断报文分支的${fixedfieldname}值是否等于设定的分支条件值,如果是则执行该分支,如果不是,跳转到下一个分支继续判断