シャドー行の表示

FM/IMS でシャドー行は、以下の 2 つのタイプのセグメントを表します。

  • 抑制セグメント

    抑制セグメントのシャドー行には、1 つのセグメント・タイプと 1 つのレイアウトに関する情報が保持され、 このシャドー行は、そのタイプとレイアウトに一致するすべてのセグメントを表します。抑制セグメントに 子がない場合、シャドー行にはその行が置き換える抑制セグメントの数が表示されます。複数のレイアウトがセグメントに可能な場合には、その行にセグメント・レイアウト名も表示されます。抑制セグメントに 子セグメントがある場合には、シャドー行はそのセグメントのキー・フィールドの先頭 30 バイトだけを表示し、 複数の可能なレイアウトがあれば、セグメント・レイアウト名を表示します。

  • 一致しないセグメント

    一致しない行には、レイアウト識別基準と一致するデータを含むセグメントが表示されますが、セグメントとセグメント・レイアウトの長さは異なります。

コマンド行に SHOW SUP ON コマンドまたは SHOW SUP OFF コマンドを入力することにより、 シャドー行を表示または非表示にすることができます。

注: 抑制セグメントだけが非表示になります。これらのレコードは引き続き選択されていて、データの印刷、コピー、または作成の機能にも組み込まれます。

「Cmd」フィールドの下のタグは、その行がシャドー行であった理由を示します。

=ID
これは、セグメントがどのレイアウト識別基準も満たしていなかったことを示します。
=LG
これは、セグメントは現行レイアウトと一致するが、セグメント長がこのレイアウトの有効範囲内にないことを示します。

レイアウト内のすべてのフィールドが固定長である場合には、有効範囲 は単一の値、すなわち、レイアウト内のすべてのフィールドの長さの合計に制限されます。

しかし、レイアウトに可変長配列が組み込まれている場合には、その有効最小長はコピーブックにより許可された最小数の配列項目を持つセグメントの長さとなります。有効最大長は、コピーブックに配列項目の数の上限が指定されているかどうかによって異なります。

=DA
これは、セグメントは現行レイアウトと一致するが、以下のいずれかが当てはまることを示します。
  • (COBOL コピーブックのみ)。ODO オブジェクト・フィールド値がその ODO 文節によって許可された範囲の外側にあります。
  • レイアウトに 1 つまたは複数の可変長配列が含まれていますが、セグメント長は、配列サイズ (またはオブジェクト) フィールドによって指定された数の配列項目を持つセグメントの計算上の長さとは一致しません。

可変長配列を含むレイアウトの使用上について詳しくは、可変長配列のサポート を参照してください。