IMS プログラム用フォームの定義
- IMS トランザクション名を保存するために使用される 8 バイトの定数フィールド
- 作業データベースに保存される情報のタイプを記録するために EGL が使用する 2 バイト領域
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 ブロックのサイズの見積もり
- 装置入力形式 (DIF) と装置出力形式 (DOF)
- これらの制御ブロックは、装置表示スペース (例えば、3270 装置の画面) 内のデータ・フィールドとリテラルの配置を記述します。
3270 タイプの装置の場合、1 つのステートメント・セットで DIF と DOF の両方を記述します。プリンターの場合は DOF のみが必要です。各装置フィールドには、メッセージ入力記述子およびメッセージ出力記述子の中にステートメントが参照できる名前が指定されます。
EGL の FormGroup パーツの場合、DOF は常に DIF よりも大きくなります。これは、DOF にはフォームの定数が含まれているからです。
- メッセージ出力記述子 (MOD)
- この制御ブロックは、プログラムによって挿入された出力メッセージ内の情報のさまざまなフィールドを記述します。また、この情報ブロックは、各メッセージ・フィールドのデータの移動先の、対応する装置フィールドを識別します。
- メッセージ入力記述子 (MID)
- この制御ブロックは、プログラムが取り出した入力メッセージ内の情報のさまざまなフィールドを記述します。MID は、各メッセージ・フィールドのデータが取り出された、対応する装置フィールドを識別します。
表示装置の DOF サイズの計算
DOF のサイズの見積もりには、以下の公式が役立ちます。
DOF サイズ =
150
+ (388 * formGroup 内のプリンターのフォームの数)
+ (208 * formGroup 内の表示フォームの数)
+ (63 * formGroup 内の表示フォーム上の
変数フィールドの出現数)
+ (62 * formGroup 内の表示フォーム上の
定数フィールドの数)
+(1.12 * formGroup 内の表示フォーム上のすべての
定数フィールドの長さの合計)
プリンターの DOF サイズの計算
DOF サイズ =
206
+ (68 * formGroup 内のプリンター・フォームの数)
+ (374 * formGroup 内の表示フォームの数)
+ (63 * formGroup 内の印刷フォーム上の
変数フィールドの出現数)
+ (62 * formGroup 内のプリンター・フォーム上の
定数フィールドの数)
+(1.12 * formGroup 内のプリンター・フォーム上のすべての
定数フィールドの長さの合計)
すべてのフォームの MOD サイズの計算
MOD サイズ =
36
+ (724 * formGroup 内の表示フォームの数)
+ (202 * formGroup 内のプリンター・フォームの数)
+ (52 * formGroup 内の変数フィールドの出現数)
端末マップの MID サイズの計算
MID サイズ =
36
+ (858 * formGroup 内の表示フォームの数)
+ (52 * formGroup 内の表示フォーム上の
変数フィールドの出現数)