- CICS 教程
- CICS - 首頁
- CICS - 概述
- CICS - 環境
- CICS - 基本術語
- CICS - 核心
- CICS - 事務
- CICS - COBOL 基礎
- CICS - BMS
- CICS - MAP
- CICS - 介面塊
- CICS - 虛擬碼程式設計
- CICS - 輔助鍵
- CICS - 檔案處理
- CICS - 錯誤處理
- CICS - 控制操作
- CICS - 臨時儲存
- CICS - 互連通訊
- CICS - 狀態碼
- CICS - 面試問題
- CICS 有用資源
- CICS - 快速指南
- CICS - 有用資源
- CICS - 討論
CICS - BMS
BMS 稱為基本對映支援。應用程式由格式化的螢幕組成,充當終端和 CICS 程式之間的橋樑。為了在終端和 CICS 程式之間進行通訊,我們使用 CICS 終端輸入/輸出服務。我們使用 BMS 建立具有適當位置和屬性的螢幕設計。以下是 BMS 的功能:
BMS 充當終端和 CICS 程式之間的介面。
螢幕的設計和格式與應用程式的邏輯分開。
BMS 使應用程式與硬體無關。
格式化螢幕
下面顯示的螢幕是選單螢幕,可以使用 BMS 設計。其要點如下:
螢幕可以包含標題、日期以及要顯示的任何其他資訊。
選項 1、2 和 3 是未命名的欄位,它們是螢幕的標題。
在“選擇”欄位中,我們需要提供輸入。然後將此輸入傳送到 CICS 程式以進行進一步處理。
在螢幕底部顯示操作鍵。
所有欄位和螢幕本身都是使用 BMS 宏定義的。當定義整個對映後,我們可以使用 JCL 來組裝它。
BMS 基本術語
以下是我們將在後續模組中使用的基本術語:
對映
對映是單個螢幕格式,可以使用 BMS 宏進行設計。它可以包含 1 到 7 個字元的名稱。
對映集
對映集是對映的集合,它們連結在一起形成載入模組。它應該有一個 PPT 條目。它可以包含 1 到 7 個字元的名稱。
BMS 宏
BMS 對映是用匯編語言編寫的程式,用於管理螢幕。用於定義螢幕的三個宏是 DFHMSD、DFHMDI 和 DFHMDF。
DFHMSD
DFHMSD 宏生成對映集定義。它是宏識別符號,表示我們正在開始一個對映集。對映集名稱是載入模組名稱,並且必須存在 PPT 表中的條目。下表顯示了可以在 DFHMSD 中使用的引數列表:
| 序號 | 引數及說明 |
|---|---|
| 1 |
TYPE TYPE 用於定義對映型別。如果 TYPE = |
| 2 |
MODE MODE 用於指示輸入/輸出操作。如果 MODE = |
| 3 |
LANG LANG = ASM/COBOL/PL1 |
| 4 |
STORAGE 如果 STORAGE = |
| 5 |
CTRL CRTL 用於定義裝置控制請求。如果 CTRL = |
| 6 |
TERM TERM = 型別確保裝置獨立性,如果使用除 3270 終端之外的終端,則需要。 |
| 7 |
TIOAPFX TIOAPFX = YES/NO |
示例
以下示例顯示瞭如何編碼對映集定義:
MPST01 DFHMSD TYPE = &SYSPARM, X CTRL = (FREEKB,FRSET), X LANG = COBOL, X STORAGE = AUTO, X TIOAPFX = YES, X MODE = INOUT, X TERM = 3270 DFHMSD TYPE = FINAL END
DFHMDI
DFHMDI 宏生成對映定義。它表示我們正在開始一個新的對映。對映名稱後跟 DFHMDI 宏。對映名稱用於傳送或接收對映。下表顯示了我們在 DFHMDI 宏內部使用的引數:
| 序號 | 引數及說明 |
|---|---|
| 1 |
SIZE SIZE = (行,列) |
| 2 |
LINE 它指示對映的起始行號。 |
| 3 |
COLUMN 它指示對映的起始列號。 |
| 4 |
JUSTIFY 它用於指定整個對映或對映欄位是左對齊還是右對齊。 |
| 5 |
CTRL CRTL 用於定義裝置控制請求。如果 CTRL = |
| 6 |
TIOAPFX TIOAPFX = YES/NO YES - 為 BMS 命令預留字首空間(12 位元組)以正確訪問 TIOA。CICS 命令級別需要。 |
示例
以下示例顯示瞭如何編碼對映定義:
MAPSTD DFHMDI SIZE = (20,80), X LINE = 01, X COLUMN = 01, X CTRL = (FREEKB,FRSET)
DFHMDF
DFHMDF 宏用於定義欄位名稱。欄位名稱在編碼 DFHMDF 宏的對面進行提及。此欄位名稱在程式內部使用。我們不會在不想在程式內部使用的常量欄位上編寫欄位名稱。下表顯示了可以在 DFHMDF 宏內部使用的引數列表:
| 序號 | 引數及說明 |
|---|---|
| 1 | POS 這是欄位應出現在螢幕上的位置。欄位以其屬性位元組開頭,因此如果您編碼 POS = (1,1),則該欄位的屬性位元組位於第 1 行第 1 列,實際資料從第 2 列開始。 |
| 2 |
LENGTH 這是欄位的長度,不包括屬性位元組。 |
| 3 | INITIAL 這是輸出欄位的字元資料。我們使用它來指定螢幕的標籤和標題,並使它們獨立於程式。例如,對於選單螢幕中的第一個欄位,我們將編碼:INITIAL = 'MENU'。 |
| 4 | JUSTIFY 它用於指定整個對映或對映欄位是左對齊還是右對齊。 |
| 5 | ATTRB ATTRB = (ASKIP/PROT/UNPROT, NUM, BRT/NORM/DRK, IC, FSET) 它描述了欄位的屬性。 ASKIP - 自動跳過。無法在此欄位中輸入資料。游標跳到下一個欄位。 PROT - 受保護欄位。無法在此欄位中輸入資料。如果輸入資料,將導致輸入禁止狀態。 UNPROT - 未受保護欄位。可以輸入資料,這用於所有輸入欄位。 NUM - 數字欄位。僅允許數字(0 到 9)和特殊字元('.' 和 '-')。 BRT - 欄位的亮顯示(突出顯示)。 NORM - 正常顯示。 DRK - 深色顯示。 IC - 插入游標。游標將放置在此欄位中。如果多次指定 IC,則游標將放置在最後一個欄位中。 FSET - 欄位集。MDT 設定為開,以便無論使用者是否實際修改了欄位,都將欄位資料從終端傳送到主機計算機。 |
| 6 |
PICIN PICIN 應用於用作輸入的資料欄位,例如 PICIN = 9(8)。 |
| 7 |
PICOUT PICIN 應用於用作輸出的資料欄位,例如 PICOUT = Z(8)。 |
示例
以下示例顯示瞭如何編碼欄位定義:
DFHMDF POS = (01,01), X
LENGTH = 7, X
INITIAL = ‘SCREEN1’, X
ATTRB = (PROT,NORM)
STDID DFHMDF POS = (01,70), X
LENGTH = 08, X
ATTRB = (PROT,NORM)