# 報文配置節點
## **概述**
報文配置可以使用的節點包括:報文、報文字段、報文循環、報文域、報文分支、報文分支子結點
## **說明**
### 1、 **報文**

1. 指定報文類型
2. 填寫對應報文類型信息
### 2、 **報文字段**

1. 報文字段是組成報文的基礎部分,例如在定長報文下,可以創建定長報文的報文字段,里面包括報文長度與偏移量等信息,如在分隔符報文下,可以創建分隔符報文字段,里面包括分隔字符等信息。報文字段的填寫會根據報文的不同有所不同
2. 根據實際業務邏輯正確填寫
### 3、 **報文域**

1. 報文域的作用是在報文中創建層級關系,在一個報文域中,可以添加子節點信息。這些子節點都歸屬與這個報文域,便于分類讀取數據與管理數據。
2. 報文域是指Java的Map數據結構的層級關系。組包時從對應map結構取值,解包時構造map結構
3. 報文域,包含記錄集名稱,描述信息。記錄集名稱為必填字段且為英文字符
### 4、 **報文循環**

報文循環根據報文信息進行循環提取數據,
解包時報文循環需定義循環次數
如定長報文,我們可以循環提取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、 **報文分支**

報文分支用于處理解析報文中的條件判斷,類似于:如果條件A成立,則返回B,如果條件A不成立,則返回C。如:定長報文:
```
<pre class="calibre29">```
<span class="token2">20009</span>loopname1loopname2loopname1loopname2color
```
```
1. 然后解析得到fixedfieldname的定長報文字段值,根據這${fixedfieldname}就可以進行報文分支的創建
2. 報文分支配合分為分支節點使用
### 6、 **分支默認條件**

1. 分支默認條件,在條件判斷的默認情況,如果條件匹配都沒有成功,將使用默認條件的報文字段來做返回值。如果不填默認條件,條件匹配失敗將不返回任何值
2. 分支默認條件可在次創建報文、報文字段、報文循環、報文域、報文分支、報文分支結點
### 7、 **報文分支節點**

報文分支子節點用于創建條件分支,判斷報文分支的${fixedfieldname}值是否等于設定的分支條件值,如果是則執行該分支,如果不是,跳轉到下一個分支繼續判斷