IMS プログラムの書式の定義

EGL は、FormGroup パーツを IMS™ Message Format Services (MFS) マップ内へ生成します。 IMS 環境で使用するために定義するそれぞれの書式は、以下のためのスペースを備えていなければなりません。

protect 属性および dark 属性を指定して 8 バイトの定数フィールドを定義することができます。書式の属性バイトが、EGL で生成される MFS 制御ブロックの属性バイトになります。8 バイトの定数フィールドには、書式の処理時に開始される IMS トランザクションの名前が入ります。 書式で定数フィールドを指定することにより、ユーザーは IMS /FORMAT コマンドを指定して、トランザクションを開始するためフォーマット設定された画面を表示できるようになります。/FORMAT コマンドは、書式の変数フィールドに初期デフォルト値が含まれる場合には使用しないでください。/FORMAT コマンドを使用すると、デフォルト値が表示されなくなります。

書式で dark 属性を持つ保護された 8 バイトの定数フィールドを定義しない場合、EGL は 9 つのブランクから成るストリングを書式で探し、そのエリアを、dark 属性を持つ保護された変数フィールド (1 バイト属性、8 バイト・データ) として、生成される MFS マップ内に確保します。生成されたプログラムでは、このフィールドを使用して、converse 文の後、またはマップを含むトランザクションへの移動 形式の transfer 文の後に実行する次の IMS トランザクションの名前を保管します。 IMS にはデフォルトのトランザクション名がないため、ユーザーは、/FORMAT コマンドを使用してそれらのマップのトランザクションを開始することはできません。

書式上の 2 バイト領域は明示的に指定する必要はありません。EGL がマップ上で隣接している 2 つのブランク・バイトを選択し、それを dark 属性を持つ保護された変数フィールド (1 バイトの属性、1 バイトのデータ) として処理します。

formGroup の MFS ブロックのサイズの見積もり

EGL は、formGroup を生成するときに、その formGroup の MFS 制御ブロックを生成します。MFS 制御ブロックには以下の 3 つのタイプがあります。
装置入力形式 (DIF) と装置出力形式 (DOF)
これらの制御ブロックでは、装置表示スペース (例: 3270 装置の画面) におけるデータ・フィールドおよびリテラルの配置を記述します。

3270 型装置の場合、 単一セットの文で DIF と DOF の両方を記述します。プリンターの場合、必要なのは DOF のみです。 各装置フィールドには、文がメッセージ入力記述子およびメッセージ出力記述子で参照できる、 特定の名前を指定します。

EGL FormGroup パーツでは、DOF は常に、DIF よりも大きくなります。 これは、DOF は書式の定数を含むためです。

メッセージ出力記述子 (MOD)
この制御ブロックでは、プログラムによって出力メッセージに挿入する各種のフィールドの情報を記述します。 また、各メッセージ・フィールドのデータの配置先となる、対応する装置フィールドも示します。
メッセージ入力記述子 (MID)
この制御ブロックでは、プログラムによって入力メッセージで取り出される各種のフィールドの情報を記述します。 MID は、各メッセージ・フィールドのデータの取り出し先となる、対応する装置フィールドを示します。
MFS 制御ブロックのサイズは 32748 バイト以下でなければなりません。FormGroup パーツのサイズが大きい場合には、生成される制御ブロックのサイズの上限を推定するためのガイドラインとして、 次の数式が提供されています。設計時にこれらの数式を利用すると、FormGroup パーツを小さく分割する必要があるかどうか判別することができます。生成された制御ブロックが大きすぎる場合、MFS 生成により、3022 異常終了メッセージが発行されます。

ディスプレイ装置の DOF サイズの計算

以下の式を利用して、DOF のサイズを見積もります。

DOF Size =
    150
  + 388 * Number of printer forms in the formGroup
  + 208 * Number of display forms in the formGroup
  +  63 * Number of variable field occurrences on display
          forms in the formGroup
  +  62 * Number of constant fields on display forms in the
          formGroup
  +1.12 * Total length of all constant fields on display forms
          in the formGroup 

プリンター装置の DOF サイズの計算

以下の式を利用して、DOF のサイズを見積もります。
DOF Size =
    206
  +  68 * Number of printer forms in the formGroup
  + 374 * Number of display forms in the formGroup
  +  63 * Number of variable field occurrences on printer
          forms in the formGroup
  +  62 * Number of constant fields on printer forms in the
          formGroup
  +1.12 * Total length of all constant fields on printer forms
          in the formGroup

すべての書式の MOD サイズの計算

以下の式を利用して、MOD のサイズを見積もります。
MOD Size =
     36
  + 724 * Number of display forms in the formGroup
  + 202 * Number of printer forms in the formGroup
  +  52 * Number of variable field occurrences in the formGroup

端末マップの MID サイズの計算

以下の式を利用して、端末マップの MID のサイズを見積もります。
MID Size =
     36
  + 858 * Number of display forms in the formGroup
  +  52 * Number of variable field occurrences for display
          forms in the formGroup

関連概念
IMS ランタイム・ サポート

フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.