IMS プログラム用フォームの定義

EGL は FormGroup パーツを IMS™ Message Format Services (MFS) マップに生成します。IMS 環境で使用するために定義する各フォームは、以下のためのスペースを提供する必要があります。

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

8 バイトの保護されたダーク定数をフォームで定義していない場合、EGL はそのフォームで 9 個のブランクから成るストリングを検索し、生成された MFS マップ内の保護されたダーク変数フィールド (1 バイトの属性、8 バイトのデータ) としてこの領域を別に確保しておきます。生成されたプログラムは、このフィールドを使用して、converse または show ステートメントの後に実行する、次の IMS トランザクションの名前を保存します。 これらのフォームでは、ユーザーが /FORMAT コマンドを使用してトランザクションを開始することはできません。それは、IMS がデフォルトのトランザクション名を持たないためです。

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

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

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

3270 タイプの装置の場合、1 つのステートメント・セットで DIF と DOF の両方を記述します。プリンターの場合は DOF のみが必要です。各装置フィールドには、メッセージ入力記述子およびメッセージ出力記述子の中にステートメントが参照できる名前が指定されます。

EGL の FormGroup パーツの場合、DOF は常に DIF よりも大きくなります。これは、DOF にはフォームの定数が含まれているからです。

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

表示装置の DOF サイズの計算

DOF のサイズの見積もりには、以下の公式が役立ちます。

DOF サイズ =
    150 
  + (388 * formGroup 内のプリンターのフォームの数)
  + (208 * formGroup 内の表示フォームの数)
  +  (63 * formGroup 内の表示フォーム上の
           変数フィールドの出現数)
  +  (62 * formGroup 内の表示フォーム上の
           定数フィールドの数)
  +(1.12 * formGroup 内の表示フォーム上のすべての
           定数フィールドの長さの合計) 

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

DOF のサイズの見積もりには、以下の公式が役立ちます。
DOF サイズ =
    206
  + (68 * formGroup 内のプリンター・フォームの数)
  + (374 * formGroup 内の表示フォームの数)
  +  (63 * formGroup 内の印刷フォーム上の
           変数フィールドの出現数)
  +  (62 * formGroup 内のプリンター・フォーム上の
           定数フィールドの数)
  +(1.12 * formGroup 内のプリンター・フォーム上のすべての
           定数フィールドの長さの合計) 

すべてのフォームの MOD サイズの計算

MOD のサイズの見積もりには、以下の公式が役立ちます。
MOD サイズ =
     36 
  + (724 * formGroup 内の表示フォームの数)
  + (202 * formGroup 内のプリンター・フォームの数)
  +  (52 * formGroup 内の変数フィールドの出現数)

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

端末マップの MID のサイズの見積もりには、以下の公式が役立ちます。
MID サイズ =
     36
  + (858 * formGroup 内の表示フォームの数)
  +  (52 * formGroup 内の表示フォーム上の
           変数フィールドの出現数)

フィードバック