Cics-bms
CICS-BMS
BMSは、基本マッピングサポートとして知られています。 アプリケーションは、端末とCICSプログラムの間のブリッジとして機能するフォーマットされた画面で構成されます。 端末とCICSプログラムとの間で通信を行うために、CICS端末入出力サービスを使用します。 BMSを使用して、適切な位置と属性を持つ画面デザインを作成します。 以下はBMSの機能です-
- BMSは、端末とCICSプログラム間のインターフェースとして機能します。
- 画面のデザインと形式は、アプリケーションのロジックとは別です。
- BMSは、アプリケーションハードウェアを独立させます。
フォーマットされた画面
以下に示す画面はメニュー画面であり、BMSを使用して設計できます。 そのキーポイントは次のとおりです-
- 画面には、タイトル、日付、および表示されるその他の情報を含めることができます。
- オプション1、2、および3は、画面のタイトルである名前のないフィールドです。
- [選択]フィールドで、入力を提供する必要があります。 この入力は、その後の処理のためにCICSプログラムに送信されます。
- 画面の下部に、アクションキーが表示されます。 *すべてのフィールドと画面自体は、BMSマクロで定義されます。 マップ全体が定義されると、JCLを使用してマップを組み立てることができます。
BMSの基本用語
以下は、今後のモジュールで使用する基本的な用語です-
Map
マップは、BMSマクロを使用して設計できる単一の画面形式です。 1〜7文字を含む名前を付けることができます。
マップセット
マップセットは、ロードモジュールを形成するために互いにリンクされているマップのコレクションです。 PPTエントリが必要です。 1〜7文字の名前を付けることができます。
BMSマクロ
BMSマップは、画面を管理するためにアセンブリ言語で書かれたプログラムです。 画面の定義に使用される3つのマクロは、DFHMSD、DFHMDI、およびDFHMDFです。
DFHMSD
DFHMSDマクロはマップセット定義を生成します。 これは、マップセットを開始していることを示すマクロ識別子です。 マップセット名はロードモジュール名であり、PPTテーブルのエントリが存在する必要があります。 次の表は、DFHMSDで使用できるパラメータのリストを示しています-
Sr.No | Parameter & Description |
---|---|
1 |
TYPEは、マップタイプの定義に使用されます。 TYPE = MAP-物理マップが作成される場合DSECT-シンボリックマップが作成される&& SYSPARM-物理&シンボリック、両方が作成されるFINAL-マップセットコーディングの終わりを示します。 |
2 |
MODE MODEは、入出力操作を示すために使用されます。 IF MODE = IN-入力マップのみOUT-出力マップのみINOUT入力および出力マップの両方 |
3 |
LANG LANG = ASM/COBOL/PL1アプリケーションプログラムにコピーするために、DSECT構造の言語を決定します。 |
4 |
STORAGE STORAGE = AUTOの場合-各マップセットの個別のシンボリックマップ領域を取得するにはBASE-複数のマップセットからのシンボリックマップに対して同じストレージベースを使用するには |
5 |
CTRL CRTLは、デバイス制御要求を定義するために使用されます。 CTRL = FREEKBの場合-キーボードのロックを解除するにはFRSET-MDTをゼロステータスにリセットするにはALARM-画面表示時にアラームを設定するにはPRINT-マップセットをプリンターに送信するように指示します。 |
6 |
TERM TERM = typeは、デバイスの独立性を保証します。3270端末以外が使用されている場合に必要です。 |
7 |
TIOAPFX TIOAPFX = YES/NO YES-BMSコマンドがTIOAに正しくアクセスするためのプレフィックススペース(12バイト)を予約します。 CICSコマンドレベルに必要です。 |
例
次の例は、マップセット定義をコーディングする方法を示しています-
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マクロ内で使用するパラメータを示しています-
Sr.No | Parameter & Description |
---|---|
1 |
SIZE SIZE =(Line、Column)このパラメーターは、マップのサイズを示します。 BMSでは、複数のマップを使用して画面を作成できます。このパラメーターは、単一のマップセットで複数のマップを使用する場合に重要になります。 |
2 |
LINE マップの開始行番号を示します。 |
3 |
COLUMN マップの開始列番号を示します。 |
4 |
JUSTIFY マップ全体またはマップフィールドを左揃えまたは右揃えに指定するために使用されます。 |
5 |
CTRL CRTLは、デバイス制御要求を定義するために使用されます。 CTRL = FREEKBの場合-キーボードのロックを解除するにはFRSET-MDTをゼロステータスにリセットするにはALARM-画面表示時にアラームを設定するにはPRINT-プリンターに送信するマップを指定するには |
6 |
TIOAPFX TIOAPFX = YES/NO YES-BOAコマンドがTIOAに正しくアクセスするためのプレフィックススペース(12バイト)を予約します。 CICSコマンドレベルに必要です。 |
例
次の例は、マップ定義をコーディングする方法を示しています-
MAPSTD DFHMDI SIZE = (20,80), X
LINE = 01, X
COLUMN = 01, X
CTRL = (FREEKB,FRSET)
DFHMDF
DFHMDFマクロは、フィールド名を定義するために使用されます。 DFHMDFマクロがコーディングされるフィールド名が記載されています。 このフィールド名はプログラム内で使用されます。 プログラム内で使用したくない定数フィールドに対してフィールド名を書き込みません。 次の表は、DFHMDFマクロ内で使用できるパラメータのリストを示しています-
Sr.No | Parameter & Description |
---|---|
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)フィールドの属性を説明します。 スキップ-自動スキップ。 このフィールドにはデータを入力できません。 カーソルは次のフィールドにスキップします。 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)