第十三章PROC處理程序概念第十三章PROC處理程序概念\13-3 PROC的活動組件

13-3 PROC的活動組件

 

本節要來簡單說明PROC的各個活動組件的屬性與用途,共分類成四大類的活動組件,說明如下。

 

輸入活動組件

輸入活動,通常用來讀取數據,可以由前端網頁傳入外部API傳入內部資料庫讀取內部文件讀入(外部可透過FTP傳入)從郵件中讀入使用網路爬蟲讀入等等,說明如下:

 

開始活動:可透過Client端傳入參數(變數),可自由定義變數名稱與數量,如下Items的屬性定義,設定傳入變數名稱與初值(如果有的話)

 

SQL查詢:透過SQL命令來讀取對應的資料庫與資料表,此為最常用的讀取活動組件。如下,Var代表讀取後存放的變數名稱(陣列變數)

Parameters用來定義CommandText內的"@"變數對應關係,如下,Name"@"變數名稱,Var則為對應的值(可以為運算式)

 

文件匯入:可讀取指定的資料檔案,檔案格式(InputType)目前可以為DOCX(Word)/Excel(XLSX)/XML/JSON等。

 

MAIL讀入:可指定一個郵件地址來讀取郵件的內容,並可設定新郵件或未讀取郵件等。如下,Host為郵件服務器的主機名稱,MailAccount/PassWord則代表要讀取的郵件帳號與密碼,MailType可以有NEW(新郵件)UNSEEN(未讀)FLAGGED(設為標誌的)

 

Web服務:指定一個外部的Web Service網址,並可設定讀入的參數內容。如下指定一個URLWeb Service讀入台北今天天氣,Parameters為該Web Service的傳入參數,並將Web Service傳回的資料存入Var當中(下圖的變數名稱為"天氣")

 

網頁解析:指定一個外部的網頁,此為一個簡單的網頁爬蟲,用來讀取網頁的部分內容。(開發中,尚未完成)

 

處理活動組件

處理活動,顧名思義就是用來處理數據與資料,可以由前端網頁傳入外部API傳入郵件讀入或內部資料庫讀取,經過處理活動進行資料分析或交易處理等,最後寫回資料庫或透過輸出活動組件回寫檔案及通知各業務窗口等,如下的組件:

設值:這是最常用的處理,可以設定多個變數的內容值或運算關係,可根據變數的型態使用不同的函數,並進行任何加減乘除等計算式處理,如下的設定畫面:

設值活動可以一次設定多個Var變數,Operator可以設定"="或是"+="(累加累減)Value可以設定變數內容或是運算式或常數等。畫面下方可以選擇存在的變數名稱與其相對的可用函數等,讓USER更容易使用。

 

SQL命令:SQL命令來執行資料庫的Insert/Update/Delete或執行Stored Procedure等。如下的CommandText代表命令內容,Parameters代表CommandText'@'參數對應關係。

 

SQL插入:此專門用來將一個變數內容(多筆數組)寫入到指定資料表中,如了插入資料(Insert)外,如果資料表中已經存在資料的話,還可以設定UpdateIfExist是否要進行更新數據(Update)

 

程序:用來呼叫EEPCloudServer Method,通常PROC可以完成所有的程式邏輯處理,但如果喜歡用程式來撰寫的話,可以在此調用。如下的Function可以選擇一個Server Method來呼叫,呼叫時PROC的所有變數都會傳入到該Server Method中,傳回結果可存放於Var的指定變數上。

 

批量過帳:這個是專門給EEPCloudTRS模組(ServerMove+Transaction組件)所使用,在TRS可以是On-Line過帳處理交易,也可以是Batch方式處理交易,而這個活動組件則專門用來處理TRS中的批次過帳交易。如下的ServerMoveID可以選擇一個Server端的ServerMove組件,ExcecuteMode可以選擇Execute(批次執行)/CarryOver(結轉處理)/CarryTrial(結轉試算)/DeletePeriod(刪除結轉)等。

 

流程觸發:專門用來觸發啟動一個流程所使用。如下,可以指定一個EEPCloud的工作流程(FlowName),並指定一個RWD表單(FormName)來呈送,RowVar為呈送的資料內容變數。

 

FTP:專門用來進行FTP的上傳與下載所使用。如下,可以指定一個Host網址,設定好LocalHost的目錄,進行FTP上傳與下載的動作。

 

 

輸出活動組件

輸出活動,用來將處理的結果透過各式管道自動通知給相關人員,及輸出檔案或可以指定印表等。如下的組件:

 

發送消息:用來發送消息或檔案的活動組件,如下SentToVar代表要發送的對象變數,SubjectVar為發送主題變數(這裡可以用運算式設定)Body為發送內容,SendType目前有Mail(郵件)/Push(APP推送)/Line等發送方式可以選擇。

比較特別的是Body可以套用變數的資料內容,如下:

 

文件輸出:用來輸出各式文件到特定的目錄上,如下OutPutVar代表要輸出的變數(可以是一個Table對象)FileName代表輸出的檔案名稱,Columns可設定要輸出的欄位,OutputType目前有TXT/DOC/XLS/WordPlate/ExcelPalte/WordPDF等可以選擇(WordPlate代表Word套表,ExcelPlate代表Excel套表)

 

文件列印:專門用來直接印表文件到網路印表機上。要列印的文件可以透過FileSource屬性設定來自"文件輸出"產生(export),或是使用者上傳(upload)而來。FileNameVar可以指定一個要列印的文件(副檔名必須為docx/xlsx/pdf)PrinterName可以選中一台網路印表機或是主機端的印表機。

 

結束: 用來傳回前端網頁,可指定一個變數傳回。

 

基礎控制活動組件

最基礎的活動組件,用來串接各活動的執行次序與邏輯判斷或循環執行等,控制從開始的輸入活動經處理活動,一直到輸出活動結束為止。

 

條件與分支:用來設定不同條件可執行不同分支活動,一個條件活動可以貼入多個分支活動,每個分支活動可以循序貼入不同的活動(支援巢狀式條件)。分支條件可以如下的設定,條件式可以多個條件(ANDOR),並可使用變數的對應函數等,如下:

 

循環與跳出循環:用來進行迴圈循環處理,循環活動中可以貼入多個活動依序執行(同樣支援巢狀式迴圈);跳出循環代表跳出該迴圈往下執行活動。循環活動如下的LoopArrayVar代表循環的陣列變數(如資料表),從陣列元素0一直循環到陣列數量為止,LoopObjVar代表每個元素取出的暫存單一變數。下圖代表迴圈程式為 Foreach(var row in emp)的意思。

又如下圖的例子,LoopExpression代表循環的條件變數,則LoopObjVar則循環的index變數,下圖則代表迴圈程式for (var Curr=0;Curr<END;Curr++) 的意思。

 

子程序:PROC處理程序很複雜或是有些程序需要共用時,則可以使用子程序來簡化活動流程或讓程序可以共用。如下的ProcessorName可以選擇另一個PROC來做為子程序,子程序會自動傳遞原程序所有既有的變數。

 


 

Top of Page