設計 3270 應用程式的中繼資料成品
本指南說明如何設計 3270 應用程式的中繼資料成品,並將這些成品儲存為主機整合伺服器定義 XML (HIDX) 檔案和 C# 類別的 Host Integration Server。
在 3270 螢幕驅動應用程式中,螢幕和資料欄位對您的案例而言是唯一的。 如果您使用 Azure Logic Apps 來建立和執行包含 IBM 3270 連接器動作的自動化工作流程,連接器需要您的應用程式相關資訊,您可以在 HIDX 檔案中提供作為中繼資料。 此中繼資料描述可協助工作流程識別和辨識螢幕的資訊、描述如何在畫面之間流覽、輸入資料的位置,以及預期結果的位置。 若要指定並產生此中繼資料,請使用 3270 設計工具,該工具會逐步引導您完成這些特定模式或階段,如稍後詳細資料所述:
擷取:在此模式中,您會錄製使用大型主機應用程式完成特定工作所需的畫面控制項,例如取得銀行餘額。
瀏覽:在此模式中,您可以指定如何瀏覽特定工作之大型主機應用程式畫面控制項的方案或路徑。
方法:在此模式中,您會定義說明畫面控制項瀏覽路徑的方法,例如
GetBalance
。 您也會選取每個畫面控制項上的欄位,這些欄位將成為方法的輸入和輸出參數。
必要條件
存取裝載 3270 螢幕驅動應用程式的 TN3270 伺服器
下載並安裝 3270 設計工具。 唯一的必要條件是 Microsoft .NET Framework 4.8。
此工具可協助您記錄您在使用 Azure Logic Apps 建立的取用或標準工作流程中使用 IBM 3270 連接器動作新增和執行之 3270 應用程式中工作的螢幕、流覽路徑、方法和參數。 此工具會產生主機整合Designer XML (HIDX) 檔案,以提供連接器執行 3270 螢幕驅動應用程式所需的中繼資料。
下載並安裝此工具之後, 請遵循下列步驟來與您的 TN3270 主機伺服器連線、設計必要的中繼資料成品,以及產生 HIDX 檔案。
3270 設計工具不支援下列元素:
部分 IBM 基本對應支援 (BMS) 對應:如果您匯入 BMS 對應,設計工具會忽略部分畫面定義。
功能表處理
擷取畫面控制項
在此模式中,您會在每個 3270 畫面控制項上標記可唯一識別該畫面控制項的項目。 例如,您可以指定文字行或更複雜的條件集,例如特定文字及非空白欄位。 您可以透過與主機伺服器的即時連線記錄這些畫面控制項,或從 IBM 基本對應支援 (BMS) 對應匯入此資訊。 即時連線使用 TN3270 模擬器來連線到主機。 每個連接器動作都必須對應至單一工作,該工作會從連線到您的工作階段開始,並以與工作階段中斷連線結束。
如果您尚未開啟 3270 設計工具,請加以開啟。 在工具列上,選取 [擷取] ,讓您進入 [擷取模式]。
從 [ 會話] 功能表中,選取 [ 主機設定]。 輸入TN3270E伺服器設定的資訊,然後選取 [ 確定]。
從 [工作階段] 功能表中,選取 [連線]。
若要開始錄製,請從 [錄製] 功能表中,選取 [開始錄製]。 (鍵盤:Ctrl + E)
在 [擷取] 窗格中,從應用程式的第一個畫面控制項開始,逐步執行您的應用程式,以取得您要錄製的特定工作。
完成工作之後,請如往常一般登出您的應用程式。
從 [工作階段] 功能表中,選取 [中斷連線] 。
若要停止錄製,請從 [錄製] 功能表中,選取 [停止錄製] 。 (鍵盤:Ctrl + Shift + E)
擷取工作的畫面控制項之後,設計工具會顯示代表這些畫面控制項的縮圖。 關於這些縮圖的一些注意事項:
隨附於您擷取的畫面控制項中,您有一個名為「空白」的畫面控制項。
當您第一次連線到 CICS 時,必須先傳送「清除」金鑰,才能輸入您要執行之交易的名稱。 您傳送「清除」金鑰的畫面控制項沒有任何辨識屬性,例如畫面控制項標題,您可以使用畫面控制項辨識編輯器來新增該標題。 若要表示此畫面控制項,縮圖會包含名為「空白」的畫面控制項。 您稍後可以使用此畫面控制項來代表您輸入交易名稱的畫面控制項。
根據預設,擷取畫面控制項的名稱會使用畫面控制項上的第一個字組。 如果該名稱已經存在,設計工具會附加包含底線和數字的名稱,例如 "WBGB" 和 "WBGB_1"。
若要為擷取的畫面控制項提供更具意義的名稱,請遵循下列步驟:
在 [主機畫面控制項] 窗格中,選取您想要重新命名的畫面控制項。
在相同的窗格的相同窗格中底部附近,尋找 [畫面控制項名稱] 屬性。
將目前的畫面控制項名稱變更為更具描述性的名稱。
現在,指定用於識別每個畫面控制項的欄位。
使用 3270 資料流時,畫面控制項沒有預設識別碼,因此您必須在每個畫面控制項上選取唯一文字。 針對複雜的案例,您可以指定多個條件,例如唯一文字和具有特定條件的欄位。
完成選取辨識欄位之後,請移至下一個模式。
識別重複畫面控制項的條件
若要讓連接器瀏覽和區分畫面控制項,您通常會在畫面控制項上找到唯一的文字,您可以在擷取的畫面控制項之間做為識別碼。 針對重複的畫面控制項,您可能需要更多識別方法。 例如,假設您有兩個畫面控制項看起來相同,但一個畫面控制項傳回有效的值,而另一個畫面控制項則傳回錯誤訊息。
在設計工具中,您可以使用畫面控制項辨識編輯器新增辨識屬性,例如「取得帳戶餘額」等畫面控制項標題。 如果您有分支路徑,且兩個分支都會傳回相同的畫面控制項,但有不同的結果,則需要其他辨識屬性。 在執行階段,連接器會使用這些屬性來判斷目前的分支和派生。 您可以使用的條件如下:
- 特定值:此值符合指定位置的指定字串。
- 非特定值:此值不符合指定位置的指定字串。
- 空白:這個欄位通常是空的。
- 非空白:此欄位不是空的。
若要深入了解,請參閱本主題稍後的範例瀏覽方案。
定義瀏覽方案
在此模式中,您會定義流程或步驟,以瀏覽您特定工作的大型主機應用程式畫面控制項。 例如,有時候,您可能會有不只一個路徑,您的應用程式可以在其中一個路徑產生正確的結果,而另一個路徑則會產生錯誤。 針對每個畫面控制項,指定移至下一個畫面控制項所需的按鍵,例如 CICSPROD <enter>
。
提示
如果您要將使用相同連線和中斷連線畫面控制項的數個工作自動化,設計工具可提供特殊的連線和中斷連線方案類型。 當您定義這些方案時,您可以將其新增至瀏覽方案的開頭和結束。
方案定義的指導方針
包含所有畫面控制項,從連線開始,並以中斷連線結束。
您可以建立獨立方案或使用連線和中斷連線方案,讓您重複使用所有交易通用的一系列畫面控制項。
連線方案的最後一個畫面控制項必須與瀏覽方案中的第一個畫面控制項相同。
中斷連線方案的第一個畫面控制項必須與瀏覽方案中的最後一個畫面控制項相同。
您擷取的畫面控制項可能包含許多重複的畫面控制項,因此請選取並僅使用方案中任何重複畫面控制項的一個執行個體。 以下是重複畫面控制項的一些範例:
- 登入畫面控制項,例如 MSG-10 畫面控制項
- CICS 的歡迎畫面控制項
- [清除] 或空白畫面控制項
建立方案
在 [3270 設計工具] 的工具列上,選取 [瀏覽],以便您進入瀏覽模式。
若要開始您的方案,請在 [瀏覽] 窗格中,選取 [新增方案] 。
在 [選擇新方案名稱] 下方,輸入方案的名稱。 從 [類型] 清單中,選取方案類型:
方案類型 描述 處理 適用於獨立或合併方案 [連接] 針對連線方案 中斷連線 針對中斷連線方案 從 [主機畫面] 窗格中,將擷取的縮圖拖曳至功能窗格中 [瀏覽] 窗格的瀏覽方案介面。
若要代表您輸入交易名稱的空白畫面,請使用「空白」畫面控制項。
以能夠說明您要定義之工作的順序排列畫面控制項。
若要定義畫面控制項之間的流程路徑,包括分支和聯結,請在設計工具的工具列上選取 [流程] 。
選擇流程中的第一個畫面控制項。 拖曳並建立與流程中下一個畫面控制項的連接。
針對每一個畫面控制項,提供 AID Key 屬性的值 (注意識別碼),以及固定文字屬性的值,這會將流程移至下一個畫面控制項。
您可能只有 AID 索引碼,或 AID 索引碼與固定文字。
完成瀏覽方案之後,您可以在下一個模式中定義方法。
範例
在此範例中,假設您執行名為 「WBGB」 的 CICS 交易,其中包含下列步驟:
- 在第一個畫面控制項上,輸入名稱和帳戶。
- 在第二個畫面控制項上取得帳戶餘額。
- 您結束到「空白」畫面控制項。
- 您會從 CICS 登出到 "MSG-10" 畫面控制項。
此外,假設您重複這些步驟,但輸入不正確的資料,以便擷取顯示錯誤的逐步執行。 以下是您擷取的畫面控制項:
- MSG-10
- CICS 歡迎使用
- 空白
- WBGB_1 (輸入)
- WBGB_2 (錯誤)
- Empty_1
- MSG-10_1
雖然這裡的許多畫面都有唯一的名稱,但有些畫面是相同的畫面,例如「MSG-10」 和 「MSG-10_1」。 您應該將WBGB_1重新命名,並將WBGB_2重新命名為更具資訊性的內容。 針對重複的畫面控制項,您方案中只需使用該畫面控制項的一個執行個體。 以下是獨立方案、連線方案、中斷連線方案,以及合併方案外觀的範例:
獨立方案
連線方案
中斷連線方案
合併方案
範例:識別重複的畫面控制項
此範例方案具有分支,您可以在其中取得類似的畫面控制項。 一個畫面控制項會傳回帳戶餘額,另一個畫面控制項則會傳回錯誤訊息。
設計工具讓您可以使用畫面控制項辨識編輯器新增辨識屬性,例如「取得帳戶餘額」的畫面控制項標題。 如果是類似的畫面控制項,您需要其他屬性。 在執行階段,連接器會使用這些屬性來判斷分支和派生。
在傳回有效輸入的分支中,既帳戶餘額的畫面控制項,您可以新增具有「非空白」條件的欄位。
在傳回出現錯誤的分支中,您可以新增具有「空白」條件的欄位。
定義方法
在此模式中,您會定義與瀏覽方案相關聯的方法。 針對每個方法參數,您可以指定資料類型,例如字串、整數、日期或時間等等。 完成時,您可以在即時主機上測試方法,並確認方法如預期般運作。 然後,您會產生中繼資料檔案,或主機整合設計工具 XML (HIDX) 檔案,該檔案現在有方法定義可用來建立和執行 IBM 3270 連接器的動作。 它也會產生主機整合伺服器的 C# 類別。 您也可以產生 C# 類別,以便與主機整合伺服器搭配使用。
在 [3270 設計工具] 工具列上,選取 [方法] ,以便您進入 [方法] 模式。
在 [ 方法] 窗格中,選取 [ 新增方法] 按鈕。 輸入新方法的名稱。 選取 [確定]。
在 [瀏覽] 窗格中,選取具有您想要輸入欄位的畫面控制項。
若要為方法新增第一個輸入參數,請遵循下列步驟:
在 [擷取] 窗格的 [3270 模擬器] 畫面控制項上,選取整個欄位,而不只是您想要作為第一個輸入的欄位內的文字。
提示
若要顯示所有欄位,並確定您有選取完整欄位,請在 [檢視] 功能表上,選取 [所有欄位] 。
在設計工具的工具列上,選取 [輸入欄位] 。
若要新增更多輸入參數,請針對每個參數重複上述步驟。 請參閱上一步步驟。
若要為方法新增第一個輸出參數,請遵循下列步驟:
在 [擷取] 窗格的 [3270 模擬器] 畫面控制項上,選取整個欄位,而不只是您想要作為第一個輸出的欄位內的文字。
提示
若要顯示所有欄位,並確定您有選取完整欄位,請在 [檢視] 功能表上,選取 [所有欄位] 。
在設計工具的工具列上,選取 [輸出欄位]。
若要新增更多輸出參數,請針對每個參數重複上述步驟。
在您新增所有方法的參數之後,請為每個參數定義下列屬性:
屬性名稱 可能值 資料類型 位元組、日期時間、十進位、Int、Long、Short、字串 欄位填滿技術 參數可支援這些填滿類型,並視需要填入空白: - 類型:依序在欄位中輸入字元。
- 填滿:視需要以字元取代欄位的內容,填入空白。
- EraseEofType:清除欄位,然後依序在欄位中輸入字元。
格式字串 某些參數資料類型會使用格式字串,通知 3270 連接器如何將畫面控制項中的文字轉換成 .NET 資料類型: - 日期時間:日期時間格式字串遵循 .NET 自訂日期和時間格式字串。 例如,日期
06/30/2019
會使用格式字串MM/dd/yyyy
。十- 進位:十進位格式字串使用 COBOL Picture 子句。 例如,數字
100.35
會使用格式字串999V99
。
儲存並檢視中繼資料
在您定義方法之後,在測試方法之前,請將您到目前為止定義的所有資訊儲存到 RAP (.rap) 檔案。 您可以在任何模式期間隨時將項目儲存至此 RAP 檔案。 設計工具也包含一個樣本 RAP 檔案,您可以瀏覽至此位置的設計工具安裝資料夾,然後開啟 "WoodgroveBank.rap" 檔案來開啟和檢閱該檔案:
..\Program Files\Microsoft Host Integration Server - 3270 Design Tool\SDK\WoodgroveBank.rap
不過,如果您嘗試將變更儲存至樣本 RAP 檔案,或從樣本 RAP 檔案產生 HIDX 檔案,而檔案仍保留在設計工具的安裝資料夾中,您可能會收到「拒絕存取」錯誤訊息。 根據預設,設計工具會在 [程式檔] 資料夾中安裝,而不需提高存取權限。 若您得到錯誤訊息,請嘗試使用下列其中一項解決方案:
- 將樣本檔案複製到不同的位置。
- 以管理員身分執行設計工具。
- 讓您自己成為 SDK 資料夾的擁有者。
測試您的方法
若要對即時主機執行方法,同時仍停留在 [方法] 模式中,請按 一下 [F5] 鍵,或從設計工具的工具列選取 [測試] 。
提示
您可以隨時變更模式。 在 [ 檔案 ] 功能表上,選取 [ 工具],然後選取您想要的模式: 使用最小進度表單 和 鏈結方法
輸入您參數的值,然後選取 [確定] 。
選取 [下一步] ,以繼續進入下一個畫面控制項。
完成時,請選取 [完成] ,以顯示輸出參數值。
產生並上傳 HIDX 檔案
當您準備好時,請產生 HIDX 檔案。 3270 設計工具會在您儲存 RAP 檔案的新子資料夾中建立 HIDX 檔案。 接著,您可以將 HIDX 檔案上傳至連結至耗用量或標準邏輯應用程式資源的整合帳戶。 或者,您可以透過資源功能表上的 [地圖] 底下的 [成品] 區段,直接上傳至您的標準邏輯應用程式資源。
在 [3270 設計工具] 的 [工具] 功能表中,選取 [產生定義] 。 (鍵盤:F6)
移至包含您 RAP 檔案的資料夾,然後開啟工具在產生 HIDX 檔案之後所建立的子資料夾。 確認工具已建立 HIDX 檔案。