Cordys BOP 4平臺開發入門實戰演練——For Each流程建模開發
關於For Each
For Each是BPMN組結構,並且體現應該執行訊息內每個子單元的活動或子流程。For Each迴圈使用一個計數器,稱為一個詳盡描述重複執行相同活動的迭代器。For Each代表圖如下圖1所示。
圖1
迭代器有下述3個數值:
- 初始迭代器值
- 增量值
- 執行條件
在執行條件失敗時迴圈結束。應複製對於結構中“Message Map”的遞迴元素(Element)的XPath去工作。
For Each迴圈流程實踐
(1)新建BPM流程
按下圖2所示,用滑鼠圈上活動環節,點選滑鼠右鍵,在彈出選單中選中“Group as”,及後續彈出選中“For Each”,建立For Each組。
圖2
拖拽與活動組相關的箭頭到For Each組邊界,調整好的流程圖如圖1所示。
(2)建立Message名稱為ApplyMsg
在Message中Element為重複記錄,先定義Element為apply,在apply中再定義Element分別為name和data。如下圖3所示。
圖3
(3)新建測試XForm表單
圖4
在圖例4的XForm中新建兩個Input分別為名稱(Input1)和數量(Input2),拖拽繫結表單到活動環節上。
(4)配置For Each屬性Properties
圖5
在For Each的屬性(Properties)頁面的General分頁中,需要在Iterator Name輸入框中定義迭代器名稱為iteratorName。再點選Select Condition輸入框中,如上圖5所示點選配置查詢圖示,彈出XPath Editor視窗。
(5)配置For Each條件
圖6
在XPath Editor介面,拖拽messagemap中的ApplyMsg到XPath視窗,刪除調其中的“text()”文字。為什麼呢?因為是傳入Message是多行記錄,是apply元素多條記錄。
(6)環節繫結Message
在TestForEach活動環節上把表單上輸入框與Message繫結:name對應Input1,data對應Input2,如下圖7所示。
圖7
注意:需要定位到內部Element,體現出是迴圈多條記錄,針對傳入messagemap的例項(instance),其中的例項變數是iteratorName。這樣,按下圖8所示,第一步先拖拽“instance:iteratorName”到XPath視窗,第二步再拖拽“bpm:name”到前字串後面,第三步修改字串為:instance:iteratorName/bpm:name/text()。對於data元素,最後則為:instance:iteratorName/bpm:data/text()。
圖8
圖例8中,詳細操作過程如下:
(第1步)instance:iteratorName/text()
(第2步)bpm:ApplyMsg/bpm:apply/bpm:name/text()
(第3步)手動編輯合併為:instance:iteratorName/bpm:name/text()
含義是按instance:iteratorName變數迭代,取多重變數bpm:name/text()。
測試流程
(1)開始Debug流程
在TestForEach流程建模介面,點選滑鼠右鍵,進入Bebug介面。
圖9
(2)執行“Activity By Activity”傳入Message
<ApplyMsg xmlns="http://schemas.cordys.com/default">
<def:apply xmlns:def="http://schemas.cordys.com/default">
<def:name>PARAMETER</def:name>
<def:data>PARAMETER</def:data>
</def:apply>
</ApplyMsg>
修改傳入引數如下:
<ApplyMsg xmlns="http://schemas.cordys.com/default">
<def:apply xmlns:def="http://schemas.cordys.com/default">
<def:name>1</def:name>
<def:data>1</def:data>
</def:apply>
<def:apply xmlns:def="http://schemas.cordys.com/default">
<def:name>2</def:name>
<def:data>2</def:data>
</def:apply>
</ApplyMsg>
詳盡操作參見:
Cordys BOP 4平臺開發入門實戰演練——流程建模開發(BPM) 肖永威 2015.4
相關文章
- Cordys BOP 4平臺開發入門實戰演練——Until流程建模開發
- Cordys BOP 4平臺開發入門實戰演練——流程建模開發(BPM)
- Cordys BOP 4平臺開發入門實戰演練——會籤流程建模開發
- Cordys BOP 4平臺開發入門實戰演練——While迴圈流程建模開發及測試While
- Cordys BOP 4平臺開發入門實戰演練——Webservices開發(高階)Web
- Cordys BOP 4平臺開發入門實戰演練——Webservices開發(使用MongoDB資料庫)WebMongoDB資料庫
- Cordys BOP 4平臺開發實戰——MongoDB提供文件服務(1)MongoDB
- Cordys BOP 4平臺的子流程與嵌入子流程對比以及子流程建模技術
- Cordys BOP 4 APIs 列表API
- 《Python高效開發實戰》實戰演練——開發Django站點1PythonDjango
- Cordys BOP平臺上角色定義和功能
- Git多人專案開發流程演練Git
- 高通MDM平臺開發入門
- Microsoft Windows Workflow Foundation 入門:開發人員演練ROSWindows
- 微信公眾平臺開發入門
- 度量快速開發平臺——快速入門
- Cordys BOP4業務流程模型中所使用的常用BPMN構件模型
- AngularJS開發實戰入門教程AngularJS
- PyQt4 開發入門QT
- Cordys BOP 4.3平臺使用小經驗—資料庫連線管理、匯出流程模型為XPDL資料庫模型
- 4天帶你上手HarmonyOS ArkUI開發——《HarmonyOS ArkUI入門訓練營之健康生活實戰》UI
- (Cordys BOP 4.3)在業務流程模型中使用人工活動模型
- Taro小程式跨端開發入門實戰跨端
- Redis 7.x 入門和開發實戰Redis
- Angular4 實戰開發Angular
- 綠茵面家平臺開發(開發平臺)
- Kotlin 入門開發__安卓小專案實戰Kotlin安卓
- 移動開發的跨平臺技術演進移動開發
- 微信後臺開發實戰教程
- 一篇文章入門django開發 (測試平臺)Django
- 如何開發直播平臺,直播平臺開發需要CDN嗎
- B站故障演練平臺實踐
- Electron-vue開發實戰0——Electron-vue入門Vue
- 4.PHP微信公眾平臺開發 - 簡單回覆功能開發PHP
- Web快速開發平臺,基於二次開發平臺Web
- 情指一體化實戰平臺開發,智慧警務系統開發解決方案
- 邁步進入跨平臺開發時代
- Spark實時計算的開發平臺RCS——阿里流式分析實戰Spark阿里