Cics-map
CICS-MAP
BMSは、ユーザーが入力したデータを受信し、それをシンボリックマップ領域にフォーマットします。 アプリケーションプログラムは、シンボリックマップに存在するデータにのみアクセスできます。 アプリケーションプログラムがデータを処理し、出力がシンボリックマップに送信されます。 BMSは、シンボリックデータの出力を物理マップにマージします。
物理マップ
物理マップは、マップの表示方法に関する情報を含むロードライブラリ内のロードモジュールです。
- マップ内のすべてのフィールドの属性とその位置に関する詳細が含まれています。
- これには、特定の端末のマップの表示形式が含まれています。
- BMSマクロを使用してコーディングされます。 個別にアセンブルされ、CICSライブラリーにリンク編集されます。
シンボリックマップ
シンボリックマップは、ライブラリ内のコピーブックです。 コピーブックは、CICSアプリケーションプログラムが端末とのデータの送受信に使用します。
- プログラムのWORKINGSTORAGEセクションにコピーされるすべての変数データが含まれています。
- すべての名前付きフィールドがあります。 アプリケーションプログラマは、これらのフィールドを使用してデータをマップに読み書きします。
スキッパーとストッパーフィールド
保護されていない名前付きフィールドの場合、マップで長さ10を指定した場合、これは名前フィールドが長さが10を超えない値を取ることができることを意味します。 ただし、CICSを使用してこのマップを表示し、画面上のこのフィールドの値の入力を開始すると、画面の最後まで10文字以上を入力でき、次の行にも入力できます。 これを防ぐために、SkipperフィールドまたはStopperフィールドを使用します。 スキッパーフィールドは通常、名前付きフィールドの後に指定された、長さ1の名前のないフィールドです。
スキッパーフィールド
名前付きの無保護フィールドの後にスキッパーフィールドを配置すると、値の入力中に指定された長さに達すると、カーソルは次の無保護フィールドに自動的に移動します。 次の例は、スキッパーフィールドを追加する方法を示しています-
NUMBER DFHMDF POS = (01,01), X
LENGTH = 5, X
ATTRB = (UNPROT,IC)
DFHMDF POS = (01,07), X
LENGTH = 1, X
ATTRB = (ASKIP)
ストッパーフィールド
名前付きの無保護フィールドの後にストッパーフィールドを配置すると、値の入力中に、指定された長さに達すると、カーソルの位置が停止します。 次の例は、ストッパーフィールドを追加する方法を示しています-
NUMBER DFHMDF POS = (01,01), X
LENGTH = 5, X
ATTRB = (UNPROT,IC)
DFHMDF POS = (01,07), X
LENGTH = 1, X
ATTRB = (PROT)
属性バイト
フィールドの属性バイトには、フィールドの物理プロパティに関する情報が格納されます。 次の図と表は、各ビットの重要性を説明しています。
Bit Position | Description | Bit Settings |
---|---|---|
0 & 1 | Determined by contents of bit 2 to 7 | |
2 & 3 | Protection & Shift | 00 - Unprotected Alphanumeric 01 - Unprotected Numeric 10 - Protected Stop 11 - Protected Skip |
4 & 5 | Intensity | 00 - Normal 01 - Normal 10 - Bright 11 - No-display ( Dark ) |
6 | Must be Zero Always | |
7 | Modified Data Tag | 0 - Field has not been modified 1 - Field has been modified |
変更されたデータタグ
変更されたデータタグ(MDT)は、属性バイトの最後のビットです。
- MDTは、単一ビットを保持するフラグです。 値をシステムに転送するかどうかを指定します。
- フィールド値が変更されたときのデフォルト値は1です。 *MDTが0の場合、データは転送できません。 MDTが1の場合、データを転送できます。
地図を送る
send mapコマンドは、フォーマットされた出力を端末に書き込みます。 アプリケーションプログラムから端末にマップを送信するために使用されます。 次のコードセグメントは、端末にマップを送信する方法を示しています-
EXEC CICS SEND
MAP('map-name')
MAPSET('mapset-name')
[FROM(data-area)]
[LENGTH(data_value)]
[DATAONLY]
[MAPONLY]
[CURSOR]
[ERASE/ERASEAUP]
[FREEKB]
[FRSET]
END-EXEC
次の表に、マップの送信コマンドで使用されるパラメーターとその重要性を示します。
Sr.No | Parameter & Description |
---|---|
1 |
これは、送信したいマップの名前です。 それが必須です。 |
2 |
Mapset-name マップ名を含むのはマップセットの名前です。 マップセット名は、マップ名と同じでない限り必要です。 |
3 |
FROM 別のDSECT名を使用することにした場合に使用されます。SENDMAPコマンドと共にオプションFROM(dsect-name)を使用する必要があります。 |
4 |
MAPONLY これは、プログラムからのデータがマップにマージされず、マップ内の情報のみが送信されることを意味します。 |
5 |
DATAONLY MAPONLYの論理的な反対です。 これを使用して、すでに作成されているディスプレイの変数データを変更します。 プログラムからのデータのみが画面に送信されます。 マップ内の定数は送信されません。 |
6 |
ERASE 送信するものが表示される前に、画面全体が消去されます。 |
7 |
ERASEUP 保護されていないフィールドのみが消去されます。 |
8 |
FRSET フラグリセットは、画面上のすべてのフィールドの属性バイトで変更されたデータタグをオフにしてから、送信するものがそこに配置されます。 |
9 |
CURSOR 端末画面にカーソルを配置するために使用できます。 カーソルを設定するには、-1をフィールドのL部分に移動してから、マップを送信します。 |
10 |
ALARM これにより、可聴アラームが鳴ります。 |
11 |
FREEKB. マップまたはSENDコマンドでFREEKBを指定すると、キーボードのロックが解除されます。 |
12 |
SENDコマンドの出力をプリンターで印刷できます。 |
13 |
FORMFEED これにより、出力が印刷される前に、プリンターは次のページの上部に用紙を復元します。 |
地図を受け取る
端末から入力を受け取りたい場合は、RECEIVE MAPコマンドを使用します。 MAPおよびMAPSETパラメーターの意味は、SEND MAPコマンドの場合とまったく同じです。 次のコードセグメントは、マップを受信する方法を示しています-
EXEC CICS RECEIVE
MAP('map-name')
MAPSET('mapset-name')
[INTO(data-area)]
[FROM(data-area)]
[LENGTH(data_value)]
END-EXEC
マップセットの実行
次の手順は、マップセットを開発および実行するために必要です-
- *ステップ1 *-TSOセッションを開きます。
- *ステップ2 *-新しいPDSを作成します。
- *ステップ3 *-要件に従って新しいメンバーにマップセットをコーディングします。
- *ステップ4 *-CICS管理者が提供するJCLを使用してマップセットを組み立てます。
- *ステップ5 *-CICSセッションを開きます。
- *ステップ6 *-コマンドを使用してプログラムをインストールします- + CEMT SET PROG(mapset-name)NEW
- *ステップ7 *-次のコマンドを入力して、マップを端末に送信します- + CECI SEND MAP(マップ名)MAPSET(マップセット名)ERASE FREEKB