Cics-bms

提供:Dev Guides
移動先:案内検索

CICS-BMS

BMSは、基本マッピングサポートとして知られています。 アプリケーションは、端末とCICSプログラムの間のブリッジとして機能するフォーマットされた画面で構成されます。 端末とCICSプログラムとの間で通信を行うために、CICS端末入出力サービスを使用します。 BMSを使用して、適切な位置と属性を持つ画面デザインを作成します。 以下はBMSの機能です-

  • BMSは、端末とCICSプログラム間のインターフェースとして機能します。
  • 画面のデザインと形式は、アプリケーションのロジックとは別です。
  • BMSは、アプリケーションハードウェアを独立させます。

フォーマットされた画面

以下に示す画面はメニュー画面であり、BMSを使用して設計できます。 そのキーポイントは次のとおりです-

  • 画面には、タイトル、日付、および表示されるその他の情報を含めることができます。
  • オプション1、2、および3は、画面のタイトルである名前のないフィールドです。
  • [選択]フィールドで、入力を提供する必要があります。 この入力は、その後の処理のためにCICSプログラムに送信されます。
  • 画面の下部に、アクションキーが表示されます。 *すべてのフィールドと画面自体は、BMSマクロで定義されます。 マップ全体が定義されると、JCLを使用してマップを組み立てることができます。

CICS画面

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は、マップタイプの定義に使用されます。 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)